Ignore:
Timestamp:
07/08/10 17:52:20 (14 years ago)
Author:
amuller
Message:

Ticket #1135 - Aplicando alterações do branches 2.0 no branches 2.2

File:
1 edited

Legend:

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

    r1969 r3018  
    203203                ttree.make_tree(folders,"div_folders_search","_folders_tree_search","","","",""); 
    204204        } 
    205          
    206         //This func returns the most recent date 
    207         function date_comp(a,b) 
    208         { 
    209                 var data1 = a.match(/\d{2}\/\d{2}\/\d{4}--\d+? \w*b--.*--\d*$/g); 
    210                 data1 = data1[0].substr(0, data1[0].indexOf('--')) 
    211                 with ( data1 )  
    212                         data1 = Date.UTC(substr(6), substr(3, 2), substr(0, 2)); 
    213                 var data2 = b.match(/\d{2}\/\d{2}\/\d{4}--\d+? \w*b--.*--\d*$/g); 
    214                 data2 = data2[0].substr(0, data2[0].indexOf('--')) 
    215                 with ( data2 ) 
    216                         data2 = Date.UTC(substr(6), substr(3, 2), substr(0, 2)); 
    217                 return data2 - data1; 
    218         } 
    219         function date_comp_reverse(a,b) 
    220         { 
    221                 return date_comp(b,a); 
    222         } 
    223          
    224         function box_comp(a,b) 
    225         { 
    226         var compare = []; 
    227         compare[0] = a.substr(0, a.indexOf('--')); 
    228         compare[0] = compare[0].toLowerCase(); 
    229         var temp=compare[0]; 
    230         compare[1] = b.substr(0, b.indexOf('--')) 
    231         compare[1] = compare[1].toLowerCase(); 
    232         compare.sort(); 
    233         if (temp != compare[0]) 
    234                 return +1; 
    235         else 
    236                 return -1; 
    237         } 
    238         function box_comp_reverse(a,b) 
    239         { 
    240                 return box_comp(b,a); 
    241         } 
    242  
    243         function who_comp(a,b) 
    244         { 
    245         var compare = []; 
    246         compare[0] = a.substr(a.indexOf('--')+2); 
    247         compare[0] = compare[0].toLowerCase(); 
    248         var temp=compare[0]; 
    249         compare[1] = b.substr(b.indexOf('--')+2); 
    250         compare[1] = compare[1].toLowerCase(); 
    251         compare.sort(); 
    252         if (temp != compare[0]) 
    253                 return +1; 
    254         else 
    255                 return -1; 
    256         } 
    257         function who_comp_reverse(a,b) 
    258         { 
    259                 return who_comp(b,a); 
    260         } 
    261  
    262         function subject_comp(a,b) 
    263         { 
    264         var compare = []; 
    265         compare[0] = a.substr(a.indexOf('--')+2); 
    266         compare[0] = compare[0].substr(compare[0].indexOf('--')+2); 
    267         compare[0] = compare[0].toLowerCase(); 
    268         var temp=compare[0]; 
    269         compare[1] = b.substr(b.indexOf('--')+2); 
    270         compare[1] = compare[1].substr(compare[1].indexOf('--')+2); 
    271         compare[1] = compare[1].toLowerCase(); 
    272         compare.sort(); 
    273         if (temp != compare[0]) 
    274                 return +1; 
    275         else 
    276                 return -1; 
    277         } 
    278         function subject_comp_reverse(a,b) 
    279         { 
    280                 return subject_comp(b,a); 
    281         } 
    282  
    283         function size_comp(a,b) 
    284         { 
    285                 var data1 = a.match(/\d{2}\/\d{2}\/\d{4}--\d+? \w*b--.*--\d*$/g); 
    286                 data1 = data1[0].substr(data1[0].indexOf('--')+2) 
    287                 data1 = data1.substr(0,data1.indexOf('--')) 
    288                 var size_a = parseInt(data1.substr(0,data1.indexOf(' '))); 
    289                 if (data1.match("k")) 
    290                         size_a = size_a * 1024; 
    291                 else 
    292                         if (data1.match("m")) 
    293                                 size_a = size_a * 1048576; 
    294                 var data2 = b.match(/\d{2}\/\d{2}\/\d{4}--\d+? \w*b--.*--\d*$/g); 
    295                 data2 = data2[0].substr(data2[0].indexOf('--')+2) 
    296                 data2 = data2.substr(0,data2.indexOf('--')) 
    297                 var size_b = parseInt(data2.substr(0,data2.indexOf(' '))); 
    298                 if (data2.match("k")) 
    299                         size_b = size_b * 1024; 
    300                 else 
    301                         if (data2.match("m")) 
    302                                 size_b = size_b * 1048576; 
    303                 return size_b - size_a; 
    304         } 
    305         function size_comp_reverse(a,b) 
    306         { 
    307                 return size_comp(b,a); 
    308         } 
    309205 
    310206        // Form resultado 
    311207        searchE.prototype.mount_result = function(data,sort_type){ 
    312                 var nw_array = new Array; 
    313                 var var_tmp = data.substr(2, data.length - 4); 
    314                 var_tmp  = var_tmp.split("####"); 
     208                if (data == undefined) 
     209                        return; 
    315210                var cont = parseInt(0); 
     211 
     212                //This func returns the comparison between criterias  
     213                var date_comp = function(a,b){ return a.udate > b.udate;};  
     214                var date_comp_reverse = function(a,b){ return date_comp(b,a);};  
     215                var box_comp = function(a,b){   return a.boxname > b.boxname; }  
     216                var box_comp_reverse = function(a,b){   return box_comp(b,a); }  
     217                var who_comp = function(a,b){ return a.from > b.from; }  
     218                var who_comp_reverse = function(a,b){ return who_comp(b,a); }  
     219                var subject_comp = function(a,b){ return a.subject > b.subject; }  
     220                var subject_comp_reverse = function(a,b){ return subject_comp(b,a); }  
     221                var size_comp = function(a,b){ return a.size > b.size; }  
     222                var size_comp_reverse = function(a,b){ return size_comp(b,a); } 
     223 
    316224                switch (sort_type) 
    317225                { 
    318226                        case 'SORTDATE': 
    319                                 var_tmp.sort(date_comp); 
     227                                data.sort(date_comp); 
    320228                                break; 
    321229                        case 'SORTDATE_REVERSE': 
    322                                 var_tmp.sort(date_comp_reverse); 
     230                                data.sort(date_comp_reverse); 
    323231                                break; 
    324232                        case 'SORTBOX': 
    325                                 var_tmp.sort(box_comp); 
     233                                data.sort(box_comp); 
    326234                                break; 
    327235                        case 'SORTBOX_REVERSE': 
    328                                 var_tmp.sort(box_comp_reverse); 
     236                                data.sort(box_comp_reverse); 
    329237                                break; 
    330238                        case 'SORTSUBJECT': 
    331                                 var_tmp.sort(subject_comp); 
     239                                data.sort(subject_comp); 
    332240                                break; 
    333241                        case 'SORTSUBJECT_REVERSE': 
    334                                 var_tmp.sort(subject_comp_reverse); 
     242                                data.sort(subject_comp_reverse); 
    335243                                break; 
    336244                        case 'SORTWHO': 
    337                                 var_tmp.sort(who_comp); 
     245                                data.sort(who_comp); 
    338246                                break; 
    339247                        case 'SORTWHO_REVERSE': 
    340                                 var_tmp.sort(who_comp_reverse); 
     248                                data.sort(who_comp_reverse); 
    341249                                break; 
    342250                        case 'SORTSIZE': 
    343                                 var_tmp.sort(size_comp); 
     251                                data.sort(size_comp); 
    344252                                break; 
    345253                        case 'SORTSIZE_REVERSE': 
    346                                 var_tmp.sort(size_comp_reverse); 
     254                                data.sort(size_comp_reverse); 
    347255                                break; 
    348256                        default: 
     
    350258                } 
    351259 
    352                 for(var i=0; i < var_tmp.length; i++){ 
    353                         if(var_tmp[i] != "") 
    354                         { 
    355                                 nw_array[cont] = var_tmp[i]; 
    356                                 cont++; 
    357                         } 
    358                 } 
    359  
    360                 if( (preferences.search_result_number != '65536') && (nw_array.length > 0) && (nw_array.length >= preferences.search_result_number) ){ 
     260                if(data.length > 0 && showMsg)  
     261                                write_msg(data.length + " "+ get_lang('results found'));  
     262                /* This code was lost on merge  
     263                if( (preferences.search_result_number != '65536') && (nw_array.length > 0) && (nw_array.length >= preferences.search_result_number) ){ 
    361264                    nw_array.length = preferences.search_result_number; 
    362265                    write_msg(get_lang("More than %1 results. Please, try to refine your search.",preferences.search_result_number)); 
     
    365268                        write_msg(nw_array.length + " "+ get_lang('results found')); 
    366269                } 
     270                */ 
    367271 
    368272                numBox++; 
     
    386290                tbody.id    = "tbody_box_" + numBox; 
    387291 
    388                 for( var i=0; i < nw_array.length; i++){ 
     292                for( var i=0; i < data.length; i++){ 
    389293                        var tr = document.createElement("TR"); 
    390294                        tr.style.height = preferences.line_height; 
    391  
    392                         if (nw_array[i].match(/.*--.*--\w*--\d{2}\/\d{2}\/\d{4}--\d+? \w*b--.*--\d*$/g) != null) //subject with "--" 
    393                         { 
    394                                 var aux1 = nw_array[i].match(/\d{2}\/\d{2}\/\d{4}--\d+? \w*b--.*--\d*$/g); 
    395                                 aux1 = aux1[0].split("--"); 
    396                                 nw_array[i] = nw_array[i].substr(0, nw_array[i].indexOf(aux1[0])-2); 
    397                                 var aux = []; 
    398                                 aux[0] = nw_array[i].substr(0, nw_array[i].indexOf('--')); 
    399                                 nw_array[i] = nw_array[i].substr(nw_array[i].indexOf('--')+2); 
    400                                 aux[1] = nw_array[i].substr(0, nw_array[i].indexOf('--')); 
    401                                 aux[2] = nw_array[i].substr(nw_array[i].indexOf('--')+2); 
    402                                 aux = aux.concat(aux1); 
    403                         } 
    404                         else 
    405                         { 
    406                                 var aux = nw_array[i].split("--"); 
    407                         } 
    408  
    409                         var mailbox = aux[0]; 
    410                         var uid_msg = aux[6]; 
    411                         var subject = aux[2]; 
     295                        var aux = data[i];  
     296                        var mailbox = aux.boxname;  
     297                        var uid_msg = aux.uid;  
     298                        var subject = aux.subject;  
    412299                        tr.id = uid_msg+"_s"+global_search; 
    413300 
     
    416303                        tr.name = mailbox; 
    417304 
    418                         if (aux[5].match("U")) 
     305                        if (aux.flag.match("U")) 
    419306                                add_className(tr,'tr_msg_unread'); 
    420307                        add_className(tr, i%2 != 0 ? 'tr_msg_read2' : 'tr_msg_read'); 
     
    432319                                { 
    433320                                        td.style.width = "2%"; 
    434                                         if (aux[5].match('T')) 
     321                                        if (aux.flag.match('T')) 
    435322                                        { 
    436                                                 attachNum = parseInt(aux[5].substr(aux[5].indexOf('T')+1)); 
     323                                                attachNum = parseInt(aux.flag.substr(aux.flag.indexOf('T')+1)); 
    437324                                                td1 = "<img src='templates/"+template+"/images/clip.gif' title='"+attachNum +' '+ get_lang('attachment(s)')+"'>"; 
    438325                                        } 
     
    444331                                        td.style.width = "1%"; 
    445332                                        td.id = "td_message_answered_"+uid_msg; 
    446                                         if (aux[5].match('X')) 
     333                                        if (aux.flag.match('X')) 
    447334                                                td1 = '<img src=templates/'+template+'/images/forwarded.gif title=Forwarded>'; 
    448335                                        else 
    449                                                 if (aux[5].match('A')) 
     336                                                if (aux.flag.match('A')) 
    450337                                                        td1 = '<img src=templates/'+template+'/images/answered.gif>'; 
    451338                                                else 
     
    456343                                        td.style.width = "1%"; 
    457344                                        td.id = "td_message_important_"+uid_msg; 
    458                                         if (aux[5].match("F")) 
     345                                        if (aux.flag.match("F")) 
    459346                                        { 
    460347                                                add_className(tr, 'flagged_msg'); 
     
    474361                                        td.style.width = "14%"; 
    475362                                        td.onclick = _onclick; 
    476                                         var nm_box = aux[0].split(cyrus_delimiter); 
     363                                        var nm_box = aux.boxname.split(cyrus_delimiter); 
    477364                                        var td1 = nm_box.pop(); 
    478365                                        td.setAttribute("NoWrap","true"); 
     
    493380                                if( j == 6) 
    494381                                { 
    495                                         if (aux[1].length > 29) 
    496                                                 aux[1] = aux[1].substr(0,29) + "..."; 
     382                                        if (aux.from.length > 29) 
     383                                                aux.from = aux.from.substr(0,29) + "..."; 
    497384                                        td.style.width = "20%"; 
    498385                                        td.onclick = _onclick; 
    499386                                        td.setAttribute("NoWrap","true"); 
    500387                                        td.style.overflow = "hidden"; 
    501                                         var td1  =  '<div style="width:100%;overflow:hidden">'+aux[1]+"</div>"; 
     388                                        var td1  =  '<div style="width:100%;overflow:hidden">'+aux.from+"</div>"; 
    502389                                } 
    503390                                if( j == 7) 
     
    505392                                        var subject_encode = url_encode(subject); 
    506393                                        if (! subject_encode) 
    507                                                 aux[2] = get_lang("no subject") + "..."; 
    508                                         if (aux[2].length > 70) 
    509                                                 aux[2] = aux[2].substr(0,70) + "..."; 
     394                                                aux.subject = get_lang("no subject") + "..."; 
     395                                        if (aux.subject.length > 70) 
     396                                                aux.subject = aux.subject.substr(0,70) + "..."; 
    510397                                        td.style.width = "35%"; 
    511398                                        td.onclick = _onclick; 
    512399                                        td.setAttribute("NoWrap","true"); 
    513400                                        td.style.overflow = "hidden"; 
    514                                         var td1  = aux[2]; 
     401                                        var td1  = aux.subject; 
    515402 
    516403                                } 
     
    520407                                        td.align = "center"; 
    521408                                        td.onclick = _onclick; 
    522                                         var td1  = aux[3]; 
     409                                        var _dat = new Date(aux.udate*1000);  
     410                                        var td1 = _dat.getDate()+"/"+(_dat.getMonth()+1)+"/"+_dat.getFullYear();  
    523411                                } 
    524412                                if( j == 9) 
     
    527415                                        td.align = "center"; 
    528416                                        td.onclick = _onclick; 
    529                                         var td1  = aux[4]; 
     417                                        var td1  = borkb(aux.size); 
    530418                                } 
    531419                                if (j == 10) 
    532420                                { 
    533                                         if (aux[5].match("U")) 
     421                                        if (aux.flag.match("U")) 
    534422                                                add_className(tr, 'tr_msg_unread'); 
    535                                         if (aux[5].match("F")) 
     423                                        if (aux.flag.match("F")) 
    536424                                                add_className(tr, 'flagged_msg'); 
    537425                                        var td1 = ''; 
     
    550438 
    551439        var content_search =  Element('content_id_search_' + numBox); 
    552         // BEGIN MAKE THE SCROLL HEIGHT          
    553         var defaultWidth = document.body.offsetWidth - 31; 
    554         var menuHidden = Element("folderscol").style.display == 'none' ? true : false; 
    555         if(!menuHidden) 
    556                 defaultWidth -= Element("folderscol").offsetWidth;                       
    557         var bar = Element("toolbar"); 
    558         var offset = 0; 
    559         if(bar.style.visibility != 'hidden')  
    560                 offset = bar.offsetHeight ? bar.offsetHeight :  bar.clientHeight;                
    561440        var div_scroll_result = document.createElement("DIV"); 
    562441        div_scroll_result.id = "divScrollMain_"+numBox; 
    563         div_scroll_result.style.height = document.body.clientHeight - offset - 120; 
    564         content_search.style.height = document.body.clientHeight - offset - 80; 
    565442        div_scroll_result.style.overflow = "auto"; 
    566         div_scroll_result.style.width = defaultWidth - (is_ie ? 7 : 0); 
    567         // END MAKE THE SCROLL HEIGHT            
    568                  
    569443         
    570444                if(is_ie) 
     
    711585                        content_search.appendChild(div_scroll_result); 
    712586                } 
     587                resizeWindow();  
    713588        } 
    714589 
     
    923798                var handler = function(data){ 
    924799                        var tmp; 
    925                         var countTmp= new Array(); 
    926800 
    927801                        var dataTemp = data.split('=sumResults='); 
     
    934808                                if (tmp!=false) { 
    935809                                        var tmp2 = tmp.substr(2, data.length - 4); 
    936                                         countTmp = tmp.split('####'); 
    937                                 } 
    938                         } 
    939 //                      if((data == "none") && (countTmp.length==0)){alert(get_lang("None result was found."));} 
    940 //                      if (preferences.search_result_number == '65536' || (data != 'many results' && countTmp.length < preferences.search_result_number)) 
    941 //                        { 
    942 //                            EsearchE.mount_result((data=='none')?tmp:(countTmp.length==0)?data:data+tmp); 
    943 //                        } 
    944 //                        else if (data == 'many results' || countTmp.length >= preferences.search_result_number) 
    945 //                        { 
    946 //                            alert(get_lang("More than %1 results. Please, try to refine your search.",preferences.search_result_number)); 
    947 //                        } 
    948  
     810                                        }  
     811                                }  
     812                                if((data == "none") || (data.length==0)){alert(get_lang("None result was found."));}  
     813                                else if(data.length > 1000){alert(get_lang("More than %1 results. Please, try to refine your search.",1000));} 
     814                        else if(data == "many results"){alert(get_lang("More than %1 results. Please, try to refine your search.",50));}  
     815                        else{EsearchE.mount_result(data);} 
     816 
     817                        /* Lost code on merge 
    949818                        if ((sumResults == "none") && (countTmp.length==0)){ 
    950819                            alert(get_lang("None result was found.")); 
     
    953822                        { 
    954823                            EsearchE.mount_result((sumResults=='none')?tmp:(countTmp.length==0)?data:data+tmp); 
    955                         } 
     824                        }*/ 
    956825 
    957826                } 
Note: See TracChangeset for help on using the changeset viewer.