예제 #1
0
 /**
  * {@inheritdoc}
  * @todo trocar o _localResultSet para somente _resultSet
  * @todo retirar o acrescimo do NULL para o primeiro ponteiro do array (utilizar array_unshift)
  * */
 private function _fetch($resultSet)
 {
     $resultSet = ldap_get_entries($this->_connect->getResource(), $resultSet);
     $fieldList = $this->_connect->getParams();
     $this->_localResultSet[] = $queryString = NULL;
     $this->_ldapCount = $resultSet['count'];
     unset($resultSet['count']);
     foreach ($resultSet as $key => $value) {
         $tmpResult = new \stdClass();
         foreach ($fieldList as $field) {
             if (isset($value[$field])) {
                 $tmpResult->{$field} = is_array($value[$field]) ? $value[$field][0] : $value[$field];
             } else {
                 $tmpResult->{$field} = NULL;
             }
             $queryString[] = $field;
         }
         $this->_localResultSet[] = $tmpResult;
     }
     return $queryString ? implode(',', $queryString) : '';
 }
예제 #2
0
 /**
  * {@inheritdoc}
  * */
 protected function _connect(PersistConfig $config)
 {
     return Connect::factory($config);
 }