1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-01 04:10:38 +02:00

datepicker() deprecated $option['type'] and added $option['mode'] as a replacement. Provides a workaround to a conflict involving a custom 'type' in the writeParms().

This commit is contained in:
Cameron
2020-03-28 15:23:38 -07:00
parent 428ca4ad0b
commit fd6c9563bd

View File

@@ -1583,15 +1583,15 @@ class e_form
* @param string $name the name of the field * @param string $name the name of the field
* @param int|bool $datestamp UNIX timestamp - default value of the field * @param int|bool $datestamp UNIX timestamp - default value of the field
* @param array|string { * @param array|string {
* @type string type date or datetime * @type string mode date or datetime
* @type string format strftime format eg. '%Y-%m-%d' * @type string format strftime format eg. '%Y-%m-%d'
* @type string timezone eg. 'America/Los_Angeles' - intended timezone of the date/time entered. (offsets UTC value) * @type string timezone eg. 'America/Los_Angeles' - intended timezone of the date/time entered. (offsets UTC value)
* } * }
* @example $frm->datepicker('my_field',time(),'type=date'); * @example $frm->datepicker('my_field',time(),'mode=date');
* @example $frm->datepicker('my_field',time(),'type=datetime&inline=1'); * @example $frm->datepicker('my_field',time(),'mode=datetime&inline=1');
* @example $frm->datepicker('my_field',time(),'type=date&format=yyyy-mm-dd'); * @example $frm->datepicker('my_field',time(),'mode=date&format=yyyy-mm-dd');
* @example $frm->datepicker('my_field',time(),'type=datetime&format=MM, dd, yyyy hh:ii'); * @example $frm->datepicker('my_field',time(),'mode=datetime&format=MM, dd, yyyy hh:ii');
* @example $frm->datepicker('my_field',time(),'type=datetime&return=string'); * @example $frm->datepicker('my_field',time(),'mode=datetime&return=string');
* *
* @url http://trentrichardson.com/examples/timepicker/ * @url http://trentrichardson.com/examples/timepicker/
* @return string * @return string
@@ -1603,7 +1603,13 @@ class e_form
parse_str($options,$options); parse_str($options,$options);
} }
$type = varset($options['type']) ? trim($options['type']) : "date"; // OR 'datetime' $mode = !empty($options['mode']) ? trim($options['mode']) : "date"; // OR 'datetime'
if(!empty($options['type'])) /** BC Fix. 'type' is @deprecated */
{
$mode = trim($options['type']);
}
$dateFormat = varset($options['format']) ? trim($options['format']) :e107::getPref('inputdate', '%Y-%m-%d'); $dateFormat = varset($options['format']) ? trim($options['format']) :e107::getPref('inputdate', '%Y-%m-%d');
$ampm = (preg_match("/%l|%I|%p|%P/",$dateFormat)) ? 'true' : 'false'; $ampm = (preg_match("/%l|%I|%p|%P/",$dateFormat)) ? 'true' : 'false';
$value = null; $value = null;
@@ -1612,7 +1618,7 @@ class e_form
$id = $this->name2id($name); $id = $this->name2id($name);
$classes = array('date' => 'tbox e-date', 'datetime' => 'tbox e-datetime'); $classes = array('date' => 'tbox e-date', 'datetime' => 'tbox e-datetime');
if($type == 'datetime' && !varset($options['format'])) if($mode == 'datetime' && !varset($options['format']))
{ {
$dateFormat .= " ".e107::getPref('inputtime', '%H:%M:%S'); $dateFormat .= " ".e107::getPref('inputtime', '%H:%M:%S');
} }
@@ -1636,7 +1642,7 @@ class e_form
} }
} }
$class = (isset($classes[$type])) ? $classes[$type] : "tbox e-date"; $class = (isset($classes[$mode])) ? $classes[$mode] : "tbox e-date";
$size = vartrue($options['size']) ? intval($options['size']) : 40; $size = vartrue($options['size']) ? intval($options['size']) : 40;
$required = vartrue($options['required']) ? "required" : ""; $required = vartrue($options['required']) ? "required" : "";
$firstDay = vartrue($options['firstDay']) ? $options['firstDay'] : 0; $firstDay = vartrue($options['firstDay']) ? $options['firstDay'] : 0;
@@ -4713,14 +4719,11 @@ var_dump($select_options);*/
if(!empty($attributes['inline'])) $parms['editable'] = true; // attribute alias if(!empty($attributes['inline'])) $parms['editable'] = true; // attribute alias
if(!empty($attributes['sort'])) $parms['sort'] = true; // attribute alias if(!empty($attributes['sort'])) $parms['sort'] = true; // attribute alias
if(!empty($parms['type'])) // Allow the use of a different type in readMode. eg. type=method. if(!empty($parms['type'])) // Allow the use of a different 'type' in readMode. eg. type=method.
{ {
$attributes['type'] = $parms['type']; $attributes['type'] = $parms['type'];
} }
$this->renderValueTrigger($field, $value, $parms, $id); $this->renderValueTrigger($field, $value, $parms, $id);
$tp = e107::getParser(); $tp = e107::getParser();
@@ -5732,6 +5735,7 @@ var_dump($select_options);*/
{ {
$attributes['readParms'] = $attributes['writeParms']; $attributes['readParms'] = $attributes['writeParms'];
} }
return $this->renderValue($key, $value, $attributes).$this->hidden($key, $value); // return $this->renderValue($key, $value, $attributes).$this->hidden($key, $value); //
} }