Spaces:
Sleeping
Sleeping
| /* vim: set expandtab tabstop=4 shiftwidth=4: */ | |
| // +--------------------------------------------------------------------------+ | |
| // | Net_LDAP | | |
| // +--------------------------------------------------------------------------+ | |
| // | Copyright (c) 1997-2003 The PHP Group | | |
| // +--------------------------------------------------------------------------+ | |
| // | This library is free software; you can redistribute it and/or | | |
| // | modify it under the terms of the GNU Lesser General Public | | |
| // | License as published by the Free Software Foundation; either | | |
| // | version 2.1 of the License, or (at your option) any later version. | | |
| // | | | |
| // | This library is distributed in the hope that it will be useful, | | |
| // | but WITHOUT ANY WARRANTY; without even the implied warranty of | | |
| // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | | |
| // | Lesser General Public License for more details. | | |
| // | | | |
| // | You should have received a copy of the GNU Lesser General Public | | |
| // | License along with this library; if not, write to the Free Software | | |
| // | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | | |
| // +--------------------------------------------------------------------------+ | |
| // | Authors: Jan Wagner | | |
| // +--------------------------------------------------------------------------+ | |
| // | |
| // $Id: RootDSE.php 4831 2006-02-06 09:59:09Z nbm $ | |
| /** | |
| * Getting the rootDSE entry of a LDAP server | |
| * | |
| * @package Net_LDAP | |
| * @author Jan Wagner <wagner@netsols.de> | |
| * @version $Revision: 4831 $ | |
| */ | |
| class Net_LDAP_RootDSE extends PEAR | |
| { | |
| /** | |
| * @access private | |
| * @var object Net_LDAP_Entry | |
| **/ | |
| var $_entry; | |
| /** | |
| * class constructor | |
| * | |
| * @param object Net_LDAP_Entry | |
| */ | |
| function Net_LDAP_RootDSE(&$entry) | |
| { | |
| $this->_entry = $entry; | |
| } | |
| /** | |
| * Gets the requested attribute value | |
| * | |
| * Same usuage as Net_LDAP_Entry::get_value() | |
| * | |
| * @access public | |
| * @param string Attribute name | |
| * @param array Array of options | |
| * @return mixed Net_LDAP_Error object or attribute values | |
| * @see Net_LDAP_Entry::get_value() | |
| */ | |
| function getValue($attr = '', $options = '') | |
| { | |
| return $this->_entry->get_value($attr, $options); | |
| } | |
| /** | |
| * alias function of getValue() for perl-ldap interface | |
| * | |
| * @see getValue() | |
| */ | |
| function get_value() | |
| { | |
| $args = func_get_args(); | |
| return call_user_func_array(array($this, 'getValue' ), $args); | |
| } | |
| /** | |
| * Determines if the extension is supported | |
| * | |
| * @access public | |
| * @param array Array of oids to check | |
| * @return boolean | |
| */ | |
| function supportedExtension($oids) | |
| { | |
| return $this->_checkAttr($oids, 'supportedExtension'); | |
| } | |
| /** | |
| * alias function of supportedExtension() for perl-ldap interface | |
| * | |
| * @see supportedExtension() | |
| */ | |
| function supported_extension() | |
| { | |
| $args = func_get_args(); | |
| return call_user_func_array(array($this, 'supportedExtension'), $args); | |
| } | |
| /** | |
| * Determines if the version is supported | |
| * | |
| * @access public | |
| * @param array Versions to check | |
| * @return boolean | |
| */ | |
| function supportedVersion($versions) | |
| { | |
| return $this->_checkAttr($versions, 'supportedLDAPVersion'); | |
| } | |
| /** | |
| * alias function of supportedVersion() for perl-ldap interface | |
| * | |
| * @see supportedVersion() | |
| */ | |
| function supported_version() | |
| { | |
| $args = func_get_args(); | |
| return call_user_func_array(array($this, 'supportedVersion'), $args); | |
| } | |
| /** | |
| * Determines if the control is supported | |
| * | |
| * @access public | |
| * @param array Control oids to check | |
| * @return boolean | |
| */ | |
| function supportedControl($oids) | |
| { | |
| return $this->_checkAttr($oids, 'supportedControl'); | |
| } | |
| /** | |
| * alias function of supportedControl() for perl-ldap interface | |
| * | |
| * @see supportedControl() | |
| */ | |
| function supported_control() | |
| { | |
| $args = func_get_args(); | |
| return call_user_func_array(array($this, 'supportedControl' ), $args); | |
| } | |
| /** | |
| * Determines if the sasl mechanism is supported | |
| * | |
| * @access public | |
| * @param array SASL mechanisms to check | |
| * @return boolean | |
| */ | |
| function supportedSASLMechanism($mechlist) | |
| { | |
| return $this->_checkAttr($mechlist, 'supportedSASLMechanisms'); | |
| } | |
| /** | |
| * alias function of supportedSASLMechanism() for perl-ldap interface | |
| * | |
| * @see supportedSASLMechanism() | |
| */ | |
| function supported_sasl_mechanism() | |
| { | |
| $args = func_get_args(); | |
| return call_user_func_array(array($this, 'supportedSASLMechanism'), $args); | |
| } | |
| /** | |
| * Checks for existance of value in attribute | |
| * | |
| * @access private | |
| * @param array $values values to check | |
| * @param attr $attr attribute name | |
| * @return boolean | |
| */ | |
| function _checkAttr($values, $attr) | |
| { | |
| if (!is_array($values)) $values = array($values); | |
| foreach ($values as $value) { | |
| if (!@in_array($value, $this->get_value($attr))) { | |
| return false; | |
| } | |
| } | |
| return true; | |
| } | |
| } | |