Horde_Kolab_Server_Factory::getConnection PHP Method

getConnection() public method

Return the server connection that should be used.
public getConnection ( array $configuration ) : Horde_Kolab_Server_Connection
$configuration array The configuration parameters for the connection. (@todo: describe parameters)
return Horde_Kolab_Server_Connection The connection to the server.
    public function getConnection(array $configuration)
    {
        if (empty($configuration['mock'])) {
            if (!isset($configuration['basedn'])) {
                throw new Horde_Exception('The parameter \'basedn\' is missing in the Kolab server configuration!');
            }
            $ldap_read = new Horde_Ldap($configuration);
            if (isset($configuration['host_master'])) {
                $configuration['host'] = $configuration['host_master'];
                $ldap_write = new Horde_Ldap($configuration);
                $connection = new Horde_Kolab_Server_Connection_Splittedldap($ldap_read, $ldap_write);
            } else {
                $connection = new Horde_Kolab_Server_Connection_Simpleldap($ldap_read);
            }
            return $connection;
        } else {
            if (isset($configuration['data'])) {
                $data = $configuration['data'];
            } else {
                $data = array();
            }
            $connection = new Horde_Kolab_Server_Connection_Mock(new Horde_Kolab_Server_Connection_Mock_Ldap($configuration, $data));
            return $connection;
        }
    }