Changeset 3734


Ignore:
Timestamp:
02/04/11 15:20:50 (13 years ago)
Author:
eduardoalex
Message:

Ticket #1538 - Colocado o padrao de no minimo 4 digitos para a busca.

Location:
branches/2.2/mobile
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/mobile/inc/class.mobiletemplate.inc.php

    r3731 r3734  
    2222                                $this->template->set_var('lang_mini_mobile', lang('mini mobile')); 
    2323                                $this->template->set_var('lang_search_error_message',lang("need choose one option")); 
     24                                $this->template->set_var('lang_search_error_message_four_digits',lang("search word need not be empty and has more then four char")); 
     25                                 
     26                                 
    2427                        }       else { 
    2528                                $this->template->set_file(array('home_t' => 'template.tpl')); 
  • branches/2.2/mobile/inc/class.ui_home.inc.php

    r3731 r3734  
    7070                        $tstart = mktime(0,0,0,$month,$day,$year); 
    7171                         
    72                         $tstop = $tstart + 86400; //(24horas*60min*60seg*1dia)                   
     72                        $tstop = $tstart + 86400; //(24horas*60min*60seg*1dia) 
    7373                        $this->bocalendar->so->owner = $accountId; 
    7474                        $this->bocalendar->so->open_box($accountId); 
     
    8585                        $events = $this->bocalendar->cached_events; 
    8686                         
    87                         foreach($events[$year.$this->common->complete_string($month,2,"R","0").$this->common->complete_string($day,2,"R","0")] as $index=>$event)  
     87                        foreach($events[$year.$this->common->complete_string($month,2,"R","0").$this->common->complete_string($day,2,"R","0")] as $index=>$event) 
    8888                        { 
    8989                                $this->template->set_var('commitment_class', (($index%2==0) ? "fundo-azul-alinha" : "fundo-branco-alinha") ); 
     
    9191                                $this->template->set_var('commitment_title', $event["title"] ); 
    9292                                 
    93                                 $this->template->parse('commitments_box', 'commitment_block' ,True); 
     93                                $this->template->parse('commitments_box', 'commitment_block' ,true); 
    9494                        } 
    9595                         
     
    181181                        } 
    182182 
    183                         //E-mails 
    184                         $no_mail_search=false; 
    185                         if((!isset($params['folder_to_search'])) || ($params['folder_to_search']==="")) { 
    186                                 if($params['default_folders']==="1") { 
    187                                         if($params['personal_folders']!=="1") 
    188                                                 $mail_params['folderType'] = 'default'; 
     183                        if(!$params['name'] || trim($params['name']) == "" || strlen($params['name']) < 5 ) { 
     184                                $GLOBALS['phpgw_info']['mobiletemplate']->set_error_msg(lang("search word need not be empty and has more then four char")); 
     185                        } else { 
     186                                //E-mails 
     187                                $no_mail_search=false; 
     188                                if((!isset($params['folder_to_search'])) || ($params['folder_to_search']==="")) { 
     189                                        if($params['default_folders']==="1") { 
     190                                                if($params['personal_folders']!=="1") 
     191                                                        $mail_params['folderType'] = 'default'; 
     192                                        } 
     193                                        else { 
     194                                                if($params['personal_folders']==="1") 
     195                                                        $mail_params['folderType'] = 'personal'; 
     196                                                else 
     197                                                        $no_mail_search = true; 
     198                                        } 
    189199                                } 
    190200                                else { 
    191                                         if($params['personal_folders']==="1") 
    192                                                 $mail_params['folderType'] = 'personal'; 
     201                                        $mail_params['folder'] = $params['folder_to_search']; 
     202                                } 
     203 
     204                                if(!$no_mail_search) { 
     205                                        $imap_functions = CreateObject('expressoMail1_2.imap_functions'); 
     206                                        $mail_params['filter'] = $params["name"]; 
     207                                        $mail_params['max_msgs'] = isset($params['max_msgs'])?$params['max_msgs']:10; 
     208                                 
     209                                        $p->set_var('next_max_msgs',$mail_params['max_msgs']+10); 
     210                                        $p->set_var('max_msgs',$mail_params['max_msgs']); 
     211 
     212                                        $messages = $imap_functions->mobile_search($mail_params); 
     213                                        if($mail_params['max_msgs']>=$messages["total_msgs"]) 
     214                                                $p->set_var('show_more_messages',"none"); 
    193215                                        else 
    194                                                 $no_mail_search = true; 
    195                                 } 
    196                         } 
    197                         else { 
    198                                 $mail_params['folder'] = $params['folder_to_search']; 
    199                         } 
    200  
    201                         if(!$no_mail_search) { 
    202                                 $imap_functions = CreateObject('expressoMail1_2.imap_functions'); 
    203                                 $mail_params['filter'] = $params["name"]; 
    204                                 $mail_params['max_msgs'] = isset($params['max_msgs'])?$params['max_msgs']:10; 
    205                                  
    206                                 $p->set_var('next_max_msgs',$mail_params['max_msgs']+10); 
    207                                 $p->set_var('max_msgs',$mail_params['max_msgs']); 
    208  
    209                                 $messages = $imap_functions->mobile_search($mail_params); 
    210                                 if($mail_params['max_msgs']>=$messages["total_msgs"]) 
    211                                         $p->set_var('show_more_messages',"none"); 
    212                                 else 
    213                                         $p->set_var('show_more_messages',"block"); 
    214                                 $p->set_var('mails',$ui_mobilemail->print_mails_list($messages)); 
    215                         } 
    216                         else { 
    217                                 $p->set_var('show_mails',"none"); 
    218                         } 
    219                          
    220                         //Agenda 
    221                         if($params["calendar_search"]==="1") { 
    222                                  
    223                                 $bo_calendar = CreateObject('calendar.bocalendar',1); 
    224                                 $functions = CreateObject('mobile.common_functions'); 
    225                                  
    226                                 $max_events = isset($params['max_events'])?$params['max_events']:10; 
    227                                 $p->set_var('next_max_events',$max_events+10); 
    228                                 $p->set_var('max_events',$max_events); 
    229                                  
    230                                 $event_ids = $bo_calendar->search_keywords($params['name']); 
    231                                  
    232                                 $bg = "fundo-azul-alinha"; 
    233                                 if(!empty($event_ids)) { 
    234                                         $total_events_search = count($event_ids); 
    235                                         $event_ids = array_slice($event_ids,0,$max_events,true); 
    236                                         if($total_events_search>count($event_ids)) 
    237                                                 $p->set_var('show_more_events',"block"); 
    238                                         foreach($event_ids as $key => $id) 
    239                                         { 
    240                                                 $event = $bo_calendar->read_entry($id); 
     216                                                $p->set_var('show_more_messages',"block"); 
     217                                        $p->set_var('mails',$ui_mobilemail->print_mails_list($messages)); 
     218                                } 
     219                                else { 
     220                                        $p->set_var('show_mails',"none"); 
     221                                } 
     222                         
     223                                //Agenda 
     224                                if($params["calendar_search"]==="1") { 
     225                                 
     226                                        $bo_calendar = CreateObject('calendar.bocalendar',1); 
     227                                        $functions = CreateObject('mobile.common_functions'); 
     228                                 
     229                                        $max_events = isset($params['max_events'])?$params['max_events']:10; 
     230                                        $p->set_var('next_max_events',$max_events+10); 
     231                                        $p->set_var('max_events',$max_events); 
     232                                 
     233                                        $event_ids = $bo_calendar->search_keywords($params['name']); 
     234                                 
     235                                        $bg = "fundo-azul-alinha"; 
     236                                        if(!empty($event_ids)) { 
     237                                                $total_events_search = count($event_ids); 
     238                                                $event_ids = array_slice($event_ids,0,$max_events,true); 
     239                                                if($total_events_search>count($event_ids)) 
     240                                                        $p->set_var('show_more_events',"block"); 
     241                                                foreach($event_ids as $key => $id) 
     242                                                { 
     243                                                        $event = $bo_calendar->read_entry($id); 
    241244                                                 
    242                                                 if(!$bo_calendar->check_perms(PHPGW_ACL_READ,$event)) 
    243                                                 { 
     245                                                        if(!$bo_calendar->check_perms(PHPGW_ACL_READ,$event)) 
     246                                                        { 
     247                                                                continue; 
     248                                                        } 
     249         
     250                                                        $p->set_var("bg",$bg=="fundo-azul-alinha"?$bg="fundo-branco-alinha":$bg="fundo-azul-alinha"); 
     251                                                        $p->set_var("date",$functions->complete_string($event["start"]["mday"],2,"R","0")."/". 
     252                                                                                                $functions->complete_string($event["start"]["month"],2,"R","0")."/". 
     253                                                                                                $event["start"]["year"]." ". 
     254                                                                                                $functions->complete_string($event["start"]["hour"],2,"R","0").":". 
     255                                                                                                $functions->complete_string($event["start"]["min"],2,"R","0")); 
     256                                                        $p->set_var("title",$event["title"],40); 
     257                                                        $p->fp("calendar_results","row_events",True); 
     258                                 
     259                                                } 
     260                                        } 
     261                                        else { 
     262                                                $p->set_var("lang_no_results",lang("no results found")); 
     263                                                $p->parse("calendar_results","no_events"); 
     264                                        } 
     265                                } 
     266                                else { 
     267                                        $p->set_var("show_calendar","none"); 
     268                                } 
     269                         
     270                                //Contatos                       
     271                                if(($params["contacts_search"]==="1") ||  
     272                                                (isset($params["catalog_to_search"]) && $params["catalog_to_search"]!=="")) { 
     273 
     274                                        $bo_cc =  CreateObject('mobile.bo_mobilecc'); 
     275                                 
     276                                        if(isset($params["catalog_to_search"]) && $params["catalog_to_search"]!=="") 
     277                                                $catalogs = array(0=>array("catalog"=>$params["catalog_to_search"], 
     278                                                                                                "label" => $params["catalog_to_search"])); 
     279                                        else  
     280                                                $catalogs = $bo_cc->get_all_catalogs(); 
     281         
     282                                        $max_contacts = isset($params['max_contacts'])?$params['max_contacts']:10; 
     283                                        $contacts_result = array(); 
     284                                        $p->set_var('next_max_contacts',$max_contacts+10); 
     285                                        $p->set_var('max_contacts',$max_contacts); 
     286                                 
     287                                 
     288                                        foreach($catalogs as $catalog) { 
     289                                                if($catalog['catalog']==="bo_group_manager") 
    244290                                                        continue; 
     291                                                if(count($contacts_result)>=$max_contacts) { 
     292                                                        $bo_cc->set_catalog($catalog['catalog']); 
     293                                                        $partial_result = $bo_cc->search("%".$params['name']."%","1"); 
     294                                                        if(count($partial_result)>1) { 
     295                                                                $p->set_var('show_more_contacts',"block"); 
     296                                                        } 
     297                                                        break; 
    245298                                                } 
    246          
    247                                                 $p->set_var("bg",$bg=="fundo-azul-alinha"?$bg="fundo-branco-alinha":$bg="fundo-azul-alinha"); 
    248                                                 $p->set_var("date",$functions->complete_string($event["start"]["mday"],2,"R","0")."/". 
    249                                                                                         $functions->complete_string($event["start"]["month"],2,"R","0")."/". 
    250                                                                                         $event["start"]["year"]." ". 
    251                                                                                         $functions->complete_string($event["start"]["hour"],2,"R","0").":". 
    252                                                                                         $functions->complete_string($event["start"]["min"],2,"R","0")); 
    253                                                 $p->set_var("title",$event["title"],40); 
    254                                                 $p->fp("calendar_results","row_events",True); 
    255                                  
    256                                         } 
     299                                                $max_to_search = $max_contacts - count($contacts_result);//Só posso pedir no máximo o número máximo a ser visto menos o que já foi achado. 
     300                                                $bo_cc->set_catalog($catalog['catalog']); 
     301                                                $partial_result = $bo_cc->search("%".$params['name']."%",$max_to_search); 
     302                                                if($partial_result["has_more"]) { 
     303                                                        $p->set_var('show_more_contacts',"block"); 
     304                                                        unset($partial_result["has_more"]); 
     305                                                } 
     306                                         
     307                                                $contacts_result = array_merge($contacts_result,$partial_result); 
     308                                         
     309                                        } 
     310                                 
     311                                        if(isset($params['request_from'])  && $params['request_from']!="none") //Buscas feitas requisitadas por outros modulos 
     312                                                $request_from = $params['request_from']; 
     313                                        else 
     314                                                $request_from = null; 
     315                                        $p->set_var('contacts',ui_mobilecc::print_contacts($contacts_result,false)); 
    257316                                } 
    258317                                else { 
    259                                         $p->set_var("lang_no_results",lang("no results found")); 
    260                                         $p->parse("calendar_results","no_events"); 
    261                                 } 
    262                         } 
    263                         else { 
    264                                 $p->set_var("show_calendar","none"); 
    265                         } 
    266                          
    267                         //Contatos                       
    268                         if(($params["contacts_search"]==="1") ||  
    269                                         (isset($params["catalog_to_search"]) && $params["catalog_to_search"]!=="")) { 
    270  
    271                                 $bo_cc =  CreateObject('mobile.bo_mobilecc'); 
    272                                  
    273                                 if(isset($params["catalog_to_search"]) && $params["catalog_to_search"]!=="") 
    274                                         $catalogs = array(0=>array("catalog"=>$params["catalog_to_search"], 
    275                                                                                         "label" => $params["catalog_to_search"])); 
    276                                 else  
    277                                         $catalogs = $bo_cc->get_all_catalogs(); 
    278          
    279                                 $max_contacts = isset($params['max_contacts'])?$params['max_contacts']:10; 
    280                                 $contacts_result = array(); 
    281                                 $p->set_var('next_max_contacts',$max_contacts+10); 
    282                                 $p->set_var('max_contacts',$max_contacts); 
    283                                  
    284                                  
    285                                 foreach($catalogs as $catalog) { 
    286                                         if($catalog['catalog']==="bo_group_manager") 
    287                                                 continue; 
    288                                         if(count($contacts_result)>=$max_contacts) { 
    289                                                 $bo_cc->set_catalog($catalog['catalog']); 
    290                                                 $partial_result = $bo_cc->search("%".$params['name']."%","1"); 
    291                                                 if(count($partial_result)>1) { 
    292                                                         $p->set_var('show_more_contacts',"block"); 
    293                                                 } 
    294                                                 break; 
    295                                         } 
    296                                         $max_to_search = $max_contacts - count($contacts_result);//Só posso pedir no máximo o número máximo a ser visto menos o que já foi achado. 
    297                                         $bo_cc->set_catalog($catalog['catalog']); 
    298                                         $partial_result = $bo_cc->search("%".$params['name']."%",$max_to_search); 
    299                                         if($partial_result["has_more"]) { 
    300                                                 $p->set_var('show_more_contacts',"block"); 
    301                                                 unset($partial_result["has_more"]); 
    302                                         } 
    303                                          
    304                                         $contacts_result = array_merge($contacts_result,$partial_result); 
    305                                          
    306                                 } 
    307                                  
    308                                 if(isset($params['request_from'])  && $params['request_from']!="none") //Buscas feitas requisitadas por outros modulos 
    309                                         $request_from = $params['request_from']; 
    310                                 else 
    311                                         $request_from = null; 
    312                                 $p->set_var('contacts',ui_mobilecc::print_contacts($contacts_result,false)); 
    313                         } 
    314                         else { 
    315                                 $p->set_var('show_contacts',"none"); 
    316                         } 
    317                          
     318                                        $p->set_var('show_contacts',"none"); 
     319                                } 
     320                        } 
    318321                        $GLOBALS['phpgw_info']['mobiletemplate']->set_content($p->fp('out','main')); 
    319322 
  • branches/2.2/mobile/setup/phpgw_pt-br.lang

    r3731 r3734  
    142142New message     mobile  pt-br   Nova mensagem 
    143143need choose one option  mobile  pt-br   É preciso escolher pelo menos uma opção de busca 
     144search word need not be empty and has more then four char       mobile  pt-br   É preciso informar um argumento com mais de 4 dígitos para realizar a busca 
    144145new     mobile  pt-br   nova 
    145146Dont have event that day        mobile  pt-br   Não tem evento neste dia. 
  • branches/2.2/mobile/templates/default/pc_template.tpl

    r3731 r3734  
    1818                                var calendar_search = document.getElementById("hidden_calendar_search"); 
    1919                                var contacts_search = document.getElementById("hidden_contacts_search"); 
    20  
     20                                 
     21                                //pegando os valores do checkbox e injetando dentro do formulário 
    2122                                default_folders.value = (document.getElementById("search_default_folders").checked) ? "1" : "";  
    2223                                personal_folders.value = (document.getElementById("search_personal_folders").checked) ? "1" : "";  
     
    2425                                contacts_search.value = (document.getElementById("search_contacts_search").checked) ? "1" : ""; 
    2526 
     27                                var error_message = ""; 
     28 
     29                                //verificando se vai ser possível realizar a consulta 
    2630                                if(default_folders.value == "" && personal_folders.value == "" && calendar_search.value == "" && contacts_search.value == "") { 
    27  
    28                                         if( document.getElementById("box_aviso_negativo") ) {  
    29                                                 document.getElementById("box_aviso_negativo").innerHTML = '<div class="aviso-negativo"><strong>{lang_search_error_message}</strong></div>';  
    30                                         } else {  
    31                                                 var targetElement = document.getElementById("topo_box");  
    32                                                 var newElement = document.createElement('div');  
    33                                                 newElement.className = "bg-neutro";  
    34                                                 newElement.id = "box_aviso_negativo";  
    35                                                 newElement.innerHTML = '<div class="aviso-negativo"><strong>{lang_search_error_message}</strong></div>'; 
    36  
    37                                                 var parent = document.getElementById("topo_box").parentNode; 
    38  
    39                                                 if(parent.lastchild == targetElement) {  
    40                                                         parent.appendChild(newElement);  
    41                                                 } else {  
    42                                                         parent.insertBefore(newElement, targetElement.nextSibling);  
    43                                                 }  
    44                                         } 
    45  
     31                                        error_message = "<p>{lang_search_error_message}</p>"; 
     32                                } 
     33                                 
     34                                search_name = document.getElementById("search_name"); 
     35                                 
     36                                if( search_name.value == "" || search_name.value.length < 5 ) { 
     37                                        error_message += "<p>{lang_search_error_message_four_digits}</p>"; 
     38                                } 
     39                                 
     40                                if(error_message != "") { 
     41                                        show_error_message(error_message); 
    4642                                        return false; 
    4743                                } else { 
    4844                                        return true; 
     45                                } 
     46                        } 
     47                         
     48                        function show_error_message(message) { 
     49                                if( document.getElementById("box_aviso_negativo") ) { 
     50                                        document.getElementById("box_aviso_negativo").innerHTML = '<div class="aviso-negativo"><strong>'+message+'</strong></div>'; 
     51                                } else {  
     52                                        var targetElement = document.getElementById("topo_box"); 
     53                                        var newElement = document.createElement('div'); 
     54                                        newElement.className = "bg-neutro"; 
     55                                        newElement.id = "box_aviso_negativo"; 
     56                                        newElement.innerHTML = '<div class="aviso-negativo"><strong>'+message+'</strong></div>'; 
     57 
     58                                        var parent = document.getElementById("topo_box").parentNode; 
     59 
     60                                        if(parent.lastchild == targetElement) { 
     61                                                parent.appendChild(newElement); 
     62                                        } else { 
     63                                                parent.insertBefore(newElement, targetElement.nextSibling); 
     64                                        } 
    4965                                } 
    5066                        } 
     
    6379                        <!-- BEGIN mobile_home_content --> 
    6480                         
    65                         <form method="post" action="index.php?menuaction=mobile.ui_home.search" id="form_busca" onSubmit="return validate_desktop_search()"> 
     81                        <form method="post" action="index.php?menuaction=mobile.ui_home.search" id="form_busca" onsubmit="return validate_desktop_search()"> 
    6682                                <input type="hidden" name="default_folders" id="hidden_default_folders" value=''/> 
    6783                                <input type="hidden" name="personal_folders" id="hidden_personal_folders" value=''/> 
  • branches/2.2/mobile/templates/default/search_bar.tpl

    r3731 r3734  
    33                <table> 
    44                        <tr> 
    5                                 <td class="gd"><input type="text" name="name" ></td> 
    6                 <td class="pq"><button name="search_message" class="btn-generico" type="submit" >buscar </button></td> 
     5                                <td class="gd"><input type="text" name="name" id="search_name" ></td> 
     6                <td class="pq"><button name="search_message" class="btn-generico" type="submit">buscar</button></td> 
    77                </tr> 
    88        </table> 
Note: See TracChangeset for help on using the changeset viewer.