You can subscribe to this list here.
| 2002 | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec (1) | 
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 | Jan (5) | Feb (25) | Mar (18) | Apr | May (26) | Jun (14) | Jul (1) | Aug (5) | Sep (82) | Oct (3) | Nov (130) | Dec (9) | 
| 2004 | Jan (4) | Feb (62) | Mar | Apr (3) | May (100) | Jun | Jul (6) | Aug (49) | Sep (33) | Oct (47) | Nov (2) | Dec (1) | 
| 2005 | Jan | Feb (4) | Mar (1) | Apr (8) | May (17) | Jun | Jul (1) | Aug (2) | Sep (26) | Oct (18) | Nov (37) | Dec (14) | 
| 2006 | Jan (2) | Feb (18) | Mar (34) | Apr (52) | May (7) | Jun (3) | Jul (2) | Aug (10) | Sep | Oct | Nov (18) | Dec (4) | 
| 2007 | Jan | Feb (7) | Mar (7) | Apr (6) | May (52) | Jun | Jul (1) | Aug | Sep | Oct (15) | Nov | Dec (1) | 
| 2008 | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec (250) | 
| 2009 | Jan (35) | Feb (45) | Mar | Apr (4) | May (35) | Jun (13) | Jul (49) | Aug | Sep | Oct | Nov | Dec (11) | 
| 2010 | Jan (3) | Feb (30) | Mar | Apr (35) | May (12) | Jun (2) | Jul | Aug | Sep | Oct | Nov | Dec (4) | 
| 
      
      
      From: <cl...@us...> - 2003-11-23 20:19:16
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar
In directory sc8-pr-cvs1:/tmp/cvs-serv11637
Modified Files:
	month.php 
Log Message:
Fixed popups not always working.
Index: month.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/month.php,v
retrieving revision 1.103
retrieving revision 1.104
diff -C2 -d -r1.103 -r1.104
*** month.php	20 Nov 2003 05:18:38 -0000	1.103
--- month.php	23 Nov 2003 20:19:12 -0000	1.104
***************
*** 120,129 ****
  										if (!isset($val["event_start"])) {
  											echo '<div align="center" class="V10">';
! 											openevent("$event_calna", "", "", $val, $month_event_lines,
! 											15,
! 											"<i>",
! 											"</i>",
! 											"psf",
! 											$event_url);
  											echo '</div>';
  										} else {	
--- 120,124 ----
  										if (!isset($val["event_start"])) {
  											echo '<div align="center" class="V10">';
! 											openevent($event_calna, '', '', $val, $month_event_lines, 15, '<i>', '</i>', 'psf', $event_url);
  											echo '</div>';
  										} else {	
***************
*** 135,148 ****
  											$start2		 = date($timeFormat_small,@strtotime("$event_start"));
  											$event_end   = date($timeFormat, @strtotime ("$event_end"));
! 											@openevent("$event_calna",
! 											"$event_start",
! 											"$event_end",
! 											$val,
! 											$month_event_lines,
! 											11,
! 											"$start2 ",
! 											"",
! 											"ps3",
! 											$event_url);
  											echo '</div>';
  										}
--- 130,134 ----
  											$start2		 = date($timeFormat_small,@strtotime("$event_start"));
  											$event_end   = date($timeFormat, @strtotime ("$event_end"));
! 											openevent($event_calna, $event_start, $event_end, $val, $month_event_lines, 10, "$start2 ", '', 'ps3', $event_url);
  											echo '</div>';
  										}
***************
*** 225,238 ****
  									}
  									echo "<td>\n";
! 									openevent("$event_calna",
! 									"$event_start",
! 									"$event_end",
! 									$new_val2,
! 									0,
! 									65,
! 									"<font class=\"G10B\">",
! 									"</font>",
! 									"psf",
! 									$event_url);
  									echo "</td>\n";
  									echo "</tr>\n";
--- 211,215 ----
  									}
  									echo "<td>\n";
! 									openevent($event_calna, $event_start, $event_end, $new_val2, 0, 65, '<font class="G10B">', '</font>', 'psf', $event_url);
  									echo "</td>\n";
  									echo "</tr>\n";
 | 
| 
      
      
      From: <cl...@us...> - 2003-11-23 19:56:16
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar
In directory sc8-pr-cvs1:/tmp/cvs-serv7254
Modified Files:
	config.inc.php 
Log Message:
Set back to defaults.
Index: config.inc.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/config.inc.php,v
retrieving revision 1.125
retrieving revision 1.126
diff -C2 -d -r1.125 -r1.126
*** config.inc.php	23 Nov 2003 19:53:29 -0000	1.125
--- config.inc.php	23 Nov 2003 19:56:13 -0000	1.126
***************
*** 48,52 ****
  $show_todos				= 'yes';			// Show your todo list on the side of day and week view.
  $show_completed			= 'no';			// Show completed todos on your todo list.
! $show_login				= 'yes';				// Set to yes to prompt for login to unlock calendars.
  
  // Administration settings
--- 48,52 ----
  $show_todos				= 'yes';			// Show your todo list on the side of day and week view.
  $show_completed			= 'no';			// Show completed todos on your todo list.
! $show_login				= 'no';				// Set to yes to prompt for login to unlock calendars.
  
  // Administration settings
***************
*** 70,74 ****
  // add more lines as necessary
  
! $locked_cals[] = 'Home';						// Fill in-between the quotes the names of the calendars you wish to hide
  $locked_cals[] = '';						// unless unlocked by a username/password login. This should be the
  $locked_cals[] = '';						// exact calendar filename without the .ics suffix.
--- 70,74 ----
  // add more lines as necessary
  
! $locked_cals[] = '';						// Fill in-between the quotes the names of the calendars you wish to hide
  $locked_cals[] = '';						// unless unlocked by a username/password login. This should be the
  $locked_cals[] = '';						// exact calendar filename without the .ics suffix.
***************
*** 76,80 ****
  // add more lines as necessary
  
! $locked_map['celittle:simboo2'] = array('Home');							// Map username:password accounts to locked calendars that should be
  $locked_map[] = '';							// unlocked if logged in. Calendar names should be the same as what is
  $locked_map[] = '';							// listed in the $locked_cals, again without the .ics suffix.
--- 76,80 ----
  // add more lines as necessary
  
! $locked_map[] = '';							// Map username:password accounts to locked calendars that should be
  $locked_map[] = '';							// unlocked if logged in. Calendar names should be the same as what is
  $locked_map[] = '';							// listed in the $locked_cals, again without the .ics suffix.
 | 
| 
      
      
      From: <cl...@us...> - 2003-11-23 19:53:33
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/includes
In directory sc8-pr-cvs1:/tmp/cvs-serv6554/includes
Modified Files:
	login.php 
Log Message:
Tightened up login.php with less html, removed unneeded things from 
config and list_icals.
Index: login.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/includes/login.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** login.php	22 Nov 2003 21:38:03 -0000	1.2
--- login.php	23 Nov 2003 19:53:30 -0000	1.3
***************
*** 1,5 ****
  <?php
  	// Hide the login block if logged in or there are no lock usernames.
! 	if (!isset($username) && $allow_login == 'yes') {
  		// Set the login table width if not set.
  		if (!isset($login_width)) $login_width = "100%";
--- 1,5 ----
  <?php
  	// Hide the login block if logged in or there are no lock usernames.
! 	if (!isset($username) && $show_login == 'yes') {
  		// Set the login table width if not set.
  		if (!isset($login_width)) $login_width = "100%";
***************
*** 7,65 ****
  		// Remove the username, password, and action values from the form action.
  		$form_action = preg_replace("/(username|password|action)=[^&]+/", "", $REQUEST_URI);
! ?>
! 	<form style="margin-bottom:0;" action="<?php echo $form_action; ?>" method="POST">
! 	<input type="hidden" name="action" value="login">
! 	<?php
  		foreach (array_keys($HTTP_GET_VARS) as $key) {
! 			if ($key == 'action' ||
! 				$key == 'username' ||
! 				$key == 'password')
! 			{
  				continue;
  			}
! 			echo "<input type=\"hidden\" name=\"$key\" value=\"$HTTP_GET_VARS[$key]\">\n";
  		}
! 	?>
! 	<table cellpadding="0" cellspacing="0" border="0" width="<?php echo $login_width; ?>" class="calborder">
  		<tr>
! 			<td bgcolor="#FFFFFF" valign="middle" align="center">
! 				<table cellpadding="0" cellspacing="0" border="0" width="<?php echo $login_width; ?>">
! 					<tr>
! 						<td align="left" valign="top" width="1%" class="sideback"><img src="images/spacer.gif" width="1" height="20" alt=" "></td>
! 						<td colspan="3" align="center" width="98%" class="sideback"><font class="G10BOLD">Login</font></td>
! 						<td align="right" valign="top" width="1%" class="sideback"><img src="images/spacer.gif" width="1" height="20" alt=" "></td>
! 					</tr>
! 					<tr>
! 						<td colspan="5"><img src="images/spacer.gif" width="148" height="6" alt=" "></td>
! 					</tr>
  					<tr>
! 						<td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td>
! 						<td width="48%" align="right"><font class="G10B">Username:</font></td>
! 						<td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td>
! 						<td width="48%" align="left"><input class="login_style" type="text" size="8" name="username"></td>
! 						<td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td>
  					</tr>
  					<tr>
! 						<td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td>
! 						<td width="48%" align="right"><font class="G10B">Password:</font></td>
! 						<td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td>
! 						<td width="48%" align="left"><input class="login_style" type="password" size="8" name="password"></td>
! 						<td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td>
  					</tr>
  					<tr>
! 						<td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td>
! 						<td colspan="3" align="center"><input class="login_style" type="submit" value="Login"></td>
! 						<td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td>
  					</tr>
  				</table>
  			</td>
  		</tr>
- 		<tr>
- 			<td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="148" height="6" alt=" "></td>
- 		</tr>
  	</table>
  	</form>
  	<img src="images/spacer.gif" width="1" height="10" alt=" "><br>
! <?php
! 	}
  ?>
--- 7,53 ----
  		// Remove the username, password, and action values from the form action.
  		$form_action = preg_replace("/(username|password|action)=[^&]+/", "", $REQUEST_URI);
! 
! 		echo '<form style="margin-bottom:0;" action="'.$form_action.'" method="POST">';
! 		echo '<input type="hidden" name="action" value="login">';
  		foreach (array_keys($HTTP_GET_VARS) as $key) {
! 			if ($key == 'action' || $key == 'username' || $key == 'password') {
  				continue;
  			}
! 			echo '<input type="hidden" name="'.$key.'" value="'.$HTTP_GET_VARS[$key].'">';
  		}
! 
! echo <<<END
! 
! 	<table cellpadding="0" cellspacing="0" border="0" width="{$login_width}" class="calborder">
  		<tr>
! 			<td align="center" class="sideback"><div style="height: 17px; margin-top: 3px;" class="G10BOLD">Login</div></td>
! 		</tr>
! 		<tr>
! 			<td align="left" class="G10B">
! 				<div style="padding: 5px;">
! 				<table border="0" width="100%" cellspacing="0" cellpadding="2">
  					<tr>
! 						<td>Username:</td>
! 						<td><input class="login_style" type="text" size="8" name="username"></td>
  					</tr>
  					<tr>
! 						<td>Password:</td>
! 						<td><input class="login_style" type="password" size="8" name="password"></td>
  					</tr>
  					<tr>
! 						<td> </td>
! 						<td><input class="login_style" type="submit" value="Login"></td>
  					</tr>
  				</table>
+ 				</div>
  			</td>
  		</tr>
  	</table>
  	</form>
  	<img src="images/spacer.gif" width="1" height="10" alt=" "><br>
! 
! END;
! 
! }
! 
  ?>
 | 
| 
      
      
      From: <cl...@us...> - 2003-11-23 19:53:33
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/functions
In directory sc8-pr-cvs1:/tmp/cvs-serv6554/functions
Modified Files:
	list_icals.php 
