Changeset 8e8ae79 in github
- Timestamp:
- Apr 7, 2012 12:28:52 PM (14 months ago)
- Branches:
- master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.8
- Children:
- c73efcc
- Parents:
- 19fccd8
- File:
-
- 1 edited
-
program/include/main.inc (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
program/include/main.inc
rff2d88a r8e8ae79 736 736 global $RCMAIL, $CONFIG; 737 737 738 if (is_a($date, 'DateTime')) { 739 $ts = $date->format('U'); 740 $tzs = $date->getTimezone(); 738 if (is_object($date) && is_a($date, 'DateTime')) { 739 $timestamp = $date->format('U'); 741 740 } 742 741 else { 743 $tzs = 'GMT';744 745 742 if (!empty($date)) 746 $t s= rcube_strtotime($date);747 748 if (empty($t s))743 $timestamp = rcube_strtotime($date); 744 745 if (empty($timestamp)) 749 746 return ''; 750 747 751 748 try { 752 $date = new DateTime("@".$t s);749 $date = new DateTime("@".$timestamp); 753 750 } 754 751 catch (Exception $e) { … … 757 754 } 758 755 759 try { 760 // convert to the right timezone 761 $stz = date_default_timezone_get(); 762 $tz = new DateTimeZone($convert ? $RCMAIL->config->get('timezone') : $tzs); 763 $date->setTimezone($tz); 764 date_default_timezone_set($tz->getName()); 765 766 $timestamp = $date->format('U'); 767 } 768 catch (Exception $e) { 769 $timestamp = $ts; 756 if ($convert) { 757 try { 758 // convert to the right timezone 759 $stz = date_default_timezone_get(); 760 $tz = new DateTimeZone($RCMAIL->config->get('timezone')); 761 $date->setTimezone($tz); 762 date_default_timezone_set($tz->getName()); 763 764 $timestamp = $date->format('U'); 765 } 766 catch (Exception $e) { 767 } 770 768 } 771 769 … … 790 788 if (preg_match('/%[a-z]+/i', $format)) { 791 789 $format = strftime($format, $timestamp); 792 date_default_timezone_set($stz); 790 791 if ($convert && $stz) { 792 date_default_timezone_set($stz); 793 } 794 793 795 return $today ? (rcube_label('today') . ' ' . $format) : $format; 794 796 } … … 797 799 // an alternative would be to convert the date() format string to fit with strftime() 798 800 $out = ''; 799 for ($i=0; $i<strlen($format); $i++) {801 for ($i=0; $i<strlen($format); $i++) { 800 802 if ($format[$i]=='\\') // skip escape chars 801 803 continue; … … 806 808 // weekday (short) 807 809 else if ($format[$i]=='D') 808 $out .= rcube_label(strtolower( $date->format('D')));810 $out .= rcube_label(strtolower(date('D', $timestamp))); 809 811 // weekday long 810 812 else if ($format[$i]=='l') 811 $out .= rcube_label(strtolower( $date->format('l')));813 $out .= rcube_label(strtolower(date('l', $timestamp))); 812 814 // month name (short) 813 815 else if ($format[$i]=='M') 814 $out .= rcube_label(strtolower( $date->format('M')));816 $out .= rcube_label(strtolower(date('M', $timestamp))); 815 817 // month name (long) 816 818 else if ($format[$i]=='F') 817 $out .= rcube_label('long'.strtolower( $date->format('M')));819 $out .= rcube_label('long'.strtolower(date('M', $timestamp))); 818 820 else if ($format[$i]=='x') 819 821 $out .= strftime('%x %X', $timestamp); 820 822 else 821 $out .= $date->format($format[$i]);823 $out .= date($format[$i], $timestamp); 822 824 } 823 825 … … 833 835 } 834 836 835 date_default_timezone_set($stz); 837 if ($convert && $stz) { 838 date_default_timezone_set($stz); 839 } 840 836 841 return $out; 837 842 }
Note: See TracChangeset
for help on using the changeset viewer.
