[Kolab-devel] php failure undefined method Horde_Kolab_Server_ldap::uidForIdOrMail (openSUSE native)

Richard Bos ml at radoeka.nl
Sun Feb 15 21:32:46 CET 2009


Hi,

I have made quite some progress in the getting kolab to run on openSUSE 
native again.  However, at the moment when I sent an email I encounter the 
following error:

Feb 15 11:38:35 kolab postfix/pipe[6783]: AF8D823597: to=<richard at example.org>, relay=kolabmailboxfilter, delay=2.3, delays=0.41/0.27/0/1.6, 
dsn=5.3.0, status=bounced (Command died with status 255: "/usr/bin/php5". Command output: PHP Fatal error:  Call to undefined method 
Horde_Kolab_Server_ldap::uidForIdOrMail() in /usr/share/php5/PEAR/Horde/Kolab/Filter/Incoming.php on line 203 )

The email is sent from the root account, using the following command:
# echo $(date) | mailx -s test richard at radoeka.nl

When checking the code around line 203 in Incoming.php, it is this:
192         /* Load the LDAP library */
193         require_once 'Horde/Kolab/Server.php';
194
195         $server = &Horde_Kolab_Server::singleton();
196         if (is_a($server, 'PEAR_Error')) {
197             $server->code = OUT_LOG | EX_SOFTWARE;
198             return $server;
199         }
200
201         $hosts = array();
202         foreach ($this->_recipients as $recipient) {
203             $dn = $server->uidForIdOrMail($recipient);
204             if (is_a($dn, 'PEAR_Error')) {
205                 return $dn;
206             }

Looking for the method reveals the following:
Horde/Kolab/Server/ldap.php:    function uidForIdOrMail($id)
Horde/Kolab/Server.php:    function uidForIdOrMail($id)

This one; Horde/Kolab/Server/ldap.php has:
class Horde_Kolab_Server_ldap extends Horde_Kolab_Server {
......
    function uidForIdOrMail($id)
    {
        $filter = '(&(objectClass=kolabInetOrgPerson)(|(uid='.
            Horde_LDAP::quote($id) . ')(mail=' .
            Horde_LDAP::quote($id) . ')))';
        return $this->_dnForFilter($filter, KOLAB_SERVER_RESULT_STRICT);
    }
......

So it looks to me that the method is present on the system, but why can't it
located?

Is the require_once of 'Horde/Kolab/Server.php' in line 193 correct?
Shouldn't that be Horde/Kolab/Server/ldap.php?

I hope that one of you can point me in the right direction, it is a pity
to be stuck on this point.

-- 
Richard




More information about the devel mailing list