Log Message:
Tightened up login.php with less html, removed unneeded things from 
config and list_icals.
Index: list_icals.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/functions/list_icals.php,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** list_icals.php	23 Nov 2003 01:31:30 -0000	1.21
--- list_icals.php	23 Nov 2003 19:53:29 -0000	1.22
***************
*** 1,45 ****
  <?php
  if ($display_ical_list == "yes") {
- 	// start of <select> tag
  	echo "<select name=\"action\" class=\"query_style\" onChange=\"window.location=(this.options[this.selectedIndex].value+'";
  	if (isset($query)) echo $query;
  	echo "');\">";
  
- 	// Get all calendars.
  	$all_cals = availableCalendars($username, $password, $ALL_CALENDARS_COMBINED);
  	foreach ($all_cals as $cal_tmp) {
- 		// Format the calendar path for display.
- 		//
- 		// Only display the calendar name, replace all instances of "32" with " ",
- 		// and remove the .ics suffix.
  		$cal_displayname_tmp = basename($cal_tmp);
  		$cal_displayname_tmp = str_replace("32", " ", $cal_displayname_tmp);
  		$cal_displayname_tmp = substr($cal_displayname_tmp, 0, -4);
  
- 		// If this is a webcal, add 'Webcal' to the display name.
  		if (preg_match("/^(https?|webcal):\/\//i", $cal_tmp)) {
  			$cal_displayname_tmp .= " Webcal";
! 		}
! 
! 		// Otherwise, remove all the path information, since that should
! 		// not be used to identify local calendars. Also add the calendar
! 		// label to the display name.
! 		else {
! 			// Strip path and .ics suffix.
  			$cal_tmp = basename($cal_tmp);
  			$cal_tmp = substr($cal_tmp, 0, -4);
- 
- 			// Add calendar label.
  			$cal_displayname_tmp .= " $calendar_lang";
  		}
- 
- 		// Encode the calendar path.
  		$cal_encoded_tmp = urlencode($cal_tmp);
- 
- 		// Display the option.
- 		//
- 		// The submitted calendar will be encoded, and always use http://
- 		// if it is a webcal. So that is how we perform the comparison when
- 		// trying to figure out if this is the selected calendar.
  		$cal_httpPrefix_tmp = str_replace('webcal://', 'http://', $cal_tmp);
  		if ($cal_httpPrefix_tmp == urldecode($cal)) {
--- 1,22 ----
  <?php
  if ($display_ical_list == "yes") {
  	echo "<select name=\"action\" class=\"query_style\" onChange=\"window.location=(this.options[this.selectedIndex].value+'";
  	if (isset($query)) echo $query;
  	echo "');\">";
  
  	$all_cals = availableCalendars($username, $password, $ALL_CALENDARS_COMBINED);
  	foreach ($all_cals as $cal_tmp) {
  		$cal_displayname_tmp = basename($cal_tmp);
  		$cal_displayname_tmp = str_replace("32", " ", $cal_displayname_tmp);
  		$cal_displayname_tmp = substr($cal_displayname_tmp, 0, -4);
  
  		if (preg_match("/^(https?|webcal):\/\//i", $cal_tmp)) {
  			$cal_displayname_tmp .= " Webcal";
! 		} else {
  			$cal_tmp = basename($cal_tmp);
  			$cal_tmp = substr($cal_tmp, 0, -4);
  			$cal_displayname_tmp .= " $calendar_lang";
  		}
  		$cal_encoded_tmp = urlencode($cal_tmp);
  		$cal_httpPrefix_tmp = str_replace('webcal://', 'http://', $cal_tmp);
  		if ($cal_httpPrefix_tmp == urldecode($cal)) {
***************
*** 49,54 ****
  		}
  	}			
- 
- 	// option to open all (non-web) calenders together
  	if ($cal == $ALL_CALENDARS_COMBINED) {
  		print "<option value=\"$current_view.php?cal=$ALL_CALENDARS_COMBINED&getdate=$getdate\" selected>$all_cal_comb_lang</option>";
--- 26,29 ----
***************
*** 57,61 ****
  	}
  	
- 	// finish <select>
  	print "</select>";
  }
--- 32,35 ----
 | 
| 
      
      
      From: <cl...@us...> - 2003-11-23 19:53:33
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar
In directory sc8-pr-cvs1:/tmp/cvs-serv6554
Modified Files:
	config.inc.php 
Log Message:
Tightened up login.php with less html, removed unneeded things from 
config and list_icals.
Index: config.inc.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/config.inc.php,v
retrieving revision 1.124
retrieving revision 1.125
diff -C2 -d -r1.124 -r1.125
*** config.inc.php	22 Nov 2003 21:16:10 -0000	1.124
--- config.inc.php	23 Nov 2003 19:53:29 -0000	1.125
***************
*** 47,52 ****
  $printview_default		= 'no';				// Set print view as the default view. day, week, and month only supported views for $default_view (listed well above).
  $show_todos				= 'yes';			// Show your todo list on the side of day and week view.
! $show_completed			= 'yes';			// Show completed todos on your todo list.
! $show_login				= 'no';				// Set to yes to prompt for login to unlock calendars.
  
  // Administration settings
--- 47,52 ----
  $printview_default		= 'no';				// Set print view as the default view. day, week, and month only supported views for $default_view (listed well above).
  $show_todos				= 'yes';			// Show your todo list on the side of day and week view.
! $show_completed			= 'no';			// Show completed todos on your todo list.
! $show_login				= 'yes';				// Set to yes to prompt for login to unlock calendars.
  
  // Administration settings
***************
*** 70,74 ****
  // add more lines as necessary
  
! $locked_cals[] = '';						// Fill in-between the quotes the names of the calendars you wish to hide
  $locked_cals[] = '';						// unless unlocked by a username/password login. This should be the
  $locked_cals[] = '';						// exact calendar filename without the .ics suffix.
--- 70,74 ----
  // add more lines as necessary
  
! $locked_cals[] = 'Home';						// Fill in-between the quotes the names of the calendars you wish to hide
  $locked_cals[] = '';						// unless unlocked by a username/password login. This should be the
  $locked_cals[] = '';						// exact calendar filename without the .ics suffix.
***************
*** 76,80 ****
  // add more lines as necessary
  
! $locked_map[] = '';							// Map username:password accounts to locked calendars that should be
  $locked_map[] = '';							// unlocked if logged in. Calendar names should be the same as what is
  $locked_map[] = '';							// listed in the $locked_cals, again without the .ics suffix.
--- 76,80 ----
  // add more lines as necessary
  
! $locked_map['celittle:simboo2'] = array('Home');							// Map username:password accounts to locked calendars that should be
  $locked_map[] = '';							// unlocked if logged in. Calendar names should be the same as what is
  $locked_map[] = '';							// listed in the $locked_cals, again without the .ics suffix.
***************
*** 82,91 ****
  // add more lines as necessary
  
! $color_cals[] = 'silver';					// Fill in between the quotes the colors you want to display
! $color_cals[] = 'red';						// multiple calendars in.
! $color_cals[] = 'orange';					// The first color will be used if no color is selected.
! $color_cals[] = 'grey';						// 
! $color_cals[] = 'green';					// 
! $color_cals[] = 'tan';						// 
! // add more lines as necessary
  ?>
--- 82,85 ----
  // add more lines as necessary
  
! 
  ?>
 | 
| 
      
      
      From: <cl...@us...> - 2003-11-23 18:21:45
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/languages
In directory sc8-pr-cvs1:/tmp/cvs-serv21505/languages
Modified Files:
	catalan.inc.php traditional_chinese.inc.php 
Log Message:
Updated for 1.0.
Index: catalan.inc.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/languages/catalan.inc.php,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** catalan.inc.php	22 Nov 2003 03:45:33 -0000	1.7
--- catalan.inc.php	23 Nov 2003 18:21:41 -0000	1.8
***************
*** 5,8 ****
--- 5,10 ----
  //
  // Translation by Oriol Ferrer Mesia; (tm...@sa...)
+ //
+ // Submit new translations to ch...@ch...
  
  $day_lang			= "Dia";
***************
*** 22,26 ****
  $download_lang		= "Descarregar";
  $powered_by_lang 	= "Gràcies a";
- $version_lang		= "0.9";
  $event_lang			= 'Event';
  $event_start_lang	= 'Inici';
--- 24,27 ----
***************
*** 82,88 ****
  $todo_lang				= 'Pendent';
  $unfinished_lang		= 'Sense acabar';
! $prefs_set_lang 		= 'Your preferences have been set.';
! $prefs_unset_lang 		= 'Preferences unset. Changes will take place next page load.';
! $unset_prefs_lang 		= 'Unset preferences:';
  $organizer_lang			= 'Organitzador';
  $attendee_lang			= 'Persones presents';
--- 83,89 ----
  $todo_lang				= 'Pendent';
  $unfinished_lang		= 'Sense acabar';
! $prefs_set_lang 		= 'Les teves preferències s\'han guardat.';
! $prefs_unset_lang 		= 'Les preferències s\'han esborat. Els canvis seràn visibles quan es recarregui la pàgina';
! $unset_prefs_lang 		= 'Esborra les preferències:';
  $organizer_lang			= 'Organitzador';
  $attendee_lang			= 'Persones presents';
***************
*** 93,97 ****
  $password_lang			= 'contrasenya';
  $login_lang				= 'Login';
! $invalid_login_lang		= 'Nom d\'usuari o contrassenya incorrectes.';
  $addupdate_cal_lang		= 'Afegeix o actualitza un Calendari';
  $addupdate_desc_lang	= 'Afegeix un Calendari enviant un fitxer. Actualitza un Calendari enviant un fitxer amb el mateix nom.';
--- 94,98 ----
  $password_lang			= 'contrasenya';
  $login_lang				= 'Login';
! $invalid_login_lang		= 'Nom d\'usuari o contrasenya incorrectes.';
  $addupdate_cal_lang		= 'Afegeix o actualitza un Calendari';
  $addupdate_desc_lang	= 'Afegeix un Calendari enviant un fitxer. Actualitza un Calendari enviant un fitxer amb el mateix nom.';
***************
*** 114,119 ****
  $delete_lang			= 'Esborra';
  
! // ----- New for 1.0
! $all_cal_comb_lang		= 'All calendars combined';
  
  // - navigation
--- 115,120 ----
  $delete_lang			= 'Esborra';
  
! // ----- New for 0.9.5
! $all_cal_comb_lang		= 'Tots els calendaris alhora';
  
  // - navigation
Index: traditional_chinese.inc.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/languages/traditional_chinese.inc.php,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** traditional_chinese.inc.php	22 Nov 2003 03:45:33 -0000	1.7
--- traditional_chinese.inc.php	23 Nov 2003 18:21:41 -0000	1.8
***************
*** 1,196 ****
! <?php
! 
! // Trad. Chinese language include
! // For version 1.0 PHP iCalendar
! //
! // Translation by Kevin Fyure (di...@ma...)
! //
! // Submit new translations to ch...@ch...
! 
! 
! 
! $day_lang			= 'æ¥';
! $week_lang			= 'é±';
! $month_lang			= 'æ';
! $year_lang			= 'å¹´';
! $calendar_lang		= 'è¡äºæ';
! $next_day_lang		= 'æå¤©';
! $next_month_lang	= 'ä¸åæ';
! $next_week_lang		= 'ä¸é±';
! $next_year_lang		= 'æå¹´';
! $last_day_lang		= 'æ¨å¤©';
! $last_month_lang	= 'ä¸åæ';
! $last_week_lang		= 'ä¸é±';
! $last_year_lang		= 'å»å¹´';
! $subscribe_lang		= 'è¨é±';
! $download_lang		= 'ä¸è¼';
! $powered_by_lang 	= 'Powered by';
! $event_lang			= 'äºä»¶';
! $event_start_lang	= 'éå§æé';
! $event_end_lang		= 'çµææé';
! $this_months_lang	= 'æ¬æäºä»¶';
! $date_lang			= 'æ¥æ';
! $summary_lang		= '主é¡';
! $all_day_lang		= 'æ´æ¥äºä»¶';
! $notes_lang			= 'é註';
! $this_years_lang	= 'ä»å¹´çäºä»¶';
! $today_lang			= 'ä»å¤©';
! $this_week_lang		= 'æ¬é±';
! $this_month_lang	= 'æ¬æ';
! $jump_lang			= 'ç§»è³';
! $tomorrows_lang		= 'æå¤©çäºä»¶';
! $goday_lang			= 'ä»å¤©çè¡äºæ';
! $goweek_lang		= 'æ¬é±çè¡äºæ';
! $gomonth_lang		= 'æ¬æçè¡äºæ';
! $goyear_lang		= 'ä»å¹´çè¡äºæ';
! $search_lang		= 'æå°'; // the verb
! $results_lang		= 'æå°çµæ';
! $query_lang			= 'æ¥å°'; // will be followed by the search query
! $no_results_lang	= 'æ²ææ¾å°ç¸éçäºä»¶';
! $goprint_lang		= 'åååå°';
! $time_lang			= 'æé';
! $summary_lang		= '主é¡';
! $description_lang	= 'é註';
! $this_site_is_lang		= 'æ¬ç«æ¯';
! $no_events_day_lang		= 'ä»å¤©æ²æä»»ä½äºä»¶';
! $no_events_week_lang	= 'æ¬é±æ²æä»»ä½äºä»¶';
! $no_events_month_lang	= 'æ¬ææ²æä»»ä½äºä»¶';
! $rss_day_date			= 'g:i A';  // Lists just the time
! $rss_week_date			= '%b %e æ¥';  // Lists just the day
! $rss_month_date			= '%b %e æ¥';  // Lists just the day
! $rss_language			= 'zh-tw';
! $search_took_lang		= 'æ¬æ¬¡æå°è±å»¢ %s ç§';
! $recurring_event_lang	= 'éè¤äºä»¶';
! $exception_lang			= 'ä¾å¤';
! $no_query_lang			= 'æ²ææ¥å°è³æ';
! $preferences_lang		= 'å好è¨å®';
! $printer_lang			= 'åååå°';
! $select_lang_lang		= 'è«é¸æé è¨çèªç³»:';
! $select_cal_lang		= 'è«é¸æé è¨çè¡äºæ:';
! $select_view_lang		= 'è«é¸æé è¨ç顯示æ¹å¼:';
! $select_time_lang		= 'è«é¸æé è¨çéå§æé:';
! $select_day_lang		= 'è«é¸æé è¨çæ¯é±ç¬¬ä¸å¤©:';
! $select_style_lang		= 'è«é¸æé è¨ç主é¡çé¢:';
! $set_prefs_lang			= 'å²åè¨å®';
! $completed_date_lang	= '宿æ¼';
! $completed_lang			= '已宿';
! $created_lang			= 'å»ºç«æ¥æ:';
! $due_lang				= 'å°ææ¥:';
! $priority_lang			= 'éè¦æ§:';
! $priority_high_lang		= 'å¾éè¦';
! $priority_low_lang		= 'ä¸éè¦';
! $priority_medium_lang	= 'éè¦';
! $priority_none_lang		= 'ç¡';
! $status_lang			= 'çæ
:';
! $todo_lang				= 'å¾
辦äºé 
';
! $unfinished_lang		= 'å°æªå®æ';
! $prefs_set_lang 		= 'æ¨çå好è¨å®å·²è¨å®ã';
! $prefs_unset_lang 		= 'è¨å®å·²éåãæ´åçé¨ä»½æå¨è®åä¸ä¸é æçæã';
! $unset_prefs_lang 		= 'éåè¨å®:';
! $organizer_lang			= 'Organizer';
! $attendee_lang			= 'Attendee';
! $status_lang			= 'Status';
! $location_lang			= 'Location';
! $admin_header_lang		= 'PHP iCalendar Administration';
! $username_lang			= 'Username';
! $password_lang			= 'Password';
! $login_lang				= 'Login';
! $invalid_login_lang		= 'Wrong username or password.';
! $addupdate_cal_lang		= 'Add or Update a Calendar';
! $addupdate_desc_lang	= 'Add a calendar by uploading a new file. Update a calendar by uploading a file of the same name.';
! $delete_cal_lang		= 'Delete a Calendar';
! $logout_lang			= 'Logout';
! $cal_file_lang			= 'Calendar File';
! $php_error_lang			= 'PHP Error';
! $upload_error_gen_lang	= 'There was a problem with your upload.';
! $upload_error_lang[0]	= 'There was a problem with your upload.';
! $upload_error_lang[1]	= 'The file you are trying to upload is too big.';
! $upload_error_lang[2]	= 'The file you are trying to upload is too big.';
! $upload_error_lang[3]	= 'The file you are trying upload was only partially uploaded.';
! $upload_error_lang[4]	= 'You must select a file for upload.';
! $upload_error_type_lang = 'Only .ics files may be uploaded.';
! $copy_error_lang		= 'Failed to copy file';
! $delete_error_lang		= 'Failed to delete file';
! $delete_success_lang	= 'was deleted successfully.';
! $action_success_lang	= 'Your action was successful.';
! $submit_lang			= 'Submit';
! $delete_lang			= 'Delete';
! 
! // ----- New for 1.0
! $all_cal_comb_lang		= 'All calendars combined';
! 
! // - navigation
! $back_lang = 'åå»';
! $next_lang = 'ä¸ä¸é ';
! $prev_lang = 'åä¸é ';
! $day_view_lang = 'ææ¥é¡¯ç¤º';
! $week_view_lang = 'æé±é¡¯ç¤º';
! $month_view_lang = 'ææé¡¯ç¤º';
! $year_view_lang = 'æå¹´é¡¯ç¤º';
! 
! // $format_recur, items enclosed in % will be substituted with variables
! $format_recur_lang['delimiter']	= ', ';								// ie, 'one, two, three'
! 
! $format_recur_lang['yearly']		= array('å¹´','å¹´');		// for these, put singular
! $format_recur_lang['monthly']		= array('æ','æ');		// and plural forms
! $format_recur_lang['weekly']		= array('é±','é±');		// these will be %freq%
! $format_recur_lang['daily']			= array('æ¥','æ¥');			// in the replacement below
! $format_recur_lang['hourly']		= array('æ','å°æ');
! $format_recur_lang['minutely']		= array('å','åé');
! $format_recur_lang['secondly']		= array('ç§','ç§');
! 
! $format_recur_lang['start']			= '%freq% æ¯ %int% %for%';	// ie, 'Every 1 day until January 4' or 'Every 1 day for a count of 5'
! $format_recur_lang['until']			= 'å° %date% ä¹å';				// ie, 'until January 4'
! $format_recur_lang['count']			= '%int% 次';		// ie, 'for 5 times'
! 
! $format_recur_lang['bymonth']		= 'æ¼éå¹¾æ: %list%';			// ie, 'In months: January, February, March'
! $format_recur_lang['bymonthday']	= 'æ¼éå¹¾è: %list%';			// ie, 'On dates: 1, 2, 3, 4'
! $format_recur_lang['byday']			= 'æ¼é幾天: %list%';			// ie, 'On days: Mon, Tues, Wed, Thurs'
! 
! // ---------------------------------
! 
! $daysofweek_lang			= array ('æææ¥','ææä¸','ææäº','ææä¸','ææå','ææäº','ææå
');
! $daysofweekshort_lang		= array ('鱿¥','é±ä¸','é±äº','é±ä¸','é±å','é±äº','é±å
');
! $daysofweekreallyshort_lang	= array ('æ¥','ä¸','äº','ä¸','å','äº','å
');
! $monthsofyear_lang			= array ('䏿','äºæ','䏿','åæ','äºæ','å
æ','䏿','å
«æ','乿','åæ','å䏿','åäºæ');
! $monthsofyearshort_lang		= array ('䏿','äºæ','䏿','åæ','äºæ','å
æ','䏿','å
«æ','乿','åæ','å䏿','åäºæ');
! 
! // For time formatting, check out: http://www.php.net/manual/en/function.date.php
! $timeFormat = 'g:i A';
! $timeFormat_small = 'g:i';
! 
! // For date formatting, see note below
! $dateFormat_day = '%A, %B %e æ¥';
! $dateFormat_week = '%B %e æ¥';
! $dateFormat_week_list = '%a, %b%eæ¥';
! $dateFormat_week_jump = '%b %e æ¥';
! $dateFormat_month = '%Y å¹´ %B';
! $dateFormat_month_list = '%A, %B %e æ¥';
! 
! /*
! Notes about dateFormat_*
! 	The pieces are similar to that of the PHP function strftime(), 
! 	however only the following is supported at this time:
! 	
! 	%A - the full week day name as specified in $daysofweek_lang
! 	%a - the shortened week day name as specified in $daysofweekshort_lang
! 	%B - the full month name as specified in $monthsofyear_lang
! 	%b - the shortened month name as specified in $monthsofyearshort_lang
! 	%e - the day of the month as a decimal number (1 to 31)
! 	%Y - the 4-digit year
! 
! 	If this causes problems with representing your language accurately, let
! 	us know. We will be happy to modify this if needed.
! */
! 
! // Error messages - %s will be replaced with a variable
! $error_title_lang = 'é¯èª¤!';
! $error_window_lang = 'æé¯èª¤ç¼ç!';
! $error_calendar_lang = 'èçè¡äºæ "%s" æç¼çæ¤é¯èª¤ã';
! $error_path_lang = 'ç¡æ³éåæ¤è·¯å¾: "%s"';
! $error_back_lang = 'è«ä½¿ç¨ "åå»" æééåã';
! $error_remotecal_lang = 'æ¬ä¼ºæå¨ææææªç¶å¯©æ ¸çé ç«¯è¡äºæã';
! $error_restrictedcal_lang = 'æ¨è©¦ååå被æ¬ä¼ºæå¨æéå¶ä½¿ç¨çè¡äºæã';
! $error_invalidcal_lang = 'é¯èª¤çè¡äºææªæ¡ãè«æä¸åè¡äºæè©¦è©¦ã';
! 
! ?>
--- 1,197 ----
! <?php
! 
! // Trad. Chinese language include
! // For version 1.0 PHP iCalendar
! //
! // Translation by Kevin Fyure (di...@ma...)
! //
! // Submit new translations to ch...@ch...
! 
! 
! 
! $day_lang			= 'æ¥';
! $week_lang			= 'é±';
! $month_lang			= 'æ';
! $year_lang			= 'å¹´';
! $calendar_lang		= 'è¡äºæ';
! $next_day_lang		= 'æå¤©';
! $next_month_lang	= 'ä¸åæ';
! $next_week_lang		= 'ä¸é±';
! $next_year_lang		= 'æå¹´';
! $last_day_lang		= 'æ¨å¤©';
! $last_month_lang	= 'ä¸åæ';
! $last_week_lang		= 'ä¸é±';
! $last_year_lang		= 'å»å¹´';
! $subscribe_lang		= 'è¨é±';
! $download_lang		= 'ä¸è¼';
! $powered_by_lang 	= 'Powered by';
! $event_lang			= 'äºä»¶';
! $event_start_lang	= 'éå§æé';
! $event_end_lang		= 'çµææé';
! $this_months_lang	= 'æ¬æäºä»¶';
! $date_lang			= 'æ¥æ';
! $summary_lang		= '主é¡';
! $all_day_lang		= 'æ´æ¥äºä»¶';
! $notes_lang			= 'é註';
! $this_years_lang	= 'ä»å¹´çäºä»¶';
! $today_lang			= 'ä»å¤©';
! $this_week_lang		= 'æ¬é±';
! $this_month_lang	= 'æ¬æ';
! $jump_lang			= 'ç§»è³';
! $tomorrows_lang		= 'æå¤©çäºä»¶';
! $goday_lang			= 'ä»å¤©çè¡äºæ';
! $goweek_lang		= 'æ¬é±çè¡äºæ';
! $gomonth_lang		= 'æ¬æçè¡äºæ';
! $goyear_lang		= 'ä»å¹´çè¡äºæ';
! $search_lang		= 'æå°'; // the verb
! $results_lang		= 'æå°çµæ';
! $query_lang			= 'æ¥å°'; // will be followed by the search query
! $no_results_lang	= 'æ²ææ¾å°ç¸éçäºä»¶';
! $goprint_lang		= 'åååå°';
! $time_lang			= 'æé';
! $summary_lang		= '主é¡';
! $description_lang	= 'é註';
! $this_site_is_lang		= 'æ¬ç«æ¯';
! $no_events_day_lang		= 'ä»å¤©æ²æä»»ä½äºä»¶';
! $no_events_week_lang	= 'æ¬é±æ²æä»»ä½äºä»¶';
! $no_events_month_lang	= 'æ¬ææ²æä»»ä½äºä»¶';
! $rss_day_date			= 'g:i A';  // Lists just the time
! $rss_week_date			= '%b %e æ¥';  // Lists just the day
! $rss_month_date			= '%b %e æ¥';  // Lists just the day
! $rss_language			= 'zh-tw';
! $search_took_lang		= 'æ¬æ¬¡æå°è±å»¢ %s ç§';
! $recurring_event_lang	= 'éè¤äºä»¶';
! $exception_lang			= 'ä¾å¤';
! $no_query_lang			= 'æ²ææ¥å°è³æ';
! $preferences_lang		= 'å好è¨å®';
! $printer_lang			= 'åååå°';
! $select_lang_lang		= 'è«é¸æé è¨çèªç³»:';
! $select_cal_lang		= 'è«é¸æé è¨çè¡äºæ:';
! $select_view_lang		= 'è«é¸æé è¨ç顯示æ¹å¼:';
! $select_time_lang		= 'è«é¸æé è¨çéå§æé:';
! $select_day_lang		= 'è«é¸æé è¨çæ¯é±ç¬¬ä¸å¤©:';
! $select_style_lang		= 'è«é¸æé è¨ç主é¡çé¢:';
! $set_prefs_lang			= 'å²åè¨å®';
! $completed_date_lang	= '宿æ¼';
! $completed_lang			= '已宿';
! $created_lang			= 'å»ºç«æ¥æ:';
! $due_lang				= 'å°ææ¥:';
! $priority_lang			= 'éè¦æ§:';
! $priority_high_lang		= 'å¾éè¦';
! $priority_low_lang		= 'ä¸éè¦';
! $priority_medium_lang	= 'éè¦';
! $priority_none_lang		= 'ç¡';
! $status_lang			= 'çæ
:';
! $todo_lang				= 'å¾
辦äºé 
';
! $unfinished_lang		= 'å°æªå®æ';
! $prefs_set_lang 		= 'æ¨çå好è¨å®å·²è¨å®ã';
! $prefs_unset_lang 		= 'è¨å®å·²éåãæ´åçé¨ä»½æå¨è®åä¸ä¸é æçæã';
! $unset_prefs_lang 		= 'éåè¨å®:';
! $organizer_lang			= 'è¬ç¨è¡äºæ';
! $attendee_lang			= 'åºå¸è
';
! $status_lang			= 'çæ
';
! $location_lang			= 'ä½ç½®';
! $admin_header_lang		= 'PHP iCalendar 管çå';
! $username_lang			= '使ç¨è
å稱';
! $password_lang			= 'å¯ç¢¼';
! $login_lang				= 'ç»å
¥';
! $invalid_login_lang		= '帳èæå¯ç¢¼è¼¸å
¥é¯èª¤ã';
! $addupdate_cal_lang		= 'æ°å¢ææ´æ°è¡äºæ';
! $addupdate_desc_lang	= 'ä¸å³æ°æªæ¡ä¾æ°å¢è¡äºææä¸å³ç¸åæªåçæªæ¡ä¾æ´æ°è¡äºæã';
! $delete_cal_lang		= 'åªé¤è¡äºæ';
! $logout_lang			= 'ç»åº';
! $cal_file_lang			= 'è¡äºææªæ¡';
! $php_error_lang			= 'PHP é¯èª¤';
! $upload_error_gen_lang	= 'æ¨ä¸å³çæªæ¡æåé¡ã';
! $upload_error_lang[0]	= 'æ¨ä¸å³çæªæ¡æåé¡ã';
! $upload_error_lang[1]	= 'æ¨ä¸å³çæªæ¡å¤ªå¤§ã';
! $upload_error_lang[2]	= 'æ¨ä¸å³çæªæ¡å¤ªå¤§ã';
! $upload_error_lang[3]	= 'æ¨åªä¸å³çæªæ¡å
§å®¹ä¸å®æ´ã';
! $upload_error_lang[4]	= 'æ¨å¿
é é¸å®è¦ä¸å³çæªæ¡ã';
! $upload_error_type_lang = 'åªè½ä¸å³å¯æªåæ¯ .ics çè¡äºææªæ¡ã';
! $copy_error_lang		= 'è¤è£½æªæ¡å¤±æ';
! $delete_error_lang		= 'åªé¤æªæ¡å¤±æ';
! $delete_success_lang	= 'å·²æååªé¤ã';
! $action_success_lang	= 'æä½æåã';
! $submit_lang			= '確å®';
! $delete_lang			= 'åªé¤';
! 
! // ----- New for 0.9.5
! $all_cal_comb_lang		= 'å·²çµåææçè¡äºæ';
! 
! // - navigation
! $back_lang = 'åå»';
! $next_lang = 'ä¸ä¸é ';
! $prev_lang = 'åä¸é ';
! $day_view_lang = 'ææ¥é¡¯ç¤º';
! $week_view_lang = 'æé±é¡¯ç¤º';
! $month_view_lang = 'ææé¡¯ç¤º';
! $year_view_lang = 'æå¹´é¡¯ç¤º';
! 
! // $format_recur, items enclosed in % will be substituted with variables
! $format_recur_lang['delimiter']	= ', ';								// ie, 'one, two, three'
! 
! $format_recur_lang['yearly']		= array('å¹´','å¹´');		// for these, put singular
! $format_recur_lang['monthly']		= array('æ','æ');		// and plural forms
! $format_recur_lang['weekly']		= array('é±','é±');		// these will be %freq%
! $format_recur_lang['daily']			= array('æ¥','æ¥');			// in the replacement below
! $format_recur_lang['hourly']		= array('æ','å°æ');
! $format_recur_lang['minutely']		= array('å','åé');
! $format_recur_lang['secondly']		= array('ç§','ç§');
! 
! $format_recur_lang['start']			= '%freq% æ¯ %int% %for%';	// ie, 'Every 1 day until January 4' or 'Every 1 day for a count of 5'
! $format_recur_lang['until']			= 'å° %date% ä¹å';				// ie, 'until January 4'
! $format_recur_lang['count']			= '%int% 次';		// ie, 'for 5 times'
! 
! $format_recur_lang['bymonth']		= 'æ¼éå¹¾æ: %list%';			// ie, 'In months: January, February, March'
! $format_recur_lang['bymonthday']	= 'æ¼éå¹¾è: %list%';			// ie, 'On dates: 1, 2, 3, 4'
! $format_recur_lang['byday']			= 'æ¼é幾天: %list%';			// ie, 'On days: Mon, Tues, Wed, Thurs'
! 
! // ---------------------------------
! 
! $daysofweek_lang			= array ('æææ¥','ææä¸','ææäº','ææä¸','ææå','ææäº','ææå
');
! $daysofweekshort_lang		= array ('鱿¥','é±ä¸','é±äº','é±ä¸','é±å','é±äº','é±å
');
! $daysofweekreallyshort_lang	= array ('æ¥','ä¸','äº','ä¸','å','äº','å
');
! $monthsofyear_lang			= array ('䏿','äºæ','䏿','åæ','äºæ','å
æ','䏿','å
«æ','乿','åæ','å䏿','åäºæ');
! $monthsofyearshort_lang		= array ('䏿','äºæ','䏿','åæ','äºæ','å
æ','䏿','å
«æ','乿','åæ','å䏿','åäºæ');
! 
! // For time formatting, check out: http://www.php.net/manual/en/function.date.php
! $timeFormat = 'g:i A';
! $timeFormat_small = 'g:i';
! 
! // For date formatting, see note below
! $dateFormat_day = '%A, %B %e æ¥';
! $dateFormat_week = '%B %e æ¥';
! $dateFormat_week_list = '%a, %b%eæ¥';
! $dateFormat_week_jump = '%b %e æ¥';
! $dateFormat_month = '%Y å¹´ %B';
! $dateFormat_month_list = '%A, %B %e æ¥';
! 
! /*
! Notes about dateFormat_*
! 	The pieces are similar to that of the PHP function strftime(), 
! 	however only the following is supported at this time:
! 	
! 	%A - the full week day name as specified in $daysofweek_lang
! 	%a - the shortened week day name as specified in $daysofweekshort_lang
! 	%B - the full month name as specified in $monthsofyear_lang
! 	%b - the shortened month name as specified in $monthsofyearshort_lang
! 	%e - the day of the month as a decimal number (1 to 31)
! 	%Y - the 4-digit year
! 
! 	If this causes problems with representing your language accurately, let
! 	us know. We will be happy to modify this if needed.
! */
! 
! // Error messages - %s will be replaced with a variable
! $error_title_lang = 'é¯èª¤!';
! $error_window_lang = 'æé¯èª¤ç¼ç!';
! $error_calendar_lang = 'èçè¡äºæ "%s" æç¼çæ¤é¯èª¤ã';
! $error_path_lang = 'ç¡æ³éåæ¤è·¯å¾: "%s"';
! $error_back_lang = 'è«ä½¿ç¨ "åå»" æééåã';
! $error_remotecal_lang = 'æ¬ä¼ºæå¨ææææªç¶å¯©æ ¸çé ç«¯è¡äºæã';
! $error_restrictedcal_lang = 'æ¨è©¦ååå被æ¬ä¼ºæå¨æéå¶ä½¿ç¨çè¡äºæã';
! $error_invalidcal_lang = 'é¯èª¤çè¡äºææªæ¡ãè«æä¸åè¡äºæè©¦è©¦ã';
! 
! ?>
! 
 | 
| 
      
      
      From: <cl...@us...> - 2003-11-23 17:56:30
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/includes
In directory sc8-pr-cvs1:/tmp/cvs-serv15265/includes
Modified Files:
	event.php 
Log Message:
Updated to not hyperlink url if not present.
Index: event.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/includes/event.php,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** event.php	22 Nov 2003 19:29:46 -0000	1.18
--- event.php	23 Nov 2003 17:56:27 -0000	1.19
***************
*** 59,63 ****
  }
  if ($location) {
! 	if (isset($url)) $location = '<a href="'.$url.'" target="_blank">'.$location.'</a>';
  	$display .= $location_lang . ' - ' . $location.'<br>';
  }
--- 59,63 ----
  }
  if ($location) {
! 	if ($url != '') $location = '<a href="'.$url.'" target="_blank">'.$location.'</a>';
  	$display .= $location_lang . ' - ' . $location.'<br>';
  }
 | 
| 
      
      
      From: <cl...@us...> - 2003-11-23 01:54:22
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/functions
In directory sc8-pr-cvs1:/tmp/cvs-serv7356/functions
Modified Files:
	ical_parser.php 
Log Message:
Fixed a problem with bleed time not being able to figure out days at the 
end of the month. Also corrected end times on those dates and added a 
proper until_check before writing split events.
Index: ical_parser.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/functions/ical_parser.php,v
retrieving revision 1.133
retrieving revision 1.134
diff -C2 -d -r1.133 -r1.134
*** ical_parser.php	23 Nov 2003 00:11:20 -0000	1.133
--- ical_parser.php	23 Nov 2003 01:54:19 -0000	1.134
***************
*** 182,186 ****
  				if (isset($start_unixtime,$end_unixtime) && date('d',$start_unixtime) != date('d',$end_unixtime)) {
  					$spans_day = true;
! 					$bleed_check = ((date('d',$start_unixtime)) - (date('d',$end_unixtime)));
  				} else {
  					$spans_day = false;
--- 182,186 ----
  				if (isset($start_unixtime,$end_unixtime) && date('d',$start_unixtime) != date('d',$end_unixtime)) {
  					$spans_day = true;
! 					$bleed_check = (($start_unixtime - $end_unixtime) < (60*60*24)) ? '-1' : '0';
  				} else {
  					$spans_day = false;
***************
*** 254,258 ****
  								$end_time_tmp = $end_time;
  							} else {
! 								$end_time_tmp = '0000';
  							}
  							$nbrOfOverlaps = checkOverlap($start_date_tmp, $start_time_tmp, $end_time_tmp, $uid);
--- 254,259 ----
  								$end_time_tmp = $end_time;
  							} else {
! 								$end_time_tmp = '2400';
! 								$display_end_tmp = '0000';
  							}
  							$nbrOfOverlaps = checkOverlap($start_date_tmp, $start_time_tmp, $end_time_tmp, $uid);
***************
*** 597,604 ****
  																$end_time_tmp = $end_time;
  															} else {
! 																$end_time_tmp = '0000';
  															}
- 															$nbrOfOverlaps = checkOverlap($start_date_tmp, $start_time_tmp, $end_time_tmp, $uid);
- 															$master_array[$start_date_tmp][$time_tmp][$uid] = array ('event_start' => $start_time_tmp, 'event_end' => $end_time_tmp, 'display_end' => $display_end_tmp, 'start_unixtime' => $start_unixtime_tmp, 'end_unixtime' => $end_unixtime_tmp, 'event_text' => $summary, 'event_length' => $length, 'event_overlap' => $nbrOfOverlaps, 'description' => $description, 'status' => $status, 'class' => $class, 'spans_day' => true, 'location' => $location, 'organizer' => serialize($organizer), 'attendee' => serialize($attendee), 'calnumber' => $calnumber, 'calname' => $actual_calname, 'url' => $url) ;
  															$start_tmp = strtotime('+1 day',$start_tmp);
  														}
--- 598,611 ----
  																$end_time_tmp = $end_time;
  															} else {
! 																$end_time_tmp = '2400';
! 																$display_end_tmp = '0000';
! 															}
! 															
! 															// Let's double check the until to not write past it
! 															$until_check = $recur_data_date.$time_tmp.'00';
! 															if ($abs_until > $until_check) {
! 																$nbrOfOverlaps = checkOverlap($start_date_tmp, $start_time_tmp, $end_time_tmp, $uid);
! 																$master_array[$start_date_tmp][$time_tmp][$uid] = array ('event_start' => $start_time_tmp, 'event_end' => $end_time_tmp, 'display_end' => $display_end_tmp, 'start_unixtime' => $start_unixtime_tmp, 'end_unixtime' => $end_unixtime_tmp, 'event_text' => $summary, 'event_length' => $length, 'event_overlap' => $nbrOfOverlaps, 'description' => $description, 'status' => $status, 'class' => $class, 'spans_day' => true, 'location' => $location, 'organizer' => serialize($organizer), 'attendee' => serialize($attendee), 'calnumber' => $calnumber, 'calname' => $actual_calname, 'url' => $url) ;
  															}
  															$start_tmp = strtotime('+1 day',$start_tmp);
  														}
***************
*** 606,612 ****
  														if ($bleed_check == '-1') {
  															$display_end_tmp = $end_time;
! 															$end_time_tmp1 = '2400';	
  														}
- 														
  														if (!isset($end_time_tmp1)) $end_time_tmp1 = $end_time;
  													
--- 613,619 ----
  														if ($bleed_check == '-1') {
  															$display_end_tmp = $end_time;
! 															$end_time_tmp1 = '2400';
! 																
  														}
  														if (!isset($end_time_tmp1)) $end_time_tmp1 = $end_time;
  													
 | 
| 
      
      
      From: <jo...@us...> - 2003-11-23 01:31:33
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/functions
In directory sc8-pr-cvs1:/tmp/cvs-serv4586
Modified Files:
	list_icals.php 
Log Message:
Fixed problems with the list_icals logic. Previous cvs update merged
files incorrectly.
Index: list_icals.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/functions/list_icals.php,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** list_icals.php	22 Nov 2003 21:16:10 -0000	1.20
--- list_icals.php	23 Nov 2003 01:31:30 -0000	1.21
***************
*** 1,26 ****
  <?php
  if ($display_ical_list == "yes") {
- 
  	// start of <select> tag
  	echo "<select name=\"action\" class=\"query_style\" onChange=\"window.location=(this.options[this.selectedIndex].value+'";
  	if (isset($query)) echo $query;
  	echo "');\">";
! 	// open file
! 	$dir_handle = @opendir($calendar_path) or die(error(sprintf($error_path_lang, $calendar_path), $cal_filename));
! 	
! 	// Grab all calendars.
! 	$filelist = availableCalendarNames($username, $password, $ALL_CALENDARS_COMBINED);
! 	foreach ($filelist as $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 ($cal_tmp == $cal) {
! 			print "<option value=\"$current_view.php?cal=$cal_tmp\" selected>$cal_displayname_tmp $calendar_lang</option>\n";
  		} else {
! 			print "<option value=\"$current_view.php?cal=$cal_tmp\">$cal_displayname_tmp $calendar_lang</option>\n";	
  		}
  	}			
--- 1,50 ----
  <?php
  if ($display_ical_list == "yes") {
  	// start of <select> tag
  	echo "<select name=\"action\" class=\"query_style\" onChange=\"window.location=(this.options[this.selectedIndex].value+'";
  	if (isset($query)) echo $query;
  	echo "');\">";
! 
! 	// Get all calendars.
! 	$all_cals = availableCalendars($username, $password, $ALL_CALENDARS_COMBINED);
! 	foreach ($all_cals as $cal_tmp) {
! 		// Format the calendar path for display.
! 		//
! 		// Only display the calendar name, replace all instances of "32" with " ",
! 		// and remove the .ics suffix.
! 		$cal_displayname_tmp = basename($cal_tmp);
! 		$cal_displayname_tmp = str_replace("32", " ", $cal_displayname_tmp);
! 		$cal_displayname_tmp = substr($cal_displayname_tmp, 0, -4);
! 
! 		// If this is a webcal, add 'Webcal' to the display name.
! 		if (preg_match("/^(https?|webcal):\/\//i", $cal_tmp)) {
! 			$cal_displayname_tmp .= " Webcal";
! 		}
! 
! 		// Otherwise, remove all the path information, since that should
! 		// not be used to identify local calendars. Also add the calendar
! 		// label to the display name.
! 		else {
! 			// Strip path and .ics suffix.
! 			$cal_tmp = basename($cal_tmp);
! 			$cal_tmp = substr($cal_tmp, 0, -4);
! 
! 			// Add calendar label.
! 			$cal_displayname_tmp .= " $calendar_lang";
! 		}
! 
! 		// Encode the calendar path.
! 		$cal_encoded_tmp = urlencode($cal_tmp);
! 
! 		// Display the option.
! 		//
! 		// The submitted calendar will be encoded, and always use http://
! 		// if it is a webcal. So that is how we perform the comparison when
! 		// trying to figure out if this is the selected calendar.
! 		$cal_httpPrefix_tmp = str_replace('webcal://', 'http://', $cal_tmp);
! 		if ($cal_httpPrefix_tmp == urldecode($cal)) {
! 			print "<option value=\"$current_view.php?cal=$cal_encoded_tmp&getdate=$getdate\" selected>$cal_displayname_tmp</option>";
  		} else {
! 			print "<option value=\"$current_view.php?cal=$cal_encoded_tmp&getdate=$getdate\">$cal_displayname_tmp</option>";	
  		}
  	}			
***************
*** 32,53 ****
  		print "<option value=\"$current_view.php?cal=$ALL_CALENDARS_COMBINED&getdate=$getdate\">$all_cal_comb_lang</option>";
  	}
- 		
- 	foreach($list_webcals as $cal_tmp) {
- 		if ($cal_tmp != '') {
- 			$cal_displayname_tmp = basename($cal_tmp);
- 			$cal_displayname_tmp = str_replace("32", " ", $cal_displayname_tmp);
- 			$cal_displayname_tmp = substr($cal_displayname_tmp,0,-4);
- 			$cal_encoded_tmp = urlencode($cal_tmp);
- 			if ($cal_tmp == $cal_httpPrefix || $cal_tmp == $cal_webcalPrefix) {
- 				print "<option value=\"$current_view.php?cal=$cal_encoded_tmp&getdate=$getdate\" selected>$cal_displayname_tmp Webcal</option>";
- 			} else {
- 				print "<option value=\"$current_view.php?cal=$cal_encoded_tmp&getdate=$getdate\">$cal_displayname_tmp Webcal</option>";	
- 			}		
- 		}
- 	}
  	
  	// finish <select>
  	print "</select>";
- 	
  }
  ?>	
--- 56,62 ----
 | 
| 
      
      
      From: <cl...@us...> - 2003-11-23 00:11:23
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/functions
In directory sc8-pr-cvs1:/tmp/cvs-serv27263/functions
Modified Files:
	ical_parser.php 
Log Message:
Unset $tz_dstart when finished calculating DTSTART.
Index: ical_parser.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/functions/ical_parser.php,v
retrieving revision 1.132
retrieving revision 1.133
diff -C2 -d -r1.132 -r1.133
*** ical_parser.php	21 Nov 2003 17:01:57 -0000	1.132
--- ical_parser.php	23 Nov 2003 00:11:20 -0000	1.133
***************
*** 797,801 ****
  						
  					case 'DTSTART':
! 						$data = str_replace ('/softwarestudio.org/Olson_20011030_5/', '', $data);
  						$zulu_time = false;
  						if (substr($data,-1) == 'Z') $zulu_time = true;
--- 797,801 ----
  						
  					case 'DTSTART':
! 						$field = str_replace ('/softwarestudio.org/Olson_20011030_5/', '', $field);
  						$zulu_time = false;
  						if (substr($data,-1) == 'Z') $zulu_time = true;
***************
*** 846,850 ****
  							$start_date = date('Ymd', $start_unixtime);
  							$start_time = date('Hi', $start_unixtime);
! 							unset($server_offset_tmp);
  						}
  						break;
--- 846,850 ----
  							$start_date = date('Ymd', $start_unixtime);
  							$start_time = date('Hi', $start_unixtime);
! 							unset($server_offset_tmp, $offset_tmp, $tz_dtstart);
  						}
  						break;
 | 
| 
      
      
      From: <jo...@us...> - 2003-11-22 21:38:06
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/includes In directory sc8-pr-cvs1:/tmp/cvs-serv4294/includes Modified Files: login.php Log Message: Improved layout of login box for month view. Index: login.php =================================================================== RCS file: /cvsroot/phpicalendar/phpicalendar/includes/login.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** login.php 22 Nov 2003 21:16:10 -0000 1.1 --- login.php 22 Nov 2003 21:38:03 -0000 1.2 *************** *** 24,28 **** <tr> <td bgcolor="#FFFFFF" valign="middle" align="center"> ! <table cellpadding="0" cellspacing="0" border="0"> <tr> <td align="left" valign="top" width="1%" class="sideback"><img src="images/spacer.gif" width="1" height="20" alt=" "></td> --- 24,28 ---- <tr> <td bgcolor="#FFFFFF" valign="middle" align="center"> ! <table cellpadding="0" cellspacing="0" border="0" width="<?php echo $login_width; ?>"> <tr> <td align="left" valign="top" width="1%" class="sideback"><img src="images/spacer.gif" width="1" height="20" alt=" "></td> *************** *** 35,48 **** <tr> <td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td> ! <td width="48%"><font class="G10B">Username:</font></td> <td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td> ! <td width="48%"><input class="login_style" type="text" size="8" name="username"></td> <td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td> </tr> <tr> <td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td> ! <td width="48%"><font class="G10B">Password:</font></td> <td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td> ! <td width="48%"><input class="login_style" type="password" size="8" name="password"></td> <td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td> </tr> --- 35,48 ---- <tr> <td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td> ! <td width="48%" align="right"><font class="G10B">Username:</font></td> <td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td> ! <td width="48%" align="left"><input class="login_style" type="text" size="8" name="username"></td> <td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td> </tr> <tr> <td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td> ! <td width="48%" align="right"><font class="G10B">Password:</font></td> <td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td> ! <td width="48%" align="left"><input class="login_style" type="password" size="8" name="password"></td> <td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td> </tr> | 
| 
      
      
      From: <jo...@us...> - 2003-11-22 21:26:06
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/includes
In directory sc8-pr-cvs1:/tmp/cvs-serv2634
Modified Files:
	calendar_nav.php 
Log Message:
Fixed a typo that was causing a parse error.
Index: calendar_nav.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/includes/calendar_nav.php,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** calendar_nav.php	22 Nov 2003 21:16:10 -0000	1.15
--- calendar_nav.php	22 Nov 2003 21:26:03 -0000	1.16
***************
*** 153,157 ****
  												if (isset($username)) {
  													$querys = preg_replace("/action=[^&]+/", "action=logout", $QUERY_STRING);
! 													if ($querys == $QUERY_STRING) $querys .= '&action=logout";
  													$querys = preg_replace("/(username|password)=[^&]+/", "", $querys);
  													echo "<a class=\"psf\" href=\"$SCRIPT_NAME?$querys\">Logout $username</a><br>\n";
--- 153,157 ----
  												if (isset($username)) {
  													$querys = preg_replace("/action=[^&]+/", "action=logout", $QUERY_STRING);
! 													if ($querys == $QUERY_STRING) $querys .= "&action=logout";
  													$querys = preg_replace("/(username|password)=[^&]+/", "", $querys);
  													echo "<a class=\"psf\" href=\"$SCRIPT_NAME?$querys\">Logout $username</a><br>\n";
 | 
| 
      
      
      From: <jo...@us...> - 2003-11-22 21:16:15
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/styles/tan
In directory sc8-pr-cvs1:/tmp/cvs-serv505/styles/tan
Modified Files:
	default.css 
Log Message:
Added username/password login to access locked calendars. Moved
calendar availability logic (with support for login) to a
calendar_functions.php file.
RSS feeds support the login feature when determining which calendars
to return.
Styles updated for the login box.
Index: default.css
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/styles/tan/default.css,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** default.css	30 Jun 2003 22:55:38 -0000	1.3
--- default.css	22 Nov 2003 21:16:11 -0000	1.4
***************
*** 96,98 ****
--- 96,99 ----
  .query_style 	{ font-size: 11px; font-family: verdana, geneva, arial, sans-serif; width: 156px; margin-bottom: 0; }
  .search_style 	{ font-size: 12px; font-family: verdana, geneva, arial, sans-serif; width: 134px; margin-bottom: 0; }
+ .login_style	{ font-size: 11px; font-family: verdana, geneva, arial, sans-serif; width: 80px; margin-bottom: 0; }
  
 | 
| 
      
      
      From: <jo...@us...> - 2003-11-22 21:16:14
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/functions
In directory sc8-pr-cvs1:/tmp/cvs-serv505/functions
Modified Files:
	admin_functions.php init.inc.php list_icals.php 
Added Files:
	calendar_functions.php 
Log Message:
Added username/password login to access locked calendars. Moved
calendar availability logic (with support for login) to a
calendar_functions.php file.
RSS feeds support the login feature when determining which calendars
to return.
Styles updated for the login box.
--- NEW FILE: calendar_functions.php ---
<?php
// This function returns a list of all calendars that the current user
// has access to. Basically, all local calendars found in the calendar
// directory, plus any webcals listed in the configuration file, but
// excluding blacklisted calendars and locked calendars which the user,
// if logged in, does not have access to.
//
// $username		= The username. Empty if no username provided.
// $password		= The password. Empty if no password provided.
// $cal_filename	= The calendar name without .ics.
// $admin			= True if this is an administrative request, in
//					  which case all local calendars only will be
//					  returned.
function availableCalendars($username, $password, $cal_filename, $admin = false) {
	// Import globals.
	global $calendar_path, $blacklisted_cals, $list_webcals, $locked_cals, $locked_map, $error_path_lang, $error_restrictedcal_lang, $ALL_CALENDARS_COMBINED;
	// Create the list of available calendars.
	$calendars = array();
	// Grab the list of unlocked calendars.
	$unlocked_cals = array();
	if (isset($locked_map["$username:$password"])) {
		$unlocked_cals = $locked_map["$username:$password"];
	}
	
	// Include all local and web calendars if asking for all calendars
	// combined.
	if ($cal_filename == $ALL_CALENDARS_COMBINED || $admin) {
		// Add local calendars.
		$dir_handle = @opendir($calendar_path)
			or die(error(sprintf($error_path_lang, $calendar_path), $cal_filename));
		while (($file = readdir($dir_handle)) != false) {
			// Make sure this is not a dot file and it ends with .ics,
			// and that it is not blacklisted.
			if (!preg_match("/^[^.].+\.ics$/i", $file)) continue;
			$cal_name = substr($file, 0, -4);
			if (in_array($cal_name, $blacklisted_cals)) continue;
			
			// Exclude locked calendars.
			if (!$admin &&
				in_array($cal_name, $locked_cals) &&
				!in_array($cal_name, $unlocked_cals))
			{
				continue;
			}
			
			// Add this calendar.
			array_push($calendars, "$calendar_path/$file");
		}
		
		// Add web calendars.
		if (!$admin) {
			foreach ($list_webcals as $file) {
				// Make sure the URL ends with .ics.
				if (!preg_match("/.ics$/i", $file)) continue;
				
				// Add this calendar.
				array_push($calendars, $file);
			}
		}
	}
	
	// Otherwise just include the requested calendar.
	else {
		// Make sure this is not a blacklisted calendar. We don't have
		// to remove a .ics suffix because it would not have been passed
		// in the argument.
		if (in_array($cal_filename, $blacklisted_cals))
			exit(error($error_restrictedcal_lang, $cal_filename));
		
		// Make sure this calendar is not locked.
		if (in_array($cal_filename, $locked_cals) &&
			!in_array($cal_filename, $unlocked_cals))
		{
			// Use the invalid calendar message so that the user is
			// not made aware of locked calendars.
			exit(error($error_invalidcal_lang, $cal_filename));
		}
		
		// Add this calendar.
		array_push($calendars, "$calendar_path/$cal_filename.ics");
	}
	
	// Return the sorted calendar list.
	natcasesort($calendars);
	return $calendars;
}
// This function returns the result of the availableCalendars function
// but only includes the calendar filename (including the .ics) and not
// the entire path.
//
// $username		= The username. Empty if no username provided.
// $password		= The password. Empty if no password provided.
// $cal_filename	= The calendar name without .ics.
// $admin			= True if this is an administrative request, in
//					  which case all local calendars only will be
//					  returned.
function availableCalendarNames($username, $password, $cal_filename, $admin = false) {
	// Grab the available calendar paths.
	$calendars = availableCalendars($username, $password, $cal_filename, $admin);
	// Strip the paths off the calendars.
	foreach (array_keys($calendars) as $key) {
		$calendars[$key] = basename($calendars[$key]);
	}
	
	// Return the sorted calendar names.
	natcasesort($calendars);
	return $calendars;
}
Index: admin_functions.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/functions/admin_functions.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** admin_functions.php	15 Sep 2003 01:00:44 -0000	1.3
--- admin_functions.php	22 Nov 2003 21:16:10 -0000	1.4
***************
*** 285,306 ****
  }
  
! // Get all calendar filenames (not including path)
! //
! // argo: string path to calendar files
! // returns array filenames (not including path)
! function get_calendar_files($calendar_path) {
! 	global $error_path_lang;
! 	
! 	$dir_handle = @opendir($calendar_path) or die(error(sprintf($error_path_lang, $calendar_path)));
! 	$filelist = array();
! 	while ($file = readdir($dir_handle)) {
! 		if (preg_match("/^[^.].+\.ics$/", $file)) {
! 			array_push($filelist, $file);
! 		}
! 	}
! 	closedir($dir_handle);
! 	natcasesort($filelist);
! 	return $filelist;
! }
! 
! ?>
\ No newline at end of file
--- 285,287 ----
  }
  
! ?>
Index: init.inc.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/functions/init.inc.php,v
retrieving revision 1.44
retrieving revision 1.45
diff -C2 -d -r1.44 -r1.45
*** init.inc.php	22 Nov 2003 19:29:45 -0000	1.44
--- init.inc.php	22 Nov 2003 21:16:10 -0000	1.45
***************
*** 13,16 ****
--- 13,17 ----
  include(BASE.'config.inc.php');
  include(BASE.'functions/error.php');
+ include(BASE.'functions/calendar_functions.php');
  if (isset($HTTP_COOKIE_VARS['phpicalendar'])) {
  	$phpicalendar = unserialize(stripslashes($HTTP_COOKIE_VARS['phpicalendar']));
***************
*** 23,26 ****
--- 24,55 ----
  }
  
+ // Look for a login cookie.
+ unset($username, $password);
+ if (isset($HTTP_COOKIE_VARS['phpicalendar_login'])) {
+ 	$login_cookie = unserialize(stripslashes($HTTP_COOKIE_VARS['phpicalendar_login']));
+ 	if (isset($login_cookie['username']))	$username = $login_cookie['username'];
+ 	if (isset($login_cookie['password']))	$password = $login_cookie['password'];
+ }
+ 
+ // Look for a new username and password.
+ if (isset($HTTP_GET_VARS['username']))			$username = $HTTP_GET_VARS['username'];
+ else if (isset($HTTP_POST_VARS['username']))	$username = $HTTP_POST_VARS['username'];
+ if (isset($HTTP_GET_VARS['password']))			$password = $HTTP_GET_VARS['password'];
+ else if (isset($HTTP_POST_VARS['password']))	$password = $HTTP_POST_VARS['password'];
+ 
+ // Set the login cookie if logging in. Clear it if logging out.
+ if (isset($HTTP_GET_VARS['action'])) {
+ 	$action = $HTTP_GET_VARS['action'];
+ } else {
+ 	$action = '';
+ }
+ if ($action == 'login') {
+ 	$the_cookie = serialize(array('username' => $username, 'password' => $password));
+ 	setcookie('phpicalendar_login', $the_cookie, time()+(60*60*24*7*12*10), '/', $cookie_uri, 0);
+ } else if ($action == 'logout') {
+ 	setcookie('phpicalendar_login', '', time()-(60*60*24*7), '/', $cookie_uri, 0);
+ 	unset($username, $password);
+ }
+ 
  // language support
  $language = strtolower($language);
***************
*** 100,139 ****
  	} else {
  		if (!isset($filename)) {
! 			// empty the filelist array
! 			$cal_filelist = array();
! 			if ($cal == $ALL_CALENDARS_COMBINED) { // Create an array with the paths to all files to be combined
! 				// Note: code here is similar to code in list_icals.php
! 				// open directory
! 				$dir_handle = @opendir($calendar_path) or die(error(sprintf($error_path_lang, $calendar_path), $cal_filename));
! 	
! 				// build the array
! 				while (false != ($file = readdir($dir_handle))) {
! 					if (preg_match("/^[^.].+\.ics$/", $file) &&
! 						!in_array(substr($file, 0, -4), $blacklisted_cals)) {
! 							$file = $calendar_path.'/'.$file;
! 							array_push($cal_filelist, $file);
! 					}
! 				}
! 				// add webcals
! 				foreach ($list_webcals as $file) {
! 					if (preg_match("/^[^.].+\.ics$/", $file)) {
! 						array_push($cal_filelist, $file);
! 					}
! 				}
! 				natcasesort($cal_filelist);
! 			} else { // Handle a single file
! 				$filename = $calendar_path.'/'.$cal_filename.'.ics';
! 				if (true == false) {
! 					$dir_handle = @opendir($calendar_path) or die(error(sprintf($error_path_lang, $calendar_path), $cal_filename));
! 					while ($file = readdir($dir_handle)) {
! 						if (substr($file, -4) == '.ics') {
! 							$cal = urlencode(substr($file, 0, -4));
! 							$filename = $calendar_path.'/'.$file;
! 							break;
! 						}
! 					}
! 				}
! 				array_push($cal_filelist, $filename);
! 			}
  		}
  		
--- 129,134 ----
  	} else {
  		if (!isset($filename)) {
! 			$cal_filelist = availableCalendars($username, $password, $cal_filename);
! 			if (count($cal_filelist) == 1) $filename = $cal_filelist[0];
  		}
  		
Index: list_icals.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/functions/list_icals.php,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** list_icals.php	14 Nov 2003 04:59:15 -0000	1.19
--- list_icals.php	22 Nov 2003 21:16:10 -0000	1.20
***************
*** 9,22 ****
  	$dir_handle = @opendir($calendar_path) or die(error(sprintf($error_path_lang, $calendar_path), $cal_filename));
  	
! 	// empty the filelist array
! 	$filelist = array();
! 
! 	// build the <option> tags
! 	while (false != ($file = readdir($dir_handle))) {
! 		if (preg_match("/^[^.].+\.ics$/", $file)) {
! 			array_push($filelist, $file);
! 		}
! 	}
! 	natcasesort($filelist);
  	foreach ($filelist as $file) {
  		
--- 9,14 ----
  	$dir_handle = @opendir($calendar_path) or die(error(sprintf($error_path_lang, $calendar_path), $cal_filename));
  	
! 	// Grab all calendars.
! 	$filelist = availableCalendarNames($username, $password, $ALL_CALENDARS_COMBINED);
  	foreach ($filelist as $file) {
  		
***************
*** 27,37 ****
  		$cal_tmp = urlencode($cal_filename_tmp);
  		$cal_displayname_tmp = str_replace("32", " ", $cal_filename_tmp);
! 		if (!in_array($cal_filename_tmp, $blacklisted_cals)) {
! 			if ($cal_tmp == $cal) {
! 				print "<option value=\"$current_view.php?cal=$cal_tmp&getdate=$getdate\" selected>$cal_displayname_tmp $calendar_lang</option>";
! 			} else {
! 				print "<option value=\"$current_view.php?cal=$cal_tmp&getdate=$getdate\">$cal_displayname_tmp $calendar_lang</option>";	
! 			}
! 		}	
  	}			
  
--- 19,27 ----
  		$cal_tmp = urlencode($cal_filename_tmp);
  		$cal_displayname_tmp = str_replace("32", " ", $cal_filename_tmp);
! 		if ($cal_tmp == $cal) {
! 			print "<option value=\"$current_view.php?cal=$cal_tmp\" selected>$cal_displayname_tmp $calendar_lang</option>\n";
! 		} else {
! 			print "<option value=\"$current_view.php?cal=$cal_tmp\">$cal_displayname_tmp $calendar_lang</option>\n";	
! 		}
  	}			
  
***************
*** 56,62 ****
  		}
  	}
- 
- 	// close file
- 	closedir($dir_handle);
  	
  	// finish <select>
--- 46,49 ----
***************
*** 64,68 ****
  	
  }
- 
- 
  ?>	
--- 51,53 ----
 | 
| 
      
      
      From: <jo...@us...> - 2003-11-22 21:16:14
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/rss
In directory sc8-pr-cvs1:/tmp/cvs-serv505/rss
Modified Files:
	index.php 
Log Message:
Added username/password login to access locked calendars. Moved
calendar availability logic (with support for login) to a
calendar_functions.php file.
RSS feeds support the login feature when determining which calendars
to return.
Styles updated for the login box.
Index: index.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/rss/index.php,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** index.php	21 Sep 2003 04:28:35 -0000	1.20
--- index.php	22 Nov 2003 21:16:11 -0000	1.21
***************
*** 3,6 ****
--- 3,7 ----
  define('BASE','../');
  include(BASE.'functions/ical_parser.php');
+ include(BASE.'functions/calendar_functions.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'] != '') {
***************
*** 58,83 ****
  									<?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>';		
! 											}	
! 										}
  									}
  									?>
