Ejemplo n.º 1
0
 /**
  * get list of groups
  *
  * @param string $_filter
  * @param string $_sort
  * @param string $_dir
  * @param int $_start
  * @param int $_limit
  * @return Tinebase_Record_RecordSet with record class Tinebase_Model_Group
  */
 public function getGroups($_filter = NULL, $_sort = 'name', $_dir = 'ASC', $_start = NULL, $_limit = NULL)
 {
     if (!empty($_filter)) {
         $searchString = "*" . Tinebase_Ldap::filterEscape($_filter) . "*";
         $filter = "(&(objectclass=group)(|(cn={$searchString})))";
     } else {
         $filter = 'objectclass=group';
     }
     if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' search filter: ' . $filter);
     }
     $groups = $this->_ldap->fetchAll($this->_options['groupsDn'], $filter, array('cn', 'description', 'objectGUID'), 'cn');
     $result = new Tinebase_Record_RecordSet('Tinebase_Model_Group');
     foreach ($groups as $group) {
         $groupObject = new Tinebase_Model_Group(array('id' => $group['objectGUID'][0], 'name' => $group['cn'][0], 'description' => isset($group['description'][0]) ? $group['description'][0] : ''));
         $result->addRecord($groupObject);
     }
     return $result;
 }