aboutsummaryrefslogtreecommitdiffstats
path: root/functions
diff options
context:
space:
mode:
authorChad Little <clittle@users.sourceforge.net>2004-01-30 22:49:01 +0000
committerChad Little <clittle@users.sourceforge.net>2004-01-30 22:49:01 +0000
commitcf2b0c139b4ca884b5ce335ce893f2211b8e95bb (patch)
tree438a68cb4292be6d04fdac6dc80cd2b09dd517c7 /functions
parent3425e2a6bfeb947b455568a01af55c2e853f8767 (diff)
downloadphpicalendar-cf2b0c139b4ca884b5ce335ce893f2211b8e95bb.tar.gz
phpicalendar-cf2b0c139b4ca884b5ce335ce893f2211b8e95bb.tar.bz2
phpicalendar-cf2b0c139b4ca884b5ce335ce893f2211b8e95bb.zip
Mid-day sanity checkin.
Diffstat (limited to 'functions')
-rw-r--r--functions/date_functions.php5
-rw-r--r--functions/ical_parser.php2
-rw-r--r--functions/template.php58
-rw-r--r--functions/timezones.php112
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');

© 2014-2024 Faster IT GmbH | imprint | privacy policy