When planning for events the event organizers have a few things they want to accomplish:
Category: event
Add to my calendar script
<?php
$id=$_GET[‘id’];
// MODIFY THIS LINE — I get $id as a param
include ‘mysql_connect.php’;
// MODIFY THIS LINE — include any files you need for mysql to query
?>
<?php
$ics_contents = “BEGIN:VCALENDAR\n”;
$ics_contents .= “VERSION:2.0\n”;
$ics_contents .= “PRODID:PHP\n”;
$ics_contents .= “METHOD:PUBLISH\n”;
$name = “Awesome”;
$ics_contents .= “X-WR-CALNAME:$name Holiday Dates\n”;
# Change the timezone as well daylight settings if need be
$ics_contents .= “X-WR-TIMEZONE:America/New_York\n”;
$ics_contents .= “BEGIN:VTIMEZONE\n”;
$ics_contents .= “TZID:America/New_York\n”;
$ics_contents .= “BEGIN:DAYLIGHT\n”;
$ics_contents .= “TZOFFSETFROM:-0500\n”;
$ics_contents .= “TZOFFSETTO:-0400\n”;
$ics_contents .= “DTSTART:20070311T020000\n”;
$ics_contents .= “RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\n”;
$ics_contents .= “TZNAME:EDT\n”;
$ics_contents .= “END:DAYLIGHT\n”;
$ics_contents .= “BEGIN:STANDARD\n”;
$ics_contents .= “TZOFFSETFROM:-0400\n”;
$ics_contents .= “TZOFFSETTO:-0500\n”;
$ics_contents .= “DTSTART:20071104T020000\n”;
$ics_contents .= “RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\n”;
$ics_contents .= “TZNAME:EST\n”;
$ics_contents .= “END:STANDARD\n”;
$ics_contents .= “END:VTIMEZONE\n”;
$sql=”select * from sh_dates where id = ‘$id'”;
// MODIFY THIS LINE — obvious.
$result=mysql_query($sql);
while ($row=mysql_fetch_array($result))
{
$id=$row[“id”];
// MODIFY THIS LINE —
$term=$row[“term”];
// MODIFY THIS LINE —
$start_date=$row[“startdate”];
// MODIFY THIS LINE —
$end_date=$row[“enddate”];
// MODIFY THIS LINE —
$name = “Event at Awesome”;
// MODIFY THIS LINE —
// $id = $schedule_details[‘ID’];
// $start_date = $schedule_details[‘StartDate’];
// $start_time = $schedule_details[‘StartTime’];
// $end_date = $schedule_details[‘EndDate’];
// $end_time = $schedule_details[‘EndTime’];
// $category = $schedule_details[‘Category’];
// $location = $schedule_details[‘Location’];
// $description = $schedule_details[‘Description’];
# Remove ‘-‘ in $start_date and $end_date
$estart_date = str_replace(“-“, “”, $start_date);
$eend_date = str_replace(“-“, “”, $end_date);
# Remove ‘:’ in $start_time and $end_time
$estart_time = str_replace(“:”, “”, $start_time);
$eend_time = str_replace(“:”, “”, $end_time);
# Replace some HTML tags
$name = str_replace(“<br>”, “\\n”, $name);
$name = str_replace(“&”, “&”, $name);
$name = str_replace(“→”, “–>”, $name);
$name = str_replace(“←”, “<–“, $name);
$name = str_replace(“,”, “\\,”, $name);
$name = str_replace(“;”, “\\;”, $name);
$location = str_replace(“<br>”, “\\n”, $location);
$location = str_replace(“&”, “&”, $location);
$location = str_replace(“→”, “–>”, $location);
$location = str_replace(“←”, “<–“, $location);
$location = str_replace(“,”, “\\,”, $location);
$location = str_replace(“;”, “\\;”, $location);
$description = str_replace(“<br>”, “\\n”, $description);
$description = str_replace(“&”, “&”, $description);
$description = str_replace(“→”, “–>”, $description);
$description = str_replace(“←”, “<–“, $description);
$description = str_replace(“<em>”, “”, $description);
$description = str_replace(“</em>”, “”, $description);
# Change TZID if need be
$ics_contents .= “BEGIN:VEVENT\n”;
$ics_contents .= “DTSTART;TZID=America/New_York” . $estart_date . “T”. $estart_time . “\n”;
$ics_contents .= “DTEND:” . $eend_date . “T”. $eend_time . “\n”;
$ics_contents .= “DTSTAMP:” . date(‘Ymd’) . “T”. date(‘His’) . “Z\n”;
$ics_contents .= “LOCATION:” . $location . “\n”;
$ics_contents .= “DESCRIPTION:” . $description . “\n”;
$ics_contents .= “SUMMARY:” . $name . “\n”;
$ics_contents .= “UID:” . $id . “\n”;
$ics_contents .= “SEQUENCE:0\n”;
$ics_contents .= “END:VEVENT\n”;
}
$ics_contents .= “END:VCALENDAR\n”;
# File to write the contents
$ics_file = ‘/var/www/ics/1203.ics’;
// MODIFY THIS LINE —
if (is_writable($ics_file)) {
if (!$handle = fopen($ics_file, ‘w’)) {
echo “Cannot open file ($ics_file)\n\n”;
exit;
}
# Write $ics_contents to opened file
if (fwrite($handle, $ics_contents) === FALSE) {
echo “Cannot write to file ($ics_file)\n\n”;
exit;
}
# echo “Success, wrote to <b>1203.ics</b><br>\n\n”;
// MODIFY THIS LINE —
fclose($handle);
} else {
echo “The file <b>$ics_file</b> is not writable\n\n”;
}
?>
<?php
//header( ‘Location: http://mywebsite.com/ics/1203.ics’ ) ;
// MODIFY THIS LINE —
echo $ics_contents;
?>