Changeset 3802


Ignore:
Timestamp:
02/22/11 18:13:11 (13 years ago)
Author:
alexandrecorreia
Message:

Ticket #1485 - Corrigido a pesquisa rapida de mensagens com palavra acentuada.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/expressoMail1_2/js/search.js

    r3722 r3802  
    11/**************************************************************************\ 
    2  Início 
     2 Início  
    33\**************************************************************************/ 
    44        function searchE() 
    55        { 
    66                this.searchW   = new Array; 
     7                this.condition = ""; 
     8                this.sort_type = ""; 
     9                this.page = 0; 
    710                this.name_box_search = ""; 
    811                this.all_boxes = new Array; 
     
    103106 
    104107        } 
    105  
    106         searchE.validate_date_field = function(date) 
    107         { 
    108  
    109         } 
    110  
     108         
    111109        //Form 
    112110        searchE.prototype.mount_form = function(value){ 
     
    211209                ttree.make_tree(folders,"div_folders_search","_folders_tree_search","","","",""); 
    212210        } 
    213  
    214         //This func returns the most recent date 
    215         function date_comp(a,b) 
    216         { 
    217                 var data1 = a.match(/\d{2}\/\d{2}\/\d{4}--\d+? \w*b--.*--\d*$/g); 
    218                 data1 = data1[0].substr(0, data1[0].indexOf('--')) 
    219                 with ( data1 ) 
    220                         data1 = Date.UTC(substr(6), substr(3, 2), substr(0, 2)); 
    221                 var data2 = b.match(/\d{2}\/\d{2}\/\d{4}--\d+? \w*b--.*--\d*$/g); 
    222                 data2 = data2[0].substr(0, data2[0].indexOf('--')) 
    223                 with ( data2 ) 
    224                         data2 = Date.UTC(substr(6), substr(3, 2), substr(0, 2)); 
    225                 return data2 - data1; 
    226         } 
    227          
    228         function date_comp_reverse(a,b) 
    229         { 
    230                 return date_comp(b,a); 
    231         } 
    232  
    233         function box_comp(a,b) 
    234         { 
    235                 var compare = []; 
    236                         compare[0] = a.substr(0, a.indexOf('--')); 
    237                         compare[0] = compare[0].toLowerCase(); 
    238                  
    239                 var temp=compare[0]; 
    240                         compare[1] = b.substr(0, b.indexOf('--')) 
    241                         compare[1] = compare[1].toLowerCase(); 
    242                  
    243                 compare.sort(); 
    244                  
    245                 if (temp != compare[0]) 
    246                         return +1; 
     211        function openpage(data){ 
     212                delete_border(currentTab,false); 
     213                EsearchE.mount_result(data); 
     214        } 
     215 
     216        searchE.prototype.show_paging = function(size){ 
     217                if (size > preferences.max_email_per_page) 
     218                { 
     219                        if (Element("span_paging"+currentTab)){ 
     220                                Element("span_paging"+currentTab).style.display = ''; 
     221                                Element("span_paging"+currentTab).innerHTML = ""; 
     222                        } 
     223                        else{ 
     224                                var span_paging = document.createElement('SPAN'); 
     225                                span_paging.id = "span_paging"+currentTab; 
     226                                Element("div_menu_c3").appendChild(span_paging); 
     227                        } 
     228                        if(this.page > 1){ 
     229                                var fLink = document.createElement('A'); 
     230                                fLink.innerHTML = '< <'; 
     231                                fLink.href = 'javascript:EsearchE.page=0;'+ 
     232                                        'cExecute("$this.imap_functions.search_msg",openpage,'+ 
     233                                        '"condition='+this.condition+'&sort_type='+this.sort_type+'&page=0");'; 
     234                                Element("span_paging"+currentTab).appendChild(fLink); 
     235                        } 
     236                        if(this.page > 2){ 
     237                                var prevLink = document.createElement('A'); 
     238                                prevLink.innerHTML = '...'; 
     239                                prevLink.href = 'javascript:EsearchE.page='+ 
     240                                        (this.page-1)+';'+ 
     241                                        'cExecute("$this.imap_functions.search_msg",openpage,'+ 
     242                                        '"condition='+this.condition+'&sort_type='+this.sort_type+'&page='+(this.page-1)+'");'; 
     243                                Element("span_paging"+currentTab).appendChild(prevLink); 
     244                        } 
     245                        for (var i=(this.page > 2 ? this.page-2 : 0); i <= parseInt(this.page)+4; i+= 1){ 
     246                                if (i*preferences.max_email_per_page > size) 
     247                                        break; 
     248                                if (this.page == i) 
     249                                        Element("span_paging"+currentTab).innerHTML += "<b> "+(this.page+1)+" </b>"; 
     250                                else 
     251                                { 
     252                                        var pageLink = document.createElement('A'); 
     253                                        pageLink.innerHTML = (i+1)+" "; 
     254                                        pageLink.href = 'javascript:EsearchE.page='+i+';'+ 
     255                                                'cExecute("$this.imap_functions.search_msg",openpage,'+ 
     256                                                '"condition='+this.condition+'&sort_type='+this.sort_type+'&page='+this.page+'");'; 
     257                                        Element("span_paging"+currentTab).appendChild(pageLink); 
     258                                } 
     259                        } 
     260                        if (size > preferences.max_email_per_page) 
     261                        { 
     262                                var lLink = document.createElement('A'); 
     263                                lLink.innerHTML = '&gt; &gt;'; 
     264                                lLink.href = 'javascript:EsearchE.page='+parseInt(size/preferences.max_email_per_page)+';'+ 
     265                                        'cExecute("$this.imap_functions.search_msg",openpage,'+ 
     266                                        '"condition='+this.condition+'&sort_type='+this.sort_type+'&page=0");'; 
     267                                Element("span_paging"+currentTab).appendChild(lLink); 
     268                        } 
     269                } 
     270 
     271        } 
     272        // Form resultado 
     273        searchE.prototype.mount_result = function(Rdata,sort_type){ 
     274                var data = Rdata['data']; 
     275                if (data == undefined) 
     276                        return; 
     277                if(this.page == 0) 
     278                        write_msg(Rdata['num_msgs']+" "+get_lang("results found")); 
     279                var cont = parseInt(0); 
     280 
     281                if (typeof(sort_type) != 'undefined') 
     282                        this.sort_type = sort_type; 
    247283                else 
    248                         return -1; 
    249         } 
    250          
    251         function box_comp_reverse(a,b) 
    252         { 
    253                 return box_comp(b,a); 
    254         } 
    255  
    256         function who_comp(a,b) 
    257         { 
    258                 var compare = []; 
    259                         compare[0] = a.substr(a.indexOf('--')+2); 
    260                         compare[0] = compare[0].substr(compare[0].indexOf('--')+2); 
    261                         compare[0] = compare[0].toLowerCase(); 
    262                  
    263                 var temp = compare[0]; 
    264                         compare[1] = b.substr(b.indexOf('--')+2); 
    265                         compare[1] = compare[1].substr(compare[1].indexOf('--')+2); 
    266                         compare[1] = compare[1].toLowerCase(); 
    267                  
    268                 compare.sort(); 
    269                  
    270                 if (temp != compare[0]) 
    271                         return +1; 
    272                 else 
    273                         return -1; 
    274         } 
    275          
    276         function who_comp_reverse(a,b) 
    277         { 
    278                 return who_comp(b,a); 
    279         } 
    280  
    281         function subject_comp(a,b) 
    282         { 
    283                 var compare = []; 
    284                         compare[0] = a.substr(a.indexOf('--')+2); 
    285                         compare[0] = compare[0].substr(compare[0].indexOf('--')+2); 
    286                         compare[0] = compare[0].substr(compare[0].indexOf('--')+2); 
    287                         compare[0] = compare[0].toLowerCase(); 
    288                 var temp=compare[0]; 
    289                         compare[1] = b.substr(b.indexOf('--')+2); 
    290                         compare[1] = compare[1].substr(compare[1].indexOf('--')+2); 
    291                         compare[1] = compare[1].substr(compare[1].indexOf('--')+2); 
    292                         compare[1] = compare[1].toLowerCase(); 
    293                  
    294                 compare.sort(); 
    295                  
    296                 if (temp != compare[0]) 
    297                         return +1; 
    298                 else 
    299                         return -1; 
    300         } 
    301          
    302         function subject_comp_reverse(a,b) 
    303         { 
    304                 return subject_comp(b,a); 
    305         } 
    306  
    307         function size_comp(a,b) 
    308         { 
    309                 var data1 = a.match(/\d{2}\/\d{2}\/\d{4}--\d+? \w*b--.*--\d*$/g); 
    310                         data1 = data1[0].substr(data1[0].indexOf('--')+2) 
    311                         data1 = data1.substr(0,data1.indexOf('--')) 
    312                 var size_a = parseInt(data1.substr(0,data1.indexOf(' '))); 
    313                  
    314                 if (data1.match("k")) 
    315                         size_a = size_a * 1024; 
    316                 else 
    317                         if (data1.match("m")) 
    318                                 size_a = size_a * 1048576; 
    319                  
    320                 var data2 = b.match(/\d{2}\/\d{2}\/\d{4}--\d+? \w*b--.*--\d*$/g); 
    321                         data2 = data2[0].substr(data2[0].indexOf('--')+2) 
    322                         data2 = data2.substr(0,data2.indexOf('--')) 
    323                 var size_b = parseInt(data2.substr(0,data2.indexOf(' '))); 
    324                  
    325                 if (data2.match("k")) 
    326                         size_b = size_b * 1024; 
    327                 else 
    328                         if (data2.match("m")) 
    329                                 size_b = size_b * 1048576; 
    330                 return size_b - size_a; 
    331         } 
    332          
    333         function size_comp_reverse(a,b) 
    334         { 
    335                 return size_comp(b,a); 
    336         } 
    337  
    338         // Form resultado 
    339         searchE.prototype.mount_result = function( data, sort_type) 
    340         { 
    341                 var nw_array = new Array; 
    342                 var var_tmp = data.substr(2, data.length - 4); 
    343                         var_tmp  = var_tmp.split("####"); 
    344                                  
    345                 var cont = parseInt(0); 
    346                  
    347                 switch (sort_type) 
    348                 { 
    349                         case 'SORTDATE': 
    350                                 var_tmp.sort(date_comp); 
    351                                 break; 
    352                         case 'SORTDATE_REVERSE': 
    353                                 var_tmp.sort(date_comp_reverse); 
    354                                 break; 
    355                         case 'SORTBOX': 
    356                                 var_tmp.sort(box_comp); 
    357                                 break; 
    358                         case 'SORTBOX_REVERSE': 
    359                                 var_tmp.sort(box_comp_reverse); 
    360                 break; 
    361                         case 'SORTSUBJECT': 
    362                                 var_tmp.sort(subject_comp); 
    363                                 break; 
    364                         case 'SORTSUBJECT_REVERSE': 
    365                                 var_tmp.sort(subject_comp_reverse); 
    366                                 break; 
    367                         case 'SORTWHO': 
    368                                 var_tmp.sort(who_comp); 
    369                                 break; 
    370                         case 'SORTWHO_REVERSE': 
    371                                 var_tmp.sort(who_comp_reverse); 
    372                                 break; 
    373                         case 'SORTSIZE': 
    374                                 var_tmp.sort(size_comp); 
    375                                 break; 
    376                         case 'SORTSIZE_REVERSE': 
    377                                 var_tmp.sort(size_comp_reverse); 
    378                                 break; 
    379                         default: 
    380                                 var showMsg = 1; 
    381                 } 
    382  
    383                 for(var i=0; i < var_tmp.length; i++) 
    384                 { 
    385                         if(var_tmp[i] != "") 
    386                         { 
    387                                 nw_array[cont] = var_tmp[i]; 
    388                                 cont++; 
    389                         } 
    390                 } 
    391  
    392         if( ( preferences.search_result_number != '65536') && (nw_array.length > 0) && (nw_array.length >= preferences.search_result_number) ) 
    393         { 
    394             nw_array.length = preferences.search_result_number; 
    395             write_msg(get_lang("More than %1 results. Please, try to refine your search.",preferences.search_result_number)); 
    396         } 
    397         else 
    398         { 
    399                 write_msg(nw_array.length + " "+ get_lang('results found')); 
    400         } 
     284                        sort_type = this.sort_type; 
    401285 
    402286                numBox++; 
     
    423307                        tbody.id        = "tbody_box_" + numBox; 
    424308 
    425                 for( var i = 0; i < nw_array.length; i++) 
    426                 { 
     309                for( var i=0; i < data.length; i++){ 
    427310                        var tr = document.createElement("TR"); 
    428                                 tr.style.height = preferences.line_height; 
    429                         nw_array[i] = url_decode(unescape(nw_array[i])); 
    430                          
    431                         var aux1; 
    432                         aux1 = nw_array[i].match(/\d{2}\/\d{2}\/\d{4}--\d+? \w*b--.*--\d*$/g); 
    433                         /* 
    434                          * E-mails do dia estão vindo com o horário em mensagens locais.  
    435                          * Caso isso seja "corrigido" essa condicional não será mais necessária 
    436                          */ 
    437                         if(aux1==null)  
    438                                 aux1 = nw_array[i].match(/\d{2}:\d{2}--\d+? \w*b--.*--\d*$/g); 
    439                         aux1 = aux1[0].split("--"); 
    440                         nw_array[i] = nw_array[i].substr(0, nw_array[i].indexOf(aux1[0])-2); 
    441                          
    442                         var aux         = []; 
    443                         var mailbox = ""; 
    444                         aux[0] = mailbox = nw_array[i].substr(0, nw_array[i].indexOf('--')); 
    445                         nw_array[i] = nw_array[i].substr(nw_array[i].indexOf('--')+2); 
    446                         aux[3] = nw_array[i].substr(0, nw_array[i].indexOf('--')); 
    447                         nw_array[i] = nw_array[i].substr(nw_array[i].indexOf('--')+2); 
    448                         aux[1] = nw_array[i].substr(0, nw_array[i].indexOf('--')); 
    449                         aux[2] = nw_array[i].substr(nw_array[i].indexOf('--')+2); 
    450                         aux = aux.concat(aux1); 
    451  
    452                          
    453                         var mailbox_name = aux[0]; 
    454                         var mailbox_id = aux[3]; 
    455                         var uid_msg = aux[7]; 
    456                         var subject = aux[2]; 
     311                        tr.style.height = preferences.line_height; 
     312                        var aux = data[i]; 
     313                        var mailbox = aux.boxname;  
     314                        var uid_msg = aux.uid;  
     315                        var subject = aux.subject;  
    457316                        tr.id = uid_msg+"_s"+global_search; 
    458317 
     
    461320                        tr.name = mailbox; 
    462321 
    463                         if (aux[5].match("U")) 
     322                        if (aux.flag.match("U")) 
    464323                                add_className(tr,'tr_msg_unread'); 
    465324                        add_className(tr, i%2 != 0 ? 'tr_msg_read2' : 'tr_msg_read'); 
     
    471330                                { 
    472331                                        td.style.width = "1%"; 
    473                                         var td1 = '<input type="checkbox" id="'+ border_id +'_check_box_message_'+uid_msg+'"></input>'; 
    474  
     332                                        var td1 = '<input type="checkbox" id="check_box_message_'+uid_msg+'"></input>'; 
     333                                         
    475334                                } 
    476335                                if (j == 1) 
    477336                                { 
    478337                                        td.style.width = "2%"; 
    479                                         if (aux[6].match('T')) 
     338                                        if (aux.flag.match('T')) 
    480339                                        { 
    481                                                 attachNum = parseInt(aux[6].substr(aux[6].indexOf('T')+1)); 
     340                                                attachNum = parseInt(aux.flag.substr(aux.flag.indexOf('T')+1)); 
    482341                                                td1 = "<img src='templates/"+template+"/images/clip.gif' title='"+attachNum +' '+ get_lang('attachment(s)')+"'>"; 
    483342                                        } 
     
    489348                                        td.style.width = "1%"; 
    490349                                        td.id = "td_message_answered_"+uid_msg; 
    491                                         if (aux[6].match('X')) 
     350                                        if (aux.flag.match('X')) 
    492351                                                td1 = '<img src=templates/'+template+'/images/forwarded.gif title=Forwarded>'; 
    493352                                        else 
    494                                                 if (aux[6].match('A')) 
     353                                                if (aux.flag.match('A')) 
    495354                                                        td1 = '<img src=templates/'+template+'/images/answered.gif>'; 
    496355                                                else 
     
    501360                                        td.style.width = "1%"; 
    502361                                        td.id = "td_message_important_"+uid_msg; 
    503                                         if (aux[6].match("F")) 
     362                                        if (aux.flag.match("F")) 
    504363                                        { 
    505364                                                add_className(tr, 'flagged_msg'); 
     
    519378                                        td.style.width = "20%"; 
    520379                                        td.onclick = _onclick; 
    521                                         var nm_box = aux[0].split(cyrus_delimiter); 
     380                                        var nm_box = aux.boxname.split(cyrus_delimiter); 
    522381                                        var td1 = nm_box.pop(); 
    523382                                        td.setAttribute("NoWrap","true"); 
     
    525384                                        td.style.color = "#42795b"; 
    526385                                        td.style.fontWeight = "bold"; 
    527                                         if(proxy_mensagens.is_local_folder(td1)) 
    528                                         { 
    529                                                 var td1 = this.aux_local_folder_display(td1); 
    530                                                 tr.name = aux[0]; // precisa trocar pelo nome real no banco do gears. 
    531                                         } 
    532                                         else 
    533                                         { 
    534                                                 if(td1 == "INBOX") 
    535                                                 { 
    536                                                         var td1  = get_lang("Inbox"); 
    537                                                 } 
    538                                                 else if (nm_box[0] == 'user') 
    539                                                 { 
    540                                                         if (nm_box.length > 1) 
    541                                                                 var td1 = nm_box[1] + '/' + lang_folder(td1); 
    542                                                         else 
    543                                                                 var td1 = td1; 
    544                                                 } 
    545                                                 else 
    546                                                         var td1 = lang_folder(td1); 
    547                                         } 
     386                                         
     387                                        var td1  = get_lang(td1).substr(get_lang(td1).length-1) == "*"?td1:get_lang(td1); 
     388                                        if ((tmp = translatedFolders.get(td1))) 
     389                                        { 
     390                                            td1 = tmp; 
     391                                        } 
    548392 
    549393                                        if( proxy_mensagens.is_local_folder(td1)) 
     
    554398                                if( j == 6) 
    555399                                { 
    556                                         if (aux[1].length > 20) 
    557                                                 aux[1] = aux[1].substr(0,20) + "..."; 
     400                                        if (aux.from.length > 29) 
     401                                                aux.from = aux.from.substr(0,29) + "..."; 
    558402                                        td.style.width = "20%"; 
    559403                                        td.onclick = _onclick; 
    560404                                        td.setAttribute("NoWrap","true"); 
    561405                                        td.style.overflow = "hidden"; 
    562                                         var td1  =  '<div style="width:100%;overflow:hidden">'+aux[1]+"</div>"; 
     406                                        var td1  =  '<div style="width:100%;overflow:hidden">'+aux.from+"</div>"; 
    563407                                } 
    564408                                if( j == 7) 
     
    566410                                        var subject_encode = url_encode(subject); 
    567411                                        if (! subject_encode) 
    568                                                 aux[2] = get_lang("no subject") + "..."; 
    569                                         if ( subject.length > 45) 
    570                                                 aux[2] = subject.substr(0,45) + "..."; 
     412                                                aux.subject = get_lang("no subject") + "..."; 
     413                                        if (aux.subject.length > 45) 
     414                                                aux.subject = aux.subject.substr(0,45) + "..."; 
    571415                                        td.style.width = "35%"; 
    572416                                        td.onclick = _onclick; 
    573417                                        td.setAttribute("NoWrap","true"); 
    574418                                        td.style.overflow = "hidden"; 
    575                                         var td1  = aux[2]; 
     419                                        var td1  = aux.subject; 
     420 
    576421                                } 
    577422                                if( j == 8) 
     
    580425                                        td.align = "center"; 
    581426                                        td.onclick = _onclick; 
    582                                         var td1  = aux[4]; 
     427                                        var _dat = new Date(aux.udate*1000);  
     428                                        var td1 = _dat.getDate()+"/"+(_dat.getMonth()+1)+"/"+_dat.getFullYear();  
    583429                                } 
    584430                                if( j == 9) 
     
    587433                                        td.align = "center"; 
    588434                                        td.onclick = _onclick; 
    589                                         td.setAttribute("NoWrap","true"); 
    590                                         var td1  = aux[5]; 
     435                                        var td1  = borkb(aux.size); 
    591436                                } 
    592437                                if (j == 10) 
    593438                                { 
    594                                         if (aux[6].match("U")) 
     439                                        if (aux.flag.match("U")) 
    595440                                                add_className(tr, 'tr_msg_unread'); 
    596                                         if (aux[7].match("F")) 
     441                                        if (aux.flag.match("F")) 
    597442                                                add_className(tr, 'flagged_msg'); 
    598443                                        var td1 = ''; 
     
    603448                        aux.splice(0,(aux.length)); 
    604449 
    605                 _dragArea.makeDragged(tr, uid_msg, subject, true, mailbox_id); 
     450                _dragArea.makeDragged(tr, uid_msg, subject, true, mailbox); 
    606451                tbody.appendChild(tr); 
    607452                } 
     453                global_search++; //Tabs from search must not have the same id on its tr's 
     454                 
    608455                table.appendChild(tbody); 
    609456 
     
    650497                if (sort_type == 'SORTBOX') 
    651498                { 
    652                         td_element1.onclick = function () { EsearchE.mount_result(data,'SORTBOX_REVERSE'); delete_border(border_id,false);}; 
     499                        td_element1.onclick = function () { 
     500                                var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTBOX_REVERSE'); }; 
     501                                var args   = "$this.imap_functions.search_msg"; 
     502                                var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTBOX_REVERSE"; 
     503                                cExecute(args,handler,params); 
     504                        }; 
    653505                        td_element1.innerHTML ="<b>"+get_lang("Folder")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
    654506                } 
    655507                else 
    656508                { 
    657                         td_element1.onclick = function () { EsearchE.mount_result(data,'SORTBOX'); delete_border(border_id,false);}; 
     509                        td_element1.onclick = function () { 
     510                                var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTBOX'); }; 
     511                                var args   = "$this.imap_functions.search_msg"; 
     512                                var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTBOX"; 
     513                                cExecute(args,handler,params); 
     514                        }; 
    658515                        if  (sort_type == 'SORTBOX_REVERSE') 
    659516                                td_element1.innerHTML ="<b>"+get_lang("Folder")+"</b><img src='templates/"+template+"/images/arrow_ascendant.gif'>"; 
     
    666523                if (sort_type == 'SORTWHO') 
    667524                { 
    668                         td_element2.onclick = function () { EsearchE.mount_result(data,'SORTWHO_REVERSE'); delete_border(border_id,false);}; 
     525                        td_element2.onclick = function () { 
     526                                var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTWHO_REVERSE'); }; 
     527                                var args   = "$this.imap_functions.search_msg"; 
     528                                var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTWHO_REVERSE"; 
     529                                cExecute(args,handler,params); 
     530                        }; 
    669531                        td_element2.innerHTML ="<b>"+get_lang("who")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
    670532                } 
    671533                else 
    672534                { 
    673                         td_element2.onclick = function () { EsearchE.mount_result(data,'SORTWHO'); delete_border(border_id,false);}; 
     535                        td_element2.onclick = function () { 
     536                                var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTWHO'); }; 
     537                                var args   = "$this.imap_functions.search_msg"; 
     538                                var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTWHO"; 
     539                                cExecute(args,handler,params); 
     540                        }; 
    674541                        if  (sort_type == 'SORTWHO_REVERSE') 
    675542                                td_element2.innerHTML ="<b>"+get_lang("who")+"</b><img src='templates/"+template+"/images/arrow_ascendant.gif'>"; 
     
    682549                if (sort_type == 'SORTSUBJECT') 
    683550                { 
    684                         td_element3.onclick = function () { EsearchE.mount_result(data,'SORTSUBJECT_REVERSE'); delete_border(border_id,false);}; 
     551                        td_element3.onclick = function () { 
     552                                var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTSUBJECT_REVERSE'); }; 
     553                                var args   = "$this.imap_functions.search_msg"; 
     554                                var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTSUBJECT_REVERSE"; 
     555                                cExecute(args,handler,params); 
     556                        }; 
    685557                        td_element3.innerHTML ="<b>"+get_lang("subject")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
    686558                } 
    687559                else 
    688560                { 
    689                         td_element3.onclick = function () { EsearchE.mount_result(data,'SORTSUBJECT'); delete_border(border_id,false);}; 
     561                        td_element3.onclick = function () { 
     562                                var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTSUBJECT'); }; 
     563                                var args   = "$this.imap_functions.search_msg"; 
     564                                var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTSUBJECT"; 
     565                                cExecute(args,handler,params); 
     566                        }; 
    690567                        if  (sort_type == 'SORTSUBJECT_REVERSE') 
    691568                                td_element3.innerHTML ="<b>"+get_lang("subject")+"</b><img src='templates/"+template+"/images/arrow_ascendant.gif'>"; 
     
    698575                if (sort_type == 'SORTDATE') 
    699576                { 
    700                         td_element4.onclick = function () { EsearchE.mount_result(data,'SORTDATE_REVERSE'); delete_border(border_id,false);}; 
     577                        td_element4.onclick = function () { 
     578                                var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTDATE_REVERSE'); }; 
     579                                var args   = "$this.imap_functions.search_msg"; 
     580                                var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTDATE_REVERSE"; 
     581                                cExecute(args,handler,params); 
     582                        }; 
    701583                        td_element4.innerHTML ="<b>"+get_lang("Date")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
    702584                } 
    703585                else 
    704586                { 
    705                         td_element4.onclick = function () { EsearchE.mount_result(data,'SORTDATE'); delete_border(border_id,false);}; 
     587                        td_element4.onclick = function () { 
     588                                var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTDATE'); }; 
     589                                var args   = "$this.imap_functions.search_msg"; 
     590                                var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTDATE"; 
     591                                cExecute(args,handler,params); 
     592                        }; 
    706593                        if  (sort_type == 'SORTDATE_REVERSE') 
    707594                                td_element4.innerHTML ="<b>"+get_lang("Date")+"</b><img src='templates/"+template+"/images/arrow_ascendant.gif'>"; 
     
    714601                if (sort_type == 'SORTSIZE') 
    715602                { 
    716                         td_element5.onclick = function () { EsearchE.mount_result(data,'SORTSIZE_REVERSE'); delete_border(border_id,false);}; 
     603                        td_element5.onclick = function () { 
     604                                var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTSIZE_REVERSE'); }; 
     605                                var args   = "$this.imap_functions.search_msg"; 
     606                                var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTSIZE_REVERSE"; 
     607                                cExecute(args,handler,params); 
     608                        }; 
    717609                        td_element5.innerHTML ="<b>"+get_lang("size")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
    718610                } 
    719611                else 
    720612                { 
    721                         td_element5.onclick = function () { EsearchE.mount_result(data,'SORTSIZE'); delete_border(border_id,false);}; 
     613                        td_element5.onclick = function () { 
     614                                var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTSIZE'); }; 
     615                                var args   = "$this.imap_functions.search_msg"; 
     616                                var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTSIZE"; 
     617                                cExecute(args,handler,params); 
     618                        }; 
    722619                        if  (sort_type == 'SORTSIZE_REVERSE') 
    723620                                td_element5.innerHTML ="<b>"+get_lang("size")+"</b><img src='templates/"+template+"/images/arrow_ascendant.gif'>"; 
     
    757654                } 
    758655                resizeWindow(); 
    759         } 
    760  
    761         searchE.prototype.open_msg = function(mailbox_id, uid_msg, subject){ 
     656                EsearchE.show_paging(Rdata['num_msgs']); 
     657 
     658        } 
     659 
     660        searchE.prototype.open_msg = function(mailbox, uid_msg, subject){ 
    762661                var handler_get_msg = function(data){ 
    763662                        if(Element("border_id_" + uid_msg + "_r")){alert(get_lang("This message is already opened!"));} 
     
    765664                        //set_msg_as_read(msgs_to_set[i], false); 
    766665                } 
    767                 proxy_mensagens.get_msg(uid_msg,mailbox_id,false,handler_get_msg); 
     666                proxy_mensagens.get_msg(uid_msg,mailbox,false,handler_get_msg); 
    768667                /*var args   = "$this.imap_functions.get_info_msg"; 
    769668                var params = "msg_number=" + uid_msg + "&msg_folder=" + mailbox; 
     
    791690                        if(this.name_box_search=='local_Inbox') 
    792691                                name_box_def = get_lang("Inbox"); 
     692                        else if(this.name_box_search.indexOf("/")!="-1") { 
     693                                final_pos = this.name_box_search.lastIndexOf("/"); 
     694                                name_box_def = this.name_box_search.substr(final_pos+1); 
     695                        } 
    793696                        else 
    794697                                name_box_def = this.name_box_search.substr(6);//Retira o 'local_' 
     
    840743                        // Verifica se os campos estão preenchidos; 
    841744                        if(trim(Element("txt_ass").value) != ""){ 
    842                                 fields += "SUBJECT " +  "<=>" +encodeURIComponent(Element("txt_ass").value) + "##"; 
     745                                fields += "SUBJECT " +  "<=>" +url_encode(Element("txt_ass").value) + "##"; 
    843746                        } 
    844747                        if(trim(Element("txt_body").value) != ""){ 
    845                                 fields += "BODY " + "<=>" + encodeURIComponent(Element("txt_body").value) + "##"; 
     748                                fields += "BODY " + "<=>" + url_encode(Element("txt_body").value) + "##"; 
    846749                        } 
    847750                        if(trim(Element("txt_de").value) != ""){ 
    848                                 fields += "FROM " + "<=>" + encodeURIComponent(Element("txt_de").value) + "##"; 
     751                                fields += "FROM " + "<=>" + url_encode(Element("txt_de").value) + "##"; 
    849752                        } 
    850753                        if(trim(Element("txt_para").value) != ""){ 
    851                                 fields += "TO " + "<=>" + encodeURIComponent(Element("txt_para").value) + "##"; 
     754                                fields += "TO " + "<=>" + url_encode(Element("txt_para").value) + "##"; 
    852755                        } 
    853756                        if(trim(Element("txt_cc").value) != ""){ 
    854                                 fields += "CC " + "<=>" + encodeURIComponent(Element("txt_cc").value) + "##"; 
     757                                fields += "CC " + "<=>" + url_encode(Element("txt_cc").value) + "##"; 
    855758                        } 
    856759                        if (trim(Element("since_date").value) != ""){ 
    857760                            if (validate_date(Element("since_date").value)) 
    858761                            { 
    859                                 fields += "SINCE " + "<=>" + encodeURIComponent(Element("since_date").value) + "##"; 
     762                                fields += "SINCE " + "<=>" + url_encode(Element("since_date").value) + "##"; 
    860763                            } 
    861764                            else 
     
    868771                            if (validate_date(Element("before_date").value)) 
    869772                            { 
    870                                 fields += "BEFORE " + "<=>" + encodeURIComponent(Element("before_date").value) + "##"; 
     773                                fields += "BEFORE " + "<=>" + url_encode(Element("before_date").value) + "##"; 
    871774                            } 
    872775                            else 
     
    879782                            if (validate_date(Element("on_date").value)) 
    880783                            { 
    881                                 fields += "ON " + "<=>" + encodeURIComponent(Element("on_date").value) + "##"; 
     784                                fields += "ON " + "<=>" + url_encode(Element("on_date").value) + "##"; 
    882785                            } 
    883786                            else 
     
    933836                        } 
    934837                        if(value) { 
    935                                 fields = "##ALL " +  "<=>" +encodeURIComponent(value) + "##"; 
     838                                fields = "##ALL " +  "<=>" +url_encode(value) + "##"; 
    936839                        } 
    937840 
     
    976879                } 
    977880                var handler = function(data){ 
    978                         var tmp; 
    979                         var countTmp= new Array(); 
    980  
    981                         var dataTemp = data.split('=sumResults='); 
    982                         var sumResults = dataTemp[0]; 
    983  
    984                         var data = dataTemp[1] ? dataTemp[1] : dataTemp[0]; 
    985  
    986                         if (local_folders.length > 0) { 
    987                                 tmp = expresso_local_messages.search(local_folders, fields); 
    988                                 if (tmp!=false) { 
    989                                         var tmp2 = tmp.substr(2, data.length - 4); 
    990                                         countTmp = tmp.split('####'); 
    991                                 } 
    992                         } 
    993                         if ((sumResults == "none") && (countTmp.length==0)){ 
    994                             alert(get_lang("None result was found.")); 
    995                         } 
    996                         else 
    997                         { 
    998                             EsearchE.mount_result((sumResults=='none')?tmp:(countTmp.length==0)?data:data+tmp); 
    999                         } 
     881                        if (data == "none") 
     882                                alert(get_lang('no results found')); 
     883                        else 
     884                                EsearchE.mount_result(data,'SORTDATE'); 
    1000885 
    1001886                } 
    1002887                var args   = "$this.imap_functions.search_msg"; 
    1003                 var params = "condition=" + nm_box; 
     888                this.condition = nm_box; 
     889                var params = "condition=" + nm_box+ 
     890                        "&page=0"+ 
     891                        "&sort_type=SORTDATE"; 
     892                this.page = 0; 
    1004893                if(expresso_offline) 
    1005894                        handler('none'); 
Note: See TracChangeset for help on using the changeset viewer.