Hello community,

here is the log from the commit of package horde3-kronolith for openSUSE:Factory
checked in at Mon Aug 15 12:04:35 CEST 2011.



--------
--- horde3-kronolith/horde3-kronolith.changes   2011-01-31 13:42:50.000000000 
+0100
+++ /mounts/work_src_done/STABLE/horde3-kronolith/horde3-kronolith.changes      
2011-08-13 21:54:54.000000000 +0200
@@ -1,0 +2,6 @@
+Sat Aug 13 19:53:02 UTC 2011 - l...@b1-systems.de
+
+- version 2.3.6
+- [jan] Add upgrade scripts for next-generation SQL share driver.
+- [jan] Export recurrence exceptions in a more portable way.
+-------------------------------------------------------------------

calling whatdependson for head-i586


Old:
----
  kronolith-h3-2.3.5-php5_exec.diff
  kronolith-h3-2.3.5.tar.bz2

New:
----
  HK-GW-kronolith_2.2_RC1-Fbview_relevance.patch
  HK-GW-kronolith_2.2_RC1-Fbview_xfb_access.patch
  HK-SB-kronolith_2.2_RC1-Fbview_extra_params.patch
  HK-SB-kronolith_2.2_RC1-Fbview_save_attendees.patch
  kronolith-h3-2.3.6.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ horde3-kronolith.spec ++++++
--- /var/tmp/diff_new_pack.7E3qmg/_old  2011-08-15 12:03:54.000000000 +0200
+++ /var/tmp/diff_new_pack.7E3qmg/_new  2011-08-15 12:03:54.000000000 +0200
@@ -19,17 +19,16 @@
 
 %define _hordedir %(%{_sbindir}/apxs2 -q datadir)/htdocs/horde/
 %define _kronolithdir %{_hordedir}/kronolith
-%define _pversion 2.3.5
+%define _pversion 2.3.6
 
 Name:           horde3-kronolith
-Version:        2.3.5
-Release:        2
+Version:        2.3.6
+Release:        1
 Summary:        The Horde calendar application
 License:        GPL
 Group:          Productivity/Networking/Other
 Url:            http://www.horde.org/kronolith
-Source0:        kronolith-h3-%{_pversion}.tar.bz2
-Patch0:         kronolith-h3-2.3.5-php5_exec.diff
+Source0:        ftp://ftp.horde.org/pub/kronolith/kronolith-h3-2.3.6.tar.gz
 #Patch1:                       HK-GW-Fix_create_new_event.patch
 #Patch2:                       HK-GW-Fix_share_right_editing.patch
 #Patch3:                       HK-UV-Fix_list_events.patch
@@ -74,14 +73,6 @@
 
 %prep
 %setup -qn kronolith-h3-%{_pversion}
-%patch0
-#%patch1 -p2
-#%patch2 -p2
-#%patch3 -p2
-#%patch4 -p2
-#%patch5 -p2
-#%patch6 -p2
-#%patch7 -p2
 
 %build
 pushd config/
