[Openfirst-cvscommit] members/phpicalendar/rss index.php,NONE,1.1 rss.php,NONE,1.1
Brought to you by:
xtimg
From: <xt...@us...> - 2003-10-05 15:34:54
|
Update of /cvsroot/openfirst/members/phpicalendar/rss In directory sc8-pr-cvs1:/tmp/cvs-serv26097 Added Files: index.php rss.php Log Message: Add rss directory with its functionality. --- NEW FILE: index.php --- <?php define('BASE','../'); include(BASE.'functions/ical_parser.php'); $default_path = 'http://'.$HTTP_SERVER_VARS['SERVER_NAME'].substr($HTTP_SERVER_VARS['PHP_SELF'],0,strpos($HTTP_SERVER_VARS['PHP_SELF'], '/rss/')); if (isset($HTTP_SERVER_VARS['HTTP_REFERER']) && $HTTP_SERVER_VARS['HTTP_REFERER'] != '') { $back_page = $HTTP_SERVER_VARS['HTTP_REFERER']; } else { $back_page = BASE.$default_view.'.php?cal='.$cal.'&getdate='.$getdate; } $current_view = "rssindex"; $display_date = "$calendar_lang - RSS Info"; include (BASE.'includes/header.inc.php'); ?> <center> <table border="0" width="700" cellspacing="0" cellpadding="0"> <tr> <td width="520" valign="top" align="center"> <table width="640" border="0" cellspacing="0" cellpadding="0" class="calborder"> <tr> <td align="center" valign="middle"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="left" width="120" class="navback"><?php echo '<a href="'.$back_page.'"><img src="'.BASE.'styles/'.$style_sheet.'/back.gif" alt=" " border="0" align="left"></a>'; ?></td> <td class="navback"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center" class="navback" nowrap valign="middle"><font class="H20"><?php echo 'RSS Information'; ?></font></td> </tr> </table> </td> <td align="right" width="120" class="navback"> <table width="120" border="0" cellpadding="0" cellspacing="0"> <tr> <td><?php echo '<a class="psf" href="'.BASE.'day.php?cal='.$cal.'&getdate='.$getdate.'"><img src="'.BASE.'styles/'.$style_sheet.'/day_on.gif" alt=" " border="0"></td>'; ?> <td><?php echo '<a class="psf" href="'.BASE.'week.php?cal='.$cal.'&getdate='.$getdate.'"><img src="'.BASE.'styles/'.$style_sheet.'/week_on.gif" alt=" " border="0"></td>'; ?> <td><?php echo '<a class="psf" href="'.BASE.'month.php?cal='.$cal.'&getdate='.$getdate.'"><img src="'.BASE.'styles/'.$style_sheet.'/month_on.gif" alt=" " border="0"></td>'; ?> <td><?php echo '<a class="psf" href="'.BASE.'year.php?cal='.$cal.'&getdate='.$getdate.'"><img src="'.BASE.'styles/'.$style_sheet.'/year_on.gif" alt=" " border="0"></td>'; ?> </tr> </table> </td> </tr> </table> </td> </tr> <tr> <td class="dayborder"><img src="../images/spacer.gif" width="1" height="5" alt=" "></td> </tr> <?php if ($enable_rss == "yes") { ?> <tr> <td> <table width="100%" border="0" cellspacing="0" cellpadding="0" class="G10B"> <tr> <td width="2%"></td> <td width="98%" valign="top" align="left"> <br> <?php echo "$this_site_is_lang "; ?><a class="psf" href="http://www.oreillynet.com/rss/">RSS 0.91 enabled</a>.<br> <br> <?php // open file $dir_handle = @opendir($calendar_path) or die(error(sprintf($error_path_lang, $calendar_path), $cal_filename)); // build the <option> tags while ($file = readdir($dir_handle)) { if (preg_match("/^[^.].+\.ics$/", $file)) { // $cal_filename is the filename of the calendar without .ics // $cal is a urlencoded version of $cal_filename // $cal_displayname is $cal_filename with occurrences of "32" replaced with " " $cal_filename_tmp = substr($file,0,-4); $cal_tmp = urlencode($cal_filename_tmp); $cal_displayname_tmp = str_replace("32", " ", $cal_filename_tmp); if (!in_array($cal_filename_tmp, $blacklisted_cals)) { echo '<font class="V12" color="blue"><b>'.$cal_displayname_tmp.' '. $calendar_lang.'</b></font><br>'; echo $default_path.'/rss/rss.php?cal='.$cal_tmp.'&rssview=day<br>'; echo $default_path.'/rss/rss.php?cal='.$cal_tmp.'&rssview=week<br>'; echo $default_path.'/rss/rss.php?cal='.$cal_tmp.'&rssview=month<br>'; $footer_check = $default_path.'/rss/rss.php?cal='.$default_cal.'&rssview='.$default_view; echo '<br><br>'; } } } ?> </td> </tr> </table> </td> </tr> <?php } else { ?> <tr> <td align="center" class="navback" nowrap valign="middle"><font class="H20">RSS is not enabled on this site.</font></td> </tr> <?php } ?> </table> </td> </tr> </table> </center> <?php include (BASE.'includes/footer.inc.php'); ?> --- NEW FILE: rss.php --- <?php define('BASE', '../'); include(BASE.'functions/ical_parser.php'); if ($enable_rss != 'yes') { die ("RSS feeds are not enabled on this site."); } $default_path = 'http://'.$HTTP_SERVER_VARS['SERVER_NAME'].':'.$HTTP_SERVER_VARS['SERVER_PORT'].substr($HTTP_SERVER_VARS['PHP_SELF'],0,strpos($HTTP_SERVER_VARS['PHP_SELF'],'/rss/')); $start_week_time = strtotime(dateOfWeek($getdate, $week_start_day)); $end_week_time = $start_week_time + (6 * 25 * 60 * 60); $start_week = localizeDate($dateFormat_week, $start_week_time); $end_week = localizeDate($dateFormat_week, $end_week_time); $parse_month = date ("Ym", strtotime($getdate)); $rssview = $HTTP_GET_VARS['rssview']; $cal_displayname = str_replace("32", " ", $cal); $events_week = 0; // calculate a value for Last Modified and ETag $filemod = filemtime("../calendars/$cal.ics"); $filemodtime = date("r", $filemod); //send relevant headers header ("Last-Modified: $filemodtime"); header ("ETag:\"$filemodtime\""); // checks the user agents headers to see if they kept track of our // stuff, if so be nice and send back a 304 and exit. if ( ($_SERVER['HTTP_IF_MODIFIED_SINCE'] == $filemodtime) || ($_SERVER['HTTP_IF_NONE_MATCH'] == $filemodtime)) { header ("HTTP/1.1 304 Not Modified"); exit; } if ($rssview == "day") { $theview = $day_lang; } elseif ($rssview == "week") { $theview = $week_lang; } elseif ($rssview == "month") { $theview = $month_lang; } $rss = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"."\n"; $rss .= '<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">'."\n"; $rss .= '<rss version="0.91">'."\n"; $rss .= '<channel>'."\n"; $rss .= '<title>'.$cal_displayname.' - '.$theview.'</title>'."\n"; $rss .= '<link>'.htmlspecialchars ("$default_path").'</link>'."\n"; $rss .= '<description>'.$cal_displayname.' '.$calendar_lang.' - '.$theview.'</description>'."\n"; $rss .= '<language>'.$rss_language.'</language>'."\n"; $rss .= '<copyright>Copyright 2002, '.htmlspecialchars ("$default_path").'</copyright>'."\n"; if ($rssview == 'day') { if (isset($master_array[($getdate)]) && sizeof($master_array[($getdate)]) > 0) { foreach ($master_array[("$getdate")] as $event_times) { foreach ($event_times as $val) { $event_start = @$val["event_start"]; $event_start = date ($timeFormat, @strtotime ("$event_start")); $event_text = stripslashes(urldecode($val["event_text"])); $event_text = strip_tags($event_text, '<b><i><u>'); $event_text = word_wrap($event_text, 21, $tomorrows_events_lines); $description = stripslashes(urldecode($val["description"])); $description = strip_tags($description, '<b><i><u>'); $rss_title = htmlspecialchars ("$event_start $event_text"); $rss_link = htmlspecialchars ("$default_path/day.php?getdate=$getdate&cal=$cal"); $rss_description = htmlspecialchars ("$description"); $rss .= '<item>'."\n"; $rss .= '<title>'.$rss_title.'</title>'."\n"; $rss .= '<link>'.$rss_link.'</link>'."\n"; $rss .= '<description>'.$rss_description.'</description>'."\n"; $rss .= '</item>'."\n"; $events_week++; } } } if ($events_week < 1) { $rss .= '<item>'."\n"; $rss .= '<title>'.$no_events_day_lang.'</title>'."\n"; $rss .= '<link>'.htmlspecialchars ("$default_path").'</link>'."\n"; $rss .= '</item>'."\n"; } } $thisdate = $start_week_time; $i = 0; if ($rssview == "week") { do { $getdate = date("Ymd", $thisdate); $dayofweek = strtotime ($getdate); $dayofweek = localizeDate ($rss_week_date, $dayofweek); if (isset($master_array[($getdate)]) && sizeof($master_array[($getdate)]) > 0) { foreach ($master_array[("$getdate")] as $event_times) { foreach ($event_times as $val) { $event_start = @$val["event_start"]; $event_start = date ($timeFormat, @strtotime ("$event_start")); $event_text = stripslashes(urldecode($val["event_text"])); $event_text = strip_tags($event_text, '<b><i><u>'); $event_text = word_wrap($event_text, 21, $tomorrows_events_lines); $description = stripslashes(urldecode($val["description"])); $description = strip_tags($description, '<b><i><u>'); $rss_title = htmlspecialchars ("$dayofweek: $event_text"); $rss_link = htmlspecialchars ("$default_path/day.php?getdate=$getdate&cal=$cal"); $rss_description = htmlspecialchars ("$dayofweek $event_start: $description"); $rss .= '<item>'."\n"; $rss .= '<title>'.$rss_title.'</title>'."\n"; $rss .= '<link>'.$rss_link.'</link>'."\n"; $rss .= '<description>'.$rss_description.'</description>'."\n"; $rss .= '</item>'."\n"; $events_week++; } } } if (($events_week < 1) && ($i == 6)) { $rss .= '<item>'."\n"; $rss .= '<title>'.$no_events_week_lang.'</title>'."\n"; $rss .= '<link>'.htmlspecialchars ("$default_path").'</link>'."\n"; $rss .= '</item>'."\n"; } $thisdate = ($thisdate + (25 * 60 * 60)); $i++; } while ($i < 7); } if ($rssview == "month") { foreach($master_array as $key => $new_val2) { // Pull out only this months ereg ("([0-9]{6})([0-9]{2})", $key, $regs); if ($regs[1] == $parse_month) { $getdate = $key; $dayofmonth = strtotime ($getdate); $dayofmonth = localizeDate ($rss_month_date, $dayofmonth); // Pull out each day foreach ($new_val2 as $new_val) { // Pull out each time foreach ($new_val as $new_key2 => $val) { if ($val["event_text"]) { $event_start = @$val["event_start"]; $event_start = date ($timeFormat, @strtotime ("$event_start")); $event_text = stripslashes(urldecode($val["event_text"])); $event_text = strip_tags($event_text, '<b><i><u>'); $event_text = word_wrap($event_text, 21, $tomorrows_events_lines); $description = stripslashes(urldecode($val["description"])); $description = strip_tags($description, '<b><i><u>'); $rss_title = htmlspecialchars ("$dayofmonth: $event_text"); $rss_link = htmlspecialchars ("$default_path/day.php?getdate=$getdate&cal=$cal"); $rss_description = htmlspecialchars ("$dayofmonth $event_start: $description"); $rss .= '<item>'."\n"; $rss .= '<title>'.$rss_title.'</title>'."\n"; $rss .= '<link>'.$rss_link.'</link>'."\n"; $rss .= '<description>'.$rss_description.'</description>'."\n"; $rss .= '</item>'."\n"; $events_week++; } if ($events_week < 1) { $rss .= '<item>'."\n"; $rss .= '<title>'.$no_events_month_lang.'</title>'."\n"; $rss .= '<link>'.htmlspecialchars ("$default_path").'</link>'."\n"; $rss .= '</item>'."\n"; } } } } } } $rss .= '</channel>'."\n"; $rss .= '</rss>'."\n"; header ("Content-Type: text/xml"); echo "$rss"; ?> |