Changeset 6364


Ignore:
Timestamp:
05/31/12 15:41:13 (12 years ago)
Author:
marcieli
Message:

Ticket #2764 - Remover flag ao ler/marcar como lida/excluir/mover msg.

Location:
sandbox/2.4.1-1
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.4.1-1/expressoMail1_2/inc/class.imap_functions.inc.php

    r6355 r6364  
    53375337        /** 
    53385338        * Remove a flag que caracteriza uma mensagem como alertada por Filtro por Remetente. 
     5339        * se houver o parametro msg_number, então remove a flag de uma msg especifica 
     5340        * se não houver o parametro msg_number, mas sim o from, então remove a flag de todas as msgs da pasta (parametro from),  
     5341        * e que o remetente for o from. 
    53395342        */ 
    53405343        function removeFlagMessagesFilter($params){ 
     5344                $message_number = $params['msg_number']; 
    53415345                $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         } 
     5346 
     5347                if(isset($message_number)){ 
     5348                        if(isset($folder)){ 
     5349                                $message_number = explode(',', $message_number); 
     5350                                                ob_start(); 
     5351print_r(var_export($message_number)); 
     5352 
     5353$output = ob_get_clean(); 
     5354file_put_contents( "/tmp/marci.log", $output , FILE_APPEND); 
     5355                                $this->mbox = $this->open_mbox($folder); 
     5356                                foreach ($message_number as $k => $m) {                                          
     5357                                                imap_clearflag_full($this->mbox, $m, '$FilteredMessage', ST_UID); 
     5358                                        } 
     5359                        } 
     5360                } 
     5361                else{ 
     5362                        $from = $params['from']; 
     5363                                                                        ob_start(); 
     5364print_r(var_export($from)); 
     5365 
     5366$output = ob_get_clean(); 
     5367file_put_contents( "/tmp/marci.log", $output , FILE_APPEND); 
     5368                        if(isset($folder) && isset($from)){ 
     5369                                $this->mbox = $this->open_mbox($folder); 
     5370                                $messages = imap_search($this->mbox, 'UNDELETED UNSEEN KEYWORD "$FilteredMessage"', SE_UID); 
     5371                        } 
     5372                        if(is_array($messages)){ 
     5373                                foreach ($messages as $k => $m) { 
     5374                                        $headers = imap_fetch_overview($this->mbox, $m, FT_UID); 
     5375                                        if(strpos($headers[0]->from, $from) > 0){ 
     5376                                                imap_clearflag_full($this->mbox, $m, '$FilteredMessage', ST_UID); 
     5377                                        } 
     5378                                } 
     5379                        } 
     5380                } 
     5381        } 
     5382 
    53565383} 
    53575384?> 
  • sandbox/2.4.1-1/expressoMail1_2/js/draw_api.js

    r6245 r6364  
    19541954var msg_selected; 
    19551955function draw_message(info_msg, ID){ 
     1956        // remove a flag $FilteredMessage da mensagem ao ser lida 
     1957        if(info_msg.Unseen == "U"){ 
     1958                $.each(fromRules, function(index, value) { 
     1959                        if(value == info_msg.msg_folder){ 
     1960                                cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+info_msg.msg_folder+"&msg_number="+info_msg.msg_number, function(){});  
     1961                                return false; 
     1962                        } 
     1963                }); 
     1964        } 
    19561965        var content = document.getElementById('content_id_' + ID); 
    19571966 
  • sandbox/2.4.1-1/expressoMail1_2/js/main.js

    r6354 r6364  
    512512 
    513513function refresh(alert_new_msg){ 
     514        getFromAlertRules(); 
    514515        var handler_refresh = function(data){ 
    515516                if(checkAlarmsFilter){ 
     
    10911092                        Element('tot_m').innerHTML = n_total_msg; 
    10921093                } 
    1093                  
     1094                // remove a flag $FilteredMessage da mensagem ao ser movida 
     1095                $.each(fromRules, function(index, value) { 
     1096                        if(value == folder){ 
     1097                                cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+new_folder+"&msg_number="+msgs_number, function(){});  
     1098                                return false; 
     1099                        } 
     1100                }); 
    10941101                refresh(); 
    10951102        } 
     
    26762683                                                        set_msg_as_read(results_search_messages, false, true); 
    26772684                                                Element("check_box_message_" + msgs_to_set[i]).checked = false; 
     2685                                                 
     2686                                                        // remove a flag $FilteredMessage da mensagem ao ser marcada como lida   
     2687                $.each(fromRules, function(index, value) { 
     2688                        if(value == folder){ 
     2689                                cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_to_set, function(){});  
     2690                                return false; 
     2691                        } 
     2692                });      
     2693                                                 
    26782694                                                break; 
    26792695                                        case "flagged": 
     
    27002716        else 
    27012717                folder = Element("input_folder_"+msgs_to_set+"_r").value; 
    2702  
     2718         
    27032719        if (msgs_to_set) 
    27042720                cExecute ("$this.imap_functions.set_messages_flag&folder="+folder+"&msgs_to_set="+msgs_to_set+"&flag="+flag, handler_set_messages_flag); 
  • sandbox/2.4.1-1/expressoMail1_2/js/messages_controller.js

    r6088 r6364  
    4747                if (msgs_number == 'selected') 
    4848                        msgs_number = get_selected_messages(); 
     49                 
     50                // remove a flag $FilteredMessage da mensagem ao excluí-la 
     51                $.each(fromRules, function(index, value) { 
     52                        if(value == folder){ 
     53                                cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_number, function(){});      
     54                                return false; 
     55                        } 
     56                }); 
     57                 
    4958                if(currentTab != 0 && currentTab.indexOf("search_")  >= 0){ 
    5059                        var content_search = document.getElementById('content_id_'+currentTab); 
  • sandbox/2.4.1-1/prototype/modules/filters/filters.js

    r6355 r6364  
    376376                                        $.Zebra_Dialog(get_lang("Lock User") + " " + email + " " + get_lang("removed")); 
    377377                                        list_filters(); 
     378                                        getFromAlertRules(); 
    378379                                }); 
    379380                                return true; 
     
    394395                        $.Zebra_Dialog(get_lang("User") + " " + email + " " + get_lang("blocked")); 
    395396                        list_filters(); 
     397                        getFromAlertRules(); 
    396398                }); 
    397399                 
     
    600602                                                return; 
    601603                                        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']); 
     604                                                if(filters['alertMessage'] == "true"){ 
     605                                                        if(filters['alertMessage'] != $('.alertMessage').is(':checked').toString()){ 
     606                                                                /**RETIRA FLAG*/ 
     607                                                                removeMessagesFlag(filters['id']); 
     608                                                        } 
    606609                                                } 
    607                                         } 
    608610                                                DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     611                                                getFromAlertRules(); 
    609612                                        }); 
    610613                                }).end().filter('.button.search').click(function() {                             
     
    624627                                        DataLayer.commit( 'filter', false,function(){ 
    625628                                                DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     629                                                getFromAlertRules(); 
    626630                                        }); 
    627631                                }); 
     
    642646                DataLayer.commit("filter", false,function(){ 
    643647                        DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     648                        getFromAlertRules(); 
    644649                }); 
    645650        }).end() 
     
    655660                DataLayer.commit("filter", false,function(){ 
    656661                        DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     662                        getFromAlertRules(); 
    657663                }); 
    658664        }).end() 
     
    681687                                        DataLayer.commit("filter", false,function(){ 
    682688                                                DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     689                                                getFromAlertRules(); 
    683690                                        }); 
    684691                                }else{ 
     
    695702                DataLayer.commit("filter", false, function(){ 
    696703                        DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     704                        getFromAlertRules(); 
    697705                }); 
    698706        }); 
     
    706714                DataLayer.commit("filter", false, function(){ 
    707715                        DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     716                        getFromAlertRules(); 
    708717                }); 
    709718        }); 
     
    729738                                        DataLayer.commit("filter", false,function(){ 
    730739                                                DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     740                                                getFromAlertRules(); 
    731741                                        }); 
    732742                                }else{ 
     
    761771                                DataLayer.commit( 'filter',false,function(){ 
    762772                                        DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     773                                        getFromAlertRules(); 
    763774                                }); 
    764775                        }).end().filter('.button.search').click(function() {                             
     
    782793                                DataLayer.commit( 'filter',false,function(){ 
    783794                                        DataLayer.render( BASE_PATH + 'modules/filters/init.ejs', {},list_filters); 
     795                                        getFromAlertRules(); 
    784796                                }); 
    785797                        }); 
     
    804816        var folder = ''; 
    805817        var from = ''; 
     818 
    806819        for(var i=0; i < filters_c['actions'].length; i++){ 
    807820                if(filters_c['actions'][i].type == 'fileinto'){ 
     
    809822                } 
    810823        } 
    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(){});  
     824        $.each(fromRules, function(index, value) { 
     825                if(value == folder){ 
     826                        for(var i=0; i < filters_c['criteria'].length; i++){ 
     827                                if(filters_c['criteria'][i].field == 'from'){ 
     828                                        from = filters_c['criteria'][i].value; 
     829                                } 
     830                        } 
     831                        cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&from="+from, function(){});  
     832                        return false; 
     833                } 
     834        }); 
    817835} 
Note: See TracChangeset for help on using the changeset viewer.