gunnar: server/patches/horde HK-GW-framework_3.2_ALPHA-Fix_annotation_use.patch, NONE, 1.1 HK-GW-kronolith_2.2-Fix_create_new_event.patch, NONE, 1.1 HK-GW-kronolith_2.2-Fix_share_right_editing.patch, NONE, 1.1 HK-GW-nag_2.2_ALPHA-Fix_share_right_editing.patch, NONE, 1.1 HK-UV-kronolith_2.2-Fix_list_events.patch, NONE, 1.1 README_Fix_annotation_use.patch, NONE, 1.1 README_Fix_create_new_event.patch, NONE, 1.1 README_Fix_list_events.patch, NONE, 1.1 README_Fix_share_right_editing.patch, NONE, 1.1

cvs at kolab.org cvs at kolab.org
Thu Oct 4 11:47:57 CEST 2007


Author: gunnar

Update of /kolabrepository/server/patches/horde
In directory doto:/tmp/cvs-serv11291/patches/horde

Added Files:
	HK-GW-framework_3.2_ALPHA-Fix_annotation_use.patch 
	HK-GW-kronolith_2.2-Fix_create_new_event.patch 
	HK-GW-kronolith_2.2-Fix_share_right_editing.patch 
	HK-GW-nag_2.2_ALPHA-Fix_share_right_editing.patch 
	HK-UV-kronolith_2.2-Fix_list_events.patch 
	README_Fix_annotation_use.patch 
	README_Fix_create_new_event.patch README_Fix_list_events.patch 
	README_Fix_share_right_editing.patch 
Log Message:
Make horde ready for the beta release.

--- NEW FILE: HK-GW-framework_3.2_ALPHA-Fix_annotation_use.patch ---
Move to better IMAP annotation entries.

diff -r 47e8cc47adcf framework/Kolab/Kolab/IMAP.php
--- a/framework/Kolab/Kolab/IMAP.php	Wed Oct 03 19:30:01 2007 +0200
+++ b/framework/Kolab/Kolab/IMAP.php	Wed Oct 03 19:33:53 2007 +0200
@@ -31,6 +31,11 @@ require_once 'Horde/MIME/Structure.php';
  * that are used by Kolab clients.
  */
 define('KOLAB_ANNOT_ROOT', '/vendor/kolab/');
+
+/**
+ * The root of the Horde annotation hierarchy on the IMAP server
+ */
+define('HORDE_ANNOT_ROOT', '/vendor/horde/');
 
 /**
  * The annotation, as defined by the Kolab format spec, that is used to store
diff -r 47e8cc47adcf framework/Share/Share/kolab.php
--- a/framework/Share/Share/kolab.php	Wed Oct 03 19:30:01 2007 +0200
+++ b/framework/Share/Share/kolab.php	Wed Oct 03 19:33:53 2007 +0200
@@ -11,7 +11,7 @@ require_once 'Horde/Kolab.php';
 /**
  * Horde-specific annotations on the imap folder have this prefix.
  */
