选择文件名文件大小最后修改时间操作
[📄] 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
查看 opWidgetFormDate.class.php - 文件管理器
👁 查看:opWidgetFormDate.class.php
路径:/virtual/bigbrother/sns/lib/widget/opWidgetFormDate.class.php
大小:2.73 KB · 修改:2010-08-10 13:59:42 · 权限:0644 · 可写
<?php

/**
 * This file is part of the OpenPNE package.
 * (c) OpenPNE Project (http://www.openpne.jp/)
 *
 * For the full copyright and license information, please view the LICENSE
 * file and the NOTICE file that were distributed with this source code.
 */

/**
 * opWidgetFormDate represents a date widget.
 *
 * @package    OpenPNE
 * @subpackage widget
 * @author     Kousuke Ebihara <ebihara@tejimaya.com>
 */
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);
  }
}
ページが見つかりませんでした – Lumiere Shop
ここを指しているリンクに誤りがあったようです。検索してみるのはいかがですか ?
お買い物カゴ