Changeset 6487 for trunk/expressoMail1_2


Ignore:
Timestamp:
06/14/12 09:02:04 (12 years ago)
Author:
marcieli
Message:

Ticket #2764 - Após o merge e correção de bugs, commit da melhoria no trunk

Location:
trunk/expressoMail1_2
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/inc/class.imap_functions.inc.php

    r6483 r6487  
    10951095        function get_info_msg($params) 
    10961096        { 
    1097          
    10981097                if(isset($params['alarm'])){ 
    10991098                        $alarm = $params['alarm']; 
     
    53325331        
    53335332   } 
     5333         
     5334         
     5335        /** 
     5336        * Método que retorna as mensagens com a flag $FilteredMessage que representa as mensagens filtradas que devem ser alertadas para o usuário 
     5337        * 
     5338        * @license    http://www.gnu.org/copyleft/gpl.html GPL 
     5339        * @author     Consórcio Expresso Livre - 4Linux (www.4linux.com.br) e Prognus Software Livre (www.prognus.com.br) 
     5340        * @sponsor    Caixa Econômica Federal 
     5341        * @author     Airton Bordin Junior <airton@prognus.com.br> 
     5342        * @author         Marcieli <marcieli@prognus.com.br>     
     5343        * @author         Marcos <marcosw@prognus.com.br>        
     5344        * @param      <Array> <$paramFolders> <Pastas onde devem ser buscadas as mensagens> 
     5345        * @return     <Mensagens encontradas com a flag $FilteredMessage> 
     5346        * @access     <public> 
     5347        */ 
     5348        function getFlaggedAlertMessages($paramFolders) { 
     5349                 
     5350                $folders = explode(",", $paramFolders['folders']); 
     5351         
     5352                $messages = array(); 
     5353                $result   = array(); 
     5354                $label    = '$FilteredMessage'; 
     5355                 
     5356                foreach ($folders as $folder) { 
     5357                        $this->mbox = $this->open_mbox($folder); 
     5358                        /* Não deletadas, não lidas e com a flag */ 
     5359                        $messages = imap_search($this->mbox, 'UNDELETED UNSEEN KEYWORD "$FilteredMessage"', SE_UID); 
     5360                        if(is_array($messages)) 
     5361                                foreach ($messages as $k => $m) { 
     5362                                        $headers = imap_fetch_overview($this->mbox, $m, FT_UID); 
     5363                                        $date = explode(" ", $headers[0]->date);  
     5364                                        $result[$m."_".$folder] = array ( 
     5365                                                'udate'      => $headers[0]->udate, 
     5366                                                'smalldate'  => $date[4], 
     5367                                                'from'       => $headers[0]->from, 
     5368                                                'subject'    => self::decodeMimeString($headers[0]->subject), 
     5369                                                'msg_number' => $m, 
     5370                                                'msg_folder' => $folder 
     5371                                        ); 
     5372                                } 
     5373                } 
     5374                $result_final = array(); 
     5375                foreach ($result as $r){ 
     5376                        $result_final[] = $r; 
     5377                } 
     5378 
     5379                return $result_final; 
     5380        } 
     5381         
     5382        /** 
     5383        * Esta função é chamada ao clicar sobre uma mensagem listada nos alertas de Filtro por Remetente 
     5384        * 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 
     5385        */ 
     5386        function open_flagged_msg($params){ 
     5387                $message_number = $params['msg_number']; 
     5388                $message_folder = $params['msg_folder']; 
     5389                $alarm = $params['alarm']; 
     5390                if ($message_folder && $message_number) { 
     5391                        $this->mbox = $this->open_mbox($message_folder); 
     5392                        imap_clearflag_full($this->mbox, $message_number, '$FilteredMessage', ST_UID); 
     5393                } 
     5394                $r = $this->get_info_msg(array('msg_number' => $message_number, 'msg_folder' =>urlencode($message_folder), 'alarm' => ($alarm))); 
     5395                return $r; 
     5396        } 
     5397         
     5398        /** 
     5399        * Remove a flag que caracteriza uma mensagem como alertada por Filtro por Remetente. 
     5400        * se houver o parametro msg_number, então remove a flag de uma msg especifica 
     5401        * 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),  
     5402        * e que o remetente for o from. 
     5403        */ 
     5404        function removeFlagMessagesFilter($params){ 
     5405                $message_number = $params['msg_number']; 
     5406                $folder = $params['folder']; 
     5407 
     5408                if(isset($message_number)){ 
     5409                        if(isset($folder)){ 
     5410                                $message_number = explode(',', $message_number); 
     5411                                $this->mbox = $this->open_mbox($folder); 
     5412                                foreach ($message_number as $k => $m) {                  
     5413                                                imap_clearflag_full($this->mbox, $m, '$FilteredMessage', ST_UID); 
     5414                                        } 
     5415                        } 
     5416                } 
     5417                else{ 
     5418                        $from = $params['from']; 
     5419                        if(isset($folder) && isset($from)){ 
     5420                                $this->mbox = $this->open_mbox($folder); 
     5421                                $messages = imap_search($this->mbox, 'UNDELETED UNSEEN KEYWORD "$FilteredMessage"', SE_UID); 
     5422                        } 
     5423                        if(is_array($messages)){ 
     5424                                foreach ($messages as $k => $m) { 
     5425                                        $headers = imap_fetch_overview($this->mbox, $m, FT_UID); 
     5426                                        if(strpos($headers[0]->from, $from) > 0){ 
     5427                                                imap_clearflag_full($this->mbox, $m, '$FilteredMessage', ST_UID); 
     5428                                        } 
     5429                                } 
     5430                        } 
     5431                } 
     5432                 
     5433                return array('status' => "success");  
     5434        } 
     5435 
    53345436} 
    53355437?> 
  • trunk/expressoMail1_2/index.php

    r6237 r6487  
    7272                <script type="text/javascript" src="../prototype/modules/calendar/js/calendar.codecs.js"></script> 
    7373                 
     74                <link rel="stylesheet" type="text/css" href="../prototype/plugins/freeow/style/freeow/freeow.css" > 
     75                <script type="text/javascript" src="../prototype/plugins/freeow/jquery.freeow.min.js"></script> 
     76                <script type="text/javascript" src="../prototype/plugins/freeow/jquery.freeow.js"></script> 
    7477 
    7578                <script src="js/rich_text_editor.js" type="text/javascript"></script> 
  • trunk/expressoMail1_2/js/draw_api.js

    r6469 r6487  
    19801980var msg_selected; 
    19811981function draw_message(info_msg, ID){ 
     1982        // remove a flag $FilteredMessage da mensagem ao ser lida 
     1983        if(info_msg.Unseen == "U"){ 
     1984                $.each(fromRules, function(index, value) { 
     1985                        if(value == info_msg.msg_folder){ 
     1986                                cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+info_msg.msg_folder+"&msg_number="+info_msg.msg_number, function(){});  
     1987                                return false; 
     1988                        } 
     1989                }); 
     1990        } 
    19821991        var content = document.getElementById('content_id_' + ID); 
    19831992 
  • trunk/expressoMail1_2/js/main.js

    r6469 r6487  
    66var results_search_messages = "";  
    77var cabecalho = '<h4>ExpressoLivre - ExpressoMail</h4>';  
     8// Variavel para controle de atualização das mensagens listadas na modal de alerta de filtro por remetente 
     9var checkAlarmsFilter = false; 
    810 
    911//Os IE's < 9 não possui suporte a trim() introduzida no JavaScript 1.8.1 
     
    158160                mobile_device = ( ( data.constructor == Boolean ) ? data : ( data === 'true' ) ); 
    159161        }); 
     162 
    160163        setTimeout('auto_refresh()', time_refresh); 
    161164         
     
    507510 
    508511function refresh(alert_new_msg){ 
     512        getFromAlertRules(); 
    509513        var handler_refresh = function(data){ 
     514                if(checkAlarmsFilter){ 
     515                        handlerMessageFilter = function (data) { 
     516                                alarmFollowupflagged('filtersAlarms', data); 
     517                        } 
     518                        /* Busca  nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */ 
     519                        cExecute ("$this.imap_functions.getFlaggedAlertMessages&folders="+fromRules, handlerMessageFilter); 
     520                } 
     521                checkAlarmsFilter = true; 
    510522                if(data['msg_range_end']) 
    511523                        if(data['msg_range_end'] > 0) 
     
    11351147                        Element('tot_m').innerHTML = n_total_msg; 
    11361148                } 
    1137                  
    11381149                refresh(); 
    11391150        } 
     
    11701181        refresh(); 
    11711182        if (parseInt(msgs_number) > 0 || msgs_number.length > 0){ 
    1172               $.ajax({ 
     1183                // remove a flag $FilteredMessage da mensagem, depois move 
     1184                var handler_removeFlag = function(){ 
     1185                        $.ajax({ 
    11731186                                url: 'controller.php?' + $.param( {action: '$this.imap_functions.move_messages', 
    11741187                                                                    folder: folder, 
     
    11911204                                } 
    11921205 
    1193                       }); 
     1206                    }); 
     1207                } 
     1208                var hasFolder = false; 
     1209                $.each(fromRules, function(index, value) { 
     1210                        if(value == folder){ 
     1211                                hasFolder = true; 
     1212                                cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_number, handler_removeFlag);  
     1213                                return false; 
     1214                        } 
     1215                }); 
     1216                if(!hasFolder){ 
     1217                        handler_removeFlag(); 
     1218                } 
     1219                 
    11941220        }else 
    11951221                write_msg(get_lang('No selected message.')); 
     
    27842810                                                        set_msg_as_read(results_search_messages, false, true); 
    27852811                                                Element("check_box_message_" + msgs_to_set[i]).checked = false; 
     2812                                                 
     2813                                                // remove a flag $FilteredMessage da mensagem ao ser marcada como lida   
     2814                                                $.each(fromRules, function(index, value) { 
     2815                                                        if(value == folder){ 
     2816                                                                cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_to_set, function(){});  
     2817                                                                return false; 
     2818                                                        } 
     2819                                                });      
     2820                                                 
    27862821                                                break; 
    27872822                                        case "flagged": 
     
    28082843        else 
    28092844                folder = Element("input_folder_"+msgs_to_set+"_r").value; 
    2810  
     2845         
    28112846        if (msgs_to_set) 
    28122847                $.ajax({ 
     
    39934028}; 
    39944029 
     4030function truncate(text, size){ 
     4031        var result = text; 
     4032        if(text.length > size){ 
     4033                result = text.substring(0,size) + '...'; 
     4034        } 
     4035        return result; 
     4036} 
     4037 
    39954038DataLayer.links('message'); 
    39964039DataLayer.poll('message',30); 
  • trunk/expressoMail1_2/js/messages_controller.js

    r6469 r6487  
    8888                if (msgs_number == 'selected') 
    8989                        msgs_number = get_selected_messages(); 
     90                 
    9091                if(currentTab != 0 && currentTab.indexOf("search_")  >= 0){ 
    9192                        var content_search = document.getElementById('content_id_'+currentTab); 
  • trunk/expressoMail1_2/setup/phpgw_pt-br.lang

    r6348 r6487  
    1616Add user into my IM     expressoMail1_2 pt-br   Adicionar no meu IM 
    1717After store email in your local computer delete it from server  expressoMail1_2 pt-br   Depois de guardar e-mail no seu computador local, excluí-lo do servidor 
     18Alert message filter by sender  expressoMail1_2 pt-br   Alertar ao receber mensagens filtradas por remetente 
    1819all     expressoMail1_2 pt-br   Todas 
    1920All messages are successfully unarchived        expressoMail1_2 pt-br   Mensagens desarquivadas com sucesso 
     
    561562There is not %1 folder, Expresso is creating it for you... Please, repeat your request later.   expressoMail1_2 pt-br   Pasta %1 inexistente, Expresso criará para você. Contudo por favor repita a operação em seguida. 
    562563There's an action processing. Do you want abort it?     expressoMail1_2 pt-br   Existe uma ação que ainda está sendo processada. Suspender ação? 
     564The filter is active for alerts expressoMail1_2 pt-br   O filtro está ativo para alertas 
    563565The results were found in the Global Catalog    expressoMail1_2 pt-br   Ocorrências encontradas no Catálogo Geral 
    564566The selected folder is empty.   expressoMail1_2 pt-br   A pasta selecionada está vazia. 
     
    900902 will be removed. This action cannot be undone. Want to continue?       expressoMail1_2 pt-br    serão removidas. Essa ação não poderá ser desfeita. Deseja continuar? 
    901903Message size greateruler than allowed (Default rule)    expressoMail1_2 pt-br    Tamanho da mensagem excede o limite de tamanho configurado pelo administrador 
     904You have an archived message:   expressoMail1_2 pt-br   Você tem uma mensagem arquivada: 
     905You have %1 messages archived:  expressoMail1_2 pt-br   Você tem %1 mensagens arquivadas: 
     906Filter by sender        expressoMail1_2 pt-br   Filtro por Remetente 
     907Follow ups      expressoMail1_2 pt-br   Sinalizadas 
     908Done    expressoMail1_2 pt-br   Concluídas  
     909This filter not permits alert   expressoMail1_2 pt-br   Este filtro não permite alerta  
  • trunk/expressoMail1_2/templates/default/index.tpl

    r5878 r6487  
    211211<div id="sendFileMessages" style="display:none;"></div> 
    212212<div id="quickAddContact" style="display:none;"></div> 
     213<div id="freeow" class="freeow freeow-bottom-right"></div> 
    213214<!-- END list --> 
Note: See TracChangeset for help on using the changeset viewer.