rpms/WebCalendar/devel WebCalendar-1.2.0-approve.patch, NONE, 1.1 WebCalendar-1.2.0-deftimezone.patch, NONE, 1.1 WebCalendar-1.2.0-extcaptcha.patch, NONE, 1.1 WebCalendar-1.2.0-extmenu.patch, NONE, 1.1 WebCalendar-1.2.0-httpauthpub.patch, NONE, 1.1 WebCalendar-1.2.0-newmenuicons.patch, NONE, 1.1 WebCalendar-1.2.0-nolangwarn.patch, NONE, 1.1 WebCalendar-1.2.0-offsetdays.patch, NONE, 1.1 WebCalendar-1.2.0-reset_reminder.patch, NONE, 1.1 WebCalendar-1.2.0-usercase.patch, NONE, 1.1 WebCalendar-1.2.0-weektimebar.patch, NONE, 1.1 WebCalendar-http.conf, NONE, 1.1 WebCalendar-taglang.php, NONE, 1.1 WebCalendar.spec, NONE, 1.1 import.log, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Patrick Monnerat monnerat at fedoraproject.org
Mon Jul 5 13:17:16 UTC 2010


Author: monnerat

Update of /cvs/pkgs/rpms/WebCalendar/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv14654/devel

Modified Files:
	.cvsignore sources 
Added Files:
	WebCalendar-1.2.0-approve.patch 
	WebCalendar-1.2.0-deftimezone.patch 
	WebCalendar-1.2.0-extcaptcha.patch 
	WebCalendar-1.2.0-extmenu.patch 
	WebCalendar-1.2.0-httpauthpub.patch 
	WebCalendar-1.2.0-newmenuicons.patch 
	WebCalendar-1.2.0-nolangwarn.patch 
	WebCalendar-1.2.0-offsetdays.patch 
	WebCalendar-1.2.0-reset_reminder.patch 
	WebCalendar-1.2.0-usercase.patch 
	WebCalendar-1.2.0-weektimebar.patch WebCalendar-http.conf 
	WebCalendar-taglang.php WebCalendar.spec import.log 
Log Message:
* Mon Jul  5 2010 Patrick Monnerat <pm at datasphere.ch> 1.2.0-8
- Initial CVS import


WebCalendar-1.2.0-approve.patch:
 approve_entry.php       |    5 +++--
 translations/French.txt |    2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

--- NEW FILE WebCalendar-1.2.0-approve.patch ---
diff -Naur WebCalendar-1.2.0.orig/approve_entry.php WebCalendar-1.2.0.new/approve_entry.php
--- WebCalendar-1.2.0.orig/approve_entry.php	2008-03-04 16:17:05.000000000 +0100
+++ WebCalendar-1.2.0.new/approve_entry.php	2009-06-04 12:34:00.000000000 +0200
@@ -8,7 +8,7 @@
 if ( $readonly == 'Y' )
   $error = print_not_auth (4);
 // Give user a chance to add comments to approval email.
