Branch '2.3-stable' - kolab-webclient/horde kolab-webclient/imp

Gunnar Wrobel wrobel at kolabsys.com
Wed Aug 31 09:59:57 CEST 2011


 kolab-webclient/horde/package.patch |  146 -------
 kolab-webclient/imp/package.patch   |  707 ------------------------------------
 2 files changed, 853 deletions(-)

New commits:
commit 872d503ca68412b3af589f8a37c1eacc44a8e7ed
Author: Gunnar Wrobel <p at rdus.de>
Date:   Wed Aug 31 07:59:50 2011 +0000

    Remove stray files.

diff --git a/kolab-webclient/horde/package.patch b/kolab-webclient/horde/package.patch
deleted file mode 100644
index ee0b5cd..0000000
--- a/kolab-webclient/horde/package.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-From: Gunnar Wrobel <p at rdus.de>
-Subject: [PATCH] t/horde/HK/GW/ZpushAnnotations
-
-Allows to modify the Zpush configuration.
-
-Signed-off-by: Gunnar Wrobel <p at rdus.de>
-
-diff -Naur a/config/prefs.php b/config/prefs.php
---- a/config/prefs.php.dist	2010-05-04 22:00:29.938760839 +0200
-+++ b/config/prefs.php.dist	2010-05-04 22:02:27.177573941 +0200
-@@ -165,6 +165,14 @@
-     'members' => array()
- );
- 
-+$prefGroups['activesync'] = array(
-+    'column' => _("Other Information"),
-+    'label' => _("ActiveSync"),
-+    'desc' => _("Configuration for syncing with PDAs, Smartphones and Outlook."),
-+    'url' => 'services/portal/activesync.php',
-+    'members' => array()
-+);
-+
- // Personal Information preferences
- 
- // default identity
-diff -Naur a/services/portal/activesync.php b/services/portal/activesync.php
---- a/services/portal/activesync.php	1970-01-01 01:00:00.000000000 +0100
-+++ b/services/portal/activesync.php	2010-05-06 06:52:58.250251515 +0200
-@@ -0,0 +1,72 @@
-+<?php
-+/**
-+ * $Horde: horde/services/portal/syncml.php,v 1.3.2.15 2009-01-06 15:27:33 jan Exp $
-+ *
-+ * Copyright 2005-2009 The Horde Project (http://www.horde.org/)
-+ *
-+ * See the enclosed file COPYING for license information (LGPL). If you
-+ * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
-+ *
-+ * @author Karsten Fourmont <karsten at horde.org>
-+ */
-+
-+require_once dirname(__FILE__) . '/../../lib/base.php';
-+
-+if (!Auth::isAuthenticated()) {
-+    Horde::authenticationFailureRedirect();
-+}
-+
-+require_once 'Horde/Kolab/Storage.php';
-+$folder = Kolab_Storage::getFolder('INBOX');
-+$result = $folder->getActiveSync();
-+$devices = isset($result['DEVICE']) ? $result['DEVICE'] : null;
-+
-+$actionID = Util::getFormData('actionID');
-+switch ($actionID) {
-+case 'save':
-+    if (Util::getFormData('delete')) {
-+        $deviceids = array_keys(Util::getFormData('delete'));
-+        $deviceid = $deviceids[0];
-+        $result = $folder->deleteActiveSyncDevice($deviceid);
-+        if (is_a($result, 'PEAR_Error')) {
-+            $notification->push(_("Error deleting device:")
-+                                . ' ' . $result->getMessage(),
-+                                'horde.error');
-+        } else {
-+            $notification->push(sprintf(_("Deleted ActiveSync device \"%s\"."),
-+                                        $deviceid),
-+                                'horde.success');
-+            unset($devices[$deviceid]);
-+        }
-+    } else {
-+        $modes = Util::getFormData('mode_select', array());
-+        foreach ($modes as $deviceid => $mode) {
-+            $devices[$deviceid]['MODE'] = $mode;
-+        }
-+        $data = array('DEVICE' => $devices);
-+        $result = $folder->setActiveSyncDeviceData($data, 'DEVICE');
-+        if (is_a($result, 'PEAR_Error')) {
-+            $notification->push(_("Error storing synchronization modes:")
-+                                . ' ' . $result->getMessage(),
-+                                'horde.error');
-+        } else {
-+            $notification->push(_("Synchronization modes stored successfully."),
-+                                'horde.success');
-+        }
-+    }
-+}
-+
-+/* Show the header. */
-+require_once 'Horde/Prefs/UI.php';
-+$result = Horde::loadConfiguration('prefs.php', array('prefGroups', '_prefs'), 'horde');
-+if (!is_a($result, 'PEAR_Error')) {
-+    extract($result);
-+}
-+$app = 'horde';
-+$chunk = Util::nonInputVar('chunk');
-+Prefs_UI::generateHeader('activesync', $chunk);
-+
-+require HORDE_TEMPLATES . '/activesync/activesync.inc';
-+if (!$chunk) {
-+    require HORDE_TEMPLATES . '/common-footer.inc';
-+}
-diff -Naur a/templates/activesync/activesync.inc b/templates/activesync/activesync.inc
---- a/templates/activesync/activesync.inc	1970-01-01 01:00:00.000000000 +0100
-+++ b/templates/activesync/activesync.inc	2010-05-05 06:08:23.358849561 +0200
-@@ -0,0 +1,41 @@
-+<div class="smallheader">
-+ <?php echo _("Known ActiveSync synchronisation devices") ?>
-+</div>
-+<?php if (!$devices): ?>
-+<em><?php echo _("None") ?></em>
-+<?php else: ?>
-+<table class="striped">
-+<tr>
-+ <th><?php echo _("Device") ?></th>
-+ <th><?php echo _("Type") ?></th>
-+ <th><?php echo _("Mode") ?></th>
-+</tr>
-+<?php
-+foreach ($devices as $device => $data) {
-+?>
-+<tr>
-+ <td><?php echo htmlspecialchars($device) ?></td>
-+ <td><?php echo htmlspecialchars($data['TYPE']) ?></td>
-+ <td>
-+   <select id="mode_select[<?php echo $device; ?>]" name="mode_select[<?php echo $device; ?>]">
-+     <option value=""><?php echo _("Select the device mode:"); ?></option>
-+     <option value="-1" <?php echo ($data['MODE'] === null || $data['MODE'] === '-1') ? 'selected="selected"' : ''; ?>>Default</option>
-+     <option value="0" <?php echo ($data['MODE'] === '0') ? 'selected="selected"' : ''; ?>>Flat mode</option>
-+     <option value="1" <?php echo ($data['MODE'] === '1') ? 'selected="selected"' : ''; ?>>Folder mode</option>
-+   </select>
-+ </td>
-+ <td>
-+   <input type="submit" class="button" value="<?php echo _("Delete") ?>" name="delete[<?php echo htmlspecialchars($device) ?>]"/>
-+ </td>
-+</tr>
-+<?php } ?>
-+</table>
-+<?php endif; ?>
-+<p>
-+ <input type="hidden" name="actionID" value="save" />
-+ <input type="submit" class="button" value="<?php echo _("Store device modes") ?>" />
-+ <input id="prefs_return" type="button" class="button" onclick="cancelSubmit=true;document.location.href='<?php echo Horde::applicationUrl(Util::addParameter('services/prefs.php', 'app', 'horde'), true) ?>'" value="<?php echo _("Return to Options") ?>" />
-+</p>
-+
-+</div>
-+</form>
diff --git a/kolab-webclient/imp/package.patch b/kolab-webclient/imp/package.patch
deleted file mode 100644
index 39b5462..0000000
--- a/kolab-webclient/imp/package.patch
+++ /dev/null
@@ -1,707 +0,0 @@
-From: Gunnar Wrobel <p at rdus.de>
-Subject: [PATCH] t/imp/HideGroupwareFolders
-
-Hides special Kolab groupware folders.
-
-Signed-off-by: Gunnar Wrobel <p at rdus.de>
-
----
- horde-webmail/imp/config/hooks.php.dist |   11 +++++++-
- 3 files changed, 50 insertions(+), 5 deletions(-)
-
-diff --git a/horde-webmail/imp/config/hooks.php.dist b/horde-webmail/imp/config/hooks.php.dist
-index 98e429e..f690ef5 100644
---- a/config/hooks.php.dist
-+++ b/config/hooks.php.dist
-@@ -590,7 +590,7 @@
-             case 'contact':
-                 return $GLOBALS['registry']->get('webroot', 'turba');
- 
--            case 'prefs':
-+            case 'h-prefs':
-                 return $GLOBALS['registry']->get('webroot', 'horde') . '/services/prefs.php?app=horde';
- 
-             default:
-@@ -644,7 +644,7 @@
-                     );
-                     break;
- 
--                case 'prefs':
-+                case 'h-prefs':
-                     $icons[$name] = array(
-                         'icon' => 'prefs.png',
-                         'icondir' => $GLOBALS['registry']->getImageDir('horde'),
-From: Gunnar Wrobel <p at rdus.de>
-Subject: [PATCH] t/imp/H/GW/DefaultLoginView
-
-Allow to configure the default imp view shown to the user.
-
-STATUS: SUBMIT
-
-Signed-off-by: Gunnar Wrobel <p at rdus.de>
-
----
- config/conf.xml |    8 ++++++++
- login.php       |    3 ++-
- 2 files changed, 11 insertions(+), 1 deletions(-)
-
-diff --git a/config/conf.xml b/config/conf.xml
-index 517556e..92171b7 100644
---- a/config/conf.xml
-+++ b/config/conf.xml
-@@ -103,6 +103,14 @@
-      </configenum>
-     </case>
-    </configswitch>
-+   <configenum name="default_view" desc="Which application view should be the
-+   suggested default on the login page?">imp
-+    <values>
-+     <value desc="IMP">imp</value>
-+     <value desc="DIMP">dimp</value>
-+     <value desc="MIMP">mimp</value>
-+    </values>
-+   </configenum>
-   </configsection>
-  </configtab>
- 
-diff --git a/login.php b/login.php
-index e6cd3c9..4644e93 100644
---- a/login.php
-+++ b/login.php
-@@ -257,7 +257,8 @@ if (!empty($conf['user']['select_view'])) {
-     $apps = $registry->listApps(null, true);
-     $view_cookie = isset($_COOKIE['default_imp_view'])
-         ? $_COOKIE['default_imp_view']
--        : ($browser->isMobile() && isset($apps['mimp']) ? 'mimp' : 'imp');
-+        : ($browser->isMobile() && isset($apps['mimp']) ? 'mimp' 
-+           : isset($conf['user']['default_view']) ? $conf['user']['default_view'] : 'imp');
-     if (isset($apps['dimp']) || isset($apps['mimp'])) {
-         $views[] = array('sel' => $view_cookie == 'imp',
-                          'val' => 'imp', 'name' => _("Traditional"));
--- 
-tg: (3a70f58..) t/imp/H/GW/DefaultLoginView (depends on: t/imp/H/JS/bug7739)
--- 
-TOPGIT patch commit log
-=======================
-
-commit 580072bc0b627e05bfe3053efbd31b4215019923
-Author: Gunnar Wrobel <p at rdus.de>
-Date:   Thu Mar 26 19:22:37 2009 +0000
-
-    Merge change from http://kolab.org/cgi-bin/viewcvs-kolab.cgi/server/patches/horde-webmail/1.2.0/tg/t_imp_H_GW_DefaultLoginView.diff.diff?r1=1.3&r2=1.4
-
-commit e2430d5bafced289bb0b8ac9d073fca9a4e9bb4a
-Author: Gunnar Wrobel <p at rdus.de>
-Date:   Sun Mar 8 20:09:33 2009 +0000
-
-    Add the conf.xml part of the new configuration variable.
-
-commit df4a014051b707ab4bf5ded96264c3b4f3b62ac4
-Author: Gunnar Wrobel <p at rdus.de>
-Date:   Sun Mar 8 08:14:20 2009 +0000
-
-    Allow to configure the default view for imp.
-From: Gunnar Wrobel <p at rdus.de>
-Subject: [PATCH] t/dimp/H/GW/AclView
-
-Provide a possibility to edit IMAP folder acls within DIMP.
-
-kolab/issue3455 (There is no convenient/dimp-like way in dimp to set folder acls)
-https://www.intevation.de/roundup/kolab/issue3455
-
-[#8060] Additional entry in the folder popup to set IMAP ACLs
-http://bugs.horde.org/ticket/8060
-
-Signed-off-by: Gunnar Wrobel <p at rdus.de>
-
----
- acl.php                          |   12 ++++++++++--
- templates/acl/acl.html           |   13 +++++++++++++
- 2 files changed, 29 insertions(+), 2 deletions(-)
-
-diff --git a/acl.php b/acl.php
-index cfa285f..851d8de 100644
---- a/acl.php
-+++ b/acl.php
-@@ -162,14 +162,22 @@ if (is_callable(array('Horde', 'loadConfiguration'))) {
- }
- $app = 'imp';
- $chunk = Util::nonInputVar('chunk');
--Prefs_UI::generateHeader(null, $chunk);
-+if ($_SESSION['imp']['default_view'] != 'dimp') {
-+    Prefs_UI::generateHeader(null, $chunk);
-+} else {
-+    require $registry->get('templates', $app) . '/common-header.inc';
-+    $GLOBALS['notification']->notify(array('listeners' => 'status'));
-+}
- 
- /* Set up template. */
- $t = new IMP_Template();
- $t->setOption('gettext', true);
- $t->set('aclurl', Horde::applicationUrl('acl.php'));
- $t->set('forminput', Util::formInput());
--$t->set('aclnavcell', Util::bufferOutput(array('Prefs_UI', 'generateNavigationCell'), 'acl'));
-+$t->set('imp_view', $_SESSION['imp']['default_view'] != 'dimp');
-+if ($_SESSION['imp']['default_view'] != 'dimp') {
-+    $t->set('aclnavcell', Util::bufferOutput(array('Prefs_UI', 'generateNavigationCell'), 'acl'));
-+}
- $t->set('changefolder', Horde::link('#', _("Change Folder"), 'smallheader', '', 'ACLFolderChange(true); return false;'));
- $t->set('sharedimg', Horde::img('shared.png', _("Change Folder")));
- $t->set('options', IMP::flistSelect('', true, array(), $folder));
-diff --git a/templates/acl/acl.html b/templates/acl/acl.html
-index 79580aa..ae85ff4 100644
---- a/templates/acl/acl.html
-+++ b/templates/acl/acl.html
-@@ -2,11 +2,14 @@
- <input type="hidden" name="actionID" value="" />
- <tag:forminput />
- 
-+<if:imp_view>
- <div class="header">
-  <tag:aclnavcell />
-  <gettext>Share mail folders</gettext>
- </div>
-+</if:imp_view>
- 
-+<if:imp_view>
- <div class="header">
-  <ul>
-   <li>
-@@ -17,6 +20,12 @@
-  <span class="smallheader"><tag:current /></span>
- </div>
- </form>
-+<else:imp_view>
-+<div class="header">
-+ <span class="smallheader"><tag:current /></span>
-+</div>
-+</else:imp_view>
-+</if:imp_view>
- 
- <form method="post" name="acl" id="acl" action="<tag:aclurl />">
- <input type="hidden" name="actionID" value="imp_acl_set" />
-@@ -76,9 +85,13 @@
- </tr>
- <tr>
-  <td colspan = "<tag:maxrule />" class="header" valign="middle">
-+<if:imp_view>
-   <input type="button" class="button" id="fbutton" name="fbutton" onclick="$('acl').submit(); $('acl').disable();" value="<gettext>Save</gettext>" />
-   <input type="button" class="button" id="resetbut" name="resetbut" onclick="ACLFolderChange(true); return false;" value="<gettext>Reset</gettext>" />
-   <input type="button" class="button" id="back" name="back" onclick="$('acl').disable(); document.location.href='<tag:prefsurl />'" value="<gettext>Return to Options</gettext>" />
-+<else:imp_view>
-+  <input type="submit" class="button" id="fbutton" name="fbutton" value="<gettext>Save</gettext>" />
-+</if:imp_view>
-  </td>
-  <td class="header"> </td>
- </tr>
--- 
-tg: (f251c16..) t/dimp/H/GW/AclView (depends on: t/dimp/H/GW/FoldersView)
--- 
-TOPGIT patch commit log
-=======================
-
-commit e9630629c7479c73d3eb156f00544c34e95f0597
-Author: Gunnar Wrobel <p at rdus.de>
-Date:   Mon Jul 20 09:36:01 2009 +0200
-
-    Fix translation and improve header.
-
-commit 57041c04c322dd7dc57da5b171923b7ab000ec0a
-Author: Gunnar Wrobel <p at rdus.de>
-Date:   Sun Jun 21 23:58:30 2009 +0200
-
-    German translation.
-
-commit cac1482cec6c96a8a1d7fb7c0e8c2433877728f5
-Author: Gunnar Wrobel <p at rdus.de>
-Date:   Fri Mar 13 12:04:03 2009 +0000
-
-    Complete the patch description.
-
-commit 7a349ad9da06264378e84e54d7424f5dc78a9154
-Author: Gunnar Wrobel <p at rdus.de>
-Date:   Fri Mar 13 12:00:43 2009 +0000
-
-    Reduce the functionality of the ACL view when calling from DIMP. In addition add the call to the acl settings page within the folder context menu.
-
-commit 2fdc4d0fcd6e4956129f6ec11501112568b99c6d
-Author: Gunnar Wrobel <p at rdus.de>
-Date:   Sun Mar 8 19:59:30 2009 +0000
-
-    Completed a draft.
-From: Gunnar Wrobel <p at rdus.de>
-Subject: [PATCH] t/dimp/H/GW/FoldersView
-
-Provide a folders menu for dimp.
-
-kolab/issue3456 (There is no view in dimp that allows folder subscription)
-https://www.intevation.de/roundup/kolab/issue3456
-
-[#8059] DIMP provides no view to subscribe/unsubscribe to folders
-http://bugs.horde.org/ticket/8059
-
-Signed-off-by: Gunnar Wrobel <p at rdus.de>
-
----
- folders.php                    |   17 ++++++++++++-----
- templates/folders/actions.html |    2 ++
- 4 files changed, 25 insertions(+), 6 deletions(-)
-
-diff --git a/folders.php b/folders.php
-index a0425aa..c46b0e5 100644
---- a/folders.php
-+++ b/folders.php
-@@ -324,7 +324,9 @@ $folders_url = Util::addParameter($folders_url, 'folders_token', $folders_token)
- 
- $title = _("Folder Navigator");
- require IMP_TEMPLATES . '/common-header.inc';
--IMP::menu();
-+if ($_SESSION['imp']['default_view'] != 'dimp') {
-+    IMP::menu();
-+}
- IMP::status();
- IMP::quota();
- 
-@@ -375,6 +377,7 @@ if ($a_template->get('javascript')) {
- }
- 
- $a_template->set('create_folder', !empty($GLOBALS['conf']['hooks']['permsdenied']) || (IMP::hasPermission('create_folders') && IMP::hasPermission('max_folders')));
-+$a_template->set('imp_view', $_SESSION['imp']['default_view'] != 'dimp');
- if ($prefs->getValue('subscribe')) {
-     $a_template->set('subscribe', true);
-     $subToggleText = ($showAll) ? _("Hide Unsubscribed") : _("Show Unsubscribed");
-@@ -414,9 +417,11 @@ $rowct = 0;
- $morembox = $rows = array();
- foreach ($raw_rows as $val) {
-     $val['nocheckbox'] = !empty($val['vfolder']);
--    if (!empty($val['vfolder']) && ($val['value'] != IMPTREE_VFOLDER_KEY)) {
--        $val['delvfolder'] = Horde::link($imp_search->deleteURL($val['value']), _("Delete Virtual Folder")) . _("Delete") . '</a>';
--        $val['editvfolder'] = Horde::link($imp_search->editURL($val['value']), _("Edit Virtual Folder")) . _("Edit") . '</a>';
-+    if ($_SESSION['imp']['default_view'] != 'dimp') {
-+        if (!empty($val['vfolder']) && ($val['value'] != IMPTREE_VFOLDER_KEY)) {
-+            $val['delvfolder'] = Horde::link($imp_search->deleteURL($val['value']), _("Delete Virtual Folder")) . _("Delete") . '</a>';
-+            $val['editvfolder'] = Horde::link($imp_search->editURL($val['value']), _("Edit Virtual Folder")) . _("Edit") . '</a>';
-+        }
-     }
- 
-     $val['class'] = (++$rowct % 2) ? 'item0' : 'item1';
-@@ -433,7 +438,9 @@ foreach ($raw_rows as $val) {
-         if (!empty($val['unseen'])) {
-             $val['name'] = '<strong>' . $val['name'] . '</strong>';
-         }
--        $val['name'] = Horde::link(Util::addParameter($name_url, 'mailbox', $val['value']), sprintf(_("View messages in %s"), ($val['vfolder']) ? $val['base_elt']['l'] : $val['display'])) . $val['name'] . '</a>';
-+        if ($_SESSION['imp']['default_view'] != 'dimp') {
-+            $val['name'] = Horde::link(Util::addParameter($name_url, 'mailbox', $val['value']), sprintf(_("View messages in %s"), ($val['vfolder']) ? $val['base_elt']['l'] : $val['display'])) . $val['name'] . '</a>';
-+        }
-     }
- 
-     $dir2 = _image($val, null, 'folder');
-diff --git a/templates/folders/actions.html b/templates/folders/actions.html
-index f882a82..619e4de 100644
---- a/templates/folders/actions.html
-+++ b/templates/folders/actions.html
-@@ -12,12 +12,14 @@
-     <select id="action_choose<tag:id />">
-      <option selected="selected"><gettext>Choose Action</gettext></option>
-      <option value="">--------------------</option>
-+<if:imp_view>
- <if:create_folder>
-      <option value="create_folder"><gettext>Create</gettext></option>
- </if:create_folder>
-      <option value="rename_folder"><gettext>Rename</gettext></option>
-      <option value="delete_folder_confirm"><gettext>Delete</gettext></option>
-      <option value="folders_empty_mailbox_confirm"><gettext>Empty</gettext></option>
-+</if:imp_view>
- <if:notrash>
-      <option value="expunge_folder"><gettext>Purge</gettext></option>
- </if:notrash>
--- 
-tg: (a6f8c8b..) t/dimp/H/GW/FoldersView (depends on: t/kronolith/H/GW/UseDayHourStartEndAlsoInFBView)
--- 
-TOPGIT patch commit log
-=======================
-
-commit c16643e792c3b185bc74bef7a600c06857b19406
-Author: Gunnar Wrobel <p at rdus.de>
-Date:   Mon Nov 9 23:16:11 2009 +0100
-
-    Fix tag name from view_imp to imp_view.
-
-commit 93403a869ff14d7868d4cc9c4687ea1270e3c225
-Author: Gunnar Wrobel <p at rdus.de>
-Date:   Mon Jun 22 08:39:51 2009 +0200
-
-    Typo
-
-commit ad147a4b42d61800400a2a779e884ee050358811
-Author: Gunnar Wrobel <p at rdus.de>
-Date:   Mon Jun 22 00:06:14 2009 +0200
-
-    Fixed menu entry name, added translation, fixed image.
-
-commit a1966161022108d9bf4831a8613b1db9a4e68c4d
-Author: Gunnar Wrobel <p at rdus.de>
-Date:   Fri Mar 13 11:06:45 2009 +0000
-
-    Include issue references in the patch description.
-
-commit de8c5e8cac0bfb29c9cf94989016487302da653f
-Author: Gunnar Wrobel <p at rdus.de>
-Date:   Fri Mar 13 11:04:54 2009 +0000
-
-    Exclude IMP specific functionality as requested by Sascha wilde in  kolab/issue3456 (There is no view in dimp that allows folder subscription).
-
-commit 9c9a343c04cf11f857bfeb4148f0ab9d9df7dce6
-Author: Gunnar Wrobel <p at rdus.de>
-Date:   Sun Mar 8 19:06:05 2009 +0000
-
-    Completed the hack.
-
-commit caa539aac138c4b77376ab9f4a4a86691709a96b
-Author: Gunnar Wrobel <p at rdus.de>
-Date:   Sun Mar 8 19:01:41 2009 +0000
-
-    Completed the hack.
-From: Gunnar Wrobel <p at rdus.de>
-Subject: [PATCH] t/dimp/HK/GW/ItipHandling
-
-Allow handling iTip messages in dimp.
-
-Signed-off-by: Gunnar Wrobel <p at rdus.de>
-
----
- lib/MIME/Viewer/itip.php |   98 ++++++++++++++++++++--------
- 3 files changed, 108 insertions(+), 27 deletions(-)
-
-diff --git a/lib/MIME/Viewer/itip.php b/lib/MIME/Viewer/itip.php
-index 1f8fe1e..e030413 100644
---- a/lib/MIME/Viewer/itip.php
-+++ b/lib/MIME/Viewer/itip.php
-@@ -122,7 +122,7 @@ class IMP_MIME_Viewer_itip extends MIME_Viewer {
-                 break;
- 
-             case 'import':
--            case 'accept-import':
-+            case 'acceptimport':
-                 // vFreebusy reply.
-                 // vFreebusy publish.
-                 // vEvent request.
-@@ -202,12 +202,12 @@ class IMP_MIME_Viewer_itip extends MIME_Viewer {
-                     $this->_msgs[$key][] = array('warning', _("This action is not yet implemented."));
-                 }
- 
--                if ($action != 'accept-import') {
-+                if ($action != 'acceptimport') {
-                     break;
-                 }
- 
-             case 'accept':
--            case 'accept-import':
-+            case 'acceptimport':
-             case 'deny':
-             case 'tentative':
-                 // vEvent request.
-@@ -279,7 +279,7 @@ class IMP_MIME_Viewer_itip extends MIME_Viewer {
- 
-                     switch ($action) {
-                     case 'accept':
--                    case 'accept-import':
-+                    case 'acceptimport':
-                         $message = sprintf(_("%s has accepted."), $name);
-                         $subject = _("Accepted: ") . $vEvent->getAttribute('SUMMARY');
-                         $params['PARTSTAT'] = 'ACCEPTED';
-@@ -622,7 +622,7 @@ class IMP_MIME_Viewer_itip extends MIME_Viewer {
-         case 'PUBLISH':
-             $desc = _("%s wishes to make you aware of \"%s\".");
-             if ($registry->hasMethod('calendar/import')) {
--                $options[] = '<option value="import">' .   _("Add this to my calendar") . '</option>';
-+                $options['import'] = _("Add this to my calendar");
-             }
-             break;
- 
-@@ -655,35 +655,35 @@ class IMP_MIME_Viewer_itip extends MIME_Viewer {
-                     : _("%s wishes to make you aware of \"%s\".");
-             }
-             if ($is_update && $registry->hasMethod('calendar/replace')) {
--                $options[] = '<option value="accept-import">' . _("Accept and update in my calendar") . '</option>';
--                $options[] = '<option value="import">' . _("Update in my calendar") . '</option>';
-+                $options['acceptimport'] = _("Accept and update in my calendar");
-+                $options['import'] = _("Update in my calendar");
-             } elseif ($registry->hasMethod('calendar/import')) {
--                $options[] = '<option value="accept-import">' . _("Accept and add to my calendar") . '</option>';
--                $options[] = '<option value="import">' . _("Add to my calendar") . '</option>';
-+                $options['acceptimport'] = _("Accept and add to my calendar");
-+                $options['import'] = _("Add to my calendar");
-             }
--            $options[] = '<option value="accept">' . _("Accept request") . '</option>';
--            $options[] = '<option value="tentative">' . _("Tentatively Accept request") . '</option>';
--            $options[] = '<option value="deny">' . _("Deny request") . '</option>';
--            // $options[] = '<option value="delegate">' . _("Delegate position") . '</option>';
-+            $options['accept'] = _("Accept request");
-+            $options['tentative'] = _("Tentatively Accept request");
-+            $options['deny'] = _("Deny request");
-+            // $options['delegate'] = _("Delegate position");
-             break;
- 
-         case 'ADD':
-             $desc = _("%s wishes to ammend \"%s\".");
-             if ($registry->hasMethod('calendar/import')) {
--                $options[] = '<option value="import">' .   _("Update this event on my calendar") . '</option>';
-+                $options['import'] = _("Update this event on my calendar");
-             }
-             break;
- 
-         case 'REFRESH':
-             $desc = _("%s wishes to receive the latest information about \"%s\".");
--            $options[] = '<option value="send">' . _("Send Latest Information") . '</option>';
-+            $options['send'] = _("Send Latest Information");
-             break;
- 
-         case 'REPLY':
-             $desc = _("%s has replied to the invitation to \"%s\".");
-             $sender = $this->_headers->getValue('From');
-             if ($registry->hasMethod('calendar/updateAttendee')) {
--                $options[] = '<option value="update">' . _("Update respondent status") . '</option>';
-+                $options['update'] = _("Update respondent status");
-             }
-             break;
- 
-@@ -691,12 +691,12 @@ class IMP_MIME_Viewer_itip extends MIME_Viewer {
-             if (is_a($instance = $vevent->getAttribute('RECURRENCE-ID'), 'PEAR_Error')) {
-                 $desc = _("%s has cancelled \"%s\".");
-                 if ($registry->hasMethod('calendar/delete')) {
--                    $options[] = '<option value="delete">' . _("Delete from my calendar") . '</option>';
-+                    $options['delete'] = _("Delete from my calendar");
-                 }
-             } else {
-                 $desc = _("%s has cancelled an instance of the recurring \"%s\".");
-                 if ($registry->hasMethod('calendar/replace')) {
--                    $options[] = '<option value="import">' . _("Update in my calendar") . '</option>';
-+                    $options['import'] = _("Update in my calendar");
-                 }
-             }
-             break;
-@@ -709,6 +709,36 @@ class IMP_MIME_Viewer_itip extends MIME_Viewer {
-             $desc = sprintf($desc, htmlspecialchars($sender), htmlspecialchars($summary));
-         }
- 
-+        if ($_SESSION['imp']['viewmode'] == 'dimp') {
-+            require_once DIMP_BASE . '/lib/DIMP.php';
-+
-+            function _createMEntry($text, $image, $id, $class = '', $show_text = true, $app = null)
-+            {
-+                $params = array('icon' => $image, 'id' => $id, 'class' => $class);
-+                if ($show_text) {
-+                    $params['title'] = $text;
-+                } else {
-+                    $params['tooltip'] = $text;
-+                }
-+                if (isset($app)) {
-+                    $params['app'] = $app;
-+                }
-+                return DIMP::actionButton($params);
-+            }
-+
-+            $script = 'if (DIMP.baseWindow) {var B = DIMP.baseWindow.DimpBase;} else {B = DimpBase;};DimpCore.addMouseEvents({ id: \'button_invitation_cont\', type: \'itippopdown\', offset: \'button_invitation_cont\', left: true});';
-+	    $script .= '[ \'acceptimport\', \'import\', \'accept\', \'tentative\', \'deny\', \'update\', \'send\' ].each(function(a) {var d = $(\'ctx_itippopdown_\' + a); if (d) { DimpCore.clickObserveHandler({ d: d, f: function(a) { B.itip(a, DIMP.conf.msg_index, DIMP.conf.msg_folder, ' . $id . '); window.close(); }.curry(a) })}})';
-+
-+            $html .= '<div><span id="button_invitation_cont">' . _createMEntry(_("Invitation"), 'kronolith.png', 'button_invitation', 'hasmenu', true, 'kronolith') . Horde::img('popdown.png', '', array(), $GLOBALS['registry']->getImageDir('dimp')) . '</span></div><p/><script type="text/javascript">' . $script . '</script>';
-+
-+            if ($this->_msgs) {
-+                global $notification;
-+                foreach ($this->_msgs[$id] as $msg) {
-+                    $notification->push($msg[1], 'horde.' . $msg[0]);
-+                }
-+            }
-+        }
-+
-         $html .= '<h2 class="header">' . $desc . '</h2>';
- 
-         if ($this->_msgs) {
-@@ -796,16 +826,30 @@ class IMP_MIME_Viewer_itip extends MIME_Viewer {
-             $html .= '</tbody></table>';
-         }
- 
--        if ($_SESSION['imp']['viewmode'] != 'imp') {
--            return $html;
--        }
--
-         if ($options) {
--            $html .= '<h2 class="smallheader">' . _("Actions") . '</h2>' .
--                '<label for="action_' . $id . '" class="hidden">' . _("Actions") . '</label>' .
--                '<select id="action_' . $id . '" name="action[' . $id . ']">' .
--                implode("\n", $options) .
--                '</select> <input type="submit" class="button" value="' . _("Go") . '" />';
-+
-+            if ($_SESSION['imp']['viewmode'] == 'imp') {
-+
-+                $html .= '<h2 class="smallheader">' . _("Actions") . '</h2>' .
-+                    '<label for="action_' . $id . '" class="hidden">' . _("Actions") . '</label>' .
-+                    '<select id="action_' . $id . '" name="action[' . $id . ']">';
-+
-+                foreach ($options as $key => $description) {
-+                    $html .= '<option value="' . $key .'">' . $description . "</option>\n";
-+                }
-+
-+                $html .= '</select> <input type="submit" class="button" value="' . _("Go") . '" />';
-+
-+            } else if ($_SESSION['imp']['viewmode'] == 'dimp') {
-+
-+                $html .= '<div class="context" id="ctx_itippopdown">';
-+
-+                foreach ($options as $key => $description) {
-+                    $html .= '<div>' . _createMEntry($description, 'kronolith.png', 'ctx_itippopdown_' . $key, '', true, 'kronolith') . '</div>';
-+                }
-+
-+                $html .= '</div>';
-+            }
-         }
- 
-         return $html;
-
-diff --git a/lib/MIME/Viewer/itip.php b/lib/MIME/Viewer/itip.php
-index 3227519..48769a2 100644
---- a/lib/MIME/Viewer/itip.php
-+++ b/lib/MIME/Viewer/itip.php
-@@ -752,8 +752,6 @@ class IMP_MIME_Viewer_itip extends MIME_Viewer {
-             }
- 
-             $script = 'if (DIMP.baseWindow) {var B = DIMP.baseWindow.DimpBase;} else {B = DimpBase;};DimpCore.addMouseEvents({ id: \'button_invitation_cont\', type: \'itippopdown\', offset: \'button_invitation_cont\', left: true});';
--	    $script .= '[ \'acceptimport\', \'import\', \'accept\', \'tentative\', \'deny\', \'update\', \'send\' ].each(function(a) {var d = $(\'ctx_itippopdown_\' + a); if (d) { DimpCore.clickObserveHandler({ d: d, f: function(a) { B.itip(a, DIMP.conf.msg_index, DIMP.conf.msg_folder, ' . $id . '); window.close(); }.curry(a) })}})';
--
-             $html .= '<div><span id="button_invitation_cont">' . _createMEntry(_("Invitation"), 'kronolith.png', 'button_invitation', 'hasmenu', true, 'kronolith') . Horde::img('popdown.png', '', array(), $GLOBALS['registry']->getImageDir('dimp')) . '</span></div><p/><script type="text/javascript">' . $script . '</script>';
- 
-             if ($this->_msgs) {
-@@ -866,14 +864,30 @@ class IMP_MIME_Viewer_itip extends MIME_Viewer {
-                 $html .= '</select> <input type="submit" class="button" value="' . _("Go") . '" />';
- 
-             } else if ($_SESSION['imp']['viewmode'] == 'dimp') {
-+                // the div of the context menu
-+                $script = "var itipContextMenu = document.createElement('div');\n";
-+                $script .= "itipContextMenu.setAttribute('class', 'context');\n";
-+                $script .= "itipContextMenu.setAttribute('id', 'ctx_itippopdown');\n";
-+                $script .= "itipContextMenu.setAttribute('style', 'display:none');\n";
- 
--                $html .= '<div class="context" id="ctx_itippopdown">';
--
-+                // all the context menu items
-                 foreach ($options as $key => $description) {
--                    $html .= '<div>' . _createMEntry($description, 'kronolith.png', 'ctx_itippopdown_' . $key, '', true, 'kronolith') . '</div>';
-+                    $script .= "var itipContextMenuItem = document.createElement('a');\n";
-+                    $script .= "itipContextMenuItem.setAttribute('id', 'ctx_itippopdown" . $key . "');\n";
-+                    $script .= "var linkText = document.createTextNode('" . $description . "');\n";
-+                    $script .= "itipContextMenuItem.appendChild(linkText);\n";
-+                    $script .= "itipContextMenu.appendChild(itipContextMenuItem);\n";
-+                    $script .= "var d = $(itipContextMenuItem);\n";
-+                    $script .= "DimpCore.clickObserveHandler({ d: d,\n";
-+                    $script .= "                               f: function(a) {\n";
-+                    $script .= "                                      B.itip(a, DIMP.conf.msg_index, DIMP.conf.msg_folder, '" . $id . "');\n";
-+                    $script .= "                                      window.close();\n";
-+                    $script .= "                                  }.curry('" . $key . "'),\n";
-+                    $script .= "                               ns: true,\n";
-+                    $script .= "                             });\n";
-                 }
--
--                $html .= '</div>';
-+                $script .= "document.getElementById('dimpPage').appendChild(itipContextMenu);\n";
-+                $html .= '<script type="text/javascript">' . $script . '</script>';
-             }
-         }
- 
---- a/lib/Auth/imp.php.orig	2010-02-26 20:20:36.000000000 +0100
-+++ b/lib/Auth/imp.php	2010-02-26 20:20:40.000000000 +0100
-@@ -134,7 +134,7 @@ class Auth_imp extends Auth {
- 
-         /* Open an IMAP stream. */
-         require_once IMP_BASE . '/lib/IMAP.php';
--        $imp_imap = &IMP_IMAP::singleton($_SESSION['imp']['user'], $credentials['password']);
-+        $imp_imap = &IMP_IMAP::singleton($_SESSION['imp']['uniquser'], $credentials['password']);
-         if (!$imp_imap->changeMbox(null, IMP_IMAP_PEEK)) {
-             Horde::logMessage(IMP::loginLogMessage('failed'), __FILE__, __LINE__, PEAR_LOG_ERR);
- 
---- a/lib/Session.php	2010-02-26 19:26:11.000000000 +0100
-+++ b/lib/Session.php	2010-02-26 19:26:26.000000000 +0100
-@@ -275,7 +275,7 @@ class IMP_Session {
-                     }
-                 } else {
-                     /* Auto-detect namespace parameters from IMAP server. */
--                    $res = $imapclient->login($_SESSION['imp']['user'], $password);
-+                    $res = $imapclient->login($_SESSION['imp']['uniquser'], $password);
-                     if (is_a($res, 'PEAR_Error')) {
-                         $auth_imp->IMPsetAuthErrorMsg($res->getMessage());
-                         unset($_SESSION['imp']);
-From: Gunnar Wrobel <p at rdus.de>
-Subject: [PATCH] t/imp/H/GW/SystemFolderPrefsDoubleEncoding
-
-Fixes a double encoding issue for the folder names set in the
-imp/config/prefs.php file.
-
-kolab/issue4690 (Umlaut problems in system folders)
-https://issues.kolab.org/issue4690
-
-[#9503] Double UTF7-IMAP encoding for system folders
-http://bugs.horde.org/ticket/9503
-
-Signed-off-by: Gunnar Wrobel <p at rdus.de>
-
----
-
---- a/po/de_DE.po	25 Oct 2010 12:50:13 -0000	1.56.2.58
-+++ b/po/de_DE.po	11 Jan 2011 20:28:00 -0000	1.56.2.59
-@@ -13,7 +13,7 @@
- "Project-Id-Version: IMP 4.2-cvs\n"
- "Report-Msgid-Bugs-To: dev at lists.horde.org\n"
- "POT-Creation-Date: 2010-10-25 14:49+0200\n"
--"PO-Revision-Date: 2009-11-20 14:49+0100\n"
-+"PO-Revision-Date: 2011-01-11 21:25+0100\n"
- "Last-Translator: Jan Schneider <jan at horde.org>\n"
- "Language-Team: German <dev at lists.horde.org>\n"
- "Language: de\n"
-@@ -1591,7 +1591,7 @@
-
- #: config/prefs.php.dist:304
- msgid "Drafts"
--msgstr "Entw&APw-rfe"
-+msgstr "Entwürfe"
-
- #: templates/prefs/folderselect.inc:19
- msgid "Drafts folder:"
-
---- a/config/prefs.php.dist	2010/03/19 17:16:34	1.216.4.38
-+++ b/config/prefs.php.dist	2011/01/19 13:13:42	1.216.4.39
-@@ -261,7 +261,7 @@
- $_prefs['sent_mail_folder'] = array(
-     // The mailbox value must be encoded in the UTF7-IMAP charset (see RFC
-     // 3501 [5.1.3]).
--    'value' => String::convertCharset(_("Sent"), null, 'UTF7-IMAP'),
-+    'value' => String::convertCharset(_("Sent"), NLS::getCharset(), 'UTF7-IMAP'),
-     // For Exchange, uncomment the entry below.
-     // 'value' => 'Sent Items',
-     'locked' => false,
-@@ -301,7 +301,7 @@
- $_prefs['drafts_folder'] = array(
-     // The mailbox value must be encoded in the UTF7-IMAP charset (see RFC
-     // 3501 [5.1.3]).
--    'value' => String::convertCharset(_("Drafts"), null, 'UTF7-IMAP'),
-+    'value' => String::convertCharset(_("Drafts"), NLS::getCharset(), 'UTF7-IMAP'),
-     'locked' => false,
-     'shared' => false,
-     'type' => 'implicit');
-@@ -314,7 +314,7 @@
- $_prefs['trash_folder'] = array(
-     // The mailbox value must be encoded in the UTF7-IMAP charset (see RFC
-     // 3501 [5.1.3]).
--    'value' => String::convertCharset(_("Trash"), null, 'UTF7-IMAP'),
-+    'value' => String::convertCharset(_("Trash"), NLS::getCharset(), 'UTF7-IMAP'),
-     // For Exchange, uncomment the entry below.
-     // 'value' => 'Deleted Items',
-     'locked' => false,
-@@ -329,7 +329,7 @@
- $_prefs['spam_folder'] = array(
-     // The mailbox value must be encoded in the UTF7-IMAP charset (see RFC
-     // 3501 [5.1.3]).
--    'value' => String::convertCharset(_("Spam"), null, 'UTF7-IMAP'),
-+    'value' => String::convertCharset(_("Spam"), NLS::getCharset(), 'UTF7-IMAP'),
-     'locked' => false,
-     'shared' => false,
-     'type' => 'implicit');





More information about the commits mailing list