亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? adodb-ldap.inc.php

?? asterisk用 的voip記費軟件
?? PHP
字號:
<?php/*  V4.94 23 Jan 2007  (c) 2000-2007 John Lim (jlim#natsoft.com.my). All rights reserved.   Released under both BSD license and Lesser GPL library license.   Whenever there is any discrepancy between the two licenses,   the BSD license will take precedence.  Set tabs to 8.    Revision 1: (02/25/2005) Updated codebase to include the _inject_bind_options function. This allows  users to access the options in the ldap_set_option function appropriately. Most importantly  LDAP Version 3 is now supported. See the examples for more information. Also fixed some minor  bugs that surfaced when PHP error levels were set high.    Joshua Eldridge (joshuae74#hotmail.com)*/ // security - hide pathsif (!defined('ADODB_DIR')) die();if (!defined('LDAP_ASSOC')) {	 define('LDAP_ASSOC',ADODB_FETCH_ASSOC);	 define('LDAP_NUM',ADODB_FETCH_NUM);	 define('LDAP_BOTH',ADODB_FETCH_BOTH);}class ADODB_ldap extends ADOConnection {    var $databaseType = 'ldap';	var $dataProvider = 'ldap';		# Connection information    var $username = false;    var $password = false;        # Used during searches    var $filter;    var $dn;	var $version;	var $port = 389;	# Options configuration information	var $LDAP_CONNECT_OPTIONS;	function ADODB_ldap() 	{			}  			// returns true or false		function _connect( $host, $username, $password, $ldapbase)	{	global $LDAP_CONNECT_OPTIONS;				if ( !function_exists( 'ldap_connect' ) ) return null;				$conn_info = array( $host,$this->port);				if ( strstr( $host, ':' ) ) {		    $conn_info = split( ':', $host );		} 				$this->_connectionID = ldap_connect( $conn_info[0], $conn_info[1] );		if (!$this->_connectionID) {			$e = 'Could not connect to ' . $conn_info[0];			$this->_errorMsg = $e;			if ($this->debug) ADOConnection::outp($e);			return false;		}		if( count( $LDAP_CONNECT_OPTIONS ) > 0 ) {			$this->_inject_bind_options( $LDAP_CONNECT_OPTIONS );		}				if ($username) {		    $bind = ldap_bind( $this->_connectionID, $username, $password );		} else {			$username = 'anonymous';		    $bind = ldap_bind( $this->_connectionID );				}				if (!$bind) {			$e = 'Could not bind to ' . $conn_info[0] . " as ".$username;			$this->_errorMsg = $e;			if ($this->debug) ADOConnection::outp($e);			return false;		}		$this->_errorMsg = '';		$this->database = $ldapbase;		return $this->_connectionID;	}    /*	Valid Domain Values for LDAP Options:	LDAP_OPT_DEREF (integer)	LDAP_OPT_SIZELIMIT (integer)	LDAP_OPT_TIMELIMIT (integer)	LDAP_OPT_PROTOCOL_VERSION (integer)	LDAP_OPT_ERROR_NUMBER (integer)	LDAP_OPT_REFERRALS (boolean)	LDAP_OPT_RESTART (boolean)	LDAP_OPT_HOST_NAME (string)	LDAP_OPT_ERROR_STRING (string)	LDAP_OPT_MATCHED_DN (string)	LDAP_OPT_SERVER_CONTROLS (array)	LDAP_OPT_CLIENT_CONTROLS (array)	Make sure to set this BEFORE calling Connect()	Example:	$LDAP_CONNECT_OPTIONS = Array(		Array (			"OPTION_NAME"=>LDAP_OPT_DEREF,			"OPTION_VALUE"=>2		),		Array (			"OPTION_NAME"=>LDAP_OPT_SIZELIMIT,			"OPTION_VALUE"=>100		),		Array (			"OPTION_NAME"=>LDAP_OPT_TIMELIMIT,			"OPTION_VALUE"=>30		),		Array (			"OPTION_NAME"=>LDAP_OPT_PROTOCOL_VERSION,			"OPTION_VALUE"=>3		),		Array (			"OPTION_NAME"=>LDAP_OPT_ERROR_NUMBER,			"OPTION_VALUE"=>13		),		Array (			"OPTION_NAME"=>LDAP_OPT_REFERRALS,			"OPTION_VALUE"=>FALSE		),		Array (			"OPTION_NAME"=>LDAP_OPT_RESTART,			"OPTION_VALUE"=>FALSE		)	);*/	function _inject_bind_options( $options ) {		foreach( $options as $option ) {			ldap_set_option( $this->_connectionID, $option["OPTION_NAME"], $option["OPTION_VALUE"] )				or die( "Unable to set server option: " . $option["OPTION_NAME"] );		}	}		/* returns _queryID or false */	function _query($sql,$inputarr)	{		$rs = ldap_search( $this->_connectionID, $this->database, $sql );		$this->_errorMsg = ($rs) ? '' : 'Search error on '.$sql;		return $rs; 	}    /* closes the LDAP connection */	function _close()	{		@ldap_close( $this->_connectionID );		$this->_connectionID = false;	}    	function SelectDB($db) {		$this->database = $db;		return true;	} // SelectDB    function ServerInfo()    {        if( !empty( $this->version ) ) return $this->version;        $version = array();        /*        Determines how aliases are handled during search.         LDAP_DEREF_NEVER (0x00)        LDAP_DEREF_SEARCHING (0x01)        LDAP_DEREF_FINDING (0x02)        LDAP_DEREF_ALWAYS (0x03)        The LDAP_DEREF_SEARCHING value means aliases are dereferenced during the search but         not when locating the base object of the search. The LDAP_DEREF_FINDING value means         aliases are dereferenced when locating the base object but not during the search.          Default: LDAP_DEREF_NEVER        */        ldap_get_option( $this->_connectionID, LDAP_OPT_DEREF, $version['LDAP_OPT_DEREF'] ) ;        switch ( $version['LDAP_OPT_DEREF'] ) {          case 0:            $version['LDAP_OPT_DEREF'] = 'LDAP_DEREF_NEVER';          case 1:            $version['LDAP_OPT_DEREF'] = 'LDAP_DEREF_SEARCHING';          case 2:            $version['LDAP_OPT_DEREF'] = 'LDAP_DEREF_FINDING';          case 3:            $version['LDAP_OPT_DEREF'] = 'LDAP_DEREF_ALWAYS';        }                /*         A limit on the number of entries to return from a search.         LDAP_NO_LIMIT (0) means no limit.        Default: LDAP_NO_LIMIT        */        ldap_get_option( $this->_connectionID, LDAP_OPT_SIZELIMIT, $version['LDAP_OPT_SIZELIMIT'] );        if ( $version['LDAP_OPT_SIZELIMIT'] == 0 ) {           $version['LDAP_OPT_SIZELIMIT'] = 'LDAP_NO_LIMIT';        }                /*        A limit on the number of seconds to spend on a search.         LDAP_NO_LIMIT (0) means no limit.        Default: LDAP_NO_LIMIT        */        ldap_get_option( $this->_connectionID, LDAP_OPT_TIMELIMIT, $version['LDAP_OPT_TIMELIMIT'] );        if ( $version['LDAP_OPT_TIMELIMIT'] == 0 ) {           $version['LDAP_OPT_TIMELIMIT'] = 'LDAP_NO_LIMIT';        }                /*        Determines whether the LDAP library automatically follows referrals returned by LDAP servers or not.         LDAP_OPT_ON        LDAP_OPT_OFF        Default: ON        */        ldap_get_option( $this->_connectionID, LDAP_OPT_REFERRALS, $version['LDAP_OPT_REFERRALS'] );        if ( $version['LDAP_OPT_REFERRALS'] == 0 ) {           $version['LDAP_OPT_REFERRALS'] = 'LDAP_OPT_OFF';        } else {           $version['LDAP_OPT_REFERRALS'] = 'LDAP_OPT_ON';                }        /*        Determines whether LDAP I/O operations are automatically restarted if they abort prematurely.         LDAP_OPT_ON        LDAP_OPT_OFF        Default: OFF        */        ldap_get_option( $this->_connectionID, LDAP_OPT_RESTART, $version['LDAP_OPT_RESTART'] );        if ( $version['LDAP_OPT_RESTART'] == 0 ) {           $version['LDAP_OPT_RESTART'] = 'LDAP_OPT_OFF';        } else {           $version['LDAP_OPT_RESTART'] = 'LDAP_OPT_ON';                }        /*        This option indicates the version of the LDAP protocol used when communicating with the primary LDAP server.        LDAP_VERSION2 (2)        LDAP_VERSION3 (3)        Default: LDAP_VERSION2 (2)        */        ldap_get_option( $this->_connectionID, LDAP_OPT_PROTOCOL_VERSION, $version['LDAP_OPT_PROTOCOL_VERSION'] );        if ( $version['LDAP_OPT_PROTOCOL_VERSION'] == 2 ) {           $version['LDAP_OPT_PROTOCOL_VERSION'] = 'LDAP_VERSION2';        } else {           $version['LDAP_OPT_PROTOCOL_VERSION'] = 'LDAP_VERSION3';                }        /* The host name (or list of hosts) for the primary LDAP server. */        ldap_get_option( $this->_connectionID, LDAP_OPT_HOST_NAME, $version['LDAP_OPT_HOST_NAME'] );         ldap_get_option( $this->_connectionID, LDAP_OPT_ERROR_NUMBER, $version['LDAP_OPT_ERROR_NUMBER'] );         ldap_get_option( $this->_connectionID, LDAP_OPT_ERROR_STRING, $version['LDAP_OPT_ERROR_STRING'] );         ldap_get_option( $this->_connectionID, LDAP_OPT_MATCHED_DN, $version['LDAP_OPT_MATCHED_DN'] );                 return $this->version = $version;        }}	/*--------------------------------------------------------------------------------------	 Class Name: Recordset--------------------------------------------------------------------------------------*/class ADORecordSet_ldap extends ADORecordSet{			var $databaseType = "ldap";	var $canSeek = false;	var $_entryID; /* keeps track of the entry resource identifier */		function ADORecordSet_ldap($queryID,$mode=false) 	{		if ($mode === false) { 			global $ADODB_FETCH_MODE;			$mode = $ADODB_FETCH_MODE;		}		switch ($mode)		{		case ADODB_FETCH_NUM: 		  $this->fetchMode = LDAP_NUM; 		break;		case ADODB_FETCH_ASSOC: 		  $this->fetchMode = LDAP_ASSOC; 		break;		case ADODB_FETCH_DEFAULT:		case ADODB_FETCH_BOTH: 		default:		  $this->fetchMode = LDAP_BOTH; 		break;		}			$this->ADORecordSet($queryID);		}		function _initrs()	{	   /* 	   This could be teaked to respect the $COUNTRECS directive from ADODB	   It's currently being used in the _fetch() function and the	   GetAssoc() function       */	    $this->_numOfRows = ldap_count_entries( $this->connection->_connectionID, $this->_queryID );	}    /*    Return whole recordset as a multi-dimensional associative array	*/	function &GetAssoc($force_array = false, $first2cols = false) 	{		$records = $this->_numOfRows;        $results = array();            for ( $i=0; $i < $records; $i++ ) {                foreach ( $this->fields as $k=>$v ) {                    if ( is_array( $v ) ) {                        if ( $v['count'] == 1 ) {                            $results[$i][$k] = $v[0];                        } else {                            array_shift( $v );                            $results[$i][$k] = $v;                        }                     }                }            }        		return $results; 	}        function &GetRowAssoc()	{        $results = array();        foreach ( $this->fields as $k=>$v ) {            if ( is_array( $v ) ) {                if ( $v['count'] == 1 ) {                    $results[$k] = $v[0];                } else {                    array_shift( $v );                    $results[$k] = $v;                }             }        } 		return $results; 	}		    function GetRowNums()    {        $results = array();        foreach ( $this->fields as $k=>$v ) {        static $i = 0;            if (is_array( $v )) {                if ( $v['count'] == 1 ) {                    $results[$i] = $v[0];                } else {                    array_shift( $v );                    $results[$i] = $v;                }             $i++;            }        }        return $results;    }		function _fetch()	{				if ( $this->_currentRow >= $this->_numOfRows && $this->_numOfRows >= 0 )        	return false;        	        if ( $this->_currentRow == 0 ) {		  $this->_entryID = ldap_first_entry( $this->connection->_connectionID, $this->_queryID );        } else {          $this->_entryID = ldap_next_entry( $this->connection->_connectionID, $this->_entryID );        }	    	    $this->fields = ldap_get_attributes( $this->connection->_connectionID, $this->_entryID );	    $this->_numOfFields = $this->fields['count'];		    switch ( $this->fetchMode ) {                        case LDAP_ASSOC:            $this->fields = $this->GetRowAssoc();            break;                        case LDAP_NUM:			$this->fields = array_merge($this->GetRowNums(),$this->GetRowAssoc());            break;                        case LDAP_BOTH:            default:			$this->fields = $this->GetRowNums();            break;        }        return ( is_array( $this->fields ) );        	}		function _close() {		@ldap_free_result( $this->_queryID );			$this->_queryID = false;	}	}?>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区在线观看视频| 91小视频免费观看| 国产网站一区二区三区| 欧洲一区二区av| av电影天堂一区二区在线观看| 不卡的电影网站| 国产亚洲视频系列| 亚洲免费av观看| 一区2区3区在线看| 丁香婷婷深情五月亚洲| 91在线精品一区二区三区| 亚洲视频你懂的| 色综合久久天天| 婷婷综合五月天| 精品美女一区二区三区| 国产成人亚洲综合a∨婷婷图片| 国产日韩欧美一区二区三区乱码 | 欧美日韩国产区一| 日韩欧美国产电影| 久久综合久久鬼色| 欧美亚洲国产bt| 欧美日韩夫妻久久| 色综合色综合色综合色综合色综合 | 91久久精品一区二区三| 欧美福利视频导航| 91精品91久久久中77777| 国产精品私房写真福利视频| 日本美女视频一区二区| 久久久国产午夜精品| 色综合 综合色| 久久精品国产精品青草| 国产精品热久久久久夜色精品三区| 91丨porny丨首页| 蜜桃av一区二区三区电影| 中文欧美字幕免费| 9191成人精品久久| heyzo一本久久综合| 天天影视网天天综合色在线播放| 国产丝袜在线精品| 在线成人高清不卡| 99视频精品全部免费在线| 日本不卡视频一二三区| 亚洲人一二三区| 久久亚洲精品国产精品紫薇| 在线看一区二区| 国产成人精品三级麻豆| 日韩国产在线一| 国产精品免费av| 日韩免费高清视频| 欧美日韩在线播| 99久久伊人精品| 国产高清成人在线| 免费看欧美女人艹b| 亚洲一区二区三区在线看| 国产成人av影院| 欧美变态tickle挠乳网站| 免费观看91视频大全| 亚洲女人小视频在线观看| 国产丝袜在线精品| 欧美精品一区二区三区视频 | 亚洲午夜三级在线| 中文字幕人成不卡一区| 久久女同性恋中文字幕| 日韩色视频在线观看| 欧美性大战久久久久久久蜜臀 | 国产精品白丝jk白祙喷水网站| 亚洲v中文字幕| 亚洲国产精品成人综合| 亚洲精品日日夜夜| 欧美一区二区精美| 欧美性视频一区二区三区| 日韩欧美高清在线| 成人性色生活片免费看爆迷你毛片| 一本大道av伊人久久综合| 5月丁香婷婷综合| 无吗不卡中文字幕| 久久久夜色精品亚洲| 国产剧情一区二区| 国产精品一线二线三线| 国产精品综合网| 欧美日韩日日骚| 亚洲乱码国产乱码精品精小说| 国产欧美日韩综合| 亚洲sss视频在线视频| 久久精品av麻豆的观看方式| 91视频精品在这里| 欧美成人精品福利| 亚洲一区二区黄色| a美女胸又www黄视频久久| 欧美一个色资源| 亚洲福利一区二区三区| 成人视屏免费看| 久久综合九色综合97_久久久| 亚洲成人激情自拍| 成人福利视频在线| 久久久久亚洲综合| 韩日精品视频一区| 欧美一区二区美女| 日本系列欧美系列| 欧美日韩精品专区| 亚洲第一成人在线| 91福利视频网站| 亚洲福利电影网| 欧美日韩亚洲不卡| 亚洲成在线观看| 欧美人伦禁忌dvd放荡欲情| 亚洲免费观看高清| 欧美亚洲国产bt| 亚洲成av人片在线观看| 欧美日韩美女一区二区| 婷婷国产v国产偷v亚洲高清| 欧洲生活片亚洲生活在线观看| 亚洲一区电影777| 欧美三级电影一区| 久久精品国产99国产精品| 久久一日本道色综合| 成人一级黄色片| 亚洲色图欧美在线| 欧美在线视频日韩| 国产乱色国产精品免费视频| 日韩国产欧美在线视频| 激情欧美日韩一区二区| 欧美一区国产二区| 国产经典欧美精品| 一区二区三区国产精华| 日韩一级片在线播放| 福利一区福利二区| 亚洲一区二区精品久久av| 日韩欧美一二三| 欧美系列在线观看| 国产一区二区免费在线| 亚洲一区在线播放| 欧美国产精品v| 欧美大片在线观看| 欧洲一区在线电影| 免播放器亚洲一区| 亚洲大片在线观看| 1024成人网色www| 久久久不卡网国产精品一区| 欧美久久一区二区| 色综合一区二区| 大白屁股一区二区视频| 蜜臀精品一区二区三区在线观看| 伊人性伊人情综合网| 1024精品合集| 椎名由奈av一区二区三区| 国产欧美精品区一区二区三区| 日韩一级黄色大片| 日韩午夜在线观看视频| 91超碰这里只有精品国产| 欧美伊人久久大香线蕉综合69 | 久久国产精品99久久人人澡| 亚洲高清在线视频| 亚洲国产精品一区二区久久| 亚洲一区二区三区四区五区中文| 自拍偷拍国产精品| 亚洲国产精品麻豆| 午夜欧美一区二区三区在线播放| 亚洲成人免费影院| 麻豆91免费看| 欧美电视剧免费全集观看| 精品国产一区a| 亚洲免费av在线| 欧美日韩国产首页| 成人午夜电影网站| 国模娜娜一区二区三区| 日本欧洲一区二区| 日本不卡高清视频| 日本人妖一区二区| 奇米精品一区二区三区在线观看一 | 日韩女优av电影| 国产一区二区影院| √…a在线天堂一区| www国产精品av| 日韩欧美一级在线播放| 欧美日韩一区在线观看| 麻豆91在线观看| 麻豆精品一二三| 午夜精品一区二区三区免费视频| 欧美成人r级一区二区三区| 欧美日韩一二三区| 91麻豆精品国产自产在线| 91精品国产综合久久久久| 日韩精品在线一区| 欧美经典一区二区| 亚洲v日本v欧美v久久精品| 国产一区二区调教| 91色视频在线| 精品久久久久av影院| 一区在线观看免费| 日韩和欧美的一区| 国产精品综合二区| 99热在这里有精品免费| 欧美日韩一级二级| 欧美—级在线免费片| 亚瑟在线精品视频| 成a人片国产精品| 日韩欧美自拍偷拍| 亚洲久草在线视频| 蜜桃av噜噜一区|