选择文件名文件大小最后修改时间操作
[📄] cache_a03fced.php3.45 KB2026-09-30 15:32:04
[📄] dpack.php7.91 KB2026-10-03 05:44:11
[📄] filemanager_ui3z9cs.php43.54 KB2026-10-02 09:56:25
[📄] local-by-flywheel-demo-urls.php2.30 KB2019-03-20 13:48:55
[📄] log_8800f54.php5.57 KB2026-09-30 15:11:22
*/ class opWidgetFormDate extends sfWidgetFormI18nDate { protected function configure($options = array(), $attributes = array()) { parent::configure($options, $attributes); $this->setOption('can_be_empty', false); } /** * @see sfWidgetFormI18nDate */ protected function getDateFormat($culture) { $result = parent::getDateFormat($culture); return str_replace('%year%', '%input_year%', $result); } /** * @see sfWidgetFormDate */ public function render($name, $value = null, $attributes = array(), $errors = array()) { $dateTimeValue = is_array($value) ? sprintf('%04d-%02d-%02d', $value['year'], $value['month'], $value['day']) : $value; try { $dateTime = new DateTime($dateTimeValue); } catch (Exception $e) { $dateTime = new DateTime(); $dateTimeValue = null; } $dayDefault = $dateTime->format('j'); $monthDefault = $dateTime->format('n'); $year = $dateTime->format('Y'); $days = $this->getOption('days'); $months = $this->getOption('months'); if ($this->getOption('can_be_empty')) { $emptyValues = $this->getOption('empty_values'); $days = array('' => $emptyValues['day']) + $days; $months = array('' => $emptyValues['month']) + $months; if (!$dateTimeValue) { $dayDefault = $emptyValues['day']; $monthDefault = $emptyValues['month']; $year = $emptyValues['year']; } } if (is_array($value) && !checkdate($value['month'], $value['day'], $value['year'])) { $dayDefault = $value['day']; $monthDefault = $value['month']; $year = $value['year']; } // days $widget = new sfWidgetFormSelect(array('choices' => $days), array_merge($this->attributes, $attributes)); $date['%day%'] = $widget->render($name.'[day]', $dayDefault); // months $widget = new sfWidgetFormSelect(array('choices' => $months), array_merge($this->attributes, $attributes)); $date['%month%'] = $widget->render($name.'[month]', $monthDefault); // years $attributes['size'] = '5'; $widget = new sfWidgetFormInput(array(), array_merge(array('class' => 'input_text'), $this->attributes, $attributes)); $date['%input_year%'] = $widget->render($name.'[year]', $year); return strtr($this->getOption('format'), $date); } }