diff options
author | rvelices <rv-github@modusoptimus.com> | 2009-01-31 01:10:51 +0000 |
---|---|---|
committer | rvelices <rv-github@modusoptimus.com> | 2009-01-31 01:10:51 +0000 |
commit | 5c001820a1ef870405542750ee61fefc9c1aa747 (patch) | |
tree | a194f859c6f19fe86e524e34ebdfba391245eea3 /include/functions.inc.php | |
parent | 341e35196f53ba3354e3a8b15c8d37529287c7c0 (diff) |
- fix use $page['nb_image_page'] instead of $user... when creating the nav bar (same as category_default)
- rewrote function format_date without regular expressions (faster); parameter date type is not used anymore (but I left it there for now)
git-svn-id: http://piwigo.org/svn/trunk@3117 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'include/functions.inc.php')
-rw-r--r-- | include/functions.inc.php | 54 |
1 files changed, 17 insertions, 37 deletions
diff --git a/include/functions.inc.php b/include/functions.inc.php index ca4276876..0607f550a 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -578,54 +578,34 @@ function format_date($date, $type = 'us', $show_time = false) { global $lang; - list($year,$month,$day,$hour,$minute,$second) = array(0,0,0,0,0,0); + $ymdhms = array(); + $tok = strtok( $date, '- :'); + while ($tok !== false) + { + $ymdhms[] = $tok; + $tok = strtok('- :'); + } - switch ( $type ) + if ( count($ymdhms)<3 ) { - case 'us' : - { - list($year,$month,$day) = explode('-', $date); - break; - } - case 'unix' : - { - list($year,$month,$day,$hour,$minute) = - explode('.', date('Y.n.j.G.i', $date)); - break; - } - case 'mysql_datetime' : - { - preg_match('/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/', - $date, $out); - list($year,$month,$day,$hour,$minute,$second) = - array($out[1],$out[2],$out[3],$out[4],$out[5],$out[6]); - break; - } - case 'mysql_date' : - { - preg_match('/^(\d{4})-(\d{2})-(\d{2})$/', - $date, $out); - list($year,$month,$day) = - array($out[1],$out[2],$out[3]); - break; - } + return false; } + $formated_date = ''; // before 1970, Microsoft Windows can't mktime - if ($year >= 1970) + if ($ymdhms[0] >= 1970) { // we ask midday because Windows think it's prior to midnight with a // zero and refuse to work - $formated_date.= $lang['day'][date('w', mktime(12,0,0,$month,$day,$year))]; + $formated_date.= $lang['day'][date('w', mktime(12,0,0,$ymdhms[1],$ymdhms[2],$ymdhms[0]))]; } - $formated_date.= ' '.$day; - $formated_date.= ' '.$lang['month'][(int)$month]; - $formated_date.= ' '.$year; - if ($show_time) + $formated_date.= ' '.$ymdhms[2]; + $formated_date.= ' '.$lang['month'][(int)$ymdhms[1]]; + $formated_date.= ' '.$ymdhms[0]; + if ($show_time and count($ymdhms)>=5 ) { - $formated_date.= ' '.$hour.':'.$minute; + $formated_date.= ' '.$ymdhms[3].':'.$ymdhms[4]; } - return $formated_date; } |