- Timestamp:
- 03/04/13 12:06:01 (11 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/inc/class.imap_functions.inc.php
r7915 r7948 5217 5217 function searchSieveRule( $params ) 5218 5218 { 5219 5220 $imap = $this->open_mbox( 'INBOX' ); 5219 $imap = $this->open_mbox( $params['folder']['criteria'] ? $params['folder']['criteria'] : 'INBOX' ); 5221 5220 $msgs = imap_sort( $imap , SORTDATE , 0 , SE_UID); 5222 5221 5223 5222 $rr = array(); 5224 5223 … … 5292 5291 if(isset($params['body'])) 5293 5292 { 5294 $this->mbox = $this->open_mbox( 'INBOX' );5295 $b = $this->get_body_msg( $v , 'INBOX' );5293 $this->mbox = $this->open_mbox( $params['folder']['criteria'] ? $params['folder']['criteria'] : 'INBOX' ); 5294 $b = $this->get_body_msg( $v , $params['folder']['criteria'] ? $params['folder']['criteria'] : 'INBOX' ); 5296 5295 5297 5296 if( $this->filterCheck( $b['body'] , $params['body']['criteria'] , $params['body']['filter'] )) -
trunk/expressoMail1_2/js/mail_archiver.js
r7907 r7948 2141 2141 var filters = eval('(' + expresso_mail_archive.queryconfig.pharseSearchFields(fields) + ')'); 2142 2142 2143 2144 2143 2145 if(folderlist.indexOf("#") != -1) 2144 2146 filters.folder = folderlist.substr(0, folderlist.indexOf("#")); … … 2151 2153 2152 2154 expresso_mail_archive.querydata = expresso_mail_archive.search_queryconfig.query(filters); 2153 2155 2156 2157 2154 2158 //var query_data = '<?xml version="1.0" encoding="UTF-8"?><query subject="teste"><folder id="inbox"/><order asc="date"/></query>'; 2155 2159 ArchiveServices.listMessages(expresso_mail_archive.searchOperationOK, expresso_mail_archive.searchOperationFailure, expresso_mail_archive.session.id, expresso_mail_archive.querydata); … … 2185 2189 2186 2190 //expresso_mail_archive.queryresult = msglist; 2187 expresso_mail_archive.search_queryresult = msglist; 2191 expresso_mail_archive.search_queryresult = msglist; 2188 2192 //expresso_mail_archive.messageslisted = msglist2; 2189 2193 expresso_mail_archive.search_message_list = msglist2; … … 2319 2323 var ExpSerialized2 = expresso_mail_archive.pattern.toExpressoHeader(serviceReturn.getReturn()); 2320 2324 var msgitem2 = connector.unserialize(ExpSerialized2); 2325 if(!expresso_mail_archive.messageslisted){ 2326 expresso_mail_archive.messageslisted = []; 2327 } 2321 2328 expresso_mail_archive.messageslisted.push(msgitem2); 2322 2329 expresso_mail_archive.getMessageHeaders(serviceReturn.getReturn().getId()); -
trunk/expressoMail1_2/setup/phpgw_pt-br.lang
r7907 r7948 975 975 Sending the message... expressoMail1_2 pt-br Enviando a mensagem... 976 976 Please, Wait the messages from archieve be ready. expressoMail1_2 pt-br Por favor, Aguarde as mensagens arquivadas ficarem prontas. 977 take on this option to regard the message body in the search. expressoMail1_2 pt-br Considerar o corpo da mensagem como filtro na busca 978 take off this option to disregard the message body in the search. expressoMail1_2 pt-br Desconsiderar o corpo da mensagem como filtro na busca -
trunk/prototype/modules/attach_message/attach_message.js
r7908 r7948 297 297 } 298 298 299 function archive_flag_search( flagObj ){ 300 var flags = {}; 301 var returns = ''; 302 303 flagObj = flagObj.split(""); 304 $.each( flagObj , function(i, flag){ 305 flags[ flag ] = true; 306 }); 307 308 returns += (flags['U'] ? '1,' : '0,') ; 309 returns += (flags['A'] && !flags['X'] ? '1,' : '0,') ; 310 returns += (flags['X'] ? '1,' : '0,') ; 311 returns += (flags['F'] ? '1,' : '0,') ; 312 returns += '0,0'; 313 314 return returns; 315 } 316 317 299 318 $mailpreview_tabs_label_length = 15; 300 319 … … 404 423 var message = {}; 405 424 425 406 426 message['msg_number'] = id; 407 427 message['flags'] = archive_flag( flag ); … … 428 448 .jqGrid('setCaption', '<span class="'+child.attr('class')+'">'+child.attr('title')+'</span>'); 429 449 } 430 431 432 450 }) 433 451 .find('span:first-child'); … … 458 476 ], 459 477 jsonReader : { 460 root:"rows", 478 root: function(obj){ 479 obj['data'] = {}; 480 obj.data = {rows : obj.rows}; 481 if(obj.rows){ 482 if(!obj.rows[0].flag){ 483 var msgs = []; 484 $.each(obj.rows, function(i, msg){ 485 flag = msg['flags']; 486 id = msg['msg_number']; 487 var message = {}; 488 489 message['msg_number'] = id; 490 message['flags'] = flag; 491 message['to'] = { 492 name: msg['toaddress2'], 493 email: msg['toaddress2'] 494 }; 495 496 if(msg['from'] != undefined && msg['header']['from'] != undefined){ 497 message['from'] = { 498 'email' : msg['from']['email'], 499 'name' : msg['header']['from']['name'] 500 } 501 }else{ 502 message['from'] = { 503 'email' : '', 504 'name' : 'Rascunho' 505 } 506 } 507 //message['from']['name'] = msg['from']['name']; 508 message['subject'] = msg['subject'] ? msg['subject'] : "(sem assunto)"; 509 message['timestamp'] = parseInt(msg['timestamp']); 510 message['size'] = msg['size']; 511 message['id'] = id; 512 msgs.push( message ); 513 }); 514 obj['data'] = {}; 515 obj.data = {rows : msgs}; 516 } 517 } 518 return obj.data.rows; 519 }, 461 520 page: "page", 462 521 total: "total", … … 465 524 id: "0" 466 525 }, 526 hidegrid:false, 467 527 rowNum:10, 468 528 rowList:[10,25,50], … … 473 533 multiselect: true, 474 534 autowidth: true, 475 loadComplete: function(data) { 535 loadComplete: function(data) { 476 536 lastLoadedMessages = data.rows; 477 537 $("#mailgrid-container").find(".loading").hide(); 538 //$(".attach-message-search-input").val(""); 478 539 // aplica o contador 479 540 jQuery('.timable').each(function (i) { … … 512 573 if (selected) { 513 574 if(selectedFolder['id'].indexOf("local_messages_") != -1){ 514 515 575 expresso_mail_archive.getPreviewToAttach(id); 516 576 517 577 var body = expresso_mail_archive.bodyPreview; 518 578 var subject = expresso_mail_archive.subjectPreview; 579 580 519 581 tabPanelTemplateLabel = subject.substring(0, $mailpreview_tabs_label_length) + '...'; 520 582 … … 648 710 }); 649 711 //.jqGrid('navGrid','#message_attacher_grid_pager',{edit:false,add:false,del:false}); 712 713 var search_local_messsages = function(param, folder){ 714 if(preferences.use_local_messages != 0) 715 { 716 folder = folder.split("_")[2]; 717 folder = "messages_"+folder; 718 719 var local_folders = []; 720 expresso_mail_archive.search_queryresult = null; 721 722 local_folders.push(folder); 723 724 tmp = []; 725 726 groupResult = []; 727 expresso_mail_archive.search(local_folders, "SUBJECT " + "<=>" +url_encode(param) + "##"); 728 groupResult.push( expresso_mail_archive.search_queryresult ); 729 expresso_mail_archive.search(local_folders, "FROM " + "<=>" + url_encode(param) + "##"); 730 groupResult.push( expresso_mail_archive.search_queryresult ); 731 expresso_mail_archive.search(local_folders, "TO " + "<=>" + url_encode(param) + "##"); 732 groupResult.push( expresso_mail_archive.search_queryresult ); 733 expresso_mail_archive.search(local_folders, "CC " + "<=>" + url_encode(param) + "##"); 734 groupResult.push( expresso_mail_archive.search_queryresult ); 735 736 if($("#gbox_message_attacher_grid .attach-message-search-checkbox").is(":checked")){ 737 expresso_mail_archive.search(local_folders, "BODY " + "<=>" + url_encode(param) + "##"); 738 groupResult.push( expresso_mail_archive.search_queryresult ); 739 } 740 741 742 $.each(groupResult, function(i, result){ 743 if(result != null){ 744 745 var existsMessage = true; 746 747 $.each(result, function(i, each){ 748 749 $.each(tmp, function(i, ids){ 750 751 if(each.msg_number == ids.msg_number){ 752 753 existsMessage = false; 754 return false; 755 756 } 757 758 }); 759 760 if(existsMessage) tmp.push(each); 761 }); 762 763 } 764 }); 765 766 767 if(tmp == null) 768 { 769 tmp = new Object(); 770 tmp.length = 0; 771 } 772 773 msgs = []; 774 775 $.each(tmp, function(i, msg){ 776 777 flag = msg['flag']; 778 id = msg['msg_number']; 779 780 var message = {}; 781 782 var stamp = msg['timestamp']; 783 stamp = stamp.toString() + "000"; 784 stamp = parseInt(stamp); 785 786 message['msg_number'] = id; 787 message['flags'] = archive_flag_search(flag);//"1,1,1,1,1,1";// 788 message['from.name'] = msg['from']; 789 message['subject'] = msg['subject']; 790 message['timestamp'] = stamp; 791 message['size'] = msg['size']; 792 message['id'] = id; 793 msgs.push( message ); 794 }); 795 return msgs; 796 } 797 } 798 var search_imap_messages = function(param, folder){ 799 var grid = $("#message_attacher_grid"); 800 801 DataLayer.storage.cache = {}; 802 if( $(".attach-message-search-checkbox:checked").length > 0 ){ 803 var filters = [ 804 [ 805 'from', 806 '*', 807 param 808 ], 809 [ 810 'OR', 811 'to', 812 '*', 813 param 814 ], 815 [ 816 'OR', 817 'subject', 818 '*', 819 param 820 ], 821 [ 822 'OR', 823 'folder', 824 '*', 825 folder 826 ], 827 [ 828 'OR', 829 'body', 830 '*', 831 param 832 ] 833 ]; 834 }else{ 835 var filters = [ 836 [ 837 'from', 838 '*', 839 param 840 ], 841 [ 842 'OR', 843 'to', 844 '*', 845 param 846 ], 847 [ 848 'OR', 849 'subject', 850 '*', 851 param 852 ], 853 [ 854 'OR', 855 'folder', 856 '*', 857 folder 858 ] 859 ]; 860 } 861 862 var data = DataLayer.get( 'message', { filter: filters, criteria: { properties: { context: { folder: folder } } } }, true ); 863 864 if(DataLayer.criterias['message:jqGridSearch']){ 865 delete DataLayer.criterias['message:jqGridSearch']; 866 } 867 868 DataLayer.register( 'criterias', 'message:jqGridSearch', function( crit ){ 869 crit.properties = { context: { folder: folder } }; 870 871 return { filter: [ "msgNumber", "IN", data ], criteria: crit }; 872 }); 873 if(typeof(data) == 'object'){ 874 grid.jqGrid("clearGridData", true); 875 grid.jqGrid('setGridParam',{datatype: "json", url: 'message:jqGridSearch'}).trigger("reloadGrid"); 876 877 }else{ 878 $("#mailgrid-container").find(".loading").hide(); 879 grid.jqGrid("clearGridData", true); 880 } 881 } 882 883 var search_messages = function(param){ 884 var grid = $("#message_attacher_grid"); 885 var folder = $("#foldertree li span.selected").parent().attr("id"); 886 887 if(param == ""){ 888 $('#foldertree [id="'+folder+'"]').trigger("click"); 889 return; 890 } 891 $(".attach-message-search-input").val(""); 892 if(folder.indexOf("local_messages_") == 0){ 893 // Pesquisa pelas mensagens locais... 894 msgs = search_local_messsages(param, folder); 895 } else { 896 // Pesquisa pelo Imap... 897 return search_imap_messages(param, folder); 898 } 899 900 // Monta as mensagens na grid... 901 grid.jqGrid("clearGridData", true); 902 grid.jqGrid('setGridParam',{datatype: "local",data: msgs}) 903 .trigger("reloadGrid"); 904 //.jqGrid('setCaption', '<span class="'+child.attr('class')+'">'+child.attr('title')+'</span>'); 905 } 906 650 907 var title = [get_lang("First page"), get_lang("Prev page"), get_lang("Next page"), get_lang("Last page")]; 651 908 $("#first_message_attacher_grid_pager").attr("title",title[0]); … … 653 910 $("#next_message_attacher_grid_pager").attr("title",title[2]); 654 911 $("#last_message_attacher_grid_pager").attr("title",title[3]); 912 $("#mailgrid-container .ui-jqgrid-titlebar") 913 .append( DataLayer.render("../prototype/modules/attach_message/attachment_search.ejs") ).find(".ui-jqgrid-titlebar-close").hide() 914 .end().find(".attach-message-search-input").Watermark("Pesquisa...").keydown(function(e){ 915 var param = $(this).val(); 916 if($.ui.keyCode.ENTER == e.keyCode){ 917 $("#mailgrid-container").find(".loading").show("fast", function(){ 918 search_messages(param); 919 }); 920 } 921 922 }).end().find(".attach-message-search-checkbox").click(function(){ 923 var msg; 924 if($(this).is(":checked")){ 925 msg = get_lang("take off this option to disregard the message body in the search."); 926 } else { 927 msg = get_lang("take on this option to regard the message body in the search."); 928 } 929 $(".attach-message-search-div .button-body-msg-title").attr("title",msg); 930 }); 931 932 $("#attach-message-search").button({ 933 text: false, 934 icons: { 935 primary: "ui-icon-search" 936 } 937 }).next().button({ 938 text: false, 939 icons: { 940 primary: "ui-icon-script" 941 } 942 }); 943 $("#attach-message-search").parent().buttonset(); 944 945 $("#attach-message-search").click(function(){ 946 var param = $(this).parents(".attach-message-search-div:first").find(".attach-message-search-input").val(); 947 $("#mailgrid-container").find(".loading").show("fast", function(){ 948 search_messages(param); 949 }); 950 }); 655 951 } 656 952 }); -
trunk/prototype/modules/filters/filters.js
r7903 r7948 461 461 462 462 DataLayer.codec( 'message', 'jqGrid', { 463 464 encoder: function( data ){ 465 466 return( data ); 467 468 } 469 }); 470 471 DataLayer.codec( 'message', 'jqGridSearch', { 463 472 464 473 encoder: function( data ){ -
trunk/prototype/modules/mail/templates/detailedfoldertree.ejs
r7887 r7948 56 56 <% if(expresso_mail_archive.enabled && data.folders[2].length > 0) { /*MailArchive ativado*/ %> 57 57 <li> 58 <span class="folder local-folder head_folder" style="display: inline;">Pastas locais</span>58 <span class="folder local-folder head_folder" >Pastas locais</span> 59 59 <% recursive_forest(data.folders[2]); %> 60 60 </li> -
trunk/prototype/services/ImapServiceAdapter.php
r7856 r7948 178 178 $criteria[ $filter[$i][0] ] = array( 'criteria' => $filter[$i][2], 'filter' => $filter[$i][1] ); 179 179 } 180 181 180 return $this->searchSieveRule($criteria); 182 181 }
Note: See TracChangeset
for help on using the changeset viewer.