Sorry, the event calendar is temporarily unavailable.

'First',2=>'Second',3=>'Third',4=>'Fourth',-1=>'Last',-2=>'2nd Last',-3=>'3rd Last'); /* CREATE TABLE phpcal ( id int(8) NOT NULL, sdato date, edato date, recur char(12), sdesc char(16) NOT NULL, url varchar(128), ldesc text, tipo int(1) NOT NULL, approved int(1) NOT NULL DEFAULT 0, app_by char(16), PRIMARY KEY(id), INDEX (sdato), INDEX (edato) ) */ /* * Find the first, second, third, last, second-last etc. weekday of a month * * args: day 1 = Monday * which 1 = first * 2 = second * 3 = third * -1 = last * -2 = second-last */ function weekday($year, $month, $day, $which) { $ts = mktime(12,0,0,$month+(($which>0)?0:1),($which>0)?1:0,$year); $done = false; $match = 0; $inc = 3600*24; while(!$done) { if(strftime('%w',$ts)==$day-1) { $match++; } if($match==abs($which)) $done=true; else $ts += (($which>0)?1:-1)*$inc; } return $ts; } function load_unapproved_events() { global $re; $days = days(); $result = mysql_query("select * from phpcal where approved=0 order by sdato"); if(!$result) echo mysql_error(); else { while($row = mysql_fetch_array($result)) { switch($row['tipo']) { case 1: $events[] = array($row['id'],$row['sdato'],$row['sdesc'],$row['ldesc'],$row['url']); break; case 2: $events[] = array($row['id'],$row['sdato'].' to '.$row['edato'],$row['sdesc'],$row['ldesc'],$row['url']); break; case 3: list($which,$day) = explode(':',$row['recur']); $events[] = array($row['id'],'Every '.$re[(int)$which].' '.$days[$day],$row['sdesc'],$row['ldesc'],$row['url']); break; } } } return $events; } function load_month($year, $month) { $result = mysql_query("select * from phpcal where (((MONTH(sdato)=$month or MONTH(edato)=$month) and (YEAR(sdato)=$year or YEAR(edato)=$year) and tipo<3) or tipo=3) and approved=1"); if(!$result) echo mysql_error(); else { while($row = mysql_fetch_array($result)) { switch($row['tipo']) { case 1: list(,,$dd) = explode('-',$row['sdato']); $events[(int)$dd][] = $row; break; case 2: list(,$mm,$dd) = explode('-',$row['sdato']); list(,$m2,$d2) = explode('-',$row['edato']); if((int)$mm==(int)$m2) { for($i=(int)$dd; $i<=(int)$d2; $i++) { $events[$i][] = $row; } } elseif((int)$mm==$month) { for($i=(int)$dd; $i<32; $i++) { $events[$i][] = $row; } } else { for($i=1; $i<=(int)$d2; $i++) { $events[$i][] = $row; } } break; case 3: list($which,$dd) = explode(':',$row['recur']); $ts = weekday($year,$month,$dd,$which); $events[(int)strftime('%d',$ts)][] = $row; break; } } } return($events); } function start_month($year, $month) { $ts = mktime(12,0,0,$month,1,$year); return strftime('%w',$ts); } function last_day($year,$month) { $ts = mktime(12,0,0,$month+1,0,$year); return strftime('%e',$ts); } function months() { static $months=NULL; if(!$months) for($i=1;$i<=12;$i++) { $months[$i] = strftime('%B',mktime(12,0,0,$i,1)); } return $months; } /* returns array of Days starting with 1 = Sunday */ function days() { static $days=NULL; if(!$days) for($i=1;$i<=7;$i++) { $days[$i] = strftime('%A',mktime(12,0,0,4,$i,2001)); } return $days; } function draw_cal($y,$m) { global $a, $err; global $ap, $aerr; global $ev, $cm, $cy; $months = months(); $m=(int)$m; $month=$months[$m]; $events = load_month($y,$m); $pm=$m-1; $nm=$m+1; $py = $ny = $y; if($m==1) { $pm = 12; $py = $y-1; } else { $pm = $m-1; } if($m==12) { $nm = 1; $ny = $y+1; } ?> \n"; if($a) draw_add();?>
30) || ($start==6 && $last>29)) $rows=7; else $rows=6; for($j=0;$j<$rows; $j++) { echo ''; for($i=1; $i<=7; $i++) { if($j==0) echo '\n"; else { if($j==1 && ($i-1)==$start) $day = 1; if($day && $day<=$last) { $label=$day; $col = '#f0f0f0'; $bcol=$col; $data = ' '; if(is_array($events[$day])) { $data = ''; foreach($events[$day] as $row) { if($data) $data .= "
\n"; $data .= "".$row['sdesc'].''; } } } else { $label=''; $data=''; $col='#d0d0d0'; $bcol=$col; } echo "\n"; } if($day) $day++; } echo "\n"; } ?>
'.$days[$i].""; echo "
$label
$data
>.(($a)? add event'; else echo "$err"; echo "
>.(($ap)? approve events' . " ($c event(s) pending)"; else echo "$aerr"; if($ap) draw_app(); echo "
\n"; } function draw_event($ev) { global $re; $result = mysql_query("select * from phpcal where id=$ev"); if(!$result) echo mysql_error(); else $event = mysql_fetch_array($result); $days=days(); ?>
URL: ".$event['url']."\n";?>
App. by:
\n"; $i++; } echo ""; } ?>
 WhenLabelDescriptionURL
$e[1]$e[2]".(ini_get('magic_quotes_gpc')?stripslashes($e[3]):$e[3])."$e[4]
  CVS Login: CVS Passwd:
Start Date > "> Just one day (no end-date required)
End Date "> Multi-day event
OR
Recurring
Recurring (every month)
Short
Description
URL
Long
Description
$v) { if(!$mq) $$k = addslashes($v); elseif(!$rg) $$k = $v; } $ldesc = nl2br($ldesc); if(empty($sdesc)) { $err = "You must provide a short description for your event - please correct this
\n"; $a=1; } else switch($type) { case 'single': if(!is_numeric($syear) || !is_numeric($smonth) || !is_numeric($sday)) { $err = "Invalid start date - please correct it
\n"; $a=1; } else { mysql_query("insert into phpcal values (0,'$syear-$smonth-$sday',NULL,NULL,'$sdesc','$url','$ldesc',1,0,NULL)") or $err=mysql_error(); } break; case 'multi': $sd = mktime(NULL,NULL,NULL,$smonth,$sday,$syear); $ed = mktime(NULL,NULL,59,$emonth,$eday,$eyear); if(!is_numeric($syear) || !is_numeric($smonth) || !is_numeric($sday)) { $err = "Invalid start date - please correct it
\n"; $a=1; } elseif(!is_numeric($eyear) || !is_numeric($emonth) || !is_numeric($eday)) { $err = "Invalid end date - please correct it
\n"; $a=1; } elseif($sd>$ed) { $err = "Your end date must be after your start date - please correct this
\n"; $a=1; } elseif($smonth==$emonth && $sday==$eday && $syear==$eyear) { $err = "Your start and end dates are identical - please correct this
\n"; $a=1; } else { mysql_query("insert into phpcal values (0,'$syear-$smonth-$sday','$eyear-$emonth-$eday',NULL,'$sdesc','$url','$ldesc',2,0,NULL)") or $err=mysql_error(); } break; case 'recur': if(!is_numeric($recur) || !is_numeric($recur_day)) { $err = "Recurring event sequence is invalid - please correct it
\n"; $a=1; } else { mysql_query("insert into phpcal values (0,NULL,NULL,'$recur:$recur_day','$sdesc','$url','$ldesc',3,0,NULL)") or $err=mysql_error(); } break; } } if(isset($entries)) { if (verify_password($user,$pw)) { if(isset($HTTP_POST_VARS['Approve_Selected_x']) || isset($HTTP_POST_VARS['Approve_Selected']) || isset($HTTP_POST_VARS['Approve_Selected_y'])) { foreach($entries as $entry=>$val) { $result = mysql_query("update phpcal set approved=1, app_by='$user' where id=$entry"); if(!$result) echo mysql_error(); } } if(isset($HTTP_POST_VARS['Reject_Selected_x']) || isset($HTTP_POST_VARS['Reject_Selected']) || isset($HTTP_POST_VARS['Reject_Selected_y'])) { foreach($entries as $entry=>$val) { $result = mysql_query("delete from phpcal where id=$entry"); if(!$result) echo mysql_error(); } } } else { echo "

The username or password you supplied was incorrect.

\n"; $ap = 1; } } if(!isset($a)) { if(isset($HTTP_GET_VARS['a'])) $a = $HTTP_GET_VARS['a']; else $a=0; } if (!isset($cm)) $cm = (int)strftime('%m'); if (!isset($cy)) $cy = (int)strftime('%Y'); if (!isset($cd)) $cd = (int)strftime('%d'); if (!isset($nm)) $nm = 1; switch($format) { case 'html': echo "

Event Calendar

"; draw_cal($cy,$cm); echo "
"; commonFooter(); break; case 'csv': while($nm) { $entries = load_month($cy,$cm); $last = last_day($cy,$cm); for($i=$cd; $i<=$last; $i++) { if(is_array($entries[$i])) foreach($entries[$i] as $row) { if($data) $data.="\n"; $data .= "$i,$cm,$cy,\"http://php.net/cal.php?cm=$cm&cy=$cy&ev=".$row['id']."\",\"".addslashes($row['sdesc']).'"'; } } $nm--; $cd = 1; if($nm) { $cm++; if($cm==13) { $cy++; $cm=1; } } } echo $data; break; } ?>