-define('KOLAB_ANNOT_SHARE_ATTR', KOLAB_ANNOT_ROOT . 'h-share-attr-');
+define('HORDE_ANNOT_SHARE_ATTR', HORDE_ANNOT_ROOT . 'share-');
 
 /**
  * Marks a share without a name. These shares are still invalid
@@ -1000,7 +1000,12 @@ class ImapObject_Share {
     function getAttribute($attribute)
     {
         $imap = &$this->_storage->getImap();
-        $annotation = $imap->getAnnotation(KOLAB_ANNOT_SHARE_ATTR . $attribute, 'value.shared', $this->_folder);
+        if ($attribute == 'desc') {
+            $entry = '/comment';
+        } else {
+            $entry = HORDE_ANNOT_SHARE_ATTR . $attribute;
+        }
+        $annotation = $imap->getAnnotation($entry, 'value.shared', $this->_folder);
         if (is_a($annotation, 'PEAR_Error') || empty($annotation)) {
             $annotation = '';
         }
@@ -1170,7 +1175,12 @@ class ImapObject_Share {
                 $imap = &$this->_storage->getImap();
                 // setAnnotation apparently does not suppoort UTF-8 nor any special characters
                 $store = base64_encode($value);
-                $result = $imap->setAnnotation(KOLAB_ANNOT_SHARE_ATTR . $attribute, array('value.shared' => $store), $this->_folder);
+                if ($attribute == 'desc') {
+                    $entry = '/comment';
+                } else {
+                    $entry = HORDE_ANNOT_SHARE_ATTR . $attribute;
+                }
+                $result = $imap->setAnnotation($entry, array('value.shared' => $store), $this->_folder);
                 if (is_a($result, 'PEAR_Error')) {
                     return $result;
                 }

--- NEW FILE: HK-GW-kronolith_2.2-Fix_create_new_event.patch ---
Fix the return value when creating a new event.

diff -r b92bff17929a kronolith/lib/Driver/kolab.php
--- a/kronolith/lib/Driver/kolab.php	Wed Oct 03 16:28:16 2007 +0200
+++ b/kronolith/lib/Driver/kolab.php	Wed Oct 03 17:15:02 2007 +0200
@@ -1190,7 +1190,7 @@ class Kronolith_Driver_kolab_wrapper_new
             Kolab::triggerFreeBusyUpdate($this->_store->parseFolder($this->_driver->_calendar));
         }
 
-        return $uid;
+        return $event->getUID();
     }
 
     /**

--- NEW FILE: HK-GW-kronolith_2.2-Fix_share_right_editing.patch ---
Fixes share right editing for kronolith.

diff -r 0855b853bf45 kronolith/templates/calendars/calendars.inc
--- a/kronolith/templates/calendars/calendars.inc	Wed Oct 03 19:42:07 2007 +0200
+++ b/kronolith/templates/calendars/calendars.inc	Wed Oct 03 19:43:30 2007 +0200
@@ -113,7 +113,7 @@ function checkSubmit()
    <strong><?php echo _("Permissions") ?></strong>
   </td>
   <td>
-   <input type="button" name="perms" class="button" onclick="if (document.shares.edit_share.value) popup(editURL + document.shares.edit_share.value); else alert('<?php echo addslashes(_("You need to select a calendar first")) ?>')" value="<?php echo _("Edit") ?>" />
+   <input type="button" name="perms" class="button" onclick="if (document.shares.edit_share.value) popup(editURL + encodeURIComponent(document.shares.edit_share.value)); else alert('<?php echo addslashes(_("You need to select a calendar first")) ?>')" value="<?php echo _("Edit") ?>" />
   </td>
  </tr>
  <?php endif; ?>

--- NEW FILE: HK-GW-nag_2.2_ALPHA-Fix_share_right_editing.patch ---
Fixes share right editing for nag.

diff -r b7b4a2eab17c nag/templates/tasklists/tasklists.inc
--- a/nag/templates/tasklists/tasklists.inc	Wed Oct 03 19:33:59 2007 +0200
+++ b/nag/templates/tasklists/tasklists.inc	Wed Oct 03 19:42:07 2007 +0200
@@ -62,7 +62,7 @@ function checkSubmit()
 <p><?php echo Horde::label('id', _("Name:")) ?><br />
 <input id="id" name="id" size="30" maxlength="60" /><br />
 <?php if (empty($conf['shares']['no_sharing'])): ?>
-<input type="button" name="accesslist" class="button" onclick="popup(editURL.replace(/%40ID%40/, document.shares.edit_share.value));" value="<?php echo _("Permission") ?>" style="display:none" />
+<input type="button" name="accesslist" class="button" onclick="popup(editURL.replace(/%40ID%40/, encodeURIComponent(document.shares.edit_share.value)));" value="<?php echo _("Permission") ?>" style="display:none" />
 <?php endif; ?>
 </p>
 

--- NEW FILE: HK-UV-kronolith_2.2-Fix_list_events.patch ---
Fix event display in kronolith.

diff -r 3bb98854b586 kronolith/lib/Driver/kolab.php
--- a/kronolith/lib/Driver/kolab.php	Thu Oct 04 08:29:40 2007 +0200
+++ b/kronolith/lib/Driver/kolab.php	Thu Oct 04 08:39:10 2007 +0200
@@ -1080,25 +1080,19 @@ class Kronolith_Driver_kolab_wrapper_new
             }
 
             $keep_event = false;
-/*
-            echo "Start: ".$startDate->compareDate($event->start)."<br>\n";
-            echo "End: ".$endDate->compareDate($event->end)."<br>\n";
-*/
-            // check normal event date
-            if ($startDate->compareDate($event->start) <= 0
-                && $endDate->compareDate($event->end) >= -1)
-            {
+            /* check if event period intersects with given period */
+            if (!(($endDate->compareDateTime($event->start) < 0) || 
+                  ($startDate->compareDateTime($event->end) > 0))) {
                 $keep_event = true;
             }
 
-            // do recurrence expansion if not keeping anyway
+            /* do recurrence expansion if not keeping anyway */
             if (!$keep_event && $event->recurs()) {
                 $next = $event->recurrence->nextRecurrence($startDate);
-
-                if ($next !== false && !$event->recurrence->hasException($next->year, $next->month, $next->mday)
-                    && $startDate->compareDate($next) <= 0
-                    && $endDate->compareDate($next) >= 0)
-                {
+                if ($next !== false && 
+                    !$event->recurrence->hasException($next->year, $next->month, $next->mday) &&
+                    (!(($endDate->compareDateTime($event->start) < 0) || 
+                       ($startDate->compareDateTime($event->end) > 0)))) {
                     $keep_event = true;
                 }
             }

--- NEW FILE: README_Fix_annotation_use.patch ---
DESCRIPTION:

Moves horde share description to the "/comments" annotation on
an IMAP server. This is still somewhat broken since the Kolab
patch for annotations (merge16) does not support utf-8 so we
use base64 encoded values here.

IMPACT:

You won't be able to create new groupware folder on the Kolab 
server without this

REFERENCES:

Mercurial patch repository:

http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary

HISTORY

Applied upstream.
--- NEW FILE: README_Fix_create_new_event.patch ---
DESCRIPTION:

Fixes kolab/issue2039 (https://www.intevation.de/roundup/kolab/issue2039)

IMPACT:

Invitations will not be sent out when creating a new event.

REFERENCES:

Mercurial patch repository:

http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary

HISTORY

Applied upstream.
--- NEW FILE: README_Fix_list_events.patch ---
DESCRIPTION:

Fixes kolab/issue1907 ([horde/horde-kronolith] List all events within a period)
https://www.intevation.de/roundup/kolab/issue1907

IMPACT:

Not all events defined in Kronolith will be displayed correctly.

REFERENCES:

Mercurial patch repository:

http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary

HISTORY

Applied upstream.
--- NEW FILE: README_Fix_share_right_editing.patch ---
DESCRIPTION:

Allows editing share rights for shares other than the default
share. This is a fix that has already been applied upstream but is
still missing from the ALPHA release. This will become obsolete with
the next Horde release.

IMPACT:

Nag and kronolith will not allow you to edit share rights without this.

REFERENCES:

Mercurial patch repository:

http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary

HISTORY

Applied upstream.




More information about the commits mailing list