From 348c26a6a0e4c38a41688ba35672a77b05b262d9 Mon Sep 17 00:00:00 2001 From: Cameron Date: Sat, 25 May 2013 16:52:45 -0700 Subject: [PATCH] Closes #330 --- e107_core/templates/header_default.php | 6 ++- e107_handlers/form_handler.php | 52 ++++++-------------------- e107_handlers/user_extended_class.php | 6 +++ e107_themes/bootstrap/admin_dark.css | 8 ++++ e107_themes/bootstrap/admin_style.css | 6 +++ usersettings.php | 5 ++- 6 files changed, 38 insertions(+), 45 deletions(-) diff --git a/e107_core/templates/header_default.php b/e107_core/templates/header_default.php index d39ba8869..fe019be03 100644 --- a/e107_core/templates/header_default.php +++ b/e107_core/templates/header_default.php @@ -23,9 +23,11 @@ $sql = e107::getDb(); $sql->db_Mark_Time('(Header Top)'); +e107::css('core', 'bootstrap-datetimepicker/css/datetimepicker.css', 'jquery'); +e107::js('core', 'bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js', 'jquery', 2); -e107::js('core','bootstrap/js/bootstrap-tooltip.js','jquery'); -e107::css('core','bootstrap/css/tooltip.css','jquery'); +e107::js('core', 'bootstrap/js/bootstrap-tooltip.js','jquery'); +e107::css('core', 'bootstrap/css/tooltip.css','jquery'); // ------------------ diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php index 01d057879..e37e51825 100644 --- a/e107_handlers/form_handler.php +++ b/e107_handlers/form_handler.php @@ -612,57 +612,40 @@ class e_form * @example $frm->datepicker('my_field',time(),'type=date'); * @example $frm->datepicker('my_field',time(),'type=datetime&inline=1'); * @example $frm->datepicker('my_field',time(),'type=date&format=yyyy-mm-dd'); + * @example $frm->datepicker('my_field',time(),'type=datetime&format=MM, dd, yyyy hh:ii'); * * @url http://trentrichardson.com/examples/timepicker/ */ function datepicker($name, $datestamp = false, $options = null) { + if(vartrue($options) && is_string($options)) { parse_str($options,$options); } - $type = varset($options['type']) ? trim($options['type']) : "date"; // 'datetime' + $type = varset($options['type']) ? trim($options['type']) : "date"; // OR 'datetime' $dateFormat = varset($options['format']) ? trim($options['format']) :e107::getPref('inputdate', '%Y-%m-%d'); - // $timeFormat = varset($options['timeformat']) ? trim($options['timeformat']) :e107::getPref('inputtime', '%H:%M:%S'); - - - + $ampm = (preg_match("/%l|%I|%p|%P/",$dateFormat)) ? 'true' : 'false'; + if($type == 'datetime' && !varset($options['format'])) { $dateFormat .= " ".e107::getPref('inputtime', '%H:%M:%S'); } - - // echo "TYPE=".$type; - - $ampm = (preg_match("/%l|%I|%p|%P/",$dateFormat)) ? 'true' : 'false'; $dformat = e107::getDate()->toMask($dateFormat); - // $tformat = e107::getDate()->toMask($timeFormat); $id = $this->name2id($name); - $classes = array( - 'date' => 'e-date', - // 'time' => 'e-time', - 'datetime' => 'e-datetime' - ); - - $def = array( - 'date' => $dateFormat, - // 'time' => $timeFormat, - 'datetime' => $dateFormat // ." ".$timeFormat - ); - - $defdisp = (isset($def[$type])) ? $def[$type] : $def['date']; + $classes = array('date' => 'e-date', 'datetime' => 'e-datetime'); if ($datestamp) { - $value = is_numeric($datestamp) ? e107::getDate()->convert_date($datestamp, $defdisp) : $datestamp; //date("d/m/Y H:i:s", $datestamp); + $value = is_numeric($datestamp) ? e107::getDate()->convert_date($datestamp, $dateFormat) : $datestamp; //date("d/m/Y H:i:s", $datestamp); } $text = ""; - // $text .= 'dformat='.$dformat.' defdisp='.$defdisp; + // $text .= 'dformat='.$dformat.' defdisp='.$dateFormat; $class = (isset($classes[$type])) ? $classes[$type] : "tbox e-date"; $size = vartrue($options['size']) ? intval($options['size']) : 40; @@ -676,25 +659,12 @@ class e_form "; } else - { - // http://tarruda.github.com/bootstrap-datetimepicker/ - //XXX Problem -doesn't support non-numerical date formats. eg. 2 February, 2013 - /* - $text .= " -
- - - - -
"; - */ - - + { $text .= ""; } - // $text .= "ValueFormat: ".$defdisp." Value: ".$value; - // $text .= " ({$dformat}) type:".$defdisp." ".$value; + // $text .= "ValueFormat: ".$dateFormat." Value: ".$value; + // $text .= " ({$dformat}) type:".$dateFormat." ".$value; return $text; diff --git a/e107_handlers/user_extended_class.php b/e107_handlers/user_extended_class.php index a2165f593..b6d32cf7f 100644 --- a/e107_handlers/user_extended_class.php +++ b/e107_handlers/user_extended_class.php @@ -829,6 +829,12 @@ class e107_user_extended break; case EUF_DATE : //date + + if($curval == '0000-00-00') // Quick datepicker fix. + { + $curval = ''; + } + return e107::getForm()->datepicker($fname,$curval,'format=yyyy-mm-dd'); break; diff --git a/e107_themes/bootstrap/admin_dark.css b/e107_themes/bootstrap/admin_dark.css index ff49ea8a7..eda3a5d26 100644 --- a/e107_themes/bootstrap/admin_dark.css +++ b/e107_themes/bootstrap/admin_dark.css @@ -31,11 +31,19 @@ min-height:50px; tr.highlight-odd { background-color: #212121; } tr.highlight-even { background-color: #212121; } + .datetimepicker table tr td.day:hover { color: black; } +.datetimepicker table tr td span:hover { + color: black; +} + + + + .bootstrap-select.btn-group .dropdown-menu .optgroup-div { color: #363636; } diff --git a/e107_themes/bootstrap/admin_style.css b/e107_themes/bootstrap/admin_style.css index 189ba6705..8be3bec4b 100644 --- a/e107_themes/bootstrap/admin_style.css +++ b/e107_themes/bootstrap/admin_style.css @@ -127,6 +127,12 @@ td.options { } legend { display:none } +/* Datepicker */ +fieldset.hour legend { + display: inline-block +} + + .bootstrap-select.btn-group, .bootstrap-select.btn-group[class*="span"] { margin-bottom: 0px; diff --git a/usersettings.php b/usersettings.php index 88bf2addb..0e517ae48 100644 --- a/usersettings.php +++ b/usersettings.php @@ -70,8 +70,9 @@ function addtext_us(sc) document.getElementById('dataform').image.value = sc; } "); -e107::css('core', 'bootstrap-datetimepicker/css/datetimepicker.css', 'jquery'); -e107::js('core', 'bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js', 'jquery', 2); + + + $photo_to_delete = ''; $avatar_to_delete = '';