Changeset 7331


Ignore:
Timestamp:
10/01/12 16:17:43 (8 years ago)
Author:
marcosw
Message:

Ticket #3088 - Adicionado funcionalidades de manipulação de flags de mensagens locais

Location:
sandbox/2.5.0-expresso1/expressoMail1_2
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.5.0-expresso1/expressoMail1_2/inc/class.imap_functions.inc.php

    r7195 r7331  
    46434643                         
    46444644        $return['msg_no'] = $status->uidnext - 1; 
    4645         $return['error'] = imap_last_error(); 
    4646         if(!$return['error'] && $flags != '' ){ 
    4647  
    4648                   $flags_array=explode(':',$flags); 
    4649                   //"Answered","Draft","Flagged","Unseen" 
    4650                   $flags_fixed = ""; 
    4651                   if($flags_array[0] == 'A') 
    4652                         $flags_fixed.="\\Answered "; 
    4653                   if($flags_array[1] == 'X') 
    4654                         $flags_fixed.="\\Draft "; 
    4655                   if($flags_array[2] == 'F') 
    4656                         $flags_fixed.="\\Flagged "; 
    4657                   if($flags_array[3] != 'U') 
    4658                         $flags_fixed.="\\Seen "; 
    4659                   if($flags_array[4] == 'F') 
    4660                         $flags_fixed.="\\Answered \\Draft "; 
    4661                   imap_setflag_full($mbox_stream, $return['msg_no'], $flags_fixed, ST_UID); 
    4662                 } 
     4645                 
     4646                //Marcosw inicio - inserida validação para inserir flags 
     4647        $return['error'] = ''; 
     4648                if(imap_last_error() && imap_last_error() != "SECURITY PROBLEM: insecure server advertised AUTH=PLAIN") 
     4649            $return['error'] = imap_last_error(); 
     4650        //Marcosw fim 
     4651 
     4652                if(!$return['error'] && $flags != '' ){ 
     4653                        $flags_array=explode(':',$flags); 
     4654                        //"Answered","Draft","Flagged","Unseen" 
     4655                        $flags_fixed = ""; 
     4656                        if($flags_array[0] == 'A') 
     4657                            $flags_fixed.="\\Answered "; 
     4658                        if($flags_array[1] == 'X') 
     4659                            $flags_fixed.="\\Draft "; 
     4660                        if($flags_array[2] == 'F') 
     4661                            $flags_fixed.="\\Flagged "; 
     4662                        if($flags_array[3] != 'U') 
     4663                            $flags_fixed.="\\Seen "; 
     4664                        if($flags_array[4] == 'F') 
     4665                            $flags_fixed.="\\Answered \\Draft "; 
     4666                        imap_setflag_full($mbox_stream, $return['msg_no'], $flags_fixed, ST_UID); 
     4667        } 
    46634668         
    46644669        //Ignorando erro de AUTH=Plain 
     
    54985503 
    54995504    //MailArchiver -> get message flags only, invoked at archive operation 
    5500     //Marcosw início - modificação da estrutura da função, removendo estr. de repetição desnecessária 
    5501     function get_msg_flags($args){        
    5502                 $msg_folder = $args['folder']; 
     5505    //Marcosw início - Inserido código novo MailArchiver 
     5506    function get_msg_flags($args){   
     5507        $msg_folder = $args['folder']; 
    55035508        $msg_n = $args['msg_number']; 
     5509        $arr_msg = explode(",", $msg_n); 
     5510        
     5511        for($i=0; $i<count($arr_msg); $i++){ 
     5512                         
     5513            if(!$this->mbox || !is_resource($this->mbox)) 
     5514                $this->mbox = $this->open_mbox($msg_folder); 
    55045515         
    5505         if(!$this->mbox || !is_resource($this->mbox)) 
    5506             $this->mbox = $this->open_mbox($msg_folder); 
    5507      
    5508         if(!is_resource($this->mbox)) 
    5509             return(false); 
    5510            
    5511         $msgno_imap = imap_msgno($this->mbox, $msg_n);           
    5512         $header = @imap_headerinfo($this->mbox, $msgno_imap, 80, 255); 
    5513                  
    5514         if (!is_object($header)) 
    5515             return false; 
    5516  
    5517         $taglist["msgid"] = $msg_n; 
    5518         $taglist["unseen"] = $header->Unseen; 
    5519         $taglist["recent"] = $header->Recent; 
    5520         $taglist["flagged"] = $header->Flagged; 
    5521         $taglist["draft"] = $header->Draft; 
    5522         $taglist["answered"] = $header->Answered; 
    5523         $taglist["deleted"] = $header->Deleted; 
    5524      
    5525         if($header->Answered =='A' && $header->Draft == 'X') 
    5526             $taglist['forwarded'] = 'F'; 
    5527         else 
    5528             $taglist['forwarded'] = ' '; 
    5529      
    5530         if($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_important_flag']) { 
    5531             $flag = preg_match('/importance *: *(.*)\r/i',imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_n)),$importance); 
    5532             $taglist["importance"] = $flag==0?"Normal":$importance[1]; 
     5516            if(!is_resource($this->mbox)) 
     5517                return(false); 
     5518                        
     5519            $msgno_imap = imap_msgno($this->mbox, $msg_n);           
     5520                $header = @imap_headerinfo($this->mbox, $msgno_imap, 80, 255); 
     5521                 
     5522            if (!is_object($header)) 
     5523                return false; 
     5524 
     5525            $taglist[$i]["msgid"] = $msg_n; 
     5526            $taglist[$i]["unseen"] = $header->Unseen; 
     5527            $taglist[$i]["recent"] = $header->Recent; 
     5528            $taglist[$i]["flagged"] = $header->Flagged; 
     5529            $taglist[$i]["draft"] = $header->Draft; 
     5530            $taglist[$i]["answered"] = $header->Answered; 
     5531            $taglist[$i]["deleted"] = $header->Deleted; 
     5532         
     5533            if($header->Answered =='A' && $header->Draft == 'X') 
     5534                $taglist[$i]['forwarded'] = 'F'; 
     5535            else 
     5536                $taglist[$i]['forwarded'] = ' '; 
    55335537        } 
    55345538 
     
    55395543         * Fim dos métodos  
    55405544         */ 
    5541          
    55425545} 
    55435546?> 
  • sandbox/2.5.0-expresso1/expressoMail1_2/js/mail_archiver.js

    r7296 r7331  
    523523    expresso_mail_archive.messages_processed++; 
    524524    if(expresso_mail_archive.message_list.length > 1){ 
    525        //document.getElementById('main_title').innerHTML = get_lang("Message %1 of %2 successfully archived", expresso_mail_archive.messages_processed, expresso_mail_archive.total_messages); 
     525 
     526       //Marcosw inicio - Adicionado mensagem informando progresso de arquivamento 
     527       write_msg(get_lang("Message %1 of %2 successfully archived", expresso_mail_archive.messages_processed, expresso_mail_archive.total_messages)); 
     528       //Marcosw fim 
     529        
    526530       expresso_mail_archive.message_list.shift(); 
    527531       expresso_mail_archive.Archive(expresso_mail_archive.folder_origin, expresso_mail_archive.folder_destination, expresso_mail_archive.message_list); 
     
    684688                    //Flagged tag 
    685689                    if(expresso_mail_archive.messageslisted[w]["Flagged"]) 
    686                         if(expresso_mail_archive.messageslisted[w]["Flagged"] == true) 
     690                        //Marcosw inicio - alterado o valor de Flagged de 'true' para 'F', para evitar inconsistencia 
     691                        if(expresso_mail_archive.messageslisted[w]["Flagged"] == 'F') 
     692                        //Marcosw fim 
    687693                            flags += 'F'+':';                                         
    688694                        else 
  • sandbox/2.5.0-expresso1/expressoMail1_2/js/messages_controller.js

    r7320 r7331  
    332332         
    333333        messages_proxy.prototype.proxy_set_messages_flag = function (flag,msg_number){ 
    334                 if(this.is_local_folder(get_current_folder())) { 
     334        //Marcosw inicio - inserido código novo MailArchiver 
     335        //MAILARCHIVER 
     336        if(this.is_local_folder(get_current_folder())) {            
     337            var msglist = get_selected_messages();     
     338            var arrlist = msglist.split(","); 
     339            var operation; 
     340            var strtag; 
     341             
     342            for(var i in arrlist){ 
     343                switch(flag.toLowerCase()){ 
     344                    case 'unseen': 
     345                        strtag = "unseen"; 
     346                        operation = 0; 
     347                        set_msg_as_unread(arrlist[i]); 
     348                        break; 
     349                    case 'seen': 
     350                        strtag = "unseen"; 
     351                        operation = 1; 
     352                        set_msg_as_read(arrlist[i]); 
     353                        break; 
     354                    case 'flagged': 
     355                        strtag = "flagged, importance_high"; 
     356                        operation = 0; 
     357                        set_msg_as_flagged(arrlist[i]); 
     358                        break; 
     359                    case 'unflagged': 
     360                        strtag = "flagged, importance_high"; 
     361                        operation = 1; 
     362                        set_msg_as_unflagged(arrlist[i]); 
     363                        break; 
     364                } 
     365                expresso_mail_archive.currenttag = flag; 
     366                var tl = expresso_mail_archive.pattern.tagConfig(strtag, arrlist[i], operation); 
     367                expresso_mail_archive.taglist = tl;                              
     368                expresso_mail_archive.progressbar = window.setTimeout("expresso_mail_archive.tagMessage()",1); 
     369            } 
     370        } 
     371        else { 
     372            set_messages_flag(flag,msg_number); 
     373            // Verifica se a pasta que esta selecionada contem a opção "Não lidas" ativada 
     374            // caso exista, ele chama novamente a opção "Não lidas" para atualizar a pasta. 
     375            if('UNSEEN' == search_box_type) 
     376                return sort_box('UNSEEN','SORTARRIVAL'); 
     377        } 
     378        //Marcosw fim 
     379 
     380 
     381        //Marcosw inicio - comentádo código antigo gears 
     382        /* 
     383        if(this.is_local_folder(get_current_folder())) { 
     384            //adir 
    335385            //mail archiver 
    336                         //expresso_local_messages.set_messages_flag(msg_number,flag); 
    337                 } 
    338                 else { 
    339                         set_messages_flag(flag,msg_number); 
    340                                 // Verifica se a pasta que esta selecionada contem a opção "Não lidas" ativada 
    341                                 // caso exista, ele chama novamente a opção "Não lidas" para atualizar a pasta. 
    342                                 if('UNSEEN' == search_box_type) 
    343                                         return sort_box('UNSEEN','SORTARRIVAL'); 
    344                 } 
     386            //todo: ainda não sei se o mail archive esta suportando flags, pelo menos no codigo da serpro esta comentado sempre TODO nas funcoes de marcação de flag 
     387            //expresso_local_messages.set_messages_flag(msg_number,flag); 
     388        } 
     389        else { 
     390            set_messages_flag(flag,msg_number); 
     391                // Verifica se a pasta que esta selecionada contem a opção "Não lidas" ativada 
     392                // caso exista, ele chama novamente a opção "Não lidas" para atualizar a pasta. 
     393                if('UNSEEN' == search_box_type) 
     394                    return sort_box('UNSEEN','SORTARRIVAL'); 
     395        } 
     396        */ 
     397        //Marcosw fim 
    345398        } 
    346399         
  • sandbox/2.5.0-expresso1/expressoMail1_2/setup/phpgw_pt-br.lang

    r7238 r7331  
    939939Starting to move messages       expressoMail1_2 pt-br   Iniciando a movimentação de mensagens 
    940940MailArchiver does not seems to be running or installed at this workstation, local messages are disabled. Check it out!  expressoMail1_2 pt-br   O MailArchiver não parece estar rodando ou instalado nesta estação de trabalho, as mensagens locais estão desativadas. Verifique! 
     941Starting to unarchive messages  expressoMail1_2 pt-br   Iniciando o desarquivamento de mensagens 
    941942Messages successfully unarchived        expressoMail1_2 pt-br   Mensagens desarquivadas com sucesso 
    942943All done. End of archive messages operation     expressoMail1_2 pt-br   Concluído. Operação de arquivamento encerrada 
     
    946947Message successfully unarchived expressoMail1_2 pt-br   Mensagem desarquivada com sucesso 
    947948Unarchiving message %1 of %2    expressoMail1_2 pt-br   Desarquivando mensagem %1 de %2 
     949Message %1 of %2 successfully archived  expressoMail1_2 pt-br   Mensagem %1 de %2 arquivada com sucesso 
    948950Sorry, but Mail Archiver does not seems to be running or installed at this workstation. By now, we are turning off local messages!      expressoMail1_2 pt-br   Desculpe, mas o Mail Archiver não parece estar rodando ou instalado nesta estação de trabalho. De momento, estamos desativando as mensagens locais! 
    949951Sorry, but Mail Archiver still seems to be sleeping. Check out your system services!    expressoMail1_2 pt-br   Desculpe, mas o Mail Archiver parece continuar offline. Verifique os serviços do seu sistema! 
Note: See TracChangeset for help on using the changeset viewer.