-if ( getPostValue ( 'comments' ) != '' ) {
+if ( getPostValue ( 'comments' ) !== null ) {
   $comments = getPostValue ( 'comments' );
   $cancel = getPostValue ( 'cancel' );
 } else
@@ -33,7 +33,8 @@
           <td align="center">
             <input type="submit" value="' . translate ( 'Approve and Send' )
    . '" />&nbsp;&nbsp;&nbsp;
-            <input type="submit" value="' . translate ( 'Approve and Exit' )
+            <input type="submit" id="cancel" name="cancel" value="' .
+		translate ( 'Approve and Exit' )
    . '" />
           </td>
         </tr>
diff -Naur WebCalendar-1.2.0.orig/translations/French.txt WebCalendar-1.2.0.new/translations/French.txt
--- WebCalendar-1.2.0.orig/translations/French.txt	2009-06-04 12:32:30.000000000 +0200
+++ WebCalendar-1.2.0.new/translations/French.txt	2009-06-04 12:38:45.000000000 +0200
@@ -429,7 +429,7 @@
 Additional Comments (optional): Commentaires additionnels (optionnel)
 Approve and Send: Approuver et envoyer
 Approve and Exit: Approuver et sortir
-(Your comments will be emailed to the event creator.): Votre commentaire sera envoyer par email au créteur de l'événnement)
+(Your comments will be emailed to the event creator.): (Votre commentaire sera envoyé par courriel au créateur de l'événement)
 Hello: Bonjour
 Hello, XXX.: Bonjour, XXX
 An appointment has been approved and comments added by: Un rendez-vous a été approuvé et un commentaire ajouté par

WebCalendar-1.2.0-deftimezone.patch:
 admin.php                    |    8 ++++++--
 includes/functions.php       |    3 ---
 translations/English-US.txt  |    4 +++-
 translations/French-UTF8.txt |    5 +++--
 translations/French.txt      |    4 +++-
 5 files changed, 15 insertions(+), 9 deletions(-)

--- NEW FILE WebCalendar-1.2.0-deftimezone.patch ---
diff -Naur WebCalendar-1.2.0.orig/admin.php WebCalendar-1.2.0.new/admin.php
--- WebCalendar-1.2.0.orig/admin.php	2008-03-08 02:11:06.000000000 +0100
+++ WebCalendar-1.2.0.new/admin.php	2008-11-12 12:42:45.000000000 +0100
@@ -426,9 +426,13 @@
   /* Determine if we can set timezones.  If not don't display any options. */
    . ( set_env ( 'TZ', $s['SERVER_TIMEZONE'] ) ? '
             <p><label for="admin_SERVER_TIMEZONE" title="'
-     . tooltip ( 'tz-help' ) . '">' . translate ( 'Server Timezone Selection' )
-     . ':</label>' . print_timezone_select_html ( 'admin_', $s['SERVER_TIMEZONE'] )
+     . tooltip ( 'server-tz-help' ) . '">' . translate ( 'Server Timezone Selection' )
+     . ':</label>' . print_timezone_select_html ( 'admin_SERVER_', $s['SERVER_TIMEZONE'] )
      . '</p>' : '' ) . '
+            <p><label for="admin_TIMEZONE" title="'
+     . tooltip ( 'tz-help' ) . '">' . translate ( 'Default Client Timezone Selection' )
+     . ':</label>' . print_timezone_select_html ( 'admin_', $s['TIMEZONE'] )
+     . '</p>' . '
             <p><label title="' . tooltip ( 'display-general-use-gmt-help' )
    . '">' . translate ( 'Display Common Use Date/Times as GMT' ) . ':</label>'
    . print_radio ( 'GENERAL_USE_GMT' ) . '</p>
diff -Naur WebCalendar-1.2.0.orig/includes/functions.php WebCalendar-1.2.0.new/includes/functions.php
--- WebCalendar-1.2.0.orig/includes/functions.php	2008-11-11 18:43:29.000000000 +0100
+++ WebCalendar-1.2.0.new/includes/functions.php	2008-11-12 12:41:44.000000000 +0100
@@ -4812,9 +4812,6 @@
 */
 function print_timezone_select_html ( $prefix, $tz ) {
   $ret = '';
-  // Allows different SETTING names between SERVER and USER.
-  if ( $prefix == 'admin_' )
-    $prefix .= 'SERVER_';
   // We may be using php 4.x on Windows, so we can't use set_env () to
   // adjust the user's TIMEZONE. We'll need to reply on the old fashioned
   // way of using $tz_offset from the server's timezone.
diff -Naur WebCalendar-1.2.0.orig/translations/English-US.txt WebCalendar-1.2.0.new/translations/English-US.txt
--- WebCalendar-1.2.0.orig/translations/English-US.txt	2008-11-11 18:43:29.000000000 +0100
+++ WebCalendar-1.2.0.new/translations/English-US.txt	2008-11-12 14:53:03.000000000 +0100
@@ -192,8 +192,10 @@
 Allow external file for header/script/trailer: Allow external file for header/script/trailer
 Allow user to override header/trailer: Allow user to override header/trailer
 Date and Time: Date and Time
-tz-help: Specifies how many hours to adjust the time from server time to local time.
+tz-help: Specifies how many hours to adjust the time from UTC to local time.
+server-tz-help: Specifies how many hours to adjust the time from UTC to server time.
 Server Timezone Selection: Server Timezone Selection
+Default Client Timezone Selection: Default Client Timezone Selection
 display-general-use-gmt-help: If enabled, common dates/times are displayed as GMT
 Display Common Use Date/Times as GMT: Display Common Use Date/Times as GMT
 date-format-help: Specifies the preferred date format.
diff -Naur WebCalendar-1.2.0.orig/translations/French.txt WebCalendar-1.2.0.new/translations/French.txt
--- WebCalendar-1.2.0.orig/translations/French.txt	2008-11-11 18:43:29.000000000 +0100
+++ WebCalendar-1.2.0.new/translations/French.txt	2008-11-12 12:44:53.000000000 +0100
@@ -176,8 +176,10 @@
 Allow external file for header/script/trailer: Autoriser l'utilisation de fichier externe pour haut/bas de pages/script
 Allow user to override header/trailer: Autoriser l'utilisateur à écraser le haut et le pied de page
 Date and Time: Date et heure
-tz-help: Spécifie le décalage horaire à adopter pour ajuster l'heure du serveur à l'heure locale.
+tz-help: Spécifie le décalage horaire à adopter pour ajuster l'heure universelle à l'heure locale.
+server-tz-help: Spécifie le décalage horaire à adopter pour ajuster l'heure universelle à l'heure du serveur.
 Server Timezone Selection: Sélection du fuseau horaire du serveur
+Default Client Timezone Selection: Fuseau horaire par défaut du client
 display-general-use-gmt-help: Si activé, les dates et heures standards sont affichées au format GMT
 Display Common Use Date/Times as GMT: Afficher les dates/heures au format GMT
 date-format-help: Spécifie le format d'affichage des dates.
diff -Naur WebCalendar-1.2.0.orig/translations/French-UTF8.txt WebCalendar-1.2.0.new/translations/French-UTF8.txt
--- WebCalendar-1.2.0.orig/translations/French-UTF8.txt	2008-09-27 16:49:28.000000000 +0200
+++ WebCalendar-1.2.0.new/translations/French-UTF8.txt	2008-11-12 12:46:08.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Translated by: Yves Moenner <yves.moenner at mailcity.com>
 # Checked by: Romuald Texier <romualdt at free.fr>
-# Updated by : Gérard Delafond
+# Updated by : Gérard Delafond
 # Updated by : Luc Capronnier, Wilfrid Hubert
 # Updated by : Mario Dragone <mario.dragone at reims.iufm.fr>
 # Updated by : erational <http://www.erational.org>
@@ -116,7 +116,8 @@
 Custom header: En-tête personnalisé
 custom-trailer-help: Permet d'ajouter un code HTML personnalisé au bas de chaque page
 Custom trailer: Bas de page personnalisé
-tz-help: Spécifie le décalage horaire à adopter pour ajuster l'heure du serveur à l'heure locale.
+tz-help: Spécifie le décalage horaire à adopter pour ajuster l'heure universelle à l'heure locale.
+server-tz-help: Spécifie le décalage horaire à adopter pour ajuster l'heure universelle à l'heure du serveur.
 date-format-help: Spécifie le format d'affichage des dates.
 Date format: Format des dates
 display-week-starts-on: Spécifie par quel jour commence la semaine. Si Lundi est choisi, les numéros des semaines seront à la norme ISO.

WebCalendar-1.2.0-extcaptcha.patch:
 edit_entry.php                 |    4 +--
 edit_entry_handler.php         |    4 +--
 includes/classes/wccaptcha.php |   50 +++++++++++++++++++++++++++++++++++++++++
 translations/French.txt        |    4 ++-
 4 files changed, 57 insertions(+), 5 deletions(-)

--- NEW FILE WebCalendar-1.2.0-extcaptcha.patch ---
diff -Naur WebCalendar-1.2.0.orig/edit_entry_handler.php WebCalendar-1.2.0.new/edit_entry_handler.php
--- WebCalendar-1.2.0.orig/edit_entry_handler.php	2009-06-08 16:41:01.000000000 +0200
+++ WebCalendar-1.2.0.new/edit_entry_handler.php	2009-06-09 17:41:54.000000000 +0200
@@ -332,10 +332,10 @@
   $error = print_not_auth (6);
 
 // CAPTCHA
-if ( file_exists ( 'includes/classes/captcha/captcha.php' ) && $login == '__public__' && !
+if ( file_exists ( 'includes/classes/wccaptcha.php' ) && $login == '__public__' && !
     empty ( $ENABLE_CAPTCHA ) && $ENABLE_CAPTCHA == 'Y' ) {
   if ( function_exists ( 'imagecreatetruecolor' ) ) {
-    include_once 'includes/classes/captcha/captcha.php';
+    include_once 'includes/classes/wccaptcha.php';
     $res = captcha::check ();
     if ( ! $res )
       $error = translate ( 'You must enter the anti-spam text on the previous page.' );
diff -Naur WebCalendar-1.2.0.orig/edit_entry.php WebCalendar-1.2.0.new/edit_entry.php
--- WebCalendar-1.2.0.orig/edit_entry.php	2008-07-02 02:49:02.000000000 +0200
+++ WebCalendar-1.2.0.new/edit_entry.php	2009-06-09 17:41:31.000000000 +0200
@@ -1579,11 +1579,11 @@
     </fieldset>' );
   }
 
-  if ( file_exists ( 'includes/classes/captcha/captcha.php' ) &&
+  if ( file_exists ( 'includes/classes/wccaptcha.php' ) &&
       $login == '__public__' && !
       empty ( $ENABLE_CAPTCHA ) && $ENABLE_CAPTCHA == 'Y' ) {
     if ( function_exists ( 'imagecreatetruecolor' ) ) {
-      include_once 'includes/classes/captcha/captcha.php';
+      include_once 'includes/classes/wccaptcha.php';
       echo captcha::form ();
     } else
       etranslate ( 'CAPTCHA Warning' );
diff -Naur WebCalendar-1.2.0.orig/includes/classes/wccaptcha.php WebCalendar-1.2.0.new/includes/classes/wccaptcha.php
--- WebCalendar-1.2.0.orig/includes/classes/wccaptcha.php	1970-01-01 01:00:00.000000000 +0100
+++ WebCalendar-1.2.0.new/includes/classes/wccaptcha.php	2009-06-09 18:57:32.000000000 +0200
@@ -0,0 +1,50 @@
+<?php
+/*
+   Configure captchaphp module and include it.
+*/
+
+
+if (empty($SERVER_URL)) {
+  // In case of direct call (to get the image and the javascript), $SERVER_URL
+  //  is not defined, so we compute it here from server parameters.
+
+  $wccaptcha_proto = empty($_SERVER['HTTPS']) ? "http": "https";
+  $wccaptcha_port = empty($_SERVER['SERVER_PORT'])? "": $_SERVER['SERVER_PORT'];
+
+  if ($wccaptcha_port == ($wccaptcha_proto == "http"? 80: 443))
+    $wccaptcha_port = "";
+  else
+    $wccaptcha_port = ":$wccaptcha_port";
+
+  $SERVER_URL = "$wccaptcha_proto://{$_SERVER[SERVER_NAME]}$wccaptcha_port/";
+
+  if (!empty($_SERVER['REQUEST_URI'])) {
+    $wccaptcha_uripath = preg_split('/\//', $_SERVER['REQUEST_URI'], -1,
+     PREG_SPLIT_NO_EMPTY);
+    $wccaptcha_filepath = preg_split('/[\/]/', $_SERVER['SCRIPT_FILENAME'], -1,
+     PREG_SPLIT_NO_EMPTY);
+
+    while (count($wccaptcha_filepath) > 0 && count($wccaptcha_uripath) > 0) {
+      array_pop($wccaptcha_uripath);
+      array_pop($wccaptcha_filepath);
+
+      if (is_dir('/' . implode('/', $wccaptcha_filepath) . "/includes")) {
+        $SERVER_URL .= implode('/', $wccaptcha_uripath) . '/';
+        break;
+      }
+    }
+  }
+} else {
+  // The translate function is not available within direct calls. Happily,
+  //  we only need the following definitions in non-direct calls.
+
+  @define('CAPTCHA_PROMPT_TEXT', translate('Enter the correct letters and numbers from the image into the text box...'));
+  @define('CAPTCHA_WHATIS_TEXT', translate('What is %s ='));
+  @define('CAPTCHA_REDRAW_TEXT', translate('click on image to redraw'));
+}
+
+ at define('CAPTCHA_INVERSE', 0);		// white or black(=1)
+ at define("CAPTCHA_NEW_URLS", 0);		// Force captcha only when URLs submitted
+ at define('CAPTCHA_BASE_URL', $SERVER_URL . "includes/classes/wccaptcha.php");
+include_once('captchaphp/captcha.php');	// Will include it from include_path.
+?>
diff -Naur WebCalendar-1.2.0.orig/translations/French.txt WebCalendar-1.2.0.new/translations/French.txt
--- WebCalendar-1.2.0.orig/translations/French.txt	2009-06-08 16:41:01.000000000 +0200
+++ WebCalendar-1.2.0.new/translations/French.txt	2009-06-09 18:40:52.000000000 +0200
@@ -1603,8 +1603,10 @@
 # Page: includes/classes/captcha/captcha.php
 #
 Enter Characters Seen in Graphic: Entrez les caractères présents sur l'image
-Enter the correct letters and numbers from the image into the text box...: Entrez les lettres et chiffres présents dans l'image dans le champ de saisie. The test sert de restriction d'accès pour des robots. Rechargez la page si le graphique est trop difficile à lire.
+Enter the correct letters and numbers from the image into the text box...: Entrez les lettres et chiffres présents dans l'image dans le champ de saisie. Le test sert de restriction d'accès pour des robots. Rechargez la page si le graphique est trop difficile à lire.
 Challenge/Response: Protocol/réponse
+What is %s =: Combien vaut %s ?
+click on image to redraw: Cliquez sur l'image pour la recharger
 
 ########################################
 # Page: includes/js/admin.php

WebCalendar-1.2.0-extmenu.patch:
 init.php       |    8 +++-----
 menu/index.php |    1 +
 2 files changed, 4 insertions(+), 5 deletions(-)

--- NEW FILE WebCalendar-1.2.0-extmenu.patch ---
diff -Naur WebCalendar-1.2.0.orig/includes/init.php WebCalendar-1.2.0.new/includes/init.php
--- WebCalendar-1.2.0.orig/includes/init.php	2008-07-02 02:49:02.000000000 +0200
+++ WebCalendar-1.2.0.new/includes/init.php	2009-06-10 19:04:43.000000000 +0200
@@ -126,7 +126,9 @@
       ? $GLOBALS['sys_MENU_THEME'] :
       $MENU_THEME );
     $ret .= '
-    <script type="text/javascript" src="includes/menu/JSCookMenu.js"></script>
+    <script type="text/javascript" src="/JSCookMenu/JSCookMenu.js"></script>
+    <link rel="stylesheet" type="text/css" href="includes/menu/themes/'
+     . $menu_theme . '/theme.css" />
     <script type="text/javascript" src="includes/menu/themes/' . $menu_theme
      . '/theme.js"></script>';
   }
@@ -149,12 +151,8 @@
   if ( $HeadX )
     $ret .= '
     ' . $HeadX;
-  // Include the CSS needed for the top menu and themes.
   if ( $MENU_ENABLED == 'Y' ) {
     include_once 'includes/menu/index.php';
-    $ret .= '
-    <link rel="stylesheet" type="text/css" href="includes/menu/themes/'
-     . $menu_theme . '/theme.css" />';
   }
   // Add RSS feed for unapproved events if approvals are required
   if ( $GLOBALS['REQUIRE_APPROVALS'] == 'Y' && $login != '__public__' && $is_admin ) {
diff -Naur WebCalendar-1.2.0.orig/includes/menu/index.php WebCalendar-1.2.0.new/includes/menu/index.php
--- WebCalendar-1.2.0.orig/includes/menu/index.php	2008-07-02 02:49:03.000000000 +0200
+++ WebCalendar-1.2.0.new/includes/menu/index.php	2009-06-10 19:20:57.000000000 +0200
@@ -2,6 +2,7 @@
 /* $Id: index.php,v 1.60.2.15 2008/04/23 20:22:55 umcesrjones Exp $
  *
  * This menu was created using some fantastic free tools out on the internet:
+ *  http://jscook.yuanheng.org/JSCookMenu/MenuBuilder.html
  * See README.LICENSE in icons directory.
  */
 defined ( '_ISVALID' ) or die ( 'You cannot access this file directly!' );

WebCalendar-1.2.0-httpauthpub.patch:
 WebCalendar.class |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

--- NEW FILE WebCalendar-1.2.0-httpauthpub.patch ---
diff -Naur WebCalendar-1.2.0.orig/includes/classes/WebCalendar.class WebCalendar-1.2.0.new/includes/classes/WebCalendar.class
--- WebCalendar-1.2.0.orig/includes/classes/WebCalendar.class	2009-06-08 15:11:46.000000000 +0200
+++ WebCalendar-1.2.0.new/includes/classes/WebCalendar.class	2009-06-08 15:23:15.000000000 +0200
@@ -729,9 +729,15 @@
           $user_email = $login_email;
         } else {
           // Invalid login.
-          if ( $use_http_auth )
-            send_http_login ();
-          else
+          if ( $use_http_auth ) {
+            if ($pub_acc_enabled) {
+              $login = '__public__';
+              $firstname = $lastname = $user_email = '';
+              $fullname = 'Public Access';
+              $is_admin = false;
+            } else
+              send_http_login ();
+          } else
             // This shouldn't happen since login should be validated in validate.php.
             // If it does happen, it means we received an invalid login cookie.
             do_redirect ( $login_url . '&amp;error=Invalid+session+found.' );

WebCalendar-1.2.0-newmenuicons.patch:
 index.php |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- NEW FILE WebCalendar-1.2.0-newmenuicons.patch ---
diff -Naur WebCalendar-1.2.0.orig/includes/menu/index.php WebCalendar-1.2.0.new/includes/menu/index.php
--- WebCalendar-1.2.0.orig/includes/menu/index.php	2009-08-13 19:13:33.000000000 +0200
+++ WebCalendar-1.2.0.new/includes/menu/index.php	2009-08-13 19:18:40.000000000 +0200
@@ -2,8 +2,7 @@
 /* $Id: index.php,v 1.60.2.15 2008/04/23 20:22:55 umcesrjones Exp $
  *
  * This menu was created using some fantastic free tools out on the internet:
- *  - Most icons by everaldo at http://en.crystalxp.net/ (with his permission )
- *  - Javascript & CSS by JSCookMenu at http://www.cs.ucla.edu/~heng/JSCookMenu/
+ * See README.LICENSE in icons directory.
  */
 defined ( '_ISVALID' ) or die ( 'You cannot access this file directly!' );
 

WebCalendar-1.2.0-nolangwarn.patch:
 WebCalendar.class |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE WebCalendar-1.2.0-nolangwarn.patch ---
diff -Naur WebCalendar-1.2.0.orig/includes/classes/WebCalendar.class WebCalendar-1.2.0.new/includes/classes/WebCalendar.class
--- WebCalendar-1.2.0.orig/includes/classes/WebCalendar.class	2008-11-10 17:27:03.000000000 +0100
+++ WebCalendar-1.2.0.new/includes/classes/WebCalendar.class	2008-11-10 17:28:16.000000000 +0100
@@ -877,7 +877,7 @@
 
     if (extension_loaded('mbstring')) {
       $mb_lang = strtok($lang, '-');
-      if (mb_language($mb_lang) && mb_internal_encoding(translate('charset'))) {
+      if (@mb_language($mb_lang) && mb_internal_encoding(translate('charset'))) {
         $enable_mbstring = true;
       } else {
         $enable_mbstring = false;

WebCalendar-1.2.0-offsetdays.patch:
 functions.php |    8 ++++++++
 1 file changed, 8 insertions(+)

--- NEW FILE WebCalendar-1.2.0-offsetdays.patch ---
diff -Naur WebCalendar-1.2.0.orig/includes/functions.php WebCalendar-1.2.0.new/includes/functions.php
--- WebCalendar-1.2.0.orig/includes/functions.php	2009-01-26 12:57:29.000000000 +0100
+++ WebCalendar-1.2.0.new/includes/functions.php	2009-01-26 13:06:09.000000000 +0100
@@ -2293,6 +2293,14 @@
     $byxxxDay = '';
     $dayTxt = substr ( $day, -2, 2 );
     $dayOffset = substr_replace ( $day, '', -2, 2 );
+
+    // It is possible to have spurious offset days within a 'daily' repetition,
+    //   by setting them while in month/year repetition type, then changing
+    //   type to 'daily'.
+    // These situations will lead in a crash without the following test.
+    if (is_numeric($dayOffset) && !isset($ditype))
+      continue;
+
     $dowOffset = ( ( -1 * $byday_values[$dayTxt] ) + 7 ) % 7; //SU=0, MO=6, TU=5...
     if ( is_numeric ( $dayOffset ) && $dayOffset > 0 ) {
       // Offset from beginning of $type.

WebCalendar-1.2.0-reset_reminder.patch:
 edit_entry_handler.php |    6 ++++++
 1 file changed, 6 insertions(+)

--- NEW FILE WebCalendar-1.2.0-reset_reminder.patch ---
diff -Naur WebCalendar-1.2.0.orig/edit_entry_handler.php WebCalendar-1.2.0.new/edit_entry_handler.php
--- WebCalendar-1.2.0.orig/edit_entry_handler.php	2008-07-02 02:49:02.000000000 +0200
+++ WebCalendar-1.2.0.new/edit_entry_handler.php	2008-12-05 18:57:05.000000000 +0100
@@ -703,6 +703,12 @@
     if ( empty ( $rem_before ) )
       $rem_before = 'Y';
 
+    // If entry has changed, reset the reminder.
+    if ($entry_changed) {
+      $rem_last_sent = '0';
+      $rem_times_sent = '0';
+    }
+
     if ( empty ( $rem_last_sent ) )
       $rem_last_sent = '0';
 

WebCalendar-1.2.0-usercase.patch:
 includes/classes/WebCalendar.class |   16 ++++++++++++----
 includes/config.php                |   12 +++++++++---
 includes/settings.php.orig         |    5 +++++
 install/index.php                  |   14 ++++++++++++++
 tools/send_reminders.php           |   13 +++++++++++--
 translations/English-US.txt        |    1 +
 translations/French.txt            |    1 +
 7 files changed, 53 insertions(+), 9 deletions(-)

--- NEW FILE WebCalendar-1.2.0-usercase.patch ---
diff -Naur WebCalendar-1.2.0.orig/includes/classes/WebCalendar.class WebCalendar-1.2.0.new/includes/classes/WebCalendar.class
--- WebCalendar-1.2.0.orig/includes/classes/WebCalendar.class	2008-09-28 02:40:06.000000000 +0200
+++ WebCalendar-1.2.0.new/includes/classes/WebCalendar.class	2008-11-07 19:02:06.000000000 +0100
@@ -134,7 +134,8 @@
    */
   function _initInitSecondPhase () {
     global $ALLOW_VIEW_OTHER, $can_add, $can_add, $cat_id, $CATEGORIES_ENABLED,
-    $CATEGORY_VIEW, $caturl, $date, $DMW, $friendly, $override, $fullname, $GROUPS_ENABLED,
+    $CATEGORY_VIEW, $caturl, $date, $DMW, $friendly, $ignore_user_case,
+    $override, $fullname, $GROUPS_ENABLED,
     $hour, $id, $is_admin, $is_assistant, $is_nonuser, $login, $minute, $month,
     $NONUSER_ENABLED, $nonusers, $ovrd, $PUBLIC_ACCESS, $PUBLIC_ACCESS_CAN_ADD,
     $PUBLIC_ACCESS_FULLNAME, $PUBLIC_ACCESS_OTHERS, $readonly, $u_url, $user,
@@ -161,6 +162,9 @@
     if ( empty ( $PUBLIC_ACCESS ) )
       $PUBLIC_ACCESS = 'N';
 
+    if ($ignore_user_case)
+      $user = strtolower($user);
+
     // Initialize access settings ($user_access string)
     // and make sure user is allowed to view the current page.
     access_init ();
@@ -416,9 +420,9 @@
    */
   function _initValidate () {
     global $c, $cryptpw, $db_database, $db_host, $db_login, $db_password,
-    $encoded_login, $HTTP_ENV_VARS, $HTTP_SERVER_VARS, $is_nonuser, $login,
-    $login_return_path, $PHP_AUTH_USER, $REMOTE_USER, $SCRIPT,
-    $session_not_found, $settings, $single_user, $single_user_login,
+    $encoded_login, $HTTP_ENV_VARS, $HTTP_SERVER_VARS, $ignore_user_case,
+    $is_nonuser, $login, $login_return_path, $PHP_AUTH_USER, $REMOTE_USER,
+    $SCRIPT, $session_not_found, $settings, $single_user, $single_user_login,
     $use_http_auth, $user_inc, $validate_redirect, $webcalendar_session;
 
     /* If WebCalendar is configured to use http authentication, then we can
@@ -562,6 +566,10 @@
         }
       }
     }
+
+    //     If login is not case-sensitive, map it to lowercase now.
+    if ($ignore_user_case)
+     $login = strtolower($login);
   }
 
   /* Initializations from includes/connect.php.
diff -Naur WebCalendar-1.2.0.orig/includes/config.php WebCalendar-1.2.0.new/includes/config.php
--- WebCalendar-1.2.0.orig/includes/config.php	2008-09-28 02:07:33.000000000 +0200
+++ WebCalendar-1.2.0.new/includes/config.php	2008-11-07 19:02:06.000000000 +0100
@@ -85,9 +85,10 @@
 
 function do_config ( $fileLoc ) {
   global $db_database, $db_host, $db_login, $db_password, $db_persistent,
-  $db_type, $NONUSER_PREFIX, $phpdbiVerbose, $PROGRAM_DATE, $PROGRAM_NAME,
-  $PROGRAM_URL, $PROGRAM_VERSION, $readonly, $run_mode, $settings, $single_user,
-  $single_user_login, $TROUBLE_URL, $use_http_auth, $user_inc;
+  $db_type, $ignore_user_case, $NONUSER_PREFIX, $phpdbiVerbose, $PROGRAM_DATE,
+  $PROGRAM_NAME, $PROGRAM_URL, $PROGRAM_VERSION, $readonly, $run_mode,
+  $settings, $single_user, $single_user_login, $TROUBLE_URL, $use_http_auth,
+  $user_inc;
 
   $PROGRAM_VERSION = 'v1.2.0';
   $PROGRAM_DATE = '27 Sep 2008';
@@ -213,6 +214,11 @@
   $use_http_auth = ( preg_match ( '/(1|yes|true|on)/i',
       $settings['use_http_auth'] ) ? true : false );
 
+  // Whether user name is case-insensitive.
+  $ignore_user_case = isset($settings['ignore_user_case'])?
+    preg_match("/(1|yes|true|on)/i", $settings['ignore_user_case'])?
+    true: false: false;
+
   // Type of user authentication.
   $user_inc = $settings['user_inc'];
 
diff -Naur WebCalendar-1.2.0.orig/includes/settings.php.orig WebCalendar-1.2.0.new/includes/settings.php.orig
--- WebCalendar-1.2.0.orig/includes/settings.php.orig	2008-02-20 16:14:44.000000000 +0100
+++ WebCalendar-1.2.0.new/includes/settings.php.orig	2008-11-07 19:02:06.000000000 +0100
@@ -71,5 +71,10 @@
 # need to modify user-ldap.php to configure some settings.
 user_inc: user.php
 
+# Set the following to true if the user name authentication is not
+# case-sensitive. This results in translating all authenticated user names
+# to lowercase.
+ignore_user_case: false
+
 # end */
 ?>
diff -Naur WebCalendar-1.2.0.orig/install/index.php WebCalendar-1.2.0.new/install/index.php
--- WebCalendar-1.2.0.orig/install/index.php	2008-09-28 02:47:57.000000000 +0200
+++ WebCalendar-1.2.0.new/install/index.php	2008-11-07 19:13:48.000000000 +0100
@@ -646,6 +646,7 @@
     $settings['install_password'] = '';
     $settings['single_user_login'] = '';
     $settings['use_http_auth'] = 'false';
+    $settings['ignore_user_case'] = 'false';
     $settings['single_user'] = 'false';
   }
 } else {
@@ -672,6 +673,7 @@
 $y = getPostValue ( 'app_settings' );
 if ( ! empty ( $y ) ) {
   $settings['single_user_login'] = getPostValue ( 'form_single_user_login' );
+  $settings['ignore_user_case'] = getPostValue ( 'form_ignore_user_case' );
   $settings['readonly'] = getPostValue ( 'form_readonly' );
   $settings['mode'] = getPostValue ( 'form_mode' );
   if ( getPostValue ( 'form_user_inc' ) == 'http' ) {
@@ -820,8 +822,10 @@
   }
   if ( form.form_user_inc.options[listid].selected ) {
     makeVisible ( "singleuser" );
+    makeInvisible ( "usercase" );
   } else {
     makeInvisible ( "singleuser" );
+    makeVisible ( "usercase" );
   }
 }
 
@@ -1480,6 +1484,16 @@
     <td>
      <input name="form_single_user_login" size="20" value="<?php echo ( empty ( $settings['single_user_login'] ) ? '' : $settings['single_user_login'] );?>" /></td>
    </tr>
+   <tr id="usercase">
+    <td class="prompt"><?php etranslate ( 'Case-insensitive user name' ) ?>:</td>
+    <td>
+     <input name="form_ignore_user_case" value="true" type="radio"
+ <?php echo ( $settings['ignore_user_case'] == 'true' )? $checked : '';?> /><?php etranslate ( 'Yes' ) ?>
+ &nbsp;&nbsp;&nbsp;&nbsp;
+ <input name="form_ignore_user_case" value="false" type="radio"
+ <?php echo ( $settings['ignore_user_case'] != 'true' )? $checked : '';?> /><?php etranslate ( 'No' ) ?>
+     </td>
+    </tr>
    <tr>
     <td class="prompt"><?php etranslate ( 'Read-Only' ) ?>:</td>
     <td>
diff -Naur WebCalendar-1.2.0.orig/tools/send_reminders.php WebCalendar-1.2.0.new/tools/send_reminders.php
--- WebCalendar-1.2.0.orig/tools/send_reminders.php	2008-07-02 02:49:03.000000000 +0200
+++ WebCalendar-1.2.0.new/tools/send_reminders.php	2008-11-07 19:02:06.000000000 +0100
@@ -103,6 +103,10 @@
 for ( $i = 0; $i < $allusercnt; $i++ ) {
   $names[$allusers[$i]['cal_login']] = $allusers[$i]['cal_fullname'];
   $emails[$allusers[$i]['cal_login']] = $allusers[$i]['cal_email'];
+
+  if ($ignore_user_case)
+    $names[$allusers[$i]['cal_login']] =
+     strtolower($names[$allusers[$i]['cal_login']]);
 }
 
 $attachics = $htmlmail = $languages = $noemail = $t_format = $tz = array ();
@@ -254,7 +258,8 @@
 // But, don't send to users who rejected (cal_status='R' ).
 function send_reminder ( $id, $event_date ) {
   global $ALLOW_EXTERNAL_USERS, $debug, $def_tz, $emails,
-  $EXTERNAL_REMINDERS, $attachics, $htmlmail, $is_task, $LANGUAGE, $languages, $names,
+  $EXTERNAL_REMINDERS, $attachics, $htmlmail, $ignore_user_case,
+  $is_task, $LANGUAGE, $languages, $names,
   $only_testing, $SERVER_URL, $site_extras, $t_format, $tz;
 
   $ext_participants = $participants = array ();
@@ -271,7 +276,11 @@
 
   if ( $res ) {
     while ( $row = dbi_fetch_row ( $res ) ) {
-      $participants[$num_participants++] = $row[0];
+      if ($ignore_user_case)
+        $participants[$num_participants++] = strtolower($row[0]);
+      else
+        $participants[$num_participants++] = $row[0];
+
       $percentage[$row[0]] = $row[1];
     }
   }
diff -Naur WebCalendar-1.2.0.orig/translations/English-US.txt WebCalendar-1.2.0.new/translations/English-US.txt
--- WebCalendar-1.2.0.orig/translations/English-US.txt	2008-09-27 16:49:28.000000000 +0200
+++ WebCalendar-1.2.0.new/translations/English-US.txt	2008-11-07 19:16:16.000000000 +0100
@@ -1844,6 +1844,7 @@
 Web Server (detected): Web Server (detected)
 Web Server (not detected): Web Server (not detected)
 None (Single-User): None (Single-User)
+Case-insensitive user name: Case-insensitive user name
 Read-Only: Read-Only
 Environment: Environment
 Production: Production
diff -Naur WebCalendar-1.2.0.orig/translations/French.txt WebCalendar-1.2.0.new/translations/French.txt
--- WebCalendar-1.2.0.orig/translations/French.txt	2008-09-27 16:49:28.000000000 +0200
+++ WebCalendar-1.2.0.new/translations/French.txt	2008-11-07 19:18:14.000000000 +0100
@@ -1790,6 +1790,7 @@
 Web Server (detected): =
 Web Server (not detected): =
 None (Single-User): =
+Case-insensitive user name: =
 Read-Only: =
 Environment: =
 Production: =

WebCalendar-1.2.0-weektimebar.patch:
 includes/functions.php  |    4 ++--
 translations/French.txt |    4 ++--
 view_t.php              |   12 ++++++------
 3 files changed, 10 insertions(+), 10 deletions(-)

--- NEW FILE WebCalendar-1.2.0-weektimebar.patch ---
diff -Naur WebCalendar-1.2.0.orig/includes/functions.php WebCalendar-1.2.0.new/includes/functions.php
--- WebCalendar-1.2.0.orig/includes/functions.php	2008-09-27 16:51:48.000000000 +0200
+++ WebCalendar-1.2.0.new/includes/functions.php	2008-11-10 19:01:26.000000000 +0100
@@ -4080,9 +4080,9 @@
       if ( $row[2] == 'E' )
         $url .= 'r.php?';
       elseif ( $row[2] == 'S' )
-        $url .= 't.php?timeb=1&amp;';
+        $url .= 't.php?';
       elseif ( $row[2] == 'T' )
-        $url .= 't.php?timeb=0&amp;';
+        $url .= 't.php?';
       else
         $url .= strtolower ( $row[2] ) . '.php?';
 
diff -Naur WebCalendar-1.2.0.orig/translations/French.txt WebCalendar-1.2.0.new/translations/French.txt
--- WebCalendar-1.2.0.orig/translations/French.txt	2008-11-10 17:32:37.000000000 +0100
+++ WebCalendar-1.2.0.new/translations/French.txt	2008-11-10 19:03:12.000000000 +0100
@@ -209,7 +209,7 @@
 fonts-help: Permet de définir une liste de polices pour l'affichage (par exemple "Helvetica, Arial, sans-serif").
 Fonts: Polices
 display-sm_month-help: Si activé, affiche les mois courts dans la vue mensuelle
-Display small months: Afficher les ois au format court
+Display small months: Afficher les mois au format court
 display-weekends-help: Inclure les week-ends lors de la visualisation de la semaine.
 Display weekends: Afficher les week-ends
 display-long-daynames-help: Si activé, les noms longs pour les jours seront affichés
@@ -1320,7 +1320,7 @@
 #
 December: décembre
 Dec: Déc
-LANGUAGE DEFINED: LANGAGE DÉFINIT
+LANGUAGE DEFINED: LANGAGE DÉFINI
 
 ########################################
 # Page: includes/dbi4php.php
diff -Naur WebCalendar-1.2.0.orig/view_t.php WebCalendar-1.2.0.new/view_t.php
--- WebCalendar-1.2.0.orig/view_t.php	2008-03-07 21:15:45.000000000 +0100
+++ WebCalendar-1.2.0.new/view_t.php	2008-11-10 18:58:51.000000000 +0100
@@ -242,13 +242,13 @@
 
 $date = ( empty ( $date ) ? date ( 'Ymd' ) : $date );
 // Initialize date to first of current month.
-if ( empty ( $timeb ) || $timeb == 0 )
+if ($view_type != 'S')
   $date = substr ( $date, 0, 6 ) . '01';
 
 set_today ( $date );
 
 // Week timebar.
-if ( ! empty ( $timeb ) && $timeb == 1 ) {
+if ($view_type == 'S') {
   $next = mktime ( 0, 0, 0, $thismonth, $thisday + 7, $thisyear );
   $prev = mktime ( 0, 0, 0, $thismonth, $thisday - 7, $thisyear );
   $wkstart = get_weekday_before ( $thisyear, $thismonth, $thisday + 1 );
@@ -295,11 +295,11 @@
 
 echo '
     <div style="width:99%;">
-      <a title="' . $prevStr . '" class="prev" href="view_t.php?timeb=' . $timeb
- . '&amp;id=' . $id . '&amp;date=' . $prevdate
+      <a title="' . $prevStr . '" class="prev" href="view_t.php?id=' . $id .
+	'&amp;date=' . $prevdate
  . '"><img src="images/leftarrow.gif" alt="' . $prevStr . '" /></a>
-      <a title="' . $nextStr . '" class="next" href="view_t.php?timeb=' . $timeb
- . '&amp;id=' . $id . '&amp;date=' . $nextdate
+      <a title="' . $nextStr . '" class="next" href="view_t.php?id=' . $id .
+	'&amp;date=' . $nextdate
  . '"><img src="images/rightarrow.gif" alt="' . $nextStr . '" /></a>
       <div class="title">
         <span class="date">' . date_to_str ( date ( 'Ymd', $wkstart ), '', false )


--- NEW FILE WebCalendar-http.conf ---
#
#	WebCalendar.
#
Alias /WebCalendar @BASEPATH@

<Directory @BASEPATH@>
	DirectoryIndex		index.php
	Options			Indexes Includes ExecCGI
	AllowOverride		None
	Order			Allow,Deny
	Allow from		localhost.localdomain
	AddDefaultCharset	Off
	php_value		magic_quotes_gpc	0
	php_value		register_globals	0
	php_value		error_reporting		2039
</Directory>

<Directory @BASEPATH@/tools>
	Options			None
	AllowOverride		None
	Order			Deny,Allow
	Deny from		All
</Directory>


--- NEW FILE WebCalendar-taglang.php ---
<?php

//	Script to tag translation files with the corresponding %lang().

include("includes/translate.php");
define_languages();
$matches = array();
$line = rtrim(fgets(STDIN));

while (!feof(STDIN)) {
	if (preg_match('#/translations/(.*)\.txt$#', $line, $matches)) {
		$abbrev = languageToAbbrev($matches[1]);

		if ($abbrev === FALSE) {
			$lang = array_search($matches[1], $languages);

			if ($lang !== FALSE) {
				$lang = explode(' ', $lang);
				$abbrev = languageToAbbrev($lang[0]);
				}
			}

		if ($abbrev !== FALSE)
			$line = "%lang($abbrev) $line";
		}

	echo "$line\n";
	$line = rtrim(fgets(STDIN));
	}

exit(0);
?>


--- NEW FILE WebCalendar.spec ---
%define		basepath	%{_datadir}/%{name}
%define		manualVersion	0.9.43

#	The main tarball in this package is a downgraded version of the
#		upstream tarball, because of menu icon license issues.
#	To rebuild it from upstream tarball, submit the following commands:
#
# wget									\
#  "http://downloads.sourceforge.net/webcalendar/WebCalendar-%{version}.tar.gz"
# tar xzf WebCalendar-%{version}.tar.gz 
# rm -rf WebCalendar-%{version}/includes/menu/icons
# tar czf WebCalendar-%{version}-clean.tar.gz WebCalendar-%{version}/
#
#	Upstream tarball MD5 sum:
#		520bd108e9e4d2a14425d2b5b8cc2e1e  WebCalendar-1.2.0.tar.gz
#
#	Source tarball WebCalendar-1.2.0-newmenuicons.tar.gz is Fedora-
#		specific and thus, has no "upstream".

Name:		WebCalendar
Summary:	Single/multi-user web-based calendar application
Version:	1.2.0
Release:	8%{?dist}
License:	GPLv2
Group:		Applications/Internet
Source0:	WebCalendar-%{version}-clean.tar.gz
Source1:	WebCalendar-1.2.0-newmenuicons.tar.gz
Source2:	http://downloads.sourceforge.net/webcalendar/WebCalendarUserManual-%{manualVersion}.tar.gz
Source3:	WebCalendar-http.conf
Source4:	WebCalendar-taglang.php
Patch1:		WebCalendar-1.2.0-newmenuicons.patch
Patch2:		WebCalendar-1.2.0-extmenu.patch
Patch3:		WebCalendar-1.2.0-extcaptcha.patch
Patch4:		WebCalendar-1.2.0-usercase.patch
Patch5:		WebCalendar-1.2.0-shebang.patch
Patch6:		WebCalendar-1.2.0-nolangwarn.patch
Patch7:		WebCalendar-1.2.0-weektimebar.patch
Patch8:		WebCalendar-1.2.0-deftimezone.patch
Patch9:		WebCalendar-1.2.0-reset_reminder.patch
Patch10:	WebCalendar-1.2.0-offsetdays.patch
Patch11:	WebCalendar-1.2.0-approve.patch
Patch12:	WebCalendar-1.2.0-httpauthpub.patch
Patch13:	WebCalendar-1.2.0-eventstatus.patch
URL:		http://www.k5n.us/webcalendar.php
Requires:	webserver
Requires:	php >= 4.1.0
Requires:	php-gd php_database
Requires:	php-hkit php-PHPMailer php-captchaphp
Requires:	JSCookMenu
BuildRequires:	php-cli
Buildarch:	noarch
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root

%description
  WebCalendar is a PHP-based calendar application that can be configured as a
single-user calendar, a multi-user calendar for groups of users, or as an
event calendar viewable by visitors. MySQL, PostgreSQL, Oracle, DB2,
Interbase, MS SQL Server, or ODBC is required.
  WebCalendar can be setup in a variety of ways, such as...
	* A schedule management system for a single person
	* A schedule management system for a group of people, allowing one or
	  more assistants to manage the calendar of another user
	* An events schedule that anyone can view, allowing visitors to submit
	  new events
	* A calendar server that can be viewed with iCal-compliant calendar
	  applications like Mozilla Sunbird, Apple iCal or GNOME Evolution or
	  RSS-enabled applications like Firefox, Thunderbird, RSSOwl, or
	  FeedDemon, or BlogExpress.


#-------------------------------------------------------------------------------
%prep
#-------------------------------------------------------------------------------

%setup -q

#	Install the new menu icons.  WARNING: do not dissociate "newmenuicons"
#		patch and tarball.

%setup -q -D -T -a 1
%patch1 -p 1

#	Install the manual.

%setup -q -D -T -a 2
mv WebCalendar*/docs/* docs/

#	Unbundle JSCookMenu.

%patch2 -p 1
rm -rf includes/menu/JSCookMenu.js

#	Unbundle Captcha PHP.

%patch3 -p 1
rm -rf includes/classes/captcha

#	Apply other fixes.

%patch4 -p 1
%patch5 -p 1
%patch6 -p 1
%patch7 -p 1
%patch8 -p 1
%patch9 -p 1
%patch10 -p 1
%patch11 -p 1
%patch12 -p 1
%patch13 -p 1


#-------------------------------------------------------------------------------
%build
#-------------------------------------------------------------------------------

#	There are some scripts with shebang referencing /usr/local/bin.
#	In a normal installation, processors are in %{_bindir}.

set +e
find . -type f | while read file
do	line=`head -n 1 "${file}" | grep '^#![	 ]*/usr/local/bin/'`
	if [ "${line}" ]
	then sed -i -e "1s#/usr/local/bin#%{_bindir}#" "${file}"
	fi
done


#-------------------------------------------------------------------------------
%install
#-------------------------------------------------------------------------------

rm -rf "${RPM_BUILD_ROOT}"

#	install directories.

install -d -m 755 "${RPM_BUILD_ROOT}/%{basepath}"

for DIR in docs icons images includes install themes tools translations ws
do	cp -a "${DIR}" "${RPM_BUILD_ROOT}/%{basepath}/${DIR}"
done

#	Install files.

install -p -m 644 *.php "${RPM_BUILD_ROOT}/%{basepath}/"
install -p -m 644 UPGRADING.html "${RPM_BUILD_ROOT}/%{basepath}/"

#	Replace bundled libraries by external ones.

(
	cd "${RPM_BUILD_ROOT}/%{basepath}/includes/classes/hKit"
	rm -rf hkit.class.php
	ln -s "%{_datadir}/php/hkit/hkit.class.php" .
)

(
	cd "${RPM_BUILD_ROOT}/%{basepath}/includes/classes/phpmailer"
	rm -rf class.phpmailer.php
	ln -s "%{_datadir}/php/PHPMailer/class.phpmailer.php" .
	rm -rf class.smtp.php
	ln -s "%{_datadir}/php/PHPMailer/class.smtp.php" .
)


#	Fix permissions.

find "${RPM_BUILD_ROOT}%{basepath}" -type f -print0 | xargs -0 -r chmod ugo-x
find "${RPM_BUILD_ROOT}%{basepath}/tools" -type f -name '*.php' -print0	|
	xargs -0 -r chmod ugo+x
find "${RPM_BUILD_ROOT}%{basepath}/tools" -type f -name '*.pl' -print0	|
	xargs -0 -r chmod ugo+x

#	Process the configuration files.

install -d -m 755 "${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}"
cp -a "${RPM_BUILD_ROOT}/%{basepath}/includes/settings.php.orig"	\
	"${RPM_BUILD_ROOT}/%{_sysconfdir}/%{name}/settings.php"
ln -s "%{_sysconfdir}/%{name}/settings.php"				\
	"${RPM_BUILD_ROOT}%{basepath}/includes/settings.php"
mv "${RPM_BUILD_ROOT}/%{basepath}/includes/site_extras.php"		\
	"${RPM_BUILD_ROOT}/%{_sysconfdir}/%{name}/"
ln -s "%{_sysconfdir}/%{name}/site_extras.php"				\
	"${RPM_BUILD_ROOT}%{basepath}/includes/site_extras.php"

#	Install Apache configuration file.

install -d "${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d"
sed 's#@BASEPATH@#%{basepath}#g' < "%{SOURCE3}"				\
	> "${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d/%{name}.conf"

#	Install cron file for reminders.

install -d "${RPM_BUILD_ROOT}%{_sysconfdir}/cron.d"
cat > "${RPM_BUILD_ROOT}%{_sysconfdir}/cron.d/%{name}" <<'EOF'

#	Send WebCalendar reminders.
#
#	Uncomment the next line to enable it (every minute).

# * * * * * apache cd %{basepath}/tools; sleep 30; %{_bindir}/php -d magic_quotes_gpc=0 send_reminders.php
EOF


#	Generate base path file list, tagging translation files.

(
	cd "${RPM_BUILD_ROOT}%{basepath}"
	find . -type d | sed -e "s#^\.#%dir %{basepath}#"
	find . -type f | sed -e "s#^\.#%{basepath}#" | php "%{SOURCE4}"
	find . ! \( -type d -o -type f \) | sed -e "s#^\.#%{basepath}#"
) > basepath.filelist


#-------------------------------------------------------------------------------
%clean
#-------------------------------------------------------------------------------

rm -rf "${RPM_BUILD_ROOT}"


#-------------------------------------------------------------------------------
%files -f basepath.filelist
#-------------------------------------------------------------------------------

%defattr(-, root, root, -)
%doc AUTHORS NEWS
%doc GPL.html README.html
%attr(775, root, apache) %dir %{_sysconfdir}/%{name}
%attr(660, root, apache) %config(noreplace) %ghost %{_sysconfdir}/%{name}/settings.php
%config(noreplace) %{_sysconfdir}/%{name}/site_extras.php
%config(noreplace) %{_sysconfdir}/httpd/conf.d/*
%config(noreplace) %{_sysconfdir}/cron.d/%{name}


#-------------------------------------------------------------------------------
%changelog
#-------------------------------------------------------------------------------

* Fri Aug 14 2009 Patrick Monnerat <pm at datasphere.ch> 1.2.0-8
- Use a custom source tarball to get rid of upstream icons with license issue.

* Fri Aug 14 2009 Patrick Monnerat <pm at datasphere.ch> 1.2.0-7
- Patch and tarball "newmenuicons" to replace menu icons that have an unclear
  license.
- Upstream patch references added.

* Tue Jun 23 2009 Patrick Monnerat <pm at datasphere.ch> 1.2.0-6
- Patch "eventstatus" to allow rejecting an accepted event.
  https://sourceforge.net/tracker/?func=detail&aid=2809120&group_id=3870&atid=303870
- Replace "ed" by "sed -i" in build script to get rid of ed requirement.
- Tag translation files.
- Relocate external classes to the proper subdirectories.

* Fri Jun  5 2009 Patrick Monnerat <pm at datasphere.ch> 1.2.0-5
- Patch "approve" to fix event invitation approval.
  https://sourceforge.net/tracker/?func=detail&aid=2801019&group_id=3870&atid=303870
- Use the hKit class from an external package.
- Use the PHPMailer class from an external package.
- Path "httpauthpub" to accept unconfigured http authenticated user for
  public access. https://sourceforge.net/tracker/?func=detail&aid=2802940&group_id=3870&atid=303870
- Patch "extcaptcha" to use a new version of class captchaphp from an
  external package.
- Patch "extmenu" to use a new version of JSCookMenu from an external package.

* Mon Jan 26 2009 Patrick Monnerat <pm at datasphere.ch> 1.2.0-4
- Path "offsetdays" to ignore offset days in daily repetitions.
  https://sourceforge.net/tracker/?func=detail&aid=2537718&group_id=3870&atid=103870

* Fri Dec  5 2008 Patrick Monnerat <pm at datasphere.ch> 1.2.0-3
- Patch "reset_reminder" to reset reminder upon entry change.
  https://sourceforge.net/tracker/?func=detail&aid=2393257&group_id=3870&atid=303870

* Wed Nov 12 2008 Patrick Monnerat <pm at datasphere.ch> 1.2.0-2
- Patch "nolangwarn" to suppress mb_language() warning.
  https://sourceforge.net/forum/forum.php?thread_id=2692495&forum_id=11588
- Patch "weektimebar" to properly display week timebar view.
  https://sourceforge.net/tracker/?func=detail&aid=2261841&group_id=3870&atid=303870
- Patch "deftimezone" to enable configuration of default client timezone.
  https://sourceforge.net/tracker/?func=detail&aid=2269623&group_id=3870&atid=303870

* Fri Nov  7 2008 Patrick Monnerat <pm at datasphere.ch> 1.2.0-1
- Initial packaging.
- Patch "usercase" to add username case-insensitive flag in configuration.
  https://sourceforge.net/tracker/?func=detail&aid=1425442&group_id=3870&atid=303870
- Patch "shebang" to add a missing shebang in a PHP script.
  https://sourceforge.net/tracker/?func=detail&aid=2261885&group_id=3870&atid=303870


--- NEW FILE import.log ---
WebCalendar-1_2_0-8_fc10:HEAD:WebCalendar-1.2.0-8.fc10.src.rpm:1278335526


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/WebCalendar/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- .cvsignore	23 Jun 2010 01:54:04 -0000	1.1
+++ .cvsignore	5 Jul 2010 13:17:16 -0000	1.2
@@ -0,0 +1,3 @@
+WebCalendar-1.2.0-clean.tar.gz
+WebCalendar-1.2.0-newmenuicons.tar.gz
+WebCalendarUserManual-0.9.43.tar.gz


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/WebCalendar/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- sources	23 Jun 2010 01:54:04 -0000	1.1
+++ sources	5 Jul 2010 13:17:16 -0000	1.2
@@ -0,0 +1,3 @@
+14e1c3781d1939257effd509633df2a8  WebCalendar-1.2.0-clean.tar.gz
+c746b936b582c04f69b6052c8c4be2f8  WebCalendar-1.2.0-newmenuicons.tar.gz
+ef48b67a09af50404167c66856cc724d  WebCalendarUserManual-0.9.43.tar.gz



More information about the scm-commits mailing list