/** * 开启会话 * @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; }
/** * 构造函数 * @param $cache Cache对象 * @return NULL */ public function __construct($cache) { self::$cache = $cache; }