tested on Horde: 3.1.7
don’t be tricked by these errors in log:
[error] [client ….] PHP Deprecated: Assigning the return value of new by reference is deprecated in /usr/share/psa-pear/PEAR.php
the errors can be disabled in /usr/share/psa-horde/config/conf.php
If you get white page [500 error] after login on horde you can try this:
edit files:
/usr/share/psa-horde/imp/lib/IMAP/Client.php line 576 modify function namespace($additional = array()) with function plmnamespace($additional = array()) /usr/share/psa-horde/imp/lib/Session.php line 295 modify $_SESSION['imp']['namespace'] = $imapclient->namespace($user_namespace); with $_SESSION['imp']['namespace'] = $imapclient->plmnamespace($user_namespace);
reload the webmail page and logout/login again.
Please let me know if this helps you. Feedback is appreciated.
UPDATE:
modify all this files to get everything working properly
./IMAP/Tree.php:78: $ptr = reset($_SESSION[‘imp’][‘plmnamespace’]);
./IMAP/Tree.php:83: $this->_namespaces = (empty($GLOBALS[‘conf’][‘user’][‘allow_folders’])) ? array() : $_SESSION[‘imp’][‘plmnamespace’];
./IMAP/Tree.php:184: foreach ($_SESSION[‘imp’][‘plmnamespace’] as $val) {
./Folder.php:139: $delimiter = reset($_SESSION[‘imp’][‘plmnamespace’]);
./Folder.php:678: foreach ($_SESSION[‘imp’][‘plmnamespace’] as $val) {
./Session.php:259: $_SESSION[‘imp’][‘plmnamespace’] = $ptr[‘imap_config’][‘plmnamespace’];
./Session.php:265: $_SESSION[‘imp’][‘plmnamespace’] = array();
./Session.php:268: $user_namespace = (isset($ptr[‘plmnamespace’]) && is_array($ptr[‘plmnamespace’])) ? $ptr[‘plmnamespace’] : array();
./Session.php:278: $_SESSION[‘imp’][‘plmnamespace’][$val] = array(‘name’ => $val, ‘delimiter’ => $box[0]->delimiter);
./Session.php:295: $_SESSION[‘imp’][‘plmnamespace’] = $imapclient->plmnamespace($user_namespace);
./Session.php:296: if (!is_array($_SESSION[‘imp’][‘plmnamespace’])) {
./Session.php:318: $_SESSION[‘imp’][‘plmnamespace’] = null;
./IMP.php:1195: reset($_SESSION[‘imp’][‘plmnamespace’]);
./IMP.php:1196: $mailbox = key($_SESSION[‘imp’][‘plmnamespace’]);
./IMP.php:1204: foreach ($_SESSION[‘imp’][‘plmnamespace’] as $key => $val) {
./IMP.php:1211: if ($empty && isset($_SESSION[‘imp’][‘plmnamespace’][”])) {
./IMP.php:1212: $cache[$key][$mailbox] = $_SESSION[‘imp’][‘plmnamespace’][”];
./IMP.php:1236: foreach ($_SESSION[‘imp’][‘plmnamespace’] as $val) {
P.S. If you copy/paste the content to your blog, please quote the source 🙂