--- 59,77 ----
  									<?php 
  									
  									// build the <option> tags
! 									$filelist = availableCalendarNames($username, $password, $ALL_CALENDARS_COMBINED);
! 									foreach ($filelist as $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);
! 										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>';
  									}
  									?>
 | 
| 
      
      
      From: <jo...@us...> - 2003-11-22 21:16:14
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/includes
In directory sc8-pr-cvs1:/tmp/cvs-serv505/includes
Modified Files:
	calendar_nav.php sidebar.php 
Added Files:
	login.php 
Log Message:
Added username/password login to access locked calendars. Moved
calendar availability logic (with support for login) to a
calendar_functions.php file.
RSS feeds support the login feature when determining which calendars
to return.
Styles updated for the login box.
--- NEW FILE: login.php ---
<?php
	// Hide the login block if logged in or there are no lock usernames.
	if (!isset($username) && $allow_login == 'yes') {
		// Set the login table width if not set.
		if (!isset($login_width)) $login_width = "100%";
		// Remove the username, password, and action values from the form action.
		$form_action = preg_replace("/(username|password|action)=[^&]+/", "", $REQUEST_URI);
?>
	<form style="margin-bottom:0;" action="<?php echo $form_action; ?>" method="POST">
	<input type="hidden" name="action" value="login">
	<?php
		foreach (array_keys($HTTP_GET_VARS) as $key) {
			if ($key == 'action' ||
				$key == 'username' ||
				$key == 'password')
			{
				continue;
			}
			echo "<input type=\"hidden\" name=\"$key\" value=\"$HTTP_GET_VARS[$key]\">\n";
		}
	?>
	<table cellpadding="0" cellspacing="0" border="0" width="<?php echo $login_width; ?>" class="calborder">
		<tr>
			<td bgcolor="#FFFFFF" valign="middle" align="center">
				<table cellpadding="0" cellspacing="0" border="0">
					<tr>
						<td align="left" valign="top" width="1%" class="sideback"><img src="images/spacer.gif" width="1" height="20" alt=" "></td>
						<td colspan="3" align="center" width="98%" class="sideback"><font class="G10BOLD">Login</font></td>
						<td align="right" valign="top" width="1%" class="sideback"><img src="images/spacer.gif" width="1" height="20" alt=" "></td>
					</tr>
					<tr>
						<td colspan="5"><img src="images/spacer.gif" width="148" height="6" alt=" "></td>
					</tr>
					<tr>
						<td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td>
						<td width="48%"><font class="G10B">Username:</font></td>
						<td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td>
						<td width="48%"><input class="login_style" type="text" size="8" name="username"></td>
						<td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td>
					</tr>
					<tr>
						<td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td>
						<td width="48%"><font class="G10B">Password:</font></td>
						<td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td>
						<td width="48%"><input class="login_style" type="password" size="8" name="password"></td>
						<td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td>
					</tr>
					<tr>
						<td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td>
						<td colspan="3" align="center"><input class="login_style" type="submit" value="Login"></td>
						<td width="1%"><img src="images/spacer.gif" width="4" height="1" alt=""></td>
					</tr>
				</table>
			</td>
		</tr>
		<tr>
			<td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="148" height="6" alt=" "></td>
		</tr>
	</table>
	</form>
	<img src="images/spacer.gif" width="1" height="10" alt=" "><br>
<?php
	}