@@ -92,11 +83,12 @@
 %__mkdir_p %{buildroot}%{_kronolithdir}
 %__cp -r ./* %{buildroot}%{_kronolithdir}
 %__rm -rf %{buildroot}%{_kronolithdir}/{docs,README,COPYING}
+%find_lang kronolith
 
 %clean
 %__rm -rf %{buildroot}
 
-%files
+%files -f kronolith.lang
 %defattr(-, root, root)
 %doc docs README COPYING
 %dir %{_kronolithdir}

++++++ HK-GW-kronolith_2.2_RC1-Fbview_relevance.patch ++++++
Allows to set the free/busy relevance on a calendar.

diff -r e7fdad8797ac kronolith/templates/calendars/calendars.inc
--- a/kronolith/templates/calendars/calendars.inc       Thu Nov 29 14:36:50 
2007 +0100
+++ b/kronolith/templates/calendars/calendars.inc       Thu Nov 29 14:43:24 
2007 +0100
@@ -8,7 +8,8 @@ var fields = [];
 <?php foreach ($my_calendars as $id => $cal): ?>
 fields['<?php echo htmlspecialchars($id) ?>'] = [
         "<?php echo rawurlencode(String::convertCharset($cal->get('name'), 
NLS::getCharset(), 'UTF-8')) ?>",
-        "<?php echo rawurlencode(String::convertCharset($cal->get('desc'), 
NLS::getCharset(), 'UTF-8')) ?>"];
+        "<?php echo rawurlencode(String::convertCharset($cal->get('desc'), 
NLS::getCharset(), 'UTF-8')) ?>",
+        "<?php echo $fbrelevance[$id] ?>"];
 <?php endforeach; ?>
 
 function newChoice()
@@ -25,6 +26,7 @@ function newChoice()
         document.shares.edit_share.value = share;
         document.shares.id.value = decodeURIComponent(fields[share][0]);
         document.shares.description.value = 
decodeURIComponent(fields[share][1]);
+        document.shares.fbrelevance[fields[share][2]].checked = true;
         urlObj.innerHTML = "<?php echo 
Util::addParameter(Horde::applicationUrl('month.php', true, -1), 'display_cal', 
'') ?>" + share;
         subscriptionUrlObj.innerHTML = "<?php echo $webdav ? 
(Horde::url($registry->get('webroot', 'horde'), true, -1) . 
'/rpc.php/kronolith/" + share + ".ics"') : 
Util::addParameter(Horde::applicationUrl('ics.php', true, -1), 'c', '') . '" + 
share' ?>;
     }
@@ -126,11 +128,55 @@ function checkSubmit()
    <textarea id="description" name="description" rows="4" cols="60"></textarea>
   </td>
  </tr>
- <tr>
-  <td valign="top" class="nowrap rightAlign">
+</table>
+
+<div class="control">
+ <?php echo _("Free/Busy relevance") ?>
+</div>
+
+<table width="100%" cellspacing="0">
+ <tr>
+  <td colspan="2">
+   <?php echo _("This calendar is only included into the free/busy data for 
...") ?>
+  </td>
+ </tr>
+ <tr>
+  <td width="15%" class="nowrap rightAlign">
+   <strong><?php echo _("owners/administrators") ?></strong>&nbsp;
+  </td>
+  <td width="85%">
+   <input id="admins" name="fbrelevance" type="radio" class="checkbox" 
value="0"/><br />
+  </td>
+ </tr>
+ <tr>
+  <td valign="top" class="nowrap rightAlign">
+   <strong><?php echo _("readers") ?></strong>&nbsp;
+  </td>
+  <td>
+   <input id="readers" name="fbrelevance" type="radio" class="checkbox" 
value="1"/>
+  </td>
+ </tr>
+ <tr>
+  <td valign="top" class="nowrap rightAlign">
+   <strong><?php echo _("no one") ?></strong>&nbsp;
+  </td>
+  <td>
+   <input id="none" name="fbrelevance" type="radio" class="checkbox" 
value="2"/><br />
+  </td>
+ </tr>
+  <td>
+</table>
+
+<div class="control">
+ <?php echo _("Calendar links:") ?>
+</div>
+
+<table width="100%" cellspacing="0">
+ <tr>
+  <td width="15%" class="nowrap rightAlign">
    <strong><?php echo _("URL") ?></strong>&nbsp;
   </td>
-  <td>
+  <td width="85%">
    <span id="calendar_url"><em><?php echo _("Select a calendar above to 
display the URL") ?></em></span>
   </td>
  </tr>
--- a/kronolith/calendars.php   2007-12-08 14:11:26.000000000 +0100
+++ b/kronolith/calendars.php   2007-12-08 14:11:35.000000000 +0100
@@ -37,6 +37,7 @@
         $cal = $kronolith_shares->newShare(md5(microtime()));
         $cal->set('name', $id);
         $cal->set('desc', Util::getFormData('description', ''));
+        $cal->set('params', serialize(array('fbrelevance' => (int) 
Util::getFormData('fbrelevance', 0))));
         $result = $kronolith_shares->addShare($cal);
         if (is_a($result, 'PEAR_Error')) {
             $notification->push($result, 'horde.error');
@@ -48,6 +49,7 @@
         $original_name = $cal->get('name');
         $cal->set('name', $id);
         $cal->set('desc', Util::getFormData('description', ''));
+        $cal->set('params', serialize(array('fbrelevance' => (int) 
Util::getFormData('fbrelevance', 0))));
 
         if ($original_name != $id) {
             $result = $kronolith_driver->rename($original_name, $id);
@@ -123,9 +125,16 @@
 $remote_calendars = unserialize($prefs->getValue('remote_cals'));
 $current_user = Auth::getAuth();
 $my_calendars = array();
+$fbrelevance = array();
 foreach (Kronolith::listCalendars() as $id => $cal) {
     if ($cal->get('owner') == $current_user) {
         $my_calendars[$id] = $cal;
+        $params = @unserialize($cal->get('params'));
+                 if (isset($params['fbrelevance'])) {
+                     $fbrelevance[$id] = $params['fbrelevance'];
+                 } else {
+                     $fbrelevance[$id] = 0;
+                 }
     }
 }
 
++++++ HK-GW-kronolith_2.2_RC1-Fbview_xfb_access.patch ++++++
diff -r 14457cf2ea2c kronolith/perms.php
--- a/kronolith/perms.php       Thu Nov 29 15:20:49 2007 +0100
+++ b/kronolith/perms.php       Thu Nov 29 15:25:36 2007 +0100
@@ -15,6 +15,34 @@ require_once KRONOLITH_BASE . '/lib/base
 require_once KRONOLITH_BASE . '/lib/base.php';
 require_once 'Horde/Group.php';
 
+function &getFbperms($share) 
+{
+    $fbperms = array();
+    $params = $share->get('params');
+    if (!is_a($params, 'PEAR_Error')) {
+        $params = @unserialize($params);
+        if (isset($params['xfbaccess'])) {
+            $xfbusers = $params['xfbaccess'];
+            foreach ($xfbusers as $user) {
+                $fbperms[$user] = PERMS_READ;
+            }
+        }
+    }
+    return $fbperms;
+}
+
+function setFbperms($share, $xfbusers)
+{
+    $fbperms = array();
+    $params = $share->get('params');
+    if (!is_a($params, 'PEAR_Error')) {
+        $params = @unserialize($params);
+        $params['xfbaccess'] = $xfbusers;
+        $params = serialize($params);
+        $share->set('params', $params);
+    }
+}
+
 $shares = &Horde_Share::singleton('kronolith');
 $groups = &Group::singleton();
 $auth = &Auth::singleton($conf['auth']['driver']);
@@ -36,6 +64,8 @@ case 'edit':
         $notification->push($share, 'horde.error');
     } elseif (isset($share) && Auth::getAuth() != $share->get('owner')) {
         exit('permission denied');
+    } else {
+        $fbperms = getFbperms($share);
     }
     break;
 
@@ -251,6 +281,24 @@ case 'editform':
             }
         }
 
+        // Process free/busy permissions.
+        $fb_names = Util::getFormData('fb_names');
+        $fb_read = Util::getFormData('fb_read');
+
+        $fbperms = getFbperms($share);
+        foreach ($fb_names as $key => $user) {
+            if (empty($user)) {
+                continue;
+            }
+
+            if (!empty($fb_read[$key])) {
+                $fbperms[$user] = PERMS_READ;
+            } else {
+                unset($fbperms[$user]);
+            }
+        }
+        setFbperms($share, array_keys($fbperms));
+
         $share->setPermission($perm, false);
         $share->save();
         $notification->push(sprintf(_("Updated \"%s\"."), 
$share->get('name')), 'horde.success');
diff -r 14457cf2ea2c kronolith/templates/perms/perms.inc
--- a/kronolith/templates/perms/perms.inc       Thu Nov 29 15:20:49 2007 +0100
+++ b/kronolith/templates/perms/perms.inc       Thu Nov 29 15:25:36 2007 +0100
@@ -355,6 +355,61 @@
   <td>&nbsp;</td>
 </tr>
 
+<!-- Extended free/busy Permissions -->
+<tr valign="middle">
+  <td class="header leftAlign">
+    <?php echo Horde::img('user.png', '', '', $registry->getImageDir('horde')) 
. '&nbsp;' . _("Extended free/busy access") ?>
+  </td>
+  <td class="header" align="center">&nbsp;</td>
+  <td class="header" align="center"><?php echo _("Read") ?></td>
+  <td class="header" align="center">&nbsp;</td>
+  <td class="header" align="center">&nbsp;</td>
+  <td class="header" align="center">&nbsp;</td>
+  <td class="header">&nbsp;</td>
+</tr>
+<?php foreach ($fbperms as $user => $fbperm) { if ($user != $owner) { ?>
+<tr>
+  <td class="light"><?php echo htmlspecialchars(Auth::removeHook($user)) 
?><input type="hidden" name="fb_names[<?php echo htmlspecialchars($user) ?>]" 
value="<?php echo htmlspecialchars($user) ?>" /></td>
+  <td align="center">&nbsp;</td>
+  <td align="center">
+    <input type="checkbox" id="fb_read_<?php echo str_replace('@', '_', 
htmlspecialchars($user)) ?>" name="fb_read[<?php echo htmlspecialchars($user) 
?>]"<?php echo ($fbperm & PERMS_READ) ? ' checked="checked"' : '' ?> />
+    <label for="fb_read_<?php echo str_replace('@', '_', 
htmlspecialchars($user)) ?>" class="hidden"><?php echo _("Read") ?></label>
+  </td>
+  <td align="center">&nbsp;</td>
+  <td align="center">&nbsp;</td>
+  <td align="center">&nbsp;</td>
+  <td>&nbsp;</td>
+</tr>
+<?php } } ?>
+<!-- New extended free/busy row -->
+<tr>
+<?php if ($auth->hasCapability('list')): ?>
+  <td class="light">
+    <label for="fb_names_new" class="hidden"><?php echo _("Select a user to 
add:") ?></label>
+    <select id="fb_names_new" name="fb_names[||new]">
+      <option value=""><?php echo _("Select a user to add:") ?></option>
+    <?php foreach ($userList as $user) { if (!isset($userperms[$user])) { ?>
+      <option value="<?php echo htmlspecialchars($user) ?>"><?php echo 
htmlspecialchars(Auth::removeHook($user)) ?></option>
+    <?php } } ?>
+    </select>
+  </td>
+<?php else: ?>
+  <td class="light">
+    <label for="fb_names_new" class="hidden"><?php echo _("User to add:") 
?></label>
+    <input type="text" id="fb_names_new" name="fb_names[||new]" />
+  </td>
+<?php endif; ?>
+  <td align="center">&nbsp;</td>
+  <td align="center">
+    <input type="checkbox" id="fb_read_new" name="fb_read[||new]" />
+    <label for="fb_read_new" class="hidden"><?php echo _("Read") ?></label>
+  </td>
+  <td align="center">&nbsp;</td>
+  <td align="center">&nbsp;</td>
+  <td align="center">&nbsp;</td>
+  <td>&nbsp;</td>
+</tr>
+
 <tr>
  <td colspan="7">&nbsp;</td>
 </tr>
++++++ HK-SB-kronolith_2.2_RC1-Fbview_extra_params.patch ++++++
This includes extra parameters into the free/busy view. The params are 
hardcoded so this patch won't make it upstream.

diff -r 735b35f9f866 kronolith/lib/FBView.php
--- a/kronolith/lib/FBView.php  Thu Nov 29 11:32:43 2007 +0100
+++ b/kronolith/lib/FBView.php  Thu Nov 29 11:35:20 2007 +0100
@@ -86,8 +86,8 @@ class Kronolith_FreeBusy_View {
             $template = new Horde_Template();
             $rows = '';
             foreach ($this->_requiredMembers as $member) {
-                $blocks = $this->_getBlocks($member, 
$member->getBusyPeriods(), 'busyblock.tpl', _("Busy"));
-                $template = new Horde_Template();
+                $blocks = $this->_getBlocks($member, 
$member->getBusyPeriods(), 'busyblock.tpl', _("Busy"), 
$member->getExtraParams());
+                $template = &new Horde_Template();
                 $template->set('blocks', $blocks);
                 $template->set('name', $member->getName());
                 $rows .= $template->fetch(KRONOLITH_TEMPLATES . 
'/fbview/row.tpl');
@@ -107,8 +107,8 @@ class Kronolith_FreeBusy_View {
             $template = new Horde_Template();
             $rows = '';
             foreach ($this->_optionalMembers as $member) {
-                $blocks = $this->_getBlocks($member, 
$member->getBusyPeriods(), 'busyblock.tpl', _("Busy"));
-                $template = new Horde_Template();
+                $blocks = $this->_getBlocks($member, 
$member->getBusyPeriods(), 'busyblock.tpl', _("Busy"), 
$member->getExtraParams());
+                $template = &new Horde_Template();
                 $template->set('blocks', $blocks);
                 $template->set('name', $member->getName());
                 $rows .= $template->fetch(KRONOLITH_TEMPLATES . 
'/fbview/row.tpl');
@@ -122,6 +122,9 @@ class Kronolith_FreeBusy_View {
             $template->set('legend', '');
             $html .= $template->fetch(KRONOLITH_TEMPLATES . 
'/fbview/section.tpl');
         }
+
+       //**********
+       //This has been disabled in kolab-fbview. Make this optional?
 
         // Possible meeting times.
         $optimal->setAttribute('ORGANIZER', _("All Attendees"));
@@ -144,6 +147,9 @@ class Kronolith_FreeBusy_View {
         $template->set('name', _("Required Attendees"));
         $template->set('blocks', $blocks);
         $rows .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/row.tpl');
+
+       //This has been disabled in kolab-fbview. Make this optional?
+       //**********
 
         // Reset locale.
         setlocale(LC_NUMERIC, $lc);
@@ -217,7 +223,7 @@ class Kronolith_FreeBusy_View {
         return $instances[$view];
     }
 
-    function _getBlocks($member, $periods, $blockfile, $label)
+    function _getBlocks($member, $periods, $blockfile, $label, $extra = 
array())
     {
         $template = new Horde_Template();
         $template->set('label', $label);
@@ -250,6 +256,21 @@ class Kronolith_FreeBusy_View {
 
                 $template->set('left', $left . '%');
                 $template->set('width', $width . '%');
+                $template->set('evclick', '');
+
+                if (isset($extra[$periodStart])) {
+                    if (!empty($extra[$periodStart]['X-UID'])) {
+                        $link = "javascript:performAction('viewaction', '" 
+                         . addslashes($member->getName() . "#" 
+                                      . 
String::convertCharset(base64_decode($extra[$periodStart]['X-UID']), 
+                                                               
'UTF-8',NLS::getCharset())) . "')";
+                        $template->set('evclick', $link);
+                    }
+                    if (!empty($extra[$periodStart]['X-SUMMARY'])) {
+                        $template->set('label', 
String::convertCharset(base64_decode($extra[$periodStart]['X-SUMMARY']),'UTF-8',
+                                      NLS::getCharset()));
+                    }
+                }
 
                 $blocks .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/' . 
$blockfile);
             } else {
diff -r 735b35f9f866 kronolith/templates/fbview/busyblock.tpl
--- a/kronolith/templates/fbview/busyblock.tpl  Thu Nov 29 11:32:43 2007 +0100
+++ b/kronolith/templates/fbview/busyblock.tpl  Thu Nov 29 11:35:20 2007 +0100
@@ -1,1 +1,1 @@
-<td><div class="busy" style="left:<tag:left />;width:<tag:width 
/>;">&nbsp;</div></td>
+<td><div class="busy" onclick="<tag:evclick />" 
style="cursor:pointer;left:<tag:left />;width:<tag:width />;" title="<tag:label 
/>">&nbsp;</div></td>
++++++ HK-SB-kronolith_2.2_RC1-Fbview_save_attendees.patch ++++++
Provides a patch to store the list of attendees in the user preferences. This 
is a broken patch that has been rejected upstream 
(http://bugs.horde.org/ticket/?id=4788). This should be solved using 
Horde::Groups.

diff -r 848f241f83e0 kronolith/attendees.php
--- a/kronolith/attendees.php   Thu Nov 29 10:56:04 2007 +0100
+++ b/kronolith/attendees.php   Thu Nov 29 11:32:43 2007 +0100
@@ -155,6 +155,16 @@ case 'clear':
     $attendees = array();
     $_SESSION['kronolith']['attendees'] = $attendees;
     break;
+
+case 'save':
+    if (empty($attendees)) {
+        break;
+    }
+    $savedattlist = unserialize($prefs->getValue('saved_attendee_list'));
+    $savedattlist[] = array_keys($attendees);
+    $prefs->setValue('saved_attendee_list', serialize($savedattlist));
+    $notification->push(_('Successfully saved attendee list'), 
'horde.success');
+    break;
 }
 
 // Get the current Free/Busy view; default to the 'day' view if none specified.
@@ -226,6 +236,14 @@ Imple::factory('ContactAutoCompleter', a
 
 $title = _("Edit attendees");
 require KRONOLITH_TEMPLATES . '/common-header.inc';
+
+if ($browser->hasFeature('javascript')) {
+    Horde::addScriptFile('open_savedattlist_win.js');
+    $savedattlist_url = 'javascript:open_savedattlist_win();';
+} else {
+    $savedattlist_url = Horde::applicationUrl('savedattlist.php');
+}
+
 $notification->notify(array('status'));
 require KRONOLITH_TEMPLATES . '/attendees/attendees.inc';
 require $registry->get('templates', 'horde') . '/common-footer.inc';
diff -r 848f241f83e0 kronolith/config/prefs.php.dist
--- a/kronolith/config/prefs.php.dist   Thu Nov 29 10:56:04 2007 +0100
+++ b/kronolith/config/prefs.php.dist   Thu Nov 29 11:32:43 2007 +0100
@@ -465,3 +465,11 @@ if ($GLOBALS['registry']->hasMethod('con
     'shared' => false,
     'type' => 'implicit'
 );
+
+$_prefs['saved_attendee_list'] = array(
+    'value' => 'a:0:{}',
+    'locked' => false,
+    'shared' => false,
+    'type' => 'implicit',
+    'desc' => _("A saved list of attendees")
+);
diff -r 848f241f83e0 kronolith/savedattlist.php
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/kronolith/savedattlist.php        Thu Nov 29 11:32:43 2007 +0100
@@ -0,0 +1,77 @@
+<?php
+/**
+ * $Horde: kronolith/attendeeshandler.php,v 1.1 2004/05/25 08:34:21 stuart Exp 
$
+ *
+ * Copyright 2004 Code Fusion  <http://www.codefusion.co.za/>
+ *                Stuart Binge <s.bi...@codefusion.co.za>
+ *
+ * See the enclosed file COPYING for license information (GPL).  If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ */
+
+@define('KRONOLITH_BASE', dirname(__FILE__));
+require_once KRONOLITH_BASE . '/lib/base.php';
+require_once KRONOLITH_BASE . '/lib/FBView.php';
+
+$title = _('Load Attendee List');
+
+Horde::addScriptFile('tooltip.js', 'horde');
+require KRONOLITH_TEMPLATES . '/common-header.inc';
+
+// Get our list of saved attendees
+$savedattlist = unserialize($prefs->getValue('saved_attendee_list'));
+
+// Preformat our image urls
+$delimg = Horde::img('delete.png', _("Remove List"), null, 
$GLOBALS['registry']->getImageDir('horde'));
+$loadimg = Horde::img('tree/folder.png', _("Load List"), null, 
$GLOBALS['registry']->getImageDir('horde'));
+
+// Get our Action ID & Value. This specifies what action the user initiated.
+$actionID = Util::getFormData('actionID', false);
+$actionValue = Util::getFormData('actionValue', false);
+if (!$actionID) {
+    $actionID = (Util::getFormData('addNew', false) ? 'add' : false);
+    $actionValue = Util::getFormData('newAttendees', '');
+}
+
+// Perform the specified action, if there is one.
+switch ($actionID) {
+case 'remove':
+    // Remove the specified attendee
+    if (array_key_exists($actionValue, $savedattlist)) {
+        unset($savedattlist[$actionValue]);
+       $prefs->setValue('saved_attendee_list', serialize($savedattlist));
+    }
+    
+    break;
+
+case 'dismiss':
+    // Make sure we're actually allowed to dismiss
+    if (!$allow_dismiss) break;
+
+    // Close the attendee window
+    global $browser;
+
+    if ($browser->hasFeature('javascript')) {
+        Util::closeWindowJS();
+    } else {
+        $url = Util::getFormData('url');
+
+        if (!empty($url)) {
+            $location = Horde::applicationUrl($url, true);
+        } else {
+            $url = Util::addParameter($prefs->getValue('defaultview') . 
'.php', 'month', Util::getFormData('month'));
+            $url = Util::addParameter($url, 'year', Util::getFormData('year'));
+            $location = Horde::applicationUrl($url, true);
+        }
+
+        // Make sure URL is unique.
+        $location = Util::addParameter($location, 'unique', md5(microtime()));
+
+        header('Location: ' . $location);
+    }
+    break;
+}
+
+$form_handler = Horde::applicationUrl('savedattlist.php');
+require KRONOLITH_TEMPLATES . '/savedattlist/savedattlist.inc';
+require $GLOBALS['registry']->get('templates', 'horde') . '/common-footer.inc';
diff -r 848f241f83e0 kronolith/templates/attendees/attendees.inc
--- a/kronolith/templates/attendees/attendees.inc       Thu Nov 29 10:56:04 
2007 +0100
+++ b/kronolith/templates/attendees/attendees.inc       Thu Nov 29 11:32:43 
2007 +0100
@@ -92,6 +92,8 @@ function switchDateView(view, timestamp)
 <div>
  <input type="submit" class="button" name="addNew" value="<?php echo 
