Changeset 6355
- Timestamp:
- 05/30/12 16:43:39 (12 years ago)
- Location:
- sandbox/2.4.1-1
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/2.4.1-1/expressoMail1_2/inc/class.imap_functions.inc.php
r6350 r6355 5319 5319 } 5320 5320 5321 /** 5322 * Esta função é chamada ao clicar sobre uma mensagem listada nos alertas de Filtro por Remetente 5323 * remove a flag e chama a função que recupera os dados da mensagem, para serem utilizados na abertura da aba de leitura da msg 5324 */ 5321 5325 function open_flagged_msg($params){ 5322 5326 $message_number = $params['msg_number']; … … 5330 5334 return $r; 5331 5335 } 5336 5337 /** 5338 * Remove a flag que caracteriza uma mensagem como alertada por Filtro por Remetente. 5339 */ 5340 function removeFlagMessagesFilter($params){ 5341 $folder = $params['folder']; 5342 $from = $params['from']; 5343 if(isset($folder) && isset($from)){ 5344 $this->mbox = $this->open_mbox($folder); 5345 $messages = imap_search($this->mbox, 'UNDELETED UNSEEN KEYWORD "$FilteredMessage"', SE_UID); 5346 } 5347 if(is_array($messages)){ 5348 foreach ($messages as $k => $m) { 5349 $headers = imap_fetch_overview($this->mbox, $m, FT_UID); 5350 if(strpos($headers[0]->from, $from) > 0){ 5351 imap_clearflag_full($this->mbox, $m, '$FilteredMessage', ST_UID); 5352 } 5353 } 5354 } 5355 } 5332 5356 } 5333 5357 ?> -
sandbox/2.4.1-1/prototype/modules/filters/filters.js
r6326 r6355 6 6 fromRules = []; 7 7 var alertMessage; 8 var active; 8 9 for (var index in filters) { 9 10 alertMessage = filters[index]['alertMessage']; 11 active = filters[index]['enabled']; 10 12 for(var criterias in filters[index]['actions']) { 11 if (filters[index]['actions'][criterias]['type'] == 'fileinto' && alertMessage == 'true' )13 if (filters[index]['actions'][criterias]['type'] == 'fileinto' && alertMessage == 'true' && active == 'true') 12 14 fromRules[fromRules.length] = filters[index]['actions'][criterias]['parameter']; 13 15 } … … 597 599 else 598 600 return; 599 DataLayer.commit( 'filter', false,function(){ 601 DataLayer.commit( 'filter', false,function(data){ 602 if(filters['alertMessage'] == "true"){ 603 if(filters['alertMessage'] != $('.alertMessage').is(':checked').toString()){ 604 /**RETIRA FLAG*/ 605 removeMessagesFlag(filters['id']); 606 } 607 } 600 608 DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 601 609 }); … … 630 638 var id = $(this).parents("li.rule").find('.id').val(); 631 639 DataLayer.put( 'filter', id, { enabled: false }); 640 /**RETIRA FLAG*/ 641 removeMessagesFlag(id); 632 642 DataLayer.commit("filter", false,function(){ 633 643 DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); … … 665 675 DataLayer.remove('filter', false); 666 676 DataLayer.get('filter'); 677 /**RETIRA FLAG*/ 678 removeMessagesFlag(filter_name); 667 679 DataLayer.remove( 'filter', filter_name); 680 668 681 DataLayer.commit("filter", false,function(){ 669 682 DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); … … 688 701 container.find('.rule-list').find('.rule').find('.select').find(':checked').parents('.rule').find('.title').each(function(i,o){ 689 702 DataLayer.put( 'filter', o.innerHTML, { enabled: false }); 703 /**RETIRA FLAG*/ 704 removeMessagesFlag(o.innerHTML); 690 705 }); 691 706 DataLayer.commit("filter", false, function(){ … … 707 722 DataLayer.get('filter'); 708 723 container.find('.rule-list').find('.rule').find('.select').find(':checked').parents('.rule').find('.title').each(function(i,o){ 724 /**RETIRA FLAG*/ 725 removeMessagesFlag(o.innerHTML); 709 726 DataLayer.remove( 'filter', o.innerHTML ); 727 710 728 }); 711 729 DataLayer.commit("filter", false,function(){ … … 777 795 list_filters(html); 778 796 } 797 798 /* 799 * Ao excluir filtro, desabilitar filtro ou retirar a ação Alerta de um filtro 800 * esta função é chamada para retirar as flags que caracterizam uma mensagem como alertada pelos Filtros por Remetente 801 */ 802 function removeMessagesFlag(id){ 803 var filters_c = DataLayer.get('filter', id); 804 var folder = ''; 805 var from = ''; 806 for(var i=0; i < filters_c['actions'].length; i++){ 807 if(filters_c['actions'][i].type == 'fileinto'){ 808 folder = filters_c['actions'][i].parameter; 809 } 810 } 811 for(var i=0; i < filters_c['criteria'].length; i++){ 812 if(filters_c['criteria'][i].field == 'from'){ 813 from = filters_c['criteria'][i].value; 814 } 815 } 816 cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&from="+from, function(){}); 817 }
Note: See TracChangeset
for help on using the changeset viewer.