?>
Index: calendar_nav.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/includes/calendar_nav.php,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** calendar_nav.php	14 Nov 2003 22:36:54 -0000	1.14
--- calendar_nav.php	22 Nov 2003 21:16:10 -0000	1.15
***************
*** 21,24 ****
--- 21,28 ----
  	?>
  <br>
+ <?php
+ 	$login_width = 737;
+ 	include(BASE.'includes/login.php');
+ ?>
  <table border="0" width="737" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF" class="calborder">
  	<tr>
***************
*** 147,150 ****
--- 151,160 ----
  												if ($allow_preferences != 'no') echo "<a class=\"psf\" href=\"preferences.php?cal=$cal&getdate=$getdate\">$preferences_lang</a><br>\n";
  												if ($cal != $ALL_CALENDARS_COMBINED && $subscribe_path != '' && $download_filename != '') echo "<a class=\"psf\" href=\"$subscribe_path\">$subscribe_lang</a> | <a class=\"psf\" href=\"$download_filename\">$download_lang</a>\n";
+ 												if (isset($username)) {
+ 													$querys = preg_replace("/action=[^&]+/", "action=logout", $QUERY_STRING);
+ 													if ($querys == $QUERY_STRING) $querys .= '&action=logout";
+ 													$querys = preg_replace("/(username|password)=[^&]+/", "", $querys);
+ 													echo "<a class=\"psf\" href=\"$SCRIPT_NAME?$querys\">Logout $username</a><br>\n";
+ 												}
  											 ?>
  											</td>
