From: <se...@us...> - 2008-08-01 18:48:22
|
Revision: 14003 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14003&view=rev Author: sept_7 Date: 2008-08-01 18:48:25 +0000 (Fri, 01 Aug 2008) Log Message: ----------- [ENH] get ride of PEAR:Date... first try Modified Paths: -------------- branches/experimental/tiki-pdo/lib/setup/prefs.php branches/experimental/tiki-pdo/lib/setup/user_prefs.php branches/experimental/tiki-pdo/lib/tikidate.php branches/experimental/tiki-pdo/tiki-calendar_setup.php Modified: branches/experimental/tiki-pdo/lib/setup/prefs.php =================================================================== --- branches/experimental/tiki-pdo/lib/setup/prefs.php 2008-08-01 16:02:33 UTC (rev 14002) +++ branches/experimental/tiki-pdo/lib/setup/prefs.php 2008-08-01 18:48:25 UTC (rev 14003) @@ -553,7 +553,7 @@ $prefs['calendar_end_year'] = '+3'; # dates - $prefs['server_timezone'] = $tikidate->tz->getID(); + $prefs['server_timezone'] = $tikidate->format("T"); $prefs['long_date_format'] = '%A %d of %B, %Y'; $prefs['long_time_format'] = '%H:%M:%S %Z'; $prefs['short_date_format'] = '%a %d of %b, %Y'; Modified: branches/experimental/tiki-pdo/lib/setup/user_prefs.php =================================================================== --- branches/experimental/tiki-pdo/lib/setup/user_prefs.php 2008-08-01 16:02:33 UTC (rev 14002) +++ branches/experimental/tiki-pdo/lib/setup/user_prefs.php 2008-08-01 18:48:25 UTC (rev 14003) @@ -74,7 +74,8 @@ } else { $prefs['display_timezone'] = $_COOKIE['local_tz']; } - if ( ! Date_TimeZone::isValidID($prefs['display_timezone']) ) { + //FIXME verify (Sept) + if (!in_array($prefs['display_timezone'],timezone_abbreviations_list())) { $prefs['display_timezone'] = $prefs['server_timezone']; } } else { Modified: branches/experimental/tiki-pdo/lib/tikidate.php =================================================================== --- branches/experimental/tiki-pdo/lib/tikidate.php 2008-08-01 16:02:33 UTC (rev 14002) +++ branches/experimental/tiki-pdo/lib/tikidate.php 2008-08-01 18:48:25 UTC (rev 14003) @@ -17,23 +17,63 @@ exit; } -require_once("lib/pear/Date.php"); -class TikiDate extends Date { +class TikiDate { var $trad = array("January","February","March","April","May","June","July","August","September","October","November","December","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday","Mon","Tue","Wed","Thu","Fri","Sat","Sun","of"); var $translated_trad = array(); + var $date; /** * Default constructor */ function TikiDate() { - Date::Date(date("Y-m-d H:i:s Z")); + $this->date = new DateTime(date("Y-m-d H:i:s Z")); } function format($format) { global $prefs; + $toto = array ("%a" => "D", +"%A" => "l", +"%b" => "M", +"%B" => "F", +"%C" => "", +"%d" => "d", +"%D" => "m/d/y", +"%e" => "j", +"%E" => "", +"%g" => "", +"%G" => "Y", +"%h" => "G", +"%H" => "H", +"%i" => "h", +"%I" => "h", +"%j" => "z", +"%m" => "m", +"%M" => "i", +"%o" => "P", +"%O" => "P", +"%p" => "a", +"%P" => "A", +"%r" => "h:i:s A", +"%R" => "h:i", +"%s" => "s", +"%S" => "s", +"%t" => "\t", +"%T" => "h:i:s", +"%u" => "N", +"%U" => "W", +"%V" => "W", +"%w" => "w", +"%W" => "W", +"%y" => "y", +"%Y" => "Y", +"%Z" => "T"); + $search = array_keys($toto); + $replace = array_values($toto); + //FIXME not quite good + $format = preg_replace("/([^% ][a-zA-Z])/",'\\\$1',$format); // Format the date - $return = parent::format($format); + $return = $this->date->format(str_replace($search,$replace,$format)); // Translate the date if we are not already in english @@ -60,13 +100,56 @@ return $return; } + function addDays($days) { + //echo "AVANT = ".$this->date->format("Y-m-d H:i:s"); + $this->date->modify("+$days day"); + //echo " APRES = ".$this->date->format("Y-m-d H:i:s")."<br/>"; + } + + function getTime() { + return (int)$this->date->format("U"); + } + + function getWeekOfYear() { + return (int)$this->date->format("W"); + } + function setDate($date, $format = DATE_FORMAT_ISO) { if (is_numeric($date)) { - $this->setDate(gmdate("Y-m-d H:i:s", $date)); + $this->date = new DateTime(date("Y-m-d H:i:s", $date)); } else { - parent::setDate($date, $format); + $this->date = new DateTime($date); } +// echo "AVANT = ".$this->date->format("Y-m-d H:i:s")."<br/>"; } + + function setLocalTime($day, $month, $year, $hour, $minute, $second, $partsecond ) { + $this->date->setDate($year,$month,$day); + $this->date->setTime($hour,$minute,$second); + /* + echo "month=$month,day=$day,year=$year "; + echo $this->date->format("Y-m-d H:i:s"); + echo "<br/>"; + */ + } + + function setTZbyID($tz_id) { + $this->date->setTimeZone(new DateTimeZone(timezone_name_from_abbr($tz_id))); + /* + echo $this->date->format("Y-m-d H:i:s"); + echo "<br/>"; + */ + } + + function convertTZbyID($tz_id) { + $this->date->setTimeZone(new DateTimeZone(timezone_name_from_abbr($tz_id))); + /* + echo $this->date->format("Y-m-d H:i:s"); + echo "<br/>"; + */ + } + + } ?> Modified: branches/experimental/tiki-pdo/tiki-calendar_setup.php =================================================================== --- branches/experimental/tiki-pdo/tiki-calendar_setup.php 2008-08-01 16:02:33 UTC (rev 14002) +++ branches/experimental/tiki-pdo/tiki-calendar_setup.php 2008-08-01 18:48:25 UTC (rev 14003) @@ -186,13 +186,14 @@ $daystart = TikiLib::make_time(0,0,0, $focus_month, $focus_day, $focus_year); } $viewstart = $daystart; // viewstart is the beginning of the display, daystart is the beginning of the selected period +//echo "VIEWSTART=$viewstart<br/>"; if ( $calendarViewMode == 'month' || $calendarViewMode == 'quarter' || $calendarViewMode == 'semester' || $calendarViewMode == 'year' ) { - $TmpWeekday = TikiLib::date_format("%w", $viewstart); + $TmpWeekday = TikiLib::date_format("%w", $viewstart); // prepare for select first day of week (Hausi) if ( $firstDayofWeek == 1 ) { @@ -221,7 +222,7 @@ // TikiLib::make_time() used with timezones doesn't support day = 0 // This supposes that $viewstart's day == 1, as defined above - $viewstart_d = Date_Calc::daysInMonth($viewstart_m, $viewstart_y) - ( $TmpWeekday - 1 ); + $viewstart_d = cal_days_in_month(CAL_GREGORIAN ,$viewstart_m, $viewstart_y) - ( $TmpWeekday - 1 ); $viewstart = TikiLib::make_time(0, 0, 0, $viewstart_m, $viewstart_d, $viewstart_y); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |