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 🙂
Dani says:
It worked like a charm for me!!!!!
Thank you!!!!!
May 17, 2011, 6:39 pmdavid says:
it works.
gj & ty
June 14, 2011, 11:44 amPietro says:
It works great!!!
June 22, 2011, 11:05 amMagic!
Chris says:
Thanks, you are my saviour
July 4, 2011, 9:30 pmEmile says:
Works perfectly. I’ve been looking for this fix for a while. Thank you!
July 4, 2011, 11:17 pmMoe says:
Thanks, This solution worked for me after updating to PHP 5.3.6
July 6, 2011, 8:18 pmgabf says:
You just saved my life!
July 18, 2011, 3:58 amThanks!!!
Richard Martens says:
Big thanks. this has given me a headache for weeks..
July 19, 2011, 2:55 pmbogati says:
it works thanks alot.
July 25, 2011, 11:02 amTheodore says:
thanks a lot, works as a charm
July 25, 2011, 3:28 pmSergio Gandrus says:
Grandissimo!!!
Grazie 🙂
Thanks!!
August 31, 2011, 10:23 ammft says:
Thanks a lot! 🙂
September 7, 2011, 7:54 pmGianni says:
Thanks a lot! You are my hero! 😉
October 15, 2011, 11:52 pm[ this is jerry ] says:
Helped me fix Horde 3.1.7 on a Plesk 9.2.3 Linux box! Thank you!
October 28, 2011, 4:49 pmAdrian says:
Yes it worked!
November 5, 2012, 6:36 pmThank you
Guillermo Ruiz says:
You’re a genius It works Ok
Thank you so much
May 16, 2013, 9:51 pm