Index: sidebar.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/includes/sidebar.php,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -d -r1.28 -r1.29
*** sidebar.php	22 Nov 2003 09:30:41 -0000	1.28
--- sidebar.php	22 Nov 2003 21:16:10 -0000	1.29
***************
*** 17,20 ****
--- 17,24 ----
  
  ?>
+ <?php
+ 	$login_width = 170;
+ 	include(BASE.'includes/login.php');
+ ?>
  <table width="170" border="0" cellpadding="0" cellspacing="0" class="calborder">
  	<tr>
***************
*** 36,39 ****
--- 40,49 ----
  				if ($allow_preferences != 'no') echo "<a class=\"psf\" href=\"preferences.php?cal=$cal&getdate=$getdate\">$preferences_lang</a><br>\n";
  				if ($cal != $ALL_CALENDARS_COMBINED && $subscribe_path != '' && $download_filename != '') echo "<a class=\"psf\" href=\"$subscribe_path\">$subscribe_lang</a> | <a class=\"psf\" href=\"$download_filename\">$download_lang</a>\n";
+ 				if (isset($username)) {
+ 					$querys = preg_replace("/action=[^&]+/", "action=logout", $QUERY_STRING);
+ 					if ($querys == $QUERY_STRING) $querys .= '&action=logout';
+ 					$querys = preg_replace("/(username|password)=[^&]+/", "", $querys);
+ 					echo "<br>\n<a class=\"psf\" href=\"$SCRIPT_NAME?$querys\">Logout $username</a>\n";
+ 				}
  				echo '</span></div>';
  			 ?>
 | 
