29 require_once 
"Auth/Container.php";
 
   33 require_once 
"PEAR.php";
 
   37 require_once 
'SOAP/Client.php';
 
  148         $this->_options = $options;
 
  149         if (!isset($this->_options[
'matchpasswords'])) {
 
  150             $this->_options[
'matchpasswords'] = 
true;
 
  152         if (!empty($this->_options[
'_features'])) {
 
  153             $this->_features = $this->_options[
'_features'];
 
  154             unset($this->_options[
'_features']);
 
  175         if (array_intersect($this->_requiredOptions, array_keys($this->_options)) != $this->_requiredOptions) {
 
  179             $this->soapClient = 
new SOAP_Client($this->_options[
'endpoint']);
 
  180             $this->soapClient->setEncoding($this->_options[
'encoding']);
 
  184         if (isset($this->_options[
'trace'])) {
 
  185             $this->soapClient->__options[
'trace'] = 
true;
 
  189         if (isset($this->_options[
'timeout'])) {
 
  190             $this->soapClient->__options[
'timeout'] = $this->_options[
'timeout'];
 
  194         $usernameField = 
new SOAP_Value($this->_options[
'usernamefield'],
'string', $username);
 
  195         $passwordField = 
new SOAP_Value($this->_options[
'passwordfield'],
'string', $password);
 
  196         $SOAPParams = array($usernameField, $passwordField);
 
  199         foreach ($this->_features as $fieldName => $fieldValue) {
 
  200             $SOAPParams[] = 
new SOAP_Value($fieldName, 
'string', $fieldValue);
 
  204         $this->soapResponse = $this->soapClient->call(
 
  205                 $this->_options[
'method'],
 
  207                 array(
'namespace' => $this->_options[
'namespace'])
 
  211             if ($this->_options[
'matchpasswords']) {
 
  213                 if ($password == $this->soapResponse->{$this->_options[
'passwordfield']}) {