<?php /**************************************************************************\ * eGroupWare API - Accounts manager for LDAP * * This file written by Lars Kneschke <l.kneschke@metaways.de> * * View and manipulate contact records using LDAP * * ------------------------------------------------------------------------ * * This library is part of the eGroupWare API * * http://www.egroupware.org/api * * -------------------------------------------- * * This program is free software; you can redistribute it and/or modify it * * under the terms of the GNU General Public License as published by the * * Free Software Foundation; version 2 of the License. * \**************************************************************************/ /* $Id$ */ define('UNKNOWN_LDAPSERVER',0); define('OPENLDAP_LDAPSERVER',1); /*! @class contacts @abstract Contact List System @discussion Author: jengo/Milosch <br> This class provides a contact database scheme. <br> It attempts to be based on the vcard 2.1 standard, with mods as needed to make for more reasonable sql storage. <br> The LDAP schema used here may require installation of schema files available in the phpgwapi/doc/ldap dir. Please see the README file there. Syntax: CreateObject('phpgwapi.contacts'); <br> Example1: $contacts = CreateObject('phpgwapi.contacts'); */ class ldapserverinfo { /** * @var array $namingContext holds the supported namingcontexts */ var $namingContext = array(); /** * @var string $version holds the LDAP server version */ var $version = 2; /** * @var integer $serverType holds the type of LDAP server(OpenLDAP, ADS, NDS, ...) */ var $serverType = 0; /** * @var string $_subSchemaEntry the subschema entry DN */ var $subSchemaEntry = ''; /** * @var array $supportedObjectClasses the supported objectclasses */ var $supportedObjectClasses = array(); /** * @var array $supportedOIDs the supported OIDs */ var $supportedOIDs = array(); /** * the constructor for this class */ /*function ldapserverinfo() { }*/ /** * gets the version * * @return integer the supported ldap version */ function getVersion() { return $this->version; } /** * sets the namingcontexts * * @param array $_namingContext the supported namingcontexts */ function setNamingContexts($_namingContext) { $this->namingContext = $_namingContext; } /** * sets the type of the ldap server(OpenLDAP, ADS, NDS, ...) * * @param integer $_serverType the type of ldap server */ function setServerType($_serverType) { $this->serverType = $_serverType; } /** * sets the DN for the subschema entry * * @param string $_subSchemaEntry the subschema entry DN */ function setSubSchemaEntry($_subSchemaEntry) { $this->subSchemaEntry = $_subSchemaEntry; } /** * sets the supported objectclasses * * @param array $_supportedObjectClasses the supported objectclasses */ function setSupportedObjectClasses($_supportedObjectClasses) { $this->supportedOIDs = $_supportedObjectClasses; $this->supportedObjectClasses = array_flip($_supportedObjectClasses); } /** * sets the version * * @param integer $_version the supported ldap version */ function setVersion($_version) { $this->version = $_version; } /** * checks for supported objectclasses * * @return bool returns true if the ldap server supports this objectclass */ function supportsObjectClass($_objectClass) { if($this->supportedObjectClasses[strtolower($_objectClass)]) { return true; } else { return false; } } } ?>