| 
      
      
      From: <jo...@us...> - 2003-11-22 21:16:14
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/styles/orange
In directory sc8-pr-cvs1:/tmp/cvs-serv505/styles/orange
Modified Files:
	default.css 
Log Message:
Added username/password login to access locked calendars. Moved
calendar availability logic (with support for login) to a
calendar_functions.php file.
RSS feeds support the login feature when determining which calendars
to return.
Styles updated for the login box.
Index: default.css
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/styles/orange/default.css,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** default.css	30 Jun 2003 22:55:38 -0000	1.6
--- default.css	22 Nov 2003 21:16:11 -0000	1.7
***************
*** 98,99 ****
--- 98,100 ----
  .query_style 	{ font-size: 11px; font-family: verdana, geneva, arial, sans-serif; width: 156px; margin-bottom: 0; }
  .search_style 	{ font-size: 12px; font-family: verdana, geneva, arial, sans-serif; width: 134px; margin-bottom: 0; }
+ .login_style	{ font-size: 11px; font-family: verdana, geneva, arial, sans-serif; width: 80px; margin-bottom: 0; }
 | 
| 
      
      
      From: <jo...@us...> - 2003-11-22 21:16:14
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/styles/silver
In directory sc8-pr-cvs1:/tmp/cvs-serv505/styles/silver
Modified Files:
	default.css 
