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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 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;	}	}?>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精品91久久久久久清纯| 欧美国产一区视频在线观看| xnxx国产精品| 一区二区三区国产精华| 精品无人码麻豆乱码1区2区 | 欧美三级韩国三级日本一级| 精品福利av导航| 亚洲一卡二卡三卡四卡无卡久久 | 色婷婷亚洲精品| 精品乱码亚洲一区二区不卡| 亚洲一区av在线| 91免费在线视频观看| 2022国产精品视频| 秋霞国产午夜精品免费视频| 欧美在线|欧美| 亚洲少妇中出一区| 成人网页在线观看| 久久亚洲二区三区| 免费一级片91| 欧美久久久久久久久久| 亚洲欧美日韩中文字幕一区二区三区| 国产露脸91国语对白| 欧美一区二区三区四区视频| 亚洲一区二区综合| 色综合天天天天做夜夜夜夜做| 国产日韩欧美a| 国产精品一级二级三级| 337p粉嫩大胆色噜噜噜噜亚洲| 婷婷六月综合亚洲| 欧美军同video69gay| 天天综合色天天综合色h| 欧美色国产精品| 亚洲va中文字幕| 欧美视频你懂的| 午夜激情一区二区| 91精品国产综合久久香蕉麻豆| 亚洲大片精品永久免费| 欧美午夜免费电影| 亚洲一区二区精品久久av| 精品视频1区2区| 午夜精品视频在线观看| 在线综合视频播放| 蜜臀av国产精品久久久久| 日韩欧美综合在线| 久久99久久精品欧美| 久久伊99综合婷婷久久伊| 久久福利资源站| 欧美国产1区2区| 91丨九色丨尤物| 午夜成人免费视频| 欧美变态口味重另类| 国产精品一卡二| 亚洲靠逼com| 3d动漫精品啪啪| 国产91在线看| 一区二区欧美在线观看| 欧美日韩免费观看一区三区| 久久精品久久久精品美女| 久久精品免费在线观看| 99精品视频一区| 亚洲福利视频导航| 久久精品亚洲国产奇米99 | 国产在线视频一区二区三区| 久久久午夜精品| 91视频国产资源| 日韩福利视频导航| 欧美激情一区在线| 欧美日韩一区二区三区免费看 | 亚洲高清免费一级二级三级| 欧美大片国产精品| 99久久精品国产麻豆演员表| 亚洲高清中文字幕| 欧美激情一区在线| 91精品国产综合久久香蕉麻豆| 国产精品白丝jk白祙喷水网站| 一区二区在线观看免费| 日韩丝袜情趣美女图片| 成人激情小说网站| 全部av―极品视觉盛宴亚洲| 成人欧美一区二区三区黑人麻豆| 欧美丰满嫩嫩电影| 91污在线观看| 国产一区在线不卡| 午夜久久久久久| 亚洲色图欧洲色图| 亚洲国产精品t66y| 日韩网站在线看片你懂的| 色94色欧美sute亚洲线路一久| 国产一区二区导航在线播放| 亚洲一区二区三区视频在线| 国产精品日韩精品欧美在线| 91麻豆精品国产91久久久资源速度 | 成人黄色免费短视频| 免费人成精品欧美精品| 一区二区三区在线视频观看| 久久这里只精品最新地址| 欧美精品少妇一区二区三区| www.在线欧美| 国产成人在线看| 久久国产视频网| 亚洲成人一区在线| 最新成人av在线| 中文在线资源观看网站视频免费不卡| 日韩美女在线视频| 日韩欧美色综合| 91精品综合久久久久久| 欧美精品色综合| 欧美一区二区三区在线观看视频| 欧美在线一区二区三区| 一本一本久久a久久精品综合麻豆| 国产成人av电影在线播放| 国产乱码一区二区三区| 极品瑜伽女神91| 精品综合久久久久久8888| 理论电影国产精品| 久久精工是国产品牌吗| 另类综合日韩欧美亚洲| 麻豆国产精品视频| 精品一区二区三区免费| 久久国产综合精品| 国产福利视频一区二区三区| 国产精品一卡二卡| 不卡电影一区二区三区| 91精品办公室少妇高潮对白| 色噜噜狠狠成人网p站| 在线亚洲免费视频| 欧美猛男男办公室激情| 欧美四级电影网| 欧美一级专区免费大片| 精品日韩欧美在线| 国产精品免费av| 亚洲天天做日日做天天谢日日欢 | 日韩国产欧美在线播放| 日本va欧美va瓶| 9人人澡人人爽人人精品| 99久久精品99国产精品| 欧美色大人视频| 精品国精品国产| 中文字幕一区二区在线观看| 伊人开心综合网| 久久精品久久综合| 成人国产精品免费观看| 欧美在线观看视频一区二区| 3atv一区二区三区| 国产午夜精品一区二区三区嫩草| 中文字幕在线一区免费| 亚洲18色成人| 国产成人日日夜夜| 91久久久免费一区二区| 日韩一区二区三区电影| 中文字幕在线观看不卡| 亚洲一区影音先锋| 国产一区二区三区视频在线播放| av午夜一区麻豆| 日韩亚洲欧美成人一区| 国产精品全国免费观看高清| 亚洲bdsm女犯bdsm网站| 国产白丝网站精品污在线入口| 91片在线免费观看| 精品国产自在久精品国产| 亚洲精品中文字幕在线观看| 免费看日韩a级影片| 色94色欧美sute亚洲线路一ni| 精品少妇一区二区| 亚洲va韩国va欧美va| 成人免费观看av| 欧美一级一级性生活免费录像| 亚洲免费在线看| 国产精品一区二区男女羞羞无遮挡| 日本丰满少妇一区二区三区| 久久精品视频一区| 婷婷国产v国产偷v亚洲高清| eeuss鲁片一区二区三区| 欧美一区二区三区四区五区| 一区二区三区久久久| 国产成人精品免费在线| 日韩免费一区二区| 爽好久久久欧美精品| 色999日韩国产欧美一区二区| 日本一区二区免费在线| 老司机午夜精品| 欧美日韩综合色| 一区二区三区美女| 色视频成人在线观看免| 亚洲国产精品v| 国产成人精品三级| 久久久久久久久久美女| 精品在线播放免费| 日韩视频免费观看高清完整版 | 成人精品在线视频观看| 精品国产一区二区国模嫣然| 图片区日韩欧美亚洲| 欧美色视频在线| 一区二区国产盗摄色噜噜| av亚洲产国偷v产偷v自拍| 一区二区中文字幕在线| 成人免费看的视频| 中文字幕在线播放不卡一区| 国产成人精品亚洲午夜麻豆| 国产欧美一区在线|