Changeset 5707
- Timestamp:
- 03/12/12 18:48:44 (12 years ago)
- Location:
- sandbox/webservice/api/json-rpc
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/webservice/api/json-rpc/Catalog.php
r5699 r5707 7 7 public function getUserContacts($params){ 8 8 if($this->isLoggedIn($params)) { 9 if($params && $params['contactID'] > 0) 10 $query_contact = 'A.id_contact='.$params['contactID'].' and'; 9 $search = ""; 10 if($params) { 11 12 $search = trim($params['search']); 13 if($params['contactID'] > 0){ 14 $query_contact = 'A.id_contact='.$params['contactID'].' and'; 15 } 16 elseif($search != "") { 17 $search = mb_convert_encoding($search,"ISO_8859-1", "UTF8"); 18 } 19 20 if(($search || $params['contactID']) && $params['contactType'] == 2){ 21 return $this->getGlobalContacts($search, $params['contactID']); 22 } 23 } 11 24 12 25 $query = 'select B.id_typeof_contact_connection, A.photo, A.id_contact, A.alias, A.given_names, A.family_names, A.names_ordered, A.birthdate, A.notes, C.connection_value from phpgw_cc_contact A, '. … … 39 52 'contactHasImagePicture' => ($row['photo'] != null ? 1 : 0), 40 53 ); 54 if($search != null && 55 stristr($contacts[$id]['contactAlias'], $search) == null && 56 stristr($contacts[$id]['contactFirstName'], $search) == null && 57 stristr($contacts[$id]['contactLastName'], $search) == null && 58 stristr($contacts[$id]['contactFullName'], $search) == null && 59 stristr($contacts[$id]['contactBirthDate'], $search) == null && 60 stristr($contacts[$id]['contactNotes'], $search) == null){ 61 unset($contacts[$id]); 62 } 41 63 } 42 64 } … … 66 88 return $this->getResponse(); 67 89 } 90 91 private function getUserLdapAttrs($mail) 92 { 93 $filter="(&(phpgwAccountType=u)(mail=".$mail."))"; 94 $ldap_context = $_SESSION['phpgw_info']['expressomail']['ldap_server']['dn']; 95 $justthese = array("dn", 'jpegPhoto','givenName', 'sn'); 96 $this->getLdapCatalog()->ldapConnect(true); 97 $ds = $this->getLdapCatalog()->ds; 98 if ($ds){ 99 $sr = @ldap_search($ds, $ldap_context, $filter, $justthese); 100 if ($sr) { 101 $entry = ldap_first_entry($ds, $sr); 102 if($entry) { 103 $givenName = @ldap_get_values_len($ds, $entry, "givenname"); 104 $sn = @ldap_get_values_len($ds, $entry, "sn"); 105 $contactHasImagePicture = (@ldap_get_values_len($ds, $entry, "jpegphoto") ? 1 : 0); 106 $dn = ldap_get_dn($ds, $entry); 107 return array( 108 "contactID" => $dn, 109 "contactFirstName" => $givenName[0], 110 "contactLastName" => $sn[0], 111 "contactHasImagePicture" => $contactHasImagePicture 112 ); 113 } 114 } 115 } 116 return false; 117 } 68 118 69 public function getGlobalContacts($params){ 119 private function getGlobalContacts($search, $uidNumber){ 120 $contacts = array(); 121 $params = array ("search_for" => $search); 122 $result = $this->getLdapCatalog()->quicksearch($params); 123 124 foreach($result as $i => $row) { 125 if(is_int($i)) { 126 $contacts[$i] = array( 127 'contactMails' => array($result[$i]['mail']), 128 'contactPhones' => array($result[$i]['phone']), 129 'contactAlias' => "", 130 'contactFullName' => ($result[$i]['cn'] != null ? mb_convert_encoding($row['cn'],"UTF8", "ISO_8859-1") : ""), 131 'contactBirthDate' => "", 132 'contactNotes' => "" 133 ); 134 // Buscar atributos faltantes. 135 $contacts[$i] = array_merge($this->getUserLdapAttrs($result[$i]['mail']), $contacts[$i]); 136 } 137 } 138 $this->result = array ('contacts' => $contacts); 70 139 71 if($this->isLoggedIn($params)) {72 $this->result = array ('contacts' => $contacts);73 }74 140 return $this->getResponse(); 75 141 } -
sandbox/webservice/api/json-rpc/Expresso.php
r5681 r5707 4 4 5 5 protected $expressoVersion; 6 protected $ldap ;6 protected $ldapCatalog; 7 7 var $result; 8 8 var $error; … … 29 29 } 30 30 31 protected function getLdap(){ 32 if($this->ldap == null) { 33 $this->ldap = $GLOBALS['phpgw']->common->ldapConnect(); 31 protected function getLdapCatalog(){ 32 if(!$this->ldapCatalog) { 33 $catalog_config = CreateObject("contactcenter.bo_ldap_manager"); 34 $_SESSION['phpgw_info']['expressomail']['ldap_server'] = $catalog_config ? $catalog_config->srcs[1] : null; 35 $this->ldapCatalog = CreateObject("expressoMail1_2.ldap_functions"); 34 36 } 35 37 36 return $this->ldap ;38 return $this->ldapCatalog; 37 39 } 38 40 -
sandbox/webservice/api/json-rpc/Mail.php
r5670 r5707 4 4 5 5 class Mail extends Expresso { 6 var$defaultFolders;7 var$imap;6 private $defaultFolders; 7 private $imap; 8 8 9 9 private function formatMailObject($str) { … … 65 65 $_SESSION['phpgw_info']['expressomail']['user']['userid'] = $GLOBALS['phpgw_info']['user']['userid']; 66 66 $_SESSION['phpgw_info']['expressomail']['user']['passwd'] = $GLOBALS['phpgw_info']['user']['passwd']; 67 include_once(PHPGW_INCLUDE_ROOT."/expressoMail1_2/inc/class.imap_functions.inc.php"); 68 $this->imap = new imap_functions(); 67 $this->imap = CreateObject("expressoMail1_2.imap_functions"); 69 68 70 69 if($this->defaultFolders == null) {
Note: See TracChangeset
for help on using the changeset viewer.