Log Message:
Added username/password login to access locked calendars. Moved
calendar availability logic (with support for login) to a
calendar_functions.php file.
RSS feeds support the login feature when determining which calendars
to return.
Styles updated for the login box.
Index: default.css
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/styles/silver/default.css,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** default.css	30 Jun 2003 22:55:38 -0000	1.14
--- default.css	22 Nov 2003 21:16:11 -0000	1.15
***************
*** 97,99 ****
  .query_style 	{ font-size: 11px; font-family: verdana, geneva, arial, sans-serif; width: 156px; margin-bottom: 0; }
  .search_style 	{ font-size: 12px; font-family: verdana, geneva, arial, sans-serif; width: 134px; margin-bottom: 0; }
! 
--- 97,99 ----
  .query_style 	{ font-size: 11px; font-family: verdana, geneva, arial, sans-serif; width: 156px; margin-bottom: 0; }
  .search_style 	{ font-size: 12px; font-family: verdana, geneva, arial, sans-serif; width: 134px; margin-bottom: 0; }
! .login_style	{ font-size: 11px; font-family: verdana, geneva, arial, sans-serif; width: 80px; margin-bottom: 0; }
 | 
| 
      
      
      From: <jo...@us...> - 2003-11-22 21:16:14
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/styles/red
In directory sc8-pr-cvs1:/tmp/cvs-serv505/styles/red
Modified Files:
	default.css 
Log Message:
Added username/password login to access locked calendars. Moved
calendar availability logic (with support for login) to a
calendar_functions.php file.
RSS feeds support the login feature when determining which calendars
to return.
Styles updated for the login box.
Index: default.css
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/styles/red/default.css,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** default.css	30 Jun 2003 22:55:38 -0000	1.8
--- default.css	22 Nov 2003 21:16:11 -0000	1.9
***************
*** 98,100 ****
  .query_style 	{ font-size: 11px; font-family: verdana, geneva, arial, sans-serif; width: 156px; margin-bottom: 0; }
  .search_style 	{ font-size: 12px; font-family: verdana, geneva, arial, sans-serif; width: 134px; margin-bottom: 0; }
! 
--- 98,100 ----
  .query_style 	{ font-size: 11px; font-family: verdana, geneva, arial, sans-serif; width: 156px; margin-bottom: 0; }
  .search_style 	{ font-size: 12px; font-family: verdana, geneva, arial, sans-serif; width: 134px; margin-bottom: 0; }
! .login_style	{ font-size: 11px; font-family: verdana, geneva, arial, sans-serif; width: 80px; margin-bottom: 0; }
 | 
| 
      
      
      From: <jo...@us...> - 2003-11-22 21:16:14
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/styles/grey
In directory sc8-pr-cvs1:/tmp/cvs-serv505/styles/grey
Modified Files:
	default.css 
Log Message:
Added username/password login to access locked calendars. Moved
calendar availability logic (with support for login) to a
calendar_functions.php file.
RSS feeds support the login feature when determining which calendars
to return.
Styles updated for the login box.
Index: default.css
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/styles/grey/default.css,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** default.css	30 Jun 2003 22:55:38 -0000	1.7
--- default.css	22 Nov 2003 21:16:11 -0000	1.8
***************
*** 99,101 ****
  .query_style 	{ font-size: 11px; font-family: verdana, geneva, arial, sans-serif; width: 156px; margin-bottom: 0; }
  .search_style 	{ font-size: 12px; font-family: verdana, geneva, arial, sans-serif; width: 134px; margin-bottom: 0; }
! 
--- 99,101 ----
  .query_style 	{ font-size: 11px; font-family: verdana, geneva, arial, sans-serif; width: 156px; margin-bottom: 0; }
  .search_style 	{ font-size: 12px; font-family: verdana, geneva, arial, sans-serif; width: 134px; margin-bottom: 0; }
! .login_style	{ font-size: 11px; font-family: verdana, geneva, arial, sans-serif; width: 80px; margin-bottom: 0; }
 | 
| 
      
      
      From: <jo...@us...> - 2003-11-22 21:16:14
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/styles/green
In directory sc8-pr-cvs1:/tmp/cvs-serv505/styles/green
Modified Files:
	default.css 
Log Message:
Added username/password login to access locked calendars. Moved
calendar availability logic (with support for login) to a
calendar_functions.php file.
RSS feeds support the login feature when determining which calendars
to return.
Styles updated for the login box.
Index: default.css
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/styles/green/default.css,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** default.css	30 Jun 2003 22:55:38 -0000	1.8
--- default.css	22 Nov 2003 21:16:11 -0000	1.9
***************
*** 99,100 ****
--- 99,101 ----
  .query_style 	{ font-size: 11px; font-family: verdana, geneva, arial, sans-serif; width: 156px; margin-bottom: 0; }
  .search_style 	{ font-size: 12px; font-family: verdana, geneva, arial, sans-serif; width: 134px; margin-bottom: 0; }
+ .login_style	{ font-size: 11px; font-family: verdana, geneva, arial, sans-serif; width: 80px; margin-bottom: 0; }
 | 
| 
      
      
      From: <jo...@us...> - 2003-11-22 21:16:13
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar
In directory sc8-pr-cvs1:/tmp/cvs-serv505
Modified Files:
	admin.php config.inc.php preferences.php 
Log Message:
Added username/password login to access locked calendars. Moved
calendar availability logic (with support for login) to a
calendar_functions.php file.
RSS feeds support the login feature when determining which calendars
to return.
Styles updated for the login box.
Index: admin.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/admin.php,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** admin.php	20 Sep 2003 21:46:17 -0000	1.6
--- admin.php	22 Nov 2003 21:16:10 -0000	1.7
***************
*** 5,8 ****
--- 5,9 ----
  include (BASE.'functions/init.inc.php');
  include (BASE.'functions/admin_functions.php');
+ include (BASE.'functions/calendar_functions.php');
  
  // Redirect if administration is not allowed
***************
*** 235,239 ****
  			$COLUMNS_TO_PRINT = 3;
  			$column = 1;
