diff options
author | Chad Little <clittle@users.sourceforge.net> | 2004-01-30 22:49:01 +0000 |
---|---|---|
committer | Chad Little <clittle@users.sourceforge.net> | 2004-01-30 22:49:01 +0000 |
commit | cf2b0c139b4ca884b5ce335ce893f2211b8e95bb (patch) | |
tree | 438a68cb4292be6d04fdac6dc80cd2b09dd517c7 /functions | |
parent | 3425e2a6bfeb947b455568a01af55c2e853f8767 (diff) | |
download | phpicalendar-cf2b0c139b4ca884b5ce335ce893f2211b8e95bb.tar.gz phpicalendar-cf2b0c139b4ca884b5ce335ce893f2211b8e95bb.tar.bz2 phpicalendar-cf2b0c139b4ca884b5ce335ce893f2211b8e95bb.zip |
Mid-day sanity checkin.
Diffstat (limited to 'functions')
-rw-r--r-- | functions/date_functions.php | 5 | ||||
-rw-r--r-- | functions/ical_parser.php | 2 | ||||
-rw-r--r-- | functions/template.php | 58 | ||||
-rw-r--r-- | functions/timezones.php | 112 |
4 files changed, 97 insertions, 80 deletions
diff --git a/functions/date_functions.php b/functions/date_functions.php index 46cbb8a..72b9a9c 100644 --- a/functions/date_functions.php +++ b/functions/date_functions.php @@ -14,6 +14,11 @@ if (phpversion() < '4.1') { } } +function getmicrotime() { + list($usec, $sec) = explode(' ',microtime()); + return ((float)$usec + (float)$sec); +} + // takes iCalendar 2 day format and makes it into 3 characters // if $txt is true, it returns the 3 letters, otherwise it returns the // integer of that day; 0=Sun, 1=Mon, etc. diff --git a/functions/ical_parser.php b/functions/ical_parser.php index 4f974e0..9dbc8e0 100644 --- a/functions/ical_parser.php +++ b/functions/ical_parser.php @@ -8,6 +8,8 @@ include_once(BASE.'functions/overlapping_events.php'); include_once(BASE.'functions/timezones.php'); include_once(BASE.'functions/list_functions.php'); +$php_started = getmicrotime(); + $fillTime = $day_start; $day_array = array (); while ($fillTime < $day_end) { diff --git a/functions/template.php b/functions/template.php index 46a563f..ca214da 100644 --- a/functions/template.php +++ b/functions/template.php @@ -1,24 +1,20 @@ <?php +//print_r($master_array); + function draw_month($template, $offset = '+0', $type) { - global $getdate, $this_year, $this_month, $dateFormat_month, $week_start_day, $cal, $minical_view, $daysofweekreallyshort_lang, $daysofweek_lang; + global $getdate, $master_array, $this_year, $this_month, $dateFormat_month, $week_start_day, $cal, $minical_view, $daysofweekreallyshort_lang, $daysofweek_lang; ob_start(); include($template); $template = ob_get_contents(); ob_end_clean(); preg_match("!<\!-- loop weekday on -->(.*)<\!-- loop weekday off -->!is", $template, $match1); - preg_match("!<\!-- loop monthweeks on -->(.*)<\!-- loop monthweeks off -->!is", $template, $match2); - preg_match("!<\!-- switch notthismonth on -->(.*)<\!-- switch notthismonth off -->!is", $template, $match3); - preg_match("!<\!-- switch notevent on -->(.*)<\!-- switch notevent off -->!is", $template, $match4); - preg_match("!<\!-- switch isevent on -->(.*)<\!-- switch isevent off -->!is", $template, $match5); - preg_match("!<\!-- loop monthweeks on -->(.*)<\!-- switch notthismonth on -->!is", $template, $match6); - preg_match("!<\!-- switch notevent off -->(.*)<\!-- loop monthweeks off -->!is", $template, $match7); + preg_match("!<\!-- loop monthdays on -->(.*)<\!-- loop monthdays off -->!is", $template, $match2); + preg_match("!<\!-- loop monthweeks on -->(.*)<\!-- loop monthdays on -->!is", $template, $match6); + preg_match("!<\!-- loop monthdays off -->(.*)<\!-- loop monthweeks off -->!is", $template, $match7); $loop_wd = trim($match1[1]); - $loop_w = trim($match2[1]); - $notthismonth = trim($match3[1]); - $notevent = trim($match4[1]); - $isevent = trim($match5[1]); + $loop_md = trim($match2[1]); $startweek = trim($match6[1]); $endweek = trim($match7[1]); $fake_getdate_time = strtotime($this_year.'-'.$this_month.'-15'); @@ -47,25 +43,39 @@ function draw_month($template, $offset = '+0', $type) { $start_day = strtotime(dateOfWeek($first_of_month, $week_start_day)); $i = 0; $whole_month = TRUE; - $to_replace = array('{DAY}', '{CAL}', '{DAYLINK}', '{MINICAL_VIEW}'); do { - if ($i == 0) $middle .= $startweek; - $day = date ("j", $start_day); - $daylink = date ("Ymd", $start_day); - $check_month = date ("m", $start_day); - $replace_with = array($day, $cal, $daylink, $minical_view); - if ($check_month != $minical_month) { - $middle .= str_replace($to_replace, $replace_with, $notthismonth); - } elseif (isset($master_array[$daylink]) && ($check_month == $minical_month)) { - $middle .= str_replace($to_replace, $replace_with, $isevent); + if ($i == 0) $middle .= $startweek; $i++; + $temp_middle = $loop_md; + $switch = array('notthismonth' => '', 'istoday' => '', 'ismonth' => '', 'noevent' => '', 'anyevent' => '', 'allday' => '', 'event_title' => '', 'cal' => $cal, 'minical_view' => $minical_view); + $check_month = date ("m", $start_day); + $daylink = date ("Ymd", $start_day); + $switch['day'] = date ("j", $start_day); + $switch['daylink'] = date ("Ymd", $start_day); + $switch['notthismonth'] = ($check_month != $minical_month) ? 'set' : ''; + $switch['istoday'] = ($switch['daylink'] == $getdate) ? 'set' : ''; + $switch['ismonth'] = (($switch['istoday'] == '') && ($switch['notthismonth'] == '')) ? 'set' : ''; + if (isset($master_array[$daylink]['-1'])) { + $switch['anyevent'] = 'set'; + $switch['allday'] = 'set'; + //$switch['event_title'] = $master_array[$daylink]['-1']['0']['event_text']; + //print_r ($master_array[$daylink]['-1']); + } elseif (isset($master_array[$daylink])) { + $switch['anyevent'] = 'set'; } else { - $middle .= str_replace($to_replace, $replace_with, $notevent); + $switch['noevent'] = 'set'; } - $start_day = strtotime("+1 day", $start_day); + foreach ($switch as $tag => $data) { + if (!$data) { + $temp_middle = eregi_replace('<!-- switch ' . $tag . ' on -->(.*)<!-- switch ' . $tag . ' off -->', '', $temp_middle); + } else { + $temp_middle = eregi_replace('{' . $tag . '}', $data, $temp_middle); + } + } + $middle .= $temp_middle; - $i++; + $start_day = strtotime("+1 day", $start_day); if ($i == 7) { $i = 0; $middle .= $endweek; diff --git a/functions/timezones.php b/functions/timezones.php index fa42298..8eda9cb 100644 --- a/functions/timezones.php +++ b/functions/timezones.php @@ -1,60 +1,60 @@ <?php -$tz_array['Africa/Addis_Ababa'] = array('+0300', '+0300'); -$tz_array['Africa/Algiers'] = array('+0100', '+0100'); -$tz_array['Africa/Asmera'] = array('+0300', '+0300'); -$tz_array['Africa/Bangui'] = array('+0100', '+0100'); -$tz_array['Africa/Blantyre'] = array('+0200', '+0200'); -$tz_array['Africa/Brazzaville'] = array('+0100', '+0100'); -$tz_array['Africa/Bujumbura'] = array('+0200', '+0200'); -$tz_array['Africa/Cairo'] = array('+0200', '+0300'); -$tz_array['Africa/Ceuta'] = array('+0100', '+0200'); -$tz_array['Africa/Dar_es_Salaam'] = array('+0300', '+0300'); -$tz_array['Africa/Djibouti'] = array('+0300', '+0300'); -$tz_array['Africa/Douala'] = array('+0100', '+0100'); -$tz_array['Africa/Gaborone'] = array('+0200', '+0200'); -$tz_array['Africa/Harare'] = array('+0200', '+0200'); -$tz_array['Africa/Johannesburg'] = array('+0200', '+0200'); -$tz_array['Africa/Kampala'] = array('+0300', '+0300'); -$tz_array['Africa/Khartoum'] = array('+0300', '+0300'); -$tz_array['Africa/Kigali'] = array('+0200', '+0200'); -$tz_array['Africa/Kinshasa'] = array('+0100', '+0100'); -$tz_array['Africa/Lagos'] = array('+0100', '+0100'); -$tz_array['Africa/Libreville'] = array('+0100', '+0100'); -$tz_array['Africa/Luanda'] = array('+0100', '+0100'); -$tz_array['Africa/Lubumbashi'] = array('+0200', '+0200'); -$tz_array['Africa/Lusaka'] = array('+0200', '+0200'); -$tz_array['Africa/Malabo'] = array('+0100', '+0100'); -$tz_array['Africa/Maputo'] = array('+0200', '+0200'); -$tz_array['Africa/Maseru'] = array('+0200', '+0200'); -$tz_array['Africa/Mbabane'] = array('+0200', '+0200'); -$tz_array['Africa/Mogadishu'] = array('+0300', '+0300'); -$tz_array['Africa/Nairobi'] = array('+0300', '+0300'); -$tz_array['Africa/Ndjamena'] = array('+0100', '+0100'); -$tz_array['Africa/Niamey'] = array('+0100', '+0100'); -$tz_array['Africa/Porto-Novo'] = array('+0100', '+0100'); -$tz_array['Africa/Tripoli'] = array('+0200', '+0200'); -$tz_array['Africa/Tunis'] = array('+0100', '+0100'); -$tz_array['Africa/Windhoek'] = array('+0200', '+0100'); -$tz_array['America/Adak'] = array('-1000', '-0900'); -$tz_array['America/Anchorage'] = array('-0900', '-0800'); -$tz_array['America/Anguilla'] = array('-0400', '-0400'); -$tz_array['America/Antigua'] = array('-0400', '-0400'); -$tz_array['America/Araguaina'] = array('-0200', '-0300'); -$tz_array['America/Aruba'] = array('-0400', '-0400'); -$tz_array['America/Asuncion'] = array('-0300', '-0400'); -$tz_array['America/Atka'] = array('-1000', '-0900'); -$tz_array['America/Barbados'] = array('-0400', '-0400'); -$tz_array['America/Belem'] = array('-0300', '-0300'); -$tz_array['America/Belize'] = array('-0600', '-0600'); -$tz_array['America/Boa_Vista'] = array('-0400', '-0400'); -$tz_array['America/Bogota'] = array('-0500', '-0500'); -$tz_array['America/Boise'] = array('-0700', '-0600'); -$tz_array['America/Buenos_Aires'] = array('-0300', '-0300'); -$tz_array['America/Cambridge_Bay'] = array('-0700', '-0600'); -$tz_array['America/Cancun'] = array('-0600', '-0500'); -$tz_array['America/Caracas'] = array('-0400', '-0400'); -$tz_array['America/Catamarca'] = array('-0300', '-0300'); -$tz_array['America/Cayenne'] = array('-0300', '-0300'); +$tz_array['Africa/Addis_Ababa'] = array('+0300', '+0300'); +$tz_array['Africa/Algiers'] = array('+0100', '+0100'); +$tz_array['Africa/Asmera'] = array('+0300', '+0300'); +$tz_array['Africa/Bangui'] = array('+0100', '+0100'); +$tz_array['Africa/Blantyre'] = array('+0200', '+0200'); +$tz_array['Africa/Brazzaville'] = array('+0100', '+0100'); +$tz_array['Africa/Bujumbura'] = array('+0200', '+0200'); +$tz_array['Africa/Cairo'] = array('+0200', '+0300'); +$tz_array['Africa/Ceuta'] = array('+0100', '+0200'); +$tz_array['Africa/Dar_es_Salaam'] = array('+0300', '+0300'); +$tz_array['Africa/Djibouti'] = array('+0300', '+0300'); +$tz_array['Africa/Douala'] = array('+0100', '+0100'); +$tz_array['Africa/Gaborone'] = array('+0200', '+0200'); +$tz_array['Africa/Harare'] = array('+0200', '+0200'); +$tz_array['Africa/Johannesburg'] = array('+0200', '+0200'); +$tz_array['Africa/Kampala'] = array('+0300', '+0300'); +$tz_array['Africa/Khartoum'] = array('+0300', '+0300'); +$tz_array['Africa/Kigali'] = array('+0200', '+0200'); +$tz_array['Africa/Kinshasa'] = array('+0100', '+0100'); +$tz_array['Africa/Lagos'] = array('+0100', '+0100'); +$tz_array['Africa/Libreville'] = array('+0100', '+0100'); +$tz_array['Africa/Luanda'] = array('+0100', '+0100'); +$tz_array['Africa/Lubumbashi'] = array('+0200', '+0200'); +$tz_array['Africa/Lusaka'] = array('+0200', '+0200'); +$tz_array['Africa/Malabo'] = array('+0100', '+0100'); +$tz_array['Africa/Maputo'] = array('+0200', '+0200'); +$tz_array['Africa/Maseru'] = array('+0200', '+0200'); +$tz_array['Africa/Mbabane'] = array('+0200', '+0200'); +$tz_array['Africa/Mogadishu'] = array('+0300', '+0300'); +$tz_array['Africa/Nairobi'] = array('+0300', '+0300'); +$tz_array['Africa/Ndjamena'] = array('+0100', '+0100'); +$tz_array['Africa/Niamey'] = array('+0100', '+0100'); +$tz_array['Africa/Porto-Novo'] = array('+0100', '+0100'); +$tz_array['Africa/Tripoli'] = array('+0200', '+0200'); +$tz_array['Africa/Tunis'] = array('+0100', '+0100'); +$tz_array['Africa/Windhoek'] = array('+0200', '+0100'); +$tz_array['America/Adak'] = array('-1000', '-0900'); +$tz_array['America/Anchorage'] = array('-0900', '-0800'); +$tz_array['America/Anguilla'] = array('-0400', '-0400'); +$tz_array['America/Antigua'] = array('-0400', '-0400'); +$tz_array['America/Araguaina'] = array('-0200', '-0300'); +$tz_array['America/Aruba'] = array('-0400', '-0400'); +$tz_array['America/Asuncion'] = array('-0300', '-0400'); +$tz_array['America/Atka'] = array('-1000', '-0900'); +$tz_array['America/Barbados'] = array('-0400', '-0400'); +$tz_array['America/Belem'] = array('-0300', '-0300'); +$tz_array['America/Belize'] = array('-0600', '-0600'); +$tz_array['America/Boa_Vista'] = array('-0400', '-0400'); +$tz_array['America/Bogota'] = array('-0500', '-0500'); +$tz_array['America/Boise'] = array('-0700', '-0600'); +$tz_array['America/Buenos_Aires'] = array('-0300', '-0300'); +$tz_array['America/Cambridge_Bay'] = array('-0700', '-0600'); +$tz_array['America/Cancun'] = array('-0600', '-0500'); +$tz_array['America/Caracas'] = array('-0400', '-0400'); +$tz_array['America/Catamarca'] = array('-0300', '-0300'); +$tz_array['America/Cayenne'] = array('-0300', '-0300'); $tz_array['America/Cayman'] = array('-0500', '-0500'); $tz_array['America/Chicago'] = array('-0600', '-0500'); $tz_array['America/Chihuahua'] = array('-0700', '-0600'); |