Ignore:
Timestamp:
10/21/10 13:55:55 (14 years ago)
Author:
brunocosta
Message:

Ticket #619 - Implementadas informações extendidas nas buscas do email.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/expressoMail1_2/inc/class.ldap_functions.inc.php

    r3163 r3388  
    8888                $ID                     = $params['ID']; 
    8989                 
     90                if($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['extended_info']) 
     91                    $extendedinfo=true; 
     92                else 
     93                    $extendedinfo=false; 
     94 
    9095                $search_for     = explode(" ",$search_for); 
    9196                $aux=""; 
     
    113118                $contacts_result['field'] = $field; 
    114119                $contacts_result['ID'] = $ID; 
    115  
    116120                // follow the referral 
    117121                $this->ldapConnect(true); 
     
    121125                        if (($field != 'null') && ($ID != 'null')) 
    122126                        { 
    123                                 $filter="(& (&(|(phpgwAccountType=u)(phpgwAccountType=g)(phpgwAccountType=l)(phpgwAccountType=i)(phpgwAccountType=s))(mail=*)) (|(cn=*$search_for*)(mail=*$search_for*)) (!(phpgwaccountvisible=-1)) )"; 
     127                                $filter="(& (&(|(phpgwAccountType=u)(phpgwAccountType=g)(phpgwAccountType=l))(mail=*)) (|(cn=*$search_for*)(mail=*$search_for*)) (!(phpgwaccountvisible=-1)) )"; 
     128                                if($extendedinfo) 
    124129                                $justthese = array("cn", "mail", "telephoneNumber", "mobile", "phpgwAccountVisible", "uid", "employeeNumber", "ou"); 
     130                                else 
     131                                    $justthese = array("cn", "mail", "telephoneNumber", "mobile", "phpgwAccountVisible", "uid"); 
    125132                        } 
    126133                        else 
    127134                        { 
    128135                                $filter="(& (phpgwAccountType=u)(cn=*$search_for*) (!(phpgwaccountvisible=-1)) )"; 
     136                                if($extendedinfo) 
    129137                                $justthese = array("cn", "mail", "telephoneNumber", "mobile", "phpgwAccountVisible","jpegPhoto", "uid", "employeeNumber", "ou"); 
     138                                else 
     139                                    $justthese = array("cn", "mail", "telephoneNumber", "mobile", "phpgwAccountVisible","jpegPhoto", "uid"); 
    130140                        } 
    131141                        $sr=@ldap_search($this->ds, $this->ldap_context, $filter, $justthese, 0, $this->max_result + 1); 
     
    178188                                                $this->ldapConnect(true,$i); 
    179189                                                $filter="(|(cn=*$search_for*)(mail=*$search_for*))"; 
     190                                                if($extendedinfo) 
    180191                                                $justthese = array("cn", "mail", "telephoneNumber", "mobile", "phpgwAccountVisible", "uid","employeeNumber", "ou"); 
     192                                                else 
     193                                                    $justthese = array("cn", "mail", "telephoneNumber", "mobile", "phpgwAccountVisible", "uid"); 
    181194                                                $sr=@ldap_search($this->ds, $this->ldap_context, $filter, $justthese, 0, $this->max_result+1); 
    182195                                                if(!$sr) 
     
    305318                $contacts_result = array(); 
    306319                $contacts_result["cn"] = $cn; 
    307                 list ($contacts_result["mail"], $contacts_result["phone"], $contacts_result["mobile"], $contacts_result["uid"], $contacts_result["jpegphoto"]) = split ('%', $info); 
     320                if($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['extended_info']) 
     321                    $extendedinfo=true; 
     322                else 
     323                    $extendedinfo=false; 
     324 
     325                list ($contacts_result["mail"], $contacts_result["phone"], $contacts_result["mobile"], $contacts_result["uid"], $contacts_result["jpegphoto"], $contacts_result["employeenumber"], $contacts_result["ou"]) = split ('%', $info); 
    308326 
    309327                if ($contacts_result['jpegphoto']) 
     
    320338                        } 
    321339                } 
     340                //verifica de existe o celular do funcionario ($contacts_result["mobile"]), se nao, $phoneUser fica vazia; 
     341 
     342                    $mobileUser = $contacts_result["mobile"]; 
     343                    if($mobileUser && !$voipMobile) { 
     344                            $phoneUser .= " / $mobileUser"; 
     345                    } 
     346                    $empNumber = $contacts_result["employeenumber"]; 
     347                    if($empNumber) { 
     348                            $empNumber = "$empNumber - "; 
     349                    } 
     350                    $ou = $contacts_result["ou"]; 
     351                    if($ou) { 
     352                            $ou = "<br/>$ou" ; 
     353                    } 
     354 
    322355                // Begin: nickname, firstname and lastname for QuickAdd. 
    323356                $fn = $contacts_result["cn"]; 
     
    337370                                '</td>' . 
    338371                                '<td class="cc">' . 
    339                                         '<span name="cn">' . $contacts_result['cn'] . '</span>' . '<br>' . 
    340                                         '<a title="'.$this->functions->getLang("Write message").'" onClick="javascript:QuickSearchUser.create_new_message(\''.$contacts_result["cn"].'\', \''.$contacts_result["mail"].'\')">' . 
     372                                        '<span name="cn">' . $empNumber . $contacts_result['cn'] . '</span>' . '<br>' . 
     373                                        '<a title="'.$functions->getLang("Write message").'" onClick="javascript:QuickSearchUser.create_new_message(\''.$contacts_result["cn"].'\', \''.$contacts_result["mail"].'\')">' . 
    341374                                                '<font color=blue>' . 
    342375                                                '<span name="mail">' . $contacts_result['mail'] . '</span></a></font>'. 
     
    344377                                        '<br>' . 
    345378                                        $phoneUser . 
     379                                        $ou . 
    346380                                '</td>' . 
    347381                                '</tr>'; 
     
    402436                return $organizations; 
    403437        } 
    404          
    405438        //Busca usuarios de um contexto e ja retorna as options do select - usado por template serpro; 
    406439        function search_users($params) 
     
    468501                $catalog = $params['catalog']; 
    469502                $error = False; 
     503                if($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['extended_info']) 
     504                    $extendedinfo=true; 
     505                else 
     506                    $extendedinfo=false; 
     507 
    470508 
    471509                $this->ldapConnect(true,$catalog); 
     
    476514                        if ($catalog == 0){ 
    477515                                //os atributos "employeeNumber" e "ou" foram adicionado ao vetor de busca; 
     516                                if($extendedinfo) 
    478517                                $justthese = array("cn", "mail", "phpgwaccounttype", "phpgwAccountVisible", "employeeNumber", "ou"); 
     518                                else 
     519                                    $justthese = array("cn", "mail", "phpgwaccounttype", "phpgwAccountVisible"); 
     520 
    479521                                $filter="(&(|(phpgwAccountType=u)(phpgwAccountType=l))(cn=".$cn."))"; 
    480522                                //$user_context = "ou=".$params['organization'].",".$this->ldap_context; 
    481523                        }else { 
    482524                                //os atributos "employeeNumber" e "ou" foram adicionado ao vetor de busca; 
     525                                if($extendedinfo) 
    483526                                $justthese = array("cn", "mail", "employeeNumber", "ou"); 
     527                                else 
     528                                    $justthese = array("cn", "mail"); 
    484529                                $filter="(&(objectClass=".$this->object_class.")(cn=".$cn."))"; 
    485530                                //$user_context = $this->branch."=".$params['organization'].",".$external_srcs[$catalog]['dn']; 
     
    765810                $filter="(&(phpgwAccountType=u)(mail=" . $params['email'] . "))"; 
    766811                $ldap_context = $_SESSION['phpgw_info']['expressomail']['ldap_server']['dn']; 
    767                 $justthese = array("cn","uid","telephoneNumber","jpegPhoto","mobile"); 
     812                if($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['extended_info']) 
     813                    $extendedinfo=true; 
     814                else 
     815                    $extendedinfo=false; 
     816 
     817                if($extendedinfo) 
     818                    $justthese = array("cn","uid","telephoneNumber","jpegPhoto","mobile","ou","employeeNumber"); 
     819                else 
     820                    $justthese = array("cn","uid","telephoneNumber","jpegPhoto","mobile"); 
    768821 
    769822                // Follow the referral 
     
    784837                                                  "type" => "global", 
    785838                                                  "mobile" =>  @ldap_get_values($ds, $entry, "mobile"), 
    786                                                   "telefone" =>  @ldap_get_values($ds, $entry, "telephonenumber") 
     839                                                  "telefone" =>  @ldap_get_values($ds, $entry, "telephonenumber"), 
     840                                                  "ou" =>  @ldap_get_values($ds, $entry, "ou"), 
     841                                                  "employeeNumber" =>  @ldap_get_values($ds, $entry, "employeeNumber") 
    787842                                        ); 
    788843 
Note: See TracChangeset for help on using the changeset viewer.