Changeset 3018 for branches/2.2/expressoMail1_2/js/search.js
- Timestamp:
- 07/08/10 17:52:20 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2/expressoMail1_2/js/search.js
r1969 r3018 203 203 ttree.make_tree(folders,"div_folders_search","_folders_tree_search","","","",""); 204 204 } 205 206 //This func returns the most recent date207 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 else236 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 else255 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 else276 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 else292 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 else301 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 }309 205 310 206 // Form resultado 311 207 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; 315 210 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 316 224 switch (sort_type) 317 225 { 318 226 case 'SORTDATE': 319 var_tmp.sort(date_comp);227 data.sort(date_comp); 320 228 break; 321 229 case 'SORTDATE_REVERSE': 322 var_tmp.sort(date_comp_reverse);230 data.sort(date_comp_reverse); 323 231 break; 324 232 case 'SORTBOX': 325 var_tmp.sort(box_comp);233 data.sort(box_comp); 326 234 break; 327 235 case 'SORTBOX_REVERSE': 328 var_tmp.sort(box_comp_reverse);236 data.sort(box_comp_reverse); 329 237 break; 330 238 case 'SORTSUBJECT': 331 var_tmp.sort(subject_comp);239 data.sort(subject_comp); 332 240 break; 333 241 case 'SORTSUBJECT_REVERSE': 334 var_tmp.sort(subject_comp_reverse);242 data.sort(subject_comp_reverse); 335 243 break; 336 244 case 'SORTWHO': 337 var_tmp.sort(who_comp);245 data.sort(who_comp); 338 246 break; 339 247 case 'SORTWHO_REVERSE': 340 var_tmp.sort(who_comp_reverse);248 data.sort(who_comp_reverse); 341 249 break; 342 250 case 'SORTSIZE': 343 var_tmp.sort(size_comp);251 data.sort(size_comp); 344 252 break; 345 253 case 'SORTSIZE_REVERSE': 346 var_tmp.sort(size_comp_reverse);254 data.sort(size_comp_reverse); 347 255 break; 348 256 default: … … 350 258 } 351 259 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) ){ 361 264 nw_array.length = preferences.search_result_number; 362 265 write_msg(get_lang("More than %1 results. Please, try to refine your search.",preferences.search_result_number)); … … 365 268 write_msg(nw_array.length + " "+ get_lang('results found')); 366 269 } 270 */ 367 271 368 272 numBox++; … … 386 290 tbody.id = "tbody_box_" + numBox; 387 291 388 for( var i=0; i < nw_array.length; i++){292 for( var i=0; i < data.length; i++){ 389 293 var tr = document.createElement("TR"); 390 294 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; 412 299 tr.id = uid_msg+"_s"+global_search; 413 300 … … 416 303 tr.name = mailbox; 417 304 418 if (aux [5].match("U"))305 if (aux.flag.match("U")) 419 306 add_className(tr,'tr_msg_unread'); 420 307 add_className(tr, i%2 != 0 ? 'tr_msg_read2' : 'tr_msg_read'); … … 432 319 { 433 320 td.style.width = "2%"; 434 if (aux [5].match('T'))321 if (aux.flag.match('T')) 435 322 { 436 attachNum = parseInt(aux [5].substr(aux[5].indexOf('T')+1));323 attachNum = parseInt(aux.flag.substr(aux.flag.indexOf('T')+1)); 437 324 td1 = "<img src='templates/"+template+"/images/clip.gif' title='"+attachNum +' '+ get_lang('attachment(s)')+"'>"; 438 325 } … … 444 331 td.style.width = "1%"; 445 332 td.id = "td_message_answered_"+uid_msg; 446 if (aux [5].match('X'))333 if (aux.flag.match('X')) 447 334 td1 = '<img src=templates/'+template+'/images/forwarded.gif title=Forwarded>'; 448 335 else 449 if (aux [5].match('A'))336 if (aux.flag.match('A')) 450 337 td1 = '<img src=templates/'+template+'/images/answered.gif>'; 451 338 else … … 456 343 td.style.width = "1%"; 457 344 td.id = "td_message_important_"+uid_msg; 458 if (aux [5].match("F"))345 if (aux.flag.match("F")) 459 346 { 460 347 add_className(tr, 'flagged_msg'); … … 474 361 td.style.width = "14%"; 475 362 td.onclick = _onclick; 476 var nm_box = aux [0].split(cyrus_delimiter);363 var nm_box = aux.boxname.split(cyrus_delimiter); 477 364 var td1 = nm_box.pop(); 478 365 td.setAttribute("NoWrap","true"); … … 493 380 if( j == 6) 494 381 { 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) + "..."; 497 384 td.style.width = "20%"; 498 385 td.onclick = _onclick; 499 386 td.setAttribute("NoWrap","true"); 500 387 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>"; 502 389 } 503 390 if( j == 7) … … 505 392 var subject_encode = url_encode(subject); 506 393 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) + "..."; 510 397 td.style.width = "35%"; 511 398 td.onclick = _onclick; 512 399 td.setAttribute("NoWrap","true"); 513 400 td.style.overflow = "hidden"; 514 var td1 = aux [2];401 var td1 = aux.subject; 515 402 516 403 } … … 520 407 td.align = "center"; 521 408 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(); 523 411 } 524 412 if( j == 9) … … 527 415 td.align = "center"; 528 416 td.onclick = _onclick; 529 var td1 = aux[4];417 var td1 = borkb(aux.size); 530 418 } 531 419 if (j == 10) 532 420 { 533 if (aux [5].match("U"))421 if (aux.flag.match("U")) 534 422 add_className(tr, 'tr_msg_unread'); 535 if (aux [5].match("F"))423 if (aux.flag.match("F")) 536 424 add_className(tr, 'flagged_msg'); 537 425 var td1 = ''; … … 550 438 551 439 var content_search = Element('content_id_search_' + numBox); 552 // BEGIN MAKE THE SCROLL HEIGHT553 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;561 440 var div_scroll_result = document.createElement("DIV"); 562 441 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;565 442 div_scroll_result.style.overflow = "auto"; 566 div_scroll_result.style.width = defaultWidth - (is_ie ? 7 : 0);567 // END MAKE THE SCROLL HEIGHT568 569 443 570 444 if(is_ie) … … 711 585 content_search.appendChild(div_scroll_result); 712 586 } 587 resizeWindow(); 713 588 } 714 589 … … 923 798 var handler = function(data){ 924 799 var tmp; 925 var countTmp= new Array();926 800 927 801 var dataTemp = data.split('=sumResults='); … … 934 808 if (tmp!=false) { 935 809 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 949 818 if ((sumResults == "none") && (countTmp.length==0)){ 950 819 alert(get_lang("None result was found.")); … … 953 822 { 954 823 EsearchE.mount_result((sumResults=='none')?tmp:(countTmp.length==0)?data:data+tmp); 955 } 824 }*/ 956 825 957 826 }
Note: See TracChangeset
for help on using the changeset viewer.