Ignore:
Timestamp:
05/27/11 17:57:48 (13 years ago)
Author:
airton
Message:

Ticket #1954 - Implementação de busca avançada no contactcenter

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.2.0.2/contactcenter/inc/class.ui_data.inc.php

    r4538 r4544  
    1919                var $public_functions = array( 
    2020                        'data_manager' => true, 
     21                        'advanced_searh_fields' => true 
    2122                ); 
    2223 
     
    262263                        $GLOBALS['phpgw']->template->set_var('cc_msg_add_contact_to_group', lang('You did not add any contact for this group.')); 
    263264                        $GLOBALS['phpgw']->template->set_var('cc_msg_fill_field_name', lang('Fill the field Full Name')); 
     265                         
     266                         
     267 
     268 
     269                            /* 
     270                             * Monta Contactcenter Busca Avancada 
     271                             */ 
     272                            $c = CreateObject('phpgwapi.config','contactcenter'); 
     273                            $c->read_repository(); 
     274                            $current_config = $c->config_data; 
     275 
     276                            $arraySearch = array(); 
     277                            foreach ($current_config as $index => $value) 
     278                            { 
     279 
     280                                if(substr($index, 0, 24) == 'cc_attribute_searchable_') 
     281                                { 
     282                                    if($value == 'true') 
     283                                    { 
     284                                        $v = substr($index, 24, strlen($index)); 
     285                                        $arraySearch[] = $v; 
     286                                    } 
     287                                } 
     288                            } 
     289                            $advanceSearchArray = array(); 
     290                            foreach ($arraySearch as $value) 
     291                            { 
     292                                foreach ($current_config as $index => $value2) 
     293                                { 
     294                                    if($value == substr($index, 22, strlen($index)) && substr($index, 0, 22) == 'cc_attribute_ldapname_') 
     295                                    { 
     296                                        foreach ($current_config as $index2 => $value3) 
     297                                        { 
     298                                            if($value == substr($index2, 18, strlen($index2)) && substr($index2, 0, 18) == 'cc_attribute_name_') 
     299                                                 $advanceSearchArray[$value2] =  $value3; 
     300                                        } 
     301                                    } 
     302 
     303                                } 
     304                            } 
     305 
     306                            $advanceSearch = array(); 
     307                            foreach ($advanceSearchArray as $index => $value) 
     308                                $advanceSearch[] ='"'.$index.'":"'.$value.'"'; 
     309 
     310                            $advancedFields =  "{".implode(',',$advanceSearch)."}"; 
     311 
     312 
     313                        $GLOBALS['phpgw']->template->set_var('cc_config_advanced_search', $advancedFields); 
    264314 
    265315                        $select_groups = ''; 
     
    31943244                        { 
    31953245 
    3196                                 $data['search_for'] = utf8_encode($data['search_for']); 
     3246                                $data['search_for'] = ($data['search_for']); 
    31973247                        } 
    31983248 
     
    33193369                                // Get only this attributes: dn, cn for external catalogs, 
    33203370                                // used to restrict the attributes used in filters 
    3321                                 $ids = $this->bo->find(array($data['fields']['id'], $data['fields']['search']), $rules, array('order' => $data['fields']['search'], 'sort' => 'ASC'), $data['search_for'] != null); 
     3371                                $ids = $this->bo->find(array($data['fields']['id'], $data['fields']['search']), $rules, array('order' => $data['fields']['search'], 'sort' => 'ASC', 'customFilter' => $data['custom_filter'], 'CN' => $data['CN'], 'exact' => $data['exact']), $data['search_for'] != null); 
    33223372                        } 
    33233373                        else 
     
    33333383                                        'contact.connection.mail', 
    33343384                                        'contact.connection.phone' 
    3335                                         ), $rules, array('order' => $data['fields']['search'], 'sort' => 'ASC'), $data['search_for_area'], $data['search_for'] != null ); 
     3385                                        ), $rules, array('order' => $data['fields']['search'], 'sort' => 'ASC', 'customFilter' => $data['custom_filter'], 'CN' => $data['CN'], 'exact' => $data['exact']), $data['search_for_area'], $data['search_for'] != null ); 
    33363386                        } 
    33373387 
Note: See TracChangeset for help on using the changeset viewer.