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 phpcal.*, country.name as name from phpcal, country where phpcal.country=country.id and 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'], $row['name'], $row['category']);
break;
case 2:
$events[] = array($row['id'],$row['sdato'].' to '.$row['edato'],$row['sdesc'],$row['ldesc'],$row['url'], $row['name'], $row['category']);
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'], $row['name'], $row['category']);
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 $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;
}
?>
|
|
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 '| '.$days[$i]." | \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";
}
?>
\n";
}
function draw_event($ev) {
global $re;
$stmt = "select phpcal.*,country.name as cname from phpcal,country where phpcal.country = country.id and phpcal.id=$ev";
$result = mysql_query($stmt);
if(!$result) echo mysql_error();
else $event = mysql_fetch_array($result);
$days=days();
$cat = $event['category'];
switch($cat) {
case 1:
$category = "regional";
break;
case 2:
$category = "national";
break;
case 3:
$category = "international";
break;
default:
$category = "unknown";
}
?>
|
|
Country: ". $event['cname'] : "" ;
echo ((!isset($category)) || ($category != "unknown")) ? " Event Type: ". $category : "" ;
if(strlen($event['url'])) {
echo " URL: ".$event['url']."\n";
}
?>
|
|
|
| Approved by: |
|
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;
}
?>