Ignore:
Timestamp:
09/23/10 10:14:52 (14 years ago)
Author:
eduardoalex
Message:

Ticket #1251 - Commit principal com adição da melhoria no módulo

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/contactcenter/inc/class.ui_data.inc.php

    r3247 r3282  
    116116                        $GLOBALS['phpgw']->template->set_var('cc_qa_close',lang('Close')); 
    117117                        /* End Quick Add */ 
     118 
     119                        /* Advanced Search */ 
     120                         
     121                        $GLOBALS['phpgw']->template->set_var('cc_corporate',lang('Corporate')); 
     122                        $GLOBALS['phpgw']->template->set_var('cc_cs_title',lang('Advanced Search')); 
     123                        $GLOBALS['phpgw']->template->set_var('cc_catalogues',lang('Catalogues')); 
     124                         
     125                         
     126                         
     127                        /* End of Advanced Search*/ 
    118128 
    119129                        $cc_css_file = $GLOBALS['phpgw_info']['server']['webserver_url'].'/contactcenter/styles/cc.css'; 
     
    470480                                echo serialize(array( 
    471481                                        'status' => 'ok', 
     482                                        'catalog' => $catalog_info['class'], 
     483                                        'external' => $catalog_info['external']?true:false, 
    472484                                        'perms'  => $perms 
    473485                                )); 
     
    27532765                } 
    27542766 
     2767                //Traduz o campo na busca completa por entradas no catálogo do usuário. 
     2768                function aux_full_search ($field,$isldap) { 
     2769                        $retorno = ''; 
     2770                        if($isldap) { 
     2771                                switch($field) { 
     2772                                        case 'mail': 
     2773                                                $retorno = 'contact.connection.mail'; 
     2774                                                break; 
     2775                                        case 'phone': 
     2776                                                $retorno = 'contact.connection.phone'; 
     2777                                                break; 
     2778                                } 
     2779                        } 
     2780                        else { 
     2781                                switch($field) { 
     2782                                        case 'corporate': 
     2783                                                $retorno = 'contact.corporate_name'; 
     2784                                                break; 
     2785                                        case 'mail': 
     2786                                        case 'phone': 
     2787                                                $retorno = 'contact.contact_connection.connection.connection_value'; 
     2788                                                break; 
     2789                                } 
     2790                        } 
     2791                        return $retorno; 
     2792                } 
    27552793 
    27562794                /*! 
     
    27752813                        // It's an external catalog? 
    27762814                        $external = $this->bo->is_external($this->page_info['actual_catalog']); 
    2777  
    2778                         if (!is_array($data) || !$data['search_for'] || !is_array($data['fields'])) 
     2815                        $full_search = isset($data['full_search'])?$data['full_search']:false; 
     2816                         
     2817                        if (!is_array($data) || (!$data['search_for'] && !$full_search) || !is_array($data['fields'])) 
    27792818                        { 
    27802819                                echo serialize(array( 
     
    28212860                                if (!is_array($names)) 
    28222861                                { 
    2823                                         echo serialize(array( 
    2824                                                 'msg'    => lang('Invalid Search Parameter'), 
    2825                                                 'status' => 'abort' 
    2826                                         )); 
     2862                                        if(!$full_search) { 
     2863                                                echo serialize(array( 
     2864                                                        'msg'    => lang('Invalid Search Parameter'), 
     2865                                                        'status' => 'abort' 
     2866                                                )); 
     2867                                                exit; 
     2868                                        } 
     2869                                        else  
     2870                                                $names = array(); 
    28272871 
    28282872                                } 
     
    28402884                                         * must have attibute phpgwAccountStatus, phpgwAccountVisible != -1 
    28412885                                         */ 
     2886                                         
    28422887                                        $rules = array( 
    28432888                                                0 => array( 
     
    28682913                                                ), 
    28692914                                        ); 
     2915 
     2916                                        foreach($full_search as $field => $value) { 
     2917                                                if(trim($value)!='') 
     2918                                                        array_push($rules,array( 
     2919                                                                                        'field' => $this->aux_full_search($field,true), 
     2920                                                                                        'type' => 'LIKE', 
     2921                                                                                        'value' => '*'.$value.'*' 
     2922                                                                                        )); 
     2923                                        } 
     2924 
     2925                                } 
     2926                                else if(!$external) { 
     2927                                         
     2928                                        foreach($full_search as $field => $value) { 
     2929                                                if(trim($value)!='') 
     2930                                                        array_push($rules,array( 
     2931                                                                                        'field' => $this->aux_full_search($field,false), 
     2932                                                                                        'type' => 'iLIKE', 
     2933                                                                                        'value' => '%'.$value.'%' 
     2934                                                                                        )); 
     2935                                        } 
     2936                                 
    28702937                                } 
    28712938 
     
    29062973                                        'contact.object_class', 
    29072974                                        //'contact.account_status', 
    2908                                         'contact.account_visible' 
     2975                                        'contact.account_visible', 
     2976                                        'contact.connection.mail', 
     2977                                        'contact.connection.phone' 
    29092978                                        ), $rules, array('order' => $data['fields']['search'], 'sort' => 'ASC'), $data['search_for_area'], $data['search_for'] != null ); 
    29102979                        } 
Note: See TracChangeset for help on using the changeset viewer.