htmlspecialchars(_("Save Attendees")) ?>" />
  <input type="submit" class="button" name="addNewClose" value="<?php echo 
htmlspecialchars(_("Save and Finish")) ?>" />
+ <input type="button" class="button" name="loadAttList" value="<?php echo 
htmlspecialchars(_("Load Attendee List")) ?>" onclick="<?php echo 
$savedattlist_url ?>" />
+ <?php if (!empty($attendees)): ?><input type="button" class="button" 
name="saveAttList" value="<?php echo htmlspecialchars(_("Save Attendee List")) 
?>" onclick="performAction('save', '');" /><?php endif; ?>
  <?php if (!empty($attendees)): ?><input type="submit" class="button" 
name="clearAll" value="<?php echo htmlspecialchars(_("Clear all attendees")) 
?>" /><?php endif; ?>
 </div>
 
diff -r 848f241f83e0 kronolith/templates/javascript/open_savedattlist_win.js
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/kronolith/templates/javascript/open_savedattlist_win.js   Thu Nov 29 
11:32:43 2007 +0100
@@ -0,0 +1,36 @@
+<?php if (!strstr($_SERVER['PHP_SELF'], 'javascript.php')): ?><script 
language="JavaScript" type="text/javascript">
+<!--
+<?php endif; ?>
+function open_savedattlist_win(args)
+{
+    var url = "<?php echo 
Horde::url($GLOBALS['registry']->applicationWebPath('%application%/savedattlist.php',
 'kronolith')) ?>";
+    if (url.indexOf('?') == -1) glue = '?';
+    else glue = '<?php echo ini_get('arg_separator.output') ?>';
+    var now = new Date();
+    var name = "savedattlist_window_" + now.getTime();
+    if (args != "") {
+        url = url + glue + args + '<?php echo ini_get('arg_separator.output') 
?>' + "uniq=" + now.getTime();
+    } else {
+        url = url + glue + "uniq=" + now.getTime();
+    }
+    var Width = screen.width;
+    if (Width > 775) {
+        Width = 700;
+    } else {
+        Width -= 75;
+    }
+    var Height = screen.height;
+    if (Height > 725) {
+        Height = 650;
+    } else {
+        Height -= 75;
+    }
+    param = 
"toolbar=no,location=no,status=yes,scrollbars=yes,resizable=yes,width=" + Width 
+ ",height=" + Height + ",left=0,top=0";
+    name = window.open(url, name, param);
+    if (!eval("name.opener")) {
+        name.opener = self;
+    }
+}
+<?php if (!strstr($_SERVER['PHP_SELF'], 'javascript.php')): ?>// -->
+</script>
+<?php endif; ?>
diff -r 848f241f83e0 kronolith/templates/savedattlist/savedattlist.inc
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/kronolith/templates/savedattlist/savedattlist.inc Thu Nov 29 11:32:43 
2007 +0100
@@ -0,0 +1,68 @@
+<!-- javascript action handling -->
+<script language="JavaScript" type="text/javascript">
+<!--
+function performAction(id, value)
+{
+    document.savedattlistForm.actionID.value = id;
+    document.savedattlistForm.actionValue.value = value;
+    document.savedattlistForm.submit();
+    return false;
+}
+
+function updateMessage(list)
+{
+    if (parent.opener.closed) {
+        alert('<?php echo addslashes(_("The Edit Attendees screen is no longer 
present. Exiting.")) ?>');
+        this.close();
+        return;
+    }
+
+    if (!parent.opener.document.attendeesForm) {
+        alert('<?php echo addslashes(_("You can only use this form from the 
Edit Attendees screen.")) ?>');
+        this.close();
+        return;
+    }
+
+    parent.opener.document.attendeesForm.newAttendees.value = list;
+    this.close();
+}
+// -->
+</script>
+
+<form method="post" action="<?php echo $form_handler; ?>" 
name="savedattlistForm">
+<?php Util::pformInput(); ?>
+<input type="hidden" name="actionID" value="" />
+<input type="hidden" name="actionValue" value="" />
+
+<div align="center">
+
+<table border="0" width="500" cellspacing="0" cellpadding="2">
+
+<!-- header -->
+<tr><td colspan="4" class="header"><b><?php echo $title ?></b></td></tr>
+
+<!-- attendee list header -->
+<tr class="item">
+ <td nowrap="nowrap" width="2%" align="center"><?php echo $loadimg ?></td>
+ <td nowrap="nowrap" width="2%" align="center"><?php echo $delimg ?></td>
+ <td nowrap="nowrap" width="96%"><b><?php echo 
htmlspecialchars(_("Attendees")) ?></b></td>
+</tr>
+
+<!-- attendees -->
+<?php $i = 0 ?>
+<?php if (empty($savedattlist)): ?>
+ <tr class="item<?php echo ($i++ % 2) ?>"><td align="center" 
colspan="3"><i><?php echo htmlspecialchars('-- ' . _("No saved attendee lists 
are available") . ' --') ?></i></td></tr>
+<?php else: foreach ($savedattlist as $index => $list): ?>
+ <tr class="item<?php echo ($i++ % 2) ?>">
+ <?php
+  echo '<td align="center">', Horde::link("javascript:updateMessage('" . 
addslashes(implode(', ', $list)) . "')", _("Load this list")), $loadimg, 
"</a></td>";
+ ?>
+ <?php
+  echo '<td align="center">', Horde::link("javascript:performAction('remove', 
'" . $index . "')", _("Remove this list")), $delimg, "</a></td>";
+ ?>
+  <td><?php echo implode(', ', $list); ?></td>
+ </tr>
+<?php endforeach; endif; ?>
+</table>
+</div>
+</form>

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to