laipower/wp-content/plugins/authldap/patchcoverage/ldap.php.html

695 lines
174 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Code Coverage for /Volumes/Rest/Dev/Sites/authLDAP/ldap.php</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<!--[if lt IE 9]>
<script src="js/html5shiv.min.js"></script>
<script src="js/respond.min.js"></script>
<![endif]-->
</head>
<body>
<header>
<div class="container">
<div class="row">
<div class="col-md-12">
<ol class="breadcrumb">
<li><a href="index.html">/Volumes/Rest/Dev/Sites/authLDAP</a></li>
<li class="active">ldap.php</li>
</ol>
</div>
</div>
</div>
</header>
<div class="container">
<table class="table table-bordered">
<thead>
<tr>
<td>&nbsp;</td>
<td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
<td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
<td colspan="3"><div align="center"><strong>Lines</strong></div></td>
</tr>
</thead>
<tbody>
<tr>
<td class="danger">Total</td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;2</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;12</div></td>
<td class="danger small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
<td class="warning big"> <div class="progress">
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="68.97" aria-valuemin="0" aria-valuemax="100" style="width: 68.97%">
<span class="sr-only">68.97% covered (warning)</span>
</div>
</div>
</td>
<td class="warning small"><div align="right">68.97%</div></td>
<td class="warning small"><div align="right">60&nbsp;/&nbsp;87</div></td>
</tr>
<tr>
<td class="danger">LDAP</td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;11</div></td>
<td class="danger small">76.77</td>
<td class="warning big"> <div class="progress">
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="72.29" aria-valuemin="0" aria-valuemax="100" style="width: 72.29%">
<span class="sr-only">72.29% covered (warning)</span>
</div>
</div>
</td>
<td class="warning small"><div align="right">72.29%</div></td>
<td class="warning small"><div align="right">60&nbsp;/&nbsp;83</div></td>
</tr>
<tr>
<td class="danger" colspan="4">&nbsp;<a href="#51"><abbr title="__construct($URI, $debug = false)">__construct</abbr></a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger small">11</td>
<td class="success big"> <div class="progress">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="96.15" aria-valuemin="0" aria-valuemax="100" style="width: 96.15%">
<span class="sr-only">96.15% covered (success)</span>
</div>
</div>
</td>
<td class="success small"><div align="right">96.15%</div></td>
<td class="success small"><div align="right">25&nbsp;/&nbsp;26</div></td>
</tr>
<tr>
<td class="danger" colspan="4">&nbsp;<a href="#96"><abbr title="connect()">connect</abbr></a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger small">4.32</td>
<td class="warning big"> <div class="progress">
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="72.73" aria-valuemin="0" aria-valuemax="100" style="width: 72.73%">
<span class="sr-only">72.73% covered (warning)</span>
</div>
</div>
</td>
<td class="warning small"><div align="right">72.73%</div></td>
<td class="warning small"><div align="right">8&nbsp;/&nbsp;11</div></td>
</tr>
<tr>
<td class="danger" colspan="4">&nbsp;<a href="#122"><abbr title="disconnect()">disconnect</abbr></a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger small">2.06</td>
<td class="warning big"> <div class="progress">
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="75.00" aria-valuemin="0" aria-valuemax="100" style="width: 75.00%">
<span class="sr-only">75.00% covered (warning)</span>
</div>
</div>
</td>
<td class="warning small"><div align="right">75.00%</div></td>
<td class="warning small"><div align="right">3&nbsp;/&nbsp;4</div></td>
</tr>
<tr>
<td class="danger" colspan="4">&nbsp;<a href="#137"><abbr title="bind()">bind</abbr></a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger small">8.43</td>
<td class="warning big"> <div class="progress">
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="69.23" aria-valuemin="0" aria-valuemax="100" style="width: 69.23%">
<span class="sr-only">69.23% covered (warning)</span>
</div>
</div>
</td>
<td class="warning small"><div align="right">69.23%</div></td>
<td class="warning small"><div align="right">9&nbsp;/&nbsp;13</div></td>
</tr>
<tr>
<td class="danger" colspan="4">&nbsp;<a href="#159"><abbr title="getErrorNumber()">getErrorNumber</abbr></a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger small">2</td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
</tr>
<tr>
<td class="danger" colspan="4">&nbsp;<a href="#164"><abbr title="getErrorText()">getErrorText</abbr></a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger small">2</td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
</tr>
<tr>
<td class="danger" colspan="4">&nbsp;<a href="#180"><abbr title="search($filter, $attributes = array('uid'))">search</abbr></a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger small">4.59</td>
<td class="warning big"> <div class="progress">
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="66.67" aria-valuemin="0" aria-valuemax="100" style="width: 66.67%">
<span class="sr-only">66.67% covered (warning)</span>
</div>
</div>
</td>
<td class="warning small"><div align="right">66.67%</div></td>
<td class="warning small"><div align="right">6&nbsp;/&nbsp;9</div></td>
</tr>
<tr>
<td class="danger" colspan="4">&nbsp;<a href="#199"><abbr title="debugOn()">debugOn</abbr></a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger small">2</td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;2</div></td>
</tr>
<tr>
<td class="danger" colspan="4">&nbsp;<a href="#208"><abbr title="debugOff()">debugOff</abbr></a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger small">2</td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;2</div></td>
</tr>
<tr>
<td class="danger" colspan="4">&nbsp;<a href="#225"><abbr title="authenticate($username, $password, $filter = '(uid=%s)')">authenticate</abbr></a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger small">7.05</td>
<td class="success big"> <div class="progress">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="90.00" aria-valuemin="0" aria-valuemax="100" style="width: 90.00%">
<span class="sr-only">90.00% covered (success)</span>
</div>
</div>
</td>
<td class="success small"><div align="right">90.00%</div></td>
<td class="success small"><div align="right">9&nbsp;/&nbsp;10</div></td>
</tr>
<tr>
<td class="danger" colspan="4">&nbsp;<a href="#245"><abbr title="logError()">logError</abbr></a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger small">6</td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;4</div></td>
</tr>
<tr>
<td class="danger">AuthLDAP_Exception</td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger small">6</td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;4</div></td>
</tr>
<tr>
<td class="danger" colspan="4">&nbsp;<a href="#256"><abbr title="__construct($message, $line = null)">__construct</abbr></a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger small">6</td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;4</div></td>
</tr>
</tbody>
</table>
<table id="code" class="table table-borderless table-condensed">
<tbody>
<tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
<tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
<tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;$Id:&nbsp;ldap.php&nbsp;381646&nbsp;2011-05-06&nbsp;09:37:31Z&nbsp;heiglandreas&nbsp;$</span></td></tr>
<tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"><span class="comment">&nbsp;*</span></td></tr>
<tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;authLdap&nbsp;-&nbsp;Authenticate&nbsp;Wordpress&nbsp;against&nbsp;an&nbsp;LDAP-Backend.</span></td></tr>
<tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;Copyright&nbsp;(c)&nbsp;2008&nbsp;Andreas&nbsp;Heigl&lt;andreas@heigl.org&gt;</span></td></tr>
<tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">&nbsp;*</span></td></tr>
<tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software;&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or</span></td></tr>
<tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;modify&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License</span></td></tr>
<tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;as&nbsp;published&nbsp;by&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation;&nbsp;either&nbsp;version&nbsp;2</span></td></tr>
<tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;of&nbsp;the&nbsp;License,&nbsp;or&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.</span></td></tr>
<tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="comment">&nbsp;*</span></td></tr>
<tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,</span></td></tr>
<tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of</span></td></tr>
<tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the</span></td></tr>
<tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
<tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="comment">&nbsp;*</span></td></tr>
<tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License</span></td></tr>
<tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;along&nbsp;with&nbsp;this&nbsp;program;&nbsp;if&nbsp;not,&nbsp;write&nbsp;to&nbsp;the&nbsp;Free&nbsp;Software</span></td></tr>
<tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;Foundation,&nbsp;Inc.,&nbsp;51&nbsp;Franklin&nbsp;Street,&nbsp;Fifth&nbsp;Floor,&nbsp;Boston,&nbsp;MA&nbsp;&nbsp;02110-1301,&nbsp;USA.</span></td></tr>
<tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="comment">&nbsp;*</span></td></tr>
<tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;This&nbsp;file&nbsp;handles&nbsp;the&nbsp;basic&nbsp;LDAP-Tasks</span></td></tr>
<tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="comment">&nbsp;*</span></td></tr>
<tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;@author&nbsp;Andreas&nbsp;Heigl&lt;andreas@heigl.org&gt;</span></td></tr>
<tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;@package&nbsp;authLdap</span></td></tr>
<tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;@category&nbsp;authLdap</span></td></tr>
<tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"><span class="comment">&nbsp;*&nbsp;@since&nbsp;2008</span></td></tr>
<tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="comment">&nbsp;*/</span></td></tr>
<tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">LDAP</span></td></tr>
<tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
<tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="default">$_server</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="default">$_scheme</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'ldap'</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="default">$_port</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">389</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="default">$_baseDn</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="default">$_debug</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
<tr><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;This&nbsp;property&nbsp;contains&nbsp;the&nbsp;connection&nbsp;handle&nbsp;to&nbsp;the&nbsp;ldap-server</span></td></tr>
<tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span></td></tr>
<tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;Ressource</span></td></tr>
<tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
<tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="default">$_ch</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">null</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="default">$_username</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="default">$_password</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">__construct</span><span class="keyword">(</span><span class="default">$URI</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$debug</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">)</span></td></tr>
<tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="16 tests cover line 53" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #3&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #4&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #5&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_debug</span><span class="keyword">=</span><span class="default">$debug</span><span class="keyword">;</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="16 tests cover line 54" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #3&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #4&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #5&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$url</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">parse_url</span><span class="keyword">(</span><span class="default">$URI</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="16 tests cover line 55" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #3&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #4&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #5&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">false</span><span class="default">&nbsp;</span><span class="default">===</span><span class="default">&nbsp;</span><span class="default">$url</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="1 test covers line 56" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #1&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">throw</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">Exception</span><span class="keyword">(</span><span class="default">$URI</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;is&nbsp;an&nbsp;invalid&nbsp;URL'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="15 tests cover line 58" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #3&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #4&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #5&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">&nbsp;</span><span class="keyword">isset</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">&nbsp;</span><span class="default">$url</span><span class="keyword">[</span><span class="default">'scheme'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="2 tests cover line 59" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #3&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #5&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">throw</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">Exception</span><span class="keyword">(</span><span class="default">$URI</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;does&nbsp;not&nbsp;provide&nbsp;a&nbsp;scheme'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="13 tests cover line 61" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #4&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">0</span><span class="default">&nbsp;</span><span class="default">!==</span><span class="default">&nbsp;</span><span class="default">strpos</span><span class="keyword">(</span><span class="default">$url</span><span class="keyword">[</span><span class="default">'scheme'</span><span class="keyword">]</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'ldap'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="1 test covers line 62" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">throw</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">Exception</span><span class="keyword">(</span><span class="default">$URI</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;is&nbsp;an&nbsp;invalid&nbsp;LDAP-URI'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="12 tests cover line 64" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #4&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">&nbsp;</span><span class="keyword">isset</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">&nbsp;</span><span class="default">$url</span><span class="keyword">[</span><span class="default">'host'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">throw</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">Exception</span><span class="keyword">(</span><span class="default">$URI</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;does&nbsp;not&nbsp;provide&nbsp;a&nbsp;server'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="12 tests cover line 67" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #4&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">&nbsp;</span><span class="keyword">isset</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">&nbsp;</span><span class="default">$url</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="1 test covers line 68" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #0&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">throw</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">Exception</span><span class="keyword">(</span><span class="default">$URI</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;does&nbsp;not&nbsp;provide&nbsp;a&nbsp;search-base'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="11 tests cover line 70" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #4&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">1</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">strlen</span><span class="keyword">(</span><span class="default">$url</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="1 test covers line 71" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testExceptionsWhenInstantiatingLdapClass with data set #4&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">throw</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">Exception</span><span class="keyword">(</span><span class="default">$URI</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;does&nbsp;not&nbsp;provide&nbsp;a&nbsp;valid&nbsp;search-base'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="10 tests cover line 73" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">&nbsp;</span><span class="default">-&gt;</span><span class="default">&nbsp;</span><span class="default">_server</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$url</span><span class="keyword">[</span><span class="default">'host'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="10 tests cover line 74" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">&nbsp;</span><span class="default">-&gt;</span><span class="default">&nbsp;</span><span class="default">_scheme</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$url</span><span class="keyword">[</span><span class="default">'scheme'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="10 tests cover line 75" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">&nbsp;</span><span class="default">-&gt;</span><span class="default">&nbsp;</span><span class="default">_baseDn</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">substr</span><span class="keyword">(</span><span class="default">$url</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">1</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="10 tests cover line 76" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">&nbsp;</span><span class="default">$url</span><span class="keyword">[</span><span class="default">'user'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="9 tests cover line 77" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">&nbsp;</span><span class="default">-&gt;</span><span class="default">&nbsp;</span><span class="default">_username</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$url</span><span class="keyword">[</span><span class="default">'user'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="10 tests cover line 79" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">''</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">trim</span><span class="keyword">(</span><span class="default">$this</span><span class="default">&nbsp;</span><span class="default">-&gt;</span><span class="default">&nbsp;</span><span class="default">_username</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="1 test covers line 80" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">&nbsp;</span><span class="default">-&gt;</span><span class="default">&nbsp;</span><span class="default">_username</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'anonymous'</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="10 tests cover line 82" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">&nbsp;</span><span class="default">$url</span><span class="keyword">[</span><span class="default">'pass'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="8 tests cover line 83" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">&nbsp;</span><span class="default">-&gt;</span><span class="default">&nbsp;</span><span class="default">_password</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$url</span><span class="keyword">[</span><span class="default">'pass'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="10 tests cover line 85" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">&nbsp;</span><span class="default">$url</span><span class="keyword">[</span><span class="default">'port'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 86" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">&nbsp;</span><span class="default">-&gt;</span><span class="default">&nbsp;</span><span class="default">_port</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$url</span><span class="keyword">[</span><span class="default">'port'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="10 tests cover line 88" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LdapTest::testInstantiateLdapClass with data set #3&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
<tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Connect&nbsp;to&nbsp;the&nbsp;given&nbsp;LDAP-Server</span></td></tr>
<tr><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span></td></tr>
<tr><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;LDAP</span></td></tr>
<tr><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;AuthLdap_Exception</span></td></tr>
<tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
<tr><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">connect</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
<tr><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 98" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">&nbsp;</span><span class="default">-&gt;</span><span class="default">&nbsp;</span><span class="default">disconnect</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 99" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">'ldaps'</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_scheme</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">@</span><span class="default">ldap_connect</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_server</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_port</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 102" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">389</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">&nbsp;</span><span class="default">-&gt;</span><span class="default">&nbsp;</span><span class="default">_port</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">&nbsp;</span><span class="default">-&gt;</span><span class="default">&nbsp;</span><span class="default">_port</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">636</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;when&nbsp;URL&nbsp;is&nbsp;used,&nbsp;port&nbsp;is&nbsp;ignored,&nbsp;see&nbsp;http://php.net/manual/en/function.ldap-connect.php</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 106" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">@</span><span class="default">ldap_connect</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_scheme</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'://'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_server</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">':'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">&nbsp;</span><span class="default">-&gt;</span><span class="default">&nbsp;</span><span class="default">_port</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 108" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">throw</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">AuthLDAP_Exception</span><span class="keyword">(</span><span class="default">'Could&nbsp;not&nbsp;connect&nbsp;to&nbsp;the&nbsp;server'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 111" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">ldap_set_option</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">LDAP_OPT_PROTOCOL_VERSION</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">3</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 112" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">ldap_set_option</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">LDAP_OPT_REFERRALS</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 114" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="keyword">;</span></td></tr>
<tr class="warning"><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
<tr><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Disconnect&nbsp;from&nbsp;a&nbsp;resource&nbsp;if&nbsp;one&nbsp;is&nbsp;available</span></td></tr>
<tr><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span></td></tr>
<tr><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;LDAP</span></td></tr>
<tr><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
<tr><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">disconnect</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
<tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 124" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">is_resource</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">@</span><span class="default">ldap_unbind</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 127" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">null</span><span class="keyword">;</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 128" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="keyword">;</span></td></tr>
<tr class="warning"><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
<tr><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Bind&nbsp;to&nbsp;an&nbsp;LDAP-Server&nbsp;with&nbsp;the&nbsp;given&nbsp;credentials</span></td></tr>
<tr><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span></td></tr>
<tr><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;LDAP</span></td></tr>
<tr><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throw&nbsp;AuthLdap_Exception</span></td></tr>
<tr><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
<tr><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">bind</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
<tr><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 139" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">connect</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 142" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">&nbsp;</span><span class="default">is_resource</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">throw</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">AuthLDAP_Exception</span><span class="keyword">(</span><span class="default">'No&nbsp;Resource-handle&nbsp;given'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 145" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$bind</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 146" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="146"></a><a href="#146">146</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">(</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_username</span><span class="default">&nbsp;</span><span class="keyword">)</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 147" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="147"></a><a href="#147">147</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_username</span><span class="default">&nbsp;</span><span class="default">!=</span><span class="default">&nbsp;</span><span class="default">'anonymous'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">)</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 148" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="148"></a><a href="#148">148</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_password</span><span class="default">&nbsp;</span><span class="default">!=</span><span class="default">&nbsp;</span><span class="default">''</span><span class="default">&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 149" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="149"></a><a href="#149">149</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$bind</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">@</span><span class="default">ldap_bind</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_username</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_password</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="150"></a><a href="#150">150</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="151"></a><a href="#151">151</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$bind</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">@</span><span class="default">ldap_bind</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="152"></a><a href="#152">152</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 153" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="153"></a><a href="#153">153</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">&nbsp;</span><span class="default">$bind</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="154"></a><a href="#154">154</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">throw</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">AuthLDAP_Exception</span><span class="keyword">(</span><span class="default">'bind&nbsp;was&nbsp;not&nbsp;successfull:&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">ldap_error</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="155"></a><a href="#155">155</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 156" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="156"></a><a href="#156">156</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="keyword">;</span></td></tr>
<tr class="warning"><td><div align="right"><a name="157"></a><a href="#157">157</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr><td><div align="right"><a name="158"></a><a href="#158">158</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td><div align="right"><a name="159"></a><a href="#159">159</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">getErrorNumber</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
<tr><td><div align="right"><a name="160"></a><a href="#160">160</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="161"></a><a href="#161">161</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">@</span><span class="default">ldap_errno</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr class="warning"><td><div align="right"><a name="162"></a><a href="#162">162</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr><td><div align="right"><a name="163"></a><a href="#163">163</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td><div align="right"><a name="164"></a><a href="#164">164</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">getErrorText</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
<tr><td><div align="right"><a name="165"></a><a href="#165">165</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="166"></a><a href="#166">166</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">@</span><span class="default">ldap_error</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr class="warning"><td><div align="right"><a name="167"></a><a href="#167">167</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr><td><div align="right"><a name="168"></a><a href="#168">168</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td><div align="right"><a name="169"></a><a href="#169">169</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
<tr><td><div align="right"><a name="170"></a><a href="#170">170</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;This&nbsp;method&nbsp;does&nbsp;the&nbsp;actual&nbsp;ldap-serch.</span></td></tr>
<tr><td><div align="right"><a name="171"></a><a href="#171">171</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span></td></tr>
<tr><td><div align="right"><a name="172"></a><a href="#172">172</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;This&nbsp;is&nbsp;using&nbsp;the&nbsp;filter&nbsp;&lt;var&gt;$filter&lt;/var&gt;&nbsp;for&nbsp;retrieving&nbsp;the&nbsp;attributes</span></td></tr>
<tr><td><div align="right"><a name="173"></a><a href="#173">173</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&lt;var&gt;$attributes&lt;/var&gt;</span></td></tr>
<tr><td><div align="right"><a name="174"></a><a href="#174">174</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span></td></tr>
<tr><td><div align="right"><a name="175"></a><a href="#175">175</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span></td></tr>
<tr><td><div align="right"><a name="176"></a><a href="#176">176</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;string&nbsp;$filter</span></td></tr>
<tr><td><div align="right"><a name="177"></a><a href="#177">177</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;array&nbsp;$attributes</span></td></tr>
<tr><td><div align="right"><a name="178"></a><a href="#178">178</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;array</span></td></tr>
<tr><td><div align="right"><a name="179"></a><a href="#179">179</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
<tr><td><div align="right"><a name="180"></a><a href="#180">180</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">search</span><span class="keyword">(</span><span class="default">$filter</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$attributes</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span><span class="default">'uid'</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
<tr><td><div align="right"><a name="181"></a><a href="#181">181</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 182" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="182"></a><a href="#182">182</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">&nbsp;</span><span class="default">is_Resource</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="183"></a><a href="#183">183</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">throw</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">AuthLDAP_Exception</span><span class="keyword">(</span><span class="default">'No&nbsp;resource&nbsp;handle&nbsp;avbailable'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="184"></a><a href="#184">184</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 185" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="185"></a><a href="#185">185</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$result</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">@</span><span class="default">ldap_search</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_baseDn</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$filter</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$attributes</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 186" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="186"></a><a href="#186">186</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$result</span><span class="default">&nbsp;</span><span class="default">===</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="187"></a><a href="#187">187</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">throw</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">AuthLDAP_Exception</span><span class="keyword">(</span><span class="default">'no&nbsp;result&nbsp;found'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="188"></a><a href="#188">188</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 189" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="189"></a><a href="#189">189</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_info</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">@</span><span class="default">ldap_get_entries</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$result</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 190" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="190"></a><a href="#190">190</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_info</span><span class="default">&nbsp;</span><span class="default">===</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="191"></a><a href="#191">191</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">throw</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">AuthLDAP_Exception</span><span class="keyword">(</span><span class="default">'invalid&nbsp;results&nbsp;found'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="192"></a><a href="#192">192</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 193" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="193"></a><a href="#193">193</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">&nbsp;</span><span class="default">-&gt;</span><span class="default">&nbsp;</span><span class="default">_info</span><span class="keyword">;</span></td></tr>
<tr class="warning"><td><div align="right"><a name="194"></a><a href="#194">194</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr><td><div align="right"><a name="195"></a><a href="#195">195</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td><div align="right"><a name="196"></a><a href="#196">196</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
<tr><td><div align="right"><a name="197"></a><a href="#197">197</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;This&nbsp;method&nbsp;sets&nbsp;debugging&nbsp;to&nbsp;ON</span></td></tr>
<tr><td><div align="right"><a name="198"></a><a href="#198">198</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
<tr><td><div align="right"><a name="199"></a><a href="#199">199</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">debugOn</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
<tr><td><div align="right"><a name="200"></a><a href="#200">200</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="201"></a><a href="#201">201</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_debug</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
<tr class="danger"><td><div align="right"><a name="202"></a><a href="#202">202</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="keyword">;</span></td></tr>
<tr class="warning"><td><div align="right"><a name="203"></a><a href="#203">203</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr><td><div align="right"><a name="204"></a><a href="#204">204</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td><div align="right"><a name="205"></a><a href="#205">205</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
<tr><td><div align="right"><a name="206"></a><a href="#206">206</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;This&nbsp;method&nbsp;sets&nbsp;debugging&nbsp;to&nbsp;OFF</span></td></tr>
<tr><td><div align="right"><a name="207"></a><a href="#207">207</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
<tr><td><div align="right"><a name="208"></a><a href="#208">208</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">debugOff</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
<tr><td><div align="right"><a name="209"></a><a href="#209">209</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="210"></a><a href="#210">210</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_debug</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
<tr class="danger"><td><div align="right"><a name="211"></a><a href="#211">211</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="keyword">;</span></td></tr>
<tr class="warning"><td><div align="right"><a name="212"></a><a href="#212">212</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr><td><div align="right"><a name="213"></a><a href="#213">213</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td><div align="right"><a name="214"></a><a href="#214">214</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
<tr><td><div align="right"><a name="215"></a><a href="#215">215</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;This&nbsp;method&nbsp;authenticates&nbsp;the&nbsp;user&nbsp;&lt;var&gt;$username&lt;/var&gt;&nbsp;using&nbsp;the</span></td></tr>
<tr><td><div align="right"><a name="216"></a><a href="#216">216</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;password&nbsp;&lt;var&gt;$password&lt;/var&gt;</span></td></tr>
<tr><td><div align="right"><a name="217"></a><a href="#217">217</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span></td></tr>
<tr><td><div align="right"><a name="218"></a><a href="#218">218</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;string&nbsp;$username</span></td></tr>
<tr><td><div align="right"><a name="219"></a><a href="#219">219</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;string&nbsp;$password</span></td></tr>
<tr><td><div align="right"><a name="220"></a><a href="#220">220</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;string&nbsp;$filter&nbsp;OPTIONAL&nbsp;This&nbsp;parameter&nbsp;defines&nbsp;the&nbsp;Filter&nbsp;to&nbsp;be&nbsp;used</span></td></tr>
<tr><td><div align="right"><a name="221"></a><a href="#221">221</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;when&nbsp;searchin&nbsp;for&nbsp;the&nbsp;username.&nbsp;This&nbsp;MUST&nbsp;contain&nbsp;the&nbsp;string&nbsp;'%s'&nbsp;which</span></td></tr>
<tr><td><div align="right"><a name="222"></a><a href="#222">222</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;will&nbsp;be&nbsp;replaced&nbsp;by&nbsp;the&nbsp;vaue&nbsp;given&nbsp;in&nbsp;&lt;var&gt;$username&lt;/var&gt;</span></td></tr>
<tr><td><div align="right"><a name="223"></a><a href="#223">223</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;boolean&nbsp;true&nbsp;or&nbsp;false&nbsp;depending&nbsp;on&nbsp;successfull&nbsp;authentication&nbsp;or&nbsp;not</span></td></tr>
<tr><td><div align="right"><a name="224"></a><a href="#224">224</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
<tr><td><div align="right"><a name="225"></a><a href="#225">225</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">authenticate</span><span class="keyword">(</span><span class="default">$username</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$password</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$filter</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'(uid=%s)'</span><span class="keyword">)</span></td></tr>
<tr><td><div align="right"><a name="226"></a><a href="#226">226</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
<tr><td><div align="right"><a name="227"></a><a href="#227">227</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//return&nbsp;true;</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 228" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="228"></a><a href="#228">228</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">connect</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 229" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="229"></a><a href="#229">229</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">bind</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 230" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="230"></a><a href="#230">230</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$res</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">search</span><span class="keyword">(</span><span class="default">sprintf</span><span class="keyword">(</span><span class="default">$filter</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$username</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 231" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="231"></a><a href="#231">231</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">&nbsp;</span><span class="default">$res</span><span class="default">&nbsp;</span><span class="default">||</span><span class="default">&nbsp;</span><span class="keyword">!</span><span class="default">&nbsp;</span><span class="default">is_array</span><span class="keyword">(</span><span class="default">$res</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">||</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">&nbsp;</span><span class="default">$res</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'count'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">!=</span><span class="default">&nbsp;</span><span class="default">1</span><span class="default">&nbsp;</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="232"></a><a href="#232">232</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="233"></a><a href="#233">233</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 234" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="234"></a><a href="#234">234</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$dn</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$res</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'dn'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 235" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="235"></a><a href="#235">235</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$username</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="default">$password</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="6 tests cover line 236" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="236"></a><a href="#236">236</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">@</span><span class="default">ldap_bind</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$dn</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$password</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="5 tests cover line 237" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #0&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithPasswordWorks with data set #2&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #1&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="237"></a><a href="#237">237</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="238"></a><a href="#238">238</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr><td><div align="right"><a name="239"></a><a href="#239">239</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="covered-by-large-tests popin" data-title="1 test covers line 240" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;LDAPBaseTest::testThatBindingWithAddedSlashesFailsWorks with data set #0&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="240"></a><a href="#240">240</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
<tr class="warning"><td><div align="right"><a name="241"></a><a href="#241">241</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr><td><div align="right"><a name="242"></a><a href="#242">242</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
<tr><td><div align="right"><a name="243"></a><a href="#243">243</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;$this&nbsp;method&nbsp;loggs&nbsp;errors&nbsp;if&nbsp;debugging&nbsp;is&nbsp;set&nbsp;to&nbsp;ON</span></td></tr>
<tr><td><div align="right"><a name="244"></a><a href="#244">244</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
<tr><td><div align="right"><a name="245"></a><a href="#245">245</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">logError</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
<tr><td><div align="right"><a name="246"></a><a href="#246">246</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="247"></a><a href="#247">247</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_debug</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="248"></a><a href="#248">248</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$_v</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">debug_backtrace</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr class="danger"><td><div align="right"><a name="249"></a><a href="#249">249</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">throw</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">AuthLDAP_Exception</span><span class="keyword">(</span><span class="default">'[LDAP_ERROR]'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">ldap_errno</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">':'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">ldap_error</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">_ch</span><span class="keyword">)</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$_v</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'line'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="250"></a><a href="#250">250</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="danger"><td><div align="right"><a name="251"></a><a href="#251">251</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr><td><div align="right"><a name="252"></a><a href="#252">252</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
<tr><td><div align="right"><a name="253"></a><a href="#253">253</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="254"></a><a href="#254">254</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">AuthLDAP_Exception</span><span class="default">&nbsp;</span><span class="keyword">extends</span><span class="default">&nbsp;</span><span class="default">Exception</span></td></tr>
<tr><td><div align="right"><a name="255"></a><a href="#255">255</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
<tr><td><div align="right"><a name="256"></a><a href="#256">256</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">__construct</span><span class="keyword">(</span><span class="default">$message</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$line</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">null</span><span class="keyword">)</span></td></tr>
<tr><td><div align="right"><a name="257"></a><a href="#257">257</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="258"></a><a href="#258">258</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">parent</span><span class="default">&nbsp;</span><span class="default">::</span><span class="default">&nbsp;</span><span class="default">__construct</span><span class="keyword">(</span><span class="default">$message</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
<tr class="danger"><td><div align="right"><a name="259"></a><a href="#259">259</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$line</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
<tr class="danger"><td><div align="right"><a name="260"></a><a href="#260">260</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">&nbsp;</span><span class="default">-&gt;</span><span class="default">&nbsp;</span><span class="default">line</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$line</span><span class="keyword">;</span></td></tr>
<tr><td><div align="right"><a name="261"></a><a href="#261">261</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr class="danger"><td><div align="right"><a name="262"></a><a href="#262">262</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
<tr><td><div align="right"><a name="263"></a><a href="#263">263</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
</tbody>
</table>
<footer>
<hr/>
<h4>Legend</h4>
<p>
<span class="success"><strong>Executed</strong></span>
<span class="danger"><strong>Not Executed</strong></span>
<span class="warning"><strong>Dead Code</strong></span>
</p>
<p>
<small>Generated by <a href="https://github.com/sebastianbergmann/php-code-coverage" target="_top">php-code-coverage 4.0.0</a> using <a href="https://secure.php.net/" target="_top">PHP 7.0.6</a> with <a href="https://xdebug.org/">Xdebug 2.4.0</a> at Wed Jun 8 5:43:14 UTC 2016.</small>
</p>
<a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
</footer>
</div>
<script src="js/jquery.min.js" type="text/javascript"></script>
<script src="js/bootstrap.min.js" type="text/javascript"></script>
<script src="js/holder.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
var $window = $(window)
, $top_link = $('#toplink')
, $body = $('body, html')
, offset = $('#code').offset().top;
$top_link.hide().click(function(event) {
event.preventDefault();
$body.animate({scrollTop:0}, 800);
});
$window.scroll(function() {
if($window.scrollTop() > offset) {
$top_link.fadeIn();
} else {
$top_link.fadeOut();
}
}).scroll();
$('.popin').popover({trigger: 'hover'});
});
</script>
</body>
</html>