Beispiel #1
0
 public function searchContact($o)
 {
     $default = 'in:contacts';
     $params = array(ZimbraSoapClient::SoapVarArray(array('offset' => akead('start', $o, 0), 'limit' => akead('limit', $o, 25), 'sortBy' => akead('sort', $o, 'name') . ucfirst(strtolower(akead('dir', $o, 'asc'))), 'query' => $o['query'] == '' ? $default : $o['query'], 'total' => 1, 'types' => 'contact')));
     $res = $this->imapStream->call('zimbraMail', 'SearchRequest', $params, true);
     $arrResult = array_map(function ($contact) {
         ZimbraSoapClient::_mapAttr($contact['a'], '@n', '%');
         return array('name' => $contact['a']['nom'], 'email' => $contact['a']['email']);
     }, akead('cn', $res['Envelope']['Body']['SearchResponse'], array()));
     return array('data' => $arrResult, 'totalCount' => $res['Envelope']['Body']['SearchResponse']['@more'] == 1 ? akead('start', $o, 0) + count($arrResult) + 1 : count($arrResult));
 }