! 			$filelist = get_calendar_files($calendar_path);
  			foreach ($filelist as $file) {
  				if ($column > $COLUMNS_TO_PRINT) {
--- 236,240 ----
  			$COLUMNS_TO_PRINT = 3;
  			$column = 1;
! 			$filelist = availableCalendarNames('', '', '', true);
  			foreach ($filelist as $file) {
  				if ($column > $COLUMNS_TO_PRINT) {
Index: config.inc.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/config.inc.php,v
retrieving revision 1.123
retrieving revision 1.124
diff -C2 -d -r1.123 -r1.124
*** config.inc.php	22 Nov 2003 03:45:33 -0000	1.123
--- config.inc.php	22 Nov 2003 21:16:10 -0000	1.124
***************
*** 48,51 ****
--- 48,52 ----
  $show_todos				= 'yes';			// Show your todo list on the side of day and week view.
  $show_completed			= 'yes';			// Show completed todos on your todo list.
+ $show_login				= 'no';				// Set to yes to prompt for login to unlock calendars.
  
  // Administration settings
***************
*** 67,70 ****
--- 68,83 ----
  $list_webcals[] = '';						// or webcal:// and the filename should contain the .ics suffix
  $list_webcals[] = '';						// $allow_webcals does *not* need to be "yes" for these to show up and work
+ // add more lines as necessary
+ 
+ $locked_cals[] = '';						// Fill in-between the quotes the names of the calendars you wish to hide
+ $locked_cals[] = '';						// unless unlocked by a username/password login. This should be the
+ $locked_cals[] = '';						// exact calendar filename without the .ics suffix.
+ $locked_cals[] = '';						//
+ // add more lines as necessary
+ 
+ $locked_map[] = '';							// Map username:password accounts to locked calendars that should be
+ $locked_map[] = '';							// unlocked if logged in. Calendar names should be the same as what is
+ $locked_map[] = '';							// listed in the $locked_cals, again without the .ics suffix.
+ $locked_map[] = '';							// Example: $locked_map['username:password'] = array('Locked1', 'Locked2');
  // add more lines as necessary
  
Index: preferences.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/preferences.php,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -d -r1.34 -r1.35
*** preferences.php	21 Sep 2003 03:22:08 -0000	1.34
--- preferences.php	22 Nov 2003 21:16:10 -0000	1.35
***************
*** 3,6 ****
--- 3,7 ----
  define('BASE','./');
  include(BASE.'functions/ical_parser.php');
+ include(BASE.'functions/calendar_functions.php');
  $display_date = $preferences_lang;
  
***************
*** 158,169 ****
  												//
  												print "<select name=\"cookie_calendar\" class=\"query_style\">\n";
! 												$dir_handle = @opendir($calendar_path) or die(error(sprintf($error_path_lang, $calendar_path), $cal_filename));
! 												$filelist = array();
! 												while ($file = readdir($dir_handle)) {
! 													if (preg_match("/^[^.].+\.ics$/", $file)) {
! 														array_push($filelist, $file);
! 													}
! 												}
! 												natcasesort($filelist);
  												foreach ($filelist as $file) {
  													$cal_filename_tmp = substr($file,0,-4);
--- 159,163 ----
  												//
  												print "<select name=\"cookie_calendar\" class=\"query_style\">\n";
! 												$filelist = availableCalendarNames($username, $password, $ALL_CALENDARS_COMBINED);
  												foreach ($filelist as $file) {
  													$cal_filename_tmp = substr($file,0,-4);
 | 
| 
      
      
      From: <cl...@us...> - 2003-11-22 20:02:42
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar In directory sc8-pr-cvs1:/tmp/cvs-serv21145 Modified Files: search.php Log Message: Added bottom padding to events. Index: search.php =================================================================== RCS file: /cvsroot/phpicalendar/phpicalendar/search.php,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** search.php 22 Nov 2003 19:53:53 -0000 1.26 --- search.php 22 Nov 2003 20:02:39 -0000 1.27 *************** *** 137,141 **** $event_end = ''; } ! echo '<div style="margin-left: 10px;">'; echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\">\n"; echo "<tr>\n"; --- 137,141 ---- $event_end = ''; } ! echo '<div style="margin-left: 10px; margin-bottom: 10px;">'; echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\">\n"; echo "<tr>\n"; | 
| 
      
      
      From: <cl...@us...> - 2003-11-22 19:53:58
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar
In directory sc8-pr-cvs1:/tmp/cvs-serv19761
Modified Files:
	search.php 
Log Message:
Fix for matching todo's.
Index: search.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/search.php,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -d -r1.25 -r1.26
*** search.php	22 Nov 2003 03:45:33 -0000	1.25
--- search.php	22 Nov 2003 19:53:53 -0000	1.26
***************
*** 118,125 ****
  					foreach($the_arr as $val) {
  						$key = $val['date'];
! 						$dayofmonth = strtotime ($key);
! 						$dayofmonth = localizeDate ($dateFormat_day, $dayofmonth);
! 						echo '<font class="V12"><b><a class="ps3" href="day.php?cal='.$cal.'&getdate='.$key.'">'.$dayofmonth.'</a></b></font><br>';
! 						
  						if ($val["event_text"]) {	
  							$event_text 	= stripslashes(urldecode($val["event_text"]));
--- 118,126 ----
  					foreach($the_arr as $val) {
  						$key = $val['date'];
! 						if ($key > 1) { 
! 							$dayofmonth = strtotime ($key);
! 							$dayofmonth = localizeDate ($dateFormat_day, $dayofmonth);
! 							echo '<font class="V12"><b><a class="ps3" href="day.php?cal='.$cal.'&getdate='.$key.'">'.$dayofmonth.'</a></b></font><br>';
! 						}
  						if ($val["event_text"]) {	
  							$event_text 	= stripslashes(urldecode($val["event_text"]));
 | 
| 
      
      
      From: <cl...@us...> - 2003-11-22 19:29:49
      
     | 
| Update of /cvsroot/phpicalendar/phpicalendar/includes
In directory sc8-pr-cvs1:/tmp/cvs-serv14909/includes
Modified Files:
	event.php todo.php 
Log Message:
Finished todo.php re-work. Updated event.php to match.
Index: event.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/includes/event.php,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** event.php	22 Nov 2003 09:30:41 -0000	1.17
--- event.php	22 Nov 2003 19:29:46 -0000	1.18
***************
*** 60,64 ****
  if ($location) {
  	if (isset($url)) $location = '<a href="'.$url.'" target="_blank">'.$location.'</a>';
! 	$display .= $location_lang . ' - ' . $location.'<br>' . "\n";
  }
  $sheet_href = BASE.'styles/'.$style_sheet.'/default.css';
--- 60,64 ----
  if ($location) {
  	if (isset($url)) $location = '<a href="'.$url.'" target="_blank">'.$location.'</a>';
! 	$display .= $location_lang . ' - ' . $location.'<br>';
  }
  $sheet_href = BASE.'styles/'.$style_sheet.'/default.css';
***************
*** 75,83 ****
  		<link rel="stylesheet" type="text/css" href="{$sheet_href}">
  	</head>
! 	<body bgcolor="#eeeeee">
  	<center>
  		<table border="0" width="430" cellspacing="0" cellpadding="0" class="calborder">
  			<tr>
! 				<td align="center" width="98%" class="sideback"><div style="height: 17px; margin-top: 3px;"><font class="G10BOLD">{$cal_title_full}</font></div></td>
  			</tr>
  			<tr>
--- 75,83 ----
  		<link rel="stylesheet" type="text/css" href="{$sheet_href}">
  	</head>
! 	<body>
  	<center>
  		<table border="0" width="430" cellspacing="0" cellpadding="0" class="calborder">
  			<tr>
! 				<td align="center" class="sideback"><div style="height: 17px; margin-top: 3px;" class="G10BOLD">{$cal_title_full}</div></td>
  			</tr>
  			<tr>
Index: todo.php
===================================================================
RCS file: /cvsroot/phpicalendar/phpicalendar/includes/todo.php,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** todo.php	22 Nov 2003 09:30:41 -0000	1.10
--- todo.php	22 Nov 2003 19:29:46 -0000	1.11
***************
*** 15,19 ****
  $start_date 	= (isset($vtodo_array['start_date'])) ? localizeDate ($dateFormat_day, strtotime($vtodo_array['start_date'])) : ('');
  $due_date 		= (isset($vtodo_array['due_date'])) ? localizeDate ($dateFormat_day, strtotime($vtodo_array['due_date'])) : ('');
! $priority 		= (isset($vtodo_array['priority'])) ? $vtodo_array['due_date'] : ('');
  
  if ((!isset($status) || $status == "COMPLETED") && isset($completed_date)) {
--- 15,25 ----
  $start_date 	= (isset($vtodo_array['start_date'])) ? localizeDate ($dateFormat_day, strtotime($vtodo_array['start_date'])) : ('');
  $due_date 		= (isset($vtodo_array['due_date'])) ? localizeDate ($dateFormat_day, strtotime($vtodo_array['due_date'])) : ('');
! $priority 		= (isset($vtodo_array['priority'])) ? $vtodo_array['priority'] : ('');
! 
! $cal_title_full = $calendar_name.' '.$calendar_lang;
! $description	= ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", '<a target="_new" href="\0">\0</a>', $description);
! $vtodo_text		= ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",'<a target="_new" href="\0">\0</a>',$vtodo_text);
! $sheet_href 	= BASE.'styles/'.$style_sheet.'/default.css';
! 
  
  if ((!isset($status) || $status == "COMPLETED") && isset($completed_date)) {
***************
*** 35,102 ****
  }
  
! ?>
! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
!         "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
! <html>
! <head>
! 	<meta http-equiv="content-type" content="text/html;charset=UTF-8">
! 	<title><?php echo $calendar_name; ?></title>
! 	<link rel="stylesheet" type="text/css" href="<?php echo BASE."styles/$style_sheet/default.css"; ?>">
! </head>
! <body bgcolor="#eeeeee"><center>
! <table border="0" width="430" cellspacing="0" cellpadding="0" class="calborder">
! 	<tr>
! 		<td align="left" valign="top" width="1%" class="sideback"><img src="../images/spacer.gif" width="1" height="20" alt=" "></td>
! 		<td align="center" width="98%" class="sideback"><font class="G10BOLD"><?php echo "$calendar_name $calendar_lang"; ?></font></td>
! 		<td align="right" valign="top" width="1%" class="sideback"></td>
! 	</tr>
! 	<tr>
! 		<td colspan="3"><img src="../images/spacer.gif" width="1" height="6" alt=" "></td>
! 	</tr>
! 	<tr>
! 		<td colspan="3">  
! 	   		<table width="100%" border="0" cellspacing="0" cellpadding="0">
! 				<tr>
! 					 <td width="1%"><img src="../images/spacer.gif" width="6" height="1" alt=" "></td>
! 		 			 <td align="left" colspan="2" class="V12"><?php echo ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",'<a target="_new" href="\0">\0</a>',$vtodo_text).'<br /><br />'; ?></td>
! 				</tr>
! 				
! 				<?php if ($description) { ?>    
! 					<tr>
! 					 <td width="1%"><img src="../images/spacer.gif" width="6" height="1" alt=" "></td>
! 					 <td align="left" colspan="2" class="V12">
! 					 <?php echo ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", '<a target="_new" href="\0">\0</a>', $description); ?></td>
! 					</tr>
! 				<?php } ?>
  
! 				<?php if ($status) { ?>
! 				<tr>
! 					 <td></td>
! 		 			 <td align="left" colspan="2" class="V12"><?php echo "$status_lang $status"; ?></td>
! 				</tr>
! 				<?php } ?>
  
! 				<tr>
! 					 <td></td>
! 		 			 <td align="left" colspan="2" class="V12"><?php echo "$priority_lang $priority"; ?></td>
! 				</tr>
  
! 				<tr>
! 					 <td></td>
! 		 			 <td align="left" colspan="2" class="V12"><?php echo "$created_lang $start_date"; ?></td>
! 				</tr>
  
! 				<?php if ($due_date) { ?>
! 				<tr>
! 					 <td></td>
! 		 			 <td align="left" colspan="2" class="V12"><?php echo "$due_lang $due_date"; ?></td>
! 				</tr>
! 				<?php } ?>
! 				
! 	   </table>
!    </td>
! 	</tr>
! </table> 
! </center>
! </body>
! </html>
--- 41,81 ----
  }
  
! $display = '';
! if ($vtodo_text != '')  	$display .= $vtodo_text.'<br><br>';
! if ($description != '')  	$display .= $description.'<br>';
! if ($status != '')  		$display .= $status_lang.': '.$status.'<br>';
! if ($priority != '')  		$display .= $priority_lang.' '.$priority.'<br>';
! if ($start_date != '')  	$display .= $created_lang.' '.$start_date.'<br>';
! if ($due_date != '')  		$display .= $due_lang.' '.$due_date.'<br>';
  
! echo <<<END
  
! 	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
! 			"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
! 	<html>
! 	<head>
! 		<meta http-equiv="content-type" content="text/html;charset=UTF-8">
! 		<title>{$calendar_name}</title>
! 		<link rel="stylesheet" type="text/css" href="{$sheet_href}">
! 	</head>
! 	<body>
! 	<center>
! 		<table border="0" width="430" cellspacing="0" cellpadding="0" class="calborder">
! 			<tr>
! 				<td align="center" class="sideback"><div style="height: 17px; margin-top: 3px;" class="G10BOLD">{$cal_title_full}</div></td>
! 			</tr>
! 			<tr>
! 				<td align="left" class="V12">
! 					<div style="margin-left: 10px; margin-bottom:10px;">
! 						<p>{$display}</p>
! 					</div>
! 				</td>
! 			</tr>
! 		</table>
! 	</center>
! 	</body>
! 	</html>
  
! END;
  
! ?>
\ No newline at end of file
 |