Beispiel #1
0
/**
 * 开启会话
 * @return None
 */
function session()
{
    if (!defined('SESSION_CACHE')) {
        session_start();
        return true;
    } else {
        Session::$cache = new Cache(SESSION_CACHE);
        Session::initSess();
    }
}
    public static function date($field_id, $field_setup)
    {
        $field_setup['attr']['type'] = 'text';
        $field_setup['attr']['id'] = Form::valid_attr_id($field_id);
        $field_setup['attr']['name'] = $field_id;
        $field_setup['attr']['class'] = 'singleline_textfield widget_datepicker' . ($field_setup['metas']['range'] === TRUE ? ' widget_datepicker_range' : NULL) . ' ' . $field_setup['attr']['class'];
        $field_setup['attr']['months'] = empty($field_setup['metas']['months']) ? 1 : $field_setup['metas']['months'];
        $field_setup['metas']['format'] = empty($field_setup['metas']['format']) ? 'day.month.year' : $field_setup['metas']['format'];
        // date range request
        if ($field_setup['metas']['range'] === TRUE) {
            if ($field_setup['metas']['time']) {
                list($field_setup['value'][0], $time_from) = Format::string_explode($field_setup['value'][0], ' ');
                list($field_setup['value'][1], $time_to) = Format::string_explode($field_setup['value'][1], ' ');
            }
            $field_setup['attr']['name'] = Form::valid_attr_id($field_id) . '_from';
            $field_setup['attr']['id'] = Form::valid_attr_id($field_id) . '_from';
            $field_setup['attr']['value'] = empty($field_setup['value'][0]) ? NULL : Format::date($field_setup['value'][0], 'human', Format::prepare_date_format($field_setup['metas']['format'], 'php'));
            $from_field = '<input' . Html::attributes($field_setup['attr']) . '>';
            $widget_from = Form::label(Form::valid_attr_id($field_id) . '_from', $field_setup['label']['from'] . ':' . Form::field_mark($field_id, $field_setup)) . '<br>' . $from_field;
            $field_setup['attr']['name'] = Form::valid_attr_id($field_id) . '_to';
            $field_setup['attr']['id'] = Form::valid_attr_id($field_id) . '_to';
            $field_setup['attr']['value'] = empty($field_setup['value'][1]) ? NULL : Format::date($field_setup['value'][1], 'human', Format::prepare_date_format($field_setup['metas']['format'], 'php'));
            $to_field = '<input' . Html::attributes($field_setup['attr']) . '>';
            $widget_to = Form::label(Form::valid_attr_id($field_id) . '_to', $field_setup['label']['to'] . ':' . Form::field_mark($field_id, $field_setup)) . '<br>' . $to_field;
            if ($field_setup['metas']['time']) {
                $widget = '
					<div class="fl mr">
						' . $widget_from . '
					</div>
					<div class="fl mr">
						<br>' . Form::time($field_id . '_from_time', array('value' => $time_from, 'attr' => array('class' => 'widget_datepicker_time'), 'metas' => $field_setup['metas']['time']['start'])) . '
					</div>
					<div class="fl mr">
						' . $widget_to . '
					</div>
					<div class="fl">
						<br>' . Form::time($field_id . '_to_time', array('value' => $time_to, 'attr' => array('class' => 'widget_datepicker_time'), 'metas' => $field_setup['metas']['time']['end'])) . '
					</div>
					';
            } else {
                $widget = '
					<div class="fl mr">
						' . $widget_from . '
					</div>
					<div class="fl">
						' . $widget_to . '
					</div>
					';
            }
        } else {
            if ($field_setup['metas']['time']) {
                list($field_setup['value'], $time) = Format::string_explode($field_setup['value'], ' ');
                $field_setup['attr']['value'] = empty($field_setup['value']) ? NULL : Format::date($field_setup['value'], 'human', Format::prepare_date_format($field_setup['metas']['format'], 'php'));
                $field_setup['attr']['class'] = 'widget_datepicker_datetime ' . $field_setup['attr']['class'];
                $from_field = '<input' . Html::attributes($field_setup['attr']) . '>';
                $widget = '
					<div class="fl mr">
						' . Form::label(Form::valid_attr_id($field_id), $field_setup['label'] . ':' . Form::field_mark($field_id, $field_setup)) . '<br>' . $from_field . '
					</div>
					<div class="fl">
						<br>' . Form::time($field_id . '_time', array('value' => $time, 'attr' => array('class' => 'widget_datepicker_time'), 'metas' => $field_setup['metas']['time'])) . '
					</div>
					';
            } else {
                $field_setup['attr']['value'] = Format::date($field_setup['value'], 'human', Format::prepare_date_format($field_setup['metas']['format'], 'php'));
                $widget = '<input' . Html::attributes($field_setup['attr']) . '>';
            }
        }
        // cache required assets
        if (empty($field_setup['metas']['readonly'])) {
            Session::cache('js', 'system::plugins/ui/jquery.ui.datepicker.min.js');
            Session::cache('jsinline', Form::valid_attr_id($field_id) . '_dates = $("' . ($field_setup['metas']['range'] === TRUE ? '#' . Form::valid_attr_id($field_id) . '_from, #' . Form::valid_attr_id($field_id) . '_to' : '#' . $field_setup['attr']['id']) . '").datepicker({' . ($field_setup['metas']['range'] === TRUE ? ' onSelect : function(selectedDate) { system.form.date_range(selectedDate, "' . Form::valid_attr_id($field_id) . '", this, $(this)); },' : NULL) . ' changeMonth: true, changeYear: true, showWeek : true, firstDay : 1, numberOfMonths : ' . $field_setup['attr']['months'] . ', showButtonPanel : false, dateFormat: "' . Format::prepare_date_format($field_setup['metas']['format'], 'js') . '" })');
        }
        return $widget;
    }
Beispiel #3
0
 /**
  * 构造函数
  * @param $cache Cache对象
  * @return NULL
  */
 public function __construct($cache)
 {
     self::$cache = $cache;
 }