Changeset 8167


Ignore:
Timestamp:
05/31/13 18:50:29 (11 years ago)
Author:
cristiano
Message:

Ticket #3456 - Otimizacao e implementacao de habilitar/desabilitar funcionalidades no ExpressoMail?

Location:
trunk
Files:
11 edited

Legend:

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

    r8145 r8167  
    233233                                    ++$i; 
    234234                            } 
    235                                                          
    236                                                         $filter = array('AND', array('=', 'folderName', $folder), array('IN','messageNumber', $sort_array_msg)); 
    237                                                         $followupflagged = Controller::find( 
    238                                                                 array('concept' => 'followupflagged'), 
    239                                                                 false,  
    240                                                                 array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
    241                                                         ); 
    242                                                         $labeleds = Controller::find( 
    243                                                                 array('concept' => 'labeled'), 
    244                                                                 false,  
    245                                                                 array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
    246                                                         ); 
    247                             $sort_array_msg_count = count($sort_array_msg); 
    248                                                         for($i=0; $i<$sort_array_msg_count; ++$i){ 
    249                                                                 if(!isset($return[$i]['msg_number'])) 
    250                                                                         continue; 
    251                                                                          
    252                                                                 $numFlags = count($followupflagged); 
    253                                                                 for($ii=0; $ii<$numFlags; ++$ii){ 
    254                                                                         if($return[$i]['msg_number'] == $followupflagged[$ii]['messageNumber']){ 
    255                                                                                 $followupflag = Controller::read( array( 'concept' => 'followupflag', 'id' => $followupflagged[$ii]['followupflagId'] )); 
    256                                                                                 $return[$i]['followupflagged'] = $followupflagged[$ii]; 
    257                                                                                 $return[$i]['followupflagged']['followupflag'] = $followupflag; 
    258                                                                                 break; 
    259                                                                         } 
    260                                                                 } 
    261                                                                 $numLabels = count($labeleds); 
    262                                                                 for($ii=0; $ii<$numLabels; ++$ii){ 
    263                                                                         if($return[$i]['msg_number'] == $labeleds[$ii]['messageNumber']){ 
    264                                                                                 $labels = Controller::read( array( 'concept' => 'label', 'id' =>  $labeleds[$ii]['labelId']));  
    265                                                                                 $return[$i]['labels'][$labeleds[$ii]['labelId']] = $labels; 
    266                                                                         } 
    267                                                                 } 
    268                                                         } 
     235                            if($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_followupflags_and_labels'] == "1") 
     236                            { 
     237                                $filter = array('AND', array('=', 'folderName', $folder), array('IN','messageNumber', $sort_array_msg)); 
     238                                $followupflagged = Controller::find( 
     239                                    array('concept' => 'followupflagged'), 
     240                                    false, 
     241                                    array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
     242                                ); 
     243                                $labeleds = Controller::find( 
     244                                    array('concept' => 'labeled'), 
     245                                    false, 
     246                                    array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
     247                                ); 
     248                                $sort_array_msg_count = count($sort_array_msg); 
     249                                for($i=0; $i<$sort_array_msg_count; ++$i){ 
     250                                    if(!isset($return[$i]['msg_number'])) 
     251                                        continue; 
     252 
     253                                    $numFlags = count($followupflagged); 
     254                                    for($ii=0; $ii<$numFlags; ++$ii){ 
     255                                        if($return[$i]['msg_number'] == $followupflagged[$ii]['messageNumber']){ 
     256                                            $followupflag = Controller::read( array( 'concept' => 'followupflag', 'id' => $followupflagged[$ii]['followupflagId'] )); 
     257                                            $return[$i]['followupflagged'] = $followupflagged[$ii]; 
     258                                            $return[$i]['followupflagged']['followupflag'] = $followupflag; 
     259                                            break; 
     260                                        } 
     261                                    } 
     262                                    $numLabels = count($labeleds); 
     263                                    for($ii=0; $ii<$numLabels; ++$ii){ 
     264                                        if($return[$i]['msg_number'] == $labeleds[$ii]['messageNumber']){ 
     265                                            $labels = Controller::read( array( 'concept' => 'label', 'id' =>  $labeleds[$ii]['labelId'])); 
     266                                            $return[$i]['labels'][$labeleds[$ii]['labelId']] = $labels; 
     267                                        } 
     268                                    } 
     269                                } 
     270                            } 
    269271                    } 
    270272                    $return['num_msgs'] =  $num_msgs;    
     
    44464448                                            $elem['uid'] = $new_search; 
    44474449                                            /* compare dates in ordering */ 
    4448                                             $elem['udatecomp'] = substr ($elem['udate'], -4) ."-". substr ($elem['udate'], 3, 2) ."-". substr ($elem['udate'], 0, 2);   
    4449  
    4450                                                                                         $filter = array('AND', array('=', 'folderName', $name_box), array('=','messageNumber', $new_search)); 
    4451                                                                                         $followupflagged = Controller::find( 
    4452                                                                                                 array('concept' => 'followupflagged'), 
    4453                                                                                                 false,  
    4454                                                                                                 array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
    4455                                                                                         ); 
    4456  
    4457                                                                                         if(isset($followupflagged[0]['followupflagId'])) 
    4458                                                                                         { 
    4459                                                                                                 $followupflag = Controller::read( array( 'concept' => 'followupflag', 'id' => $followupflagged[0]['followupflagId'] ));      
    4460                                                                                                 $followupflagged[0]['followupflag'] = $followupflag; 
    4461                                                                                                 $elem['followupflagged'] = $followupflagged[0]; 
    4462  
    4463                                                                                         }        
    4464                                                                                         $labeleds = Controller::find( 
    4465                                                                                                 array('concept' => 'labeled'), 
    4466                                                                                                 false,  
    4467                                                                                                 array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
    4468                                                                                         ); 
    4469                                                                                         foreach ($labeleds as $e){ 
    4470                                                                                                 $labels = Controller::read( array( 'concept' => 'label', 'id' =>  $e['labelId']));      
    4471                                                                                                 $elem['labels'][$e['labelId']] = $labels; 
     4450                                            $elem['udatecomp'] = substr ($elem['udate'], -4) ."-". substr ($elem['udate'], 3, 2) ."-". substr ($elem['udate'], 0, 2); 
     4451                                            if($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_followupflags_and_labels'] == "1") 
     4452                                            { 
     4453                                                $filter = array('AND', array('=', 'folderName', $name_box), array('=','messageNumber', $new_search)); 
     4454                                                $followupflagged = Controller::find( 
     4455                                                    array('concept' => 'followupflagged'), 
     4456                                                    false, 
     4457                                                    array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
     4458                                                ); 
     4459 
     4460                                                if(isset($followupflagged[0]['followupflagId'])) 
     4461                                                { 
     4462                                                    $followupflag = Controller::read( array( 'concept' => 'followupflag', 'id' => $followupflagged[0]['followupflagId'] )); 
     4463                                                    $followupflagged[0]['followupflag'] = $followupflag; 
     4464                                                    $elem['followupflagged'] = $followupflagged[0]; 
     4465 
     4466                                                } 
     4467                                                $labeleds = Controller::find( 
     4468                                                    array('concept' => 'labeled'), 
     4469                                                    false, 
     4470                                                    array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
     4471                                                ); 
     4472                                                foreach ($labeleds as $e){ 
     4473                                                    $labels = Controller::read( array( 'concept' => 'label', 'id' =>  $e['labelId'])); 
     4474                                                    $elem['labels'][$e['labelId']] = $labels; 
     4475                                                } 
    44724476                                            } 
    44734477                                            $retorno[] = $elem; 
     
    51135117                                foreach ($subject as $tmp) 
    51145118                                        $return['msgs'][$i]['subject'] .= mb_convert_encoding($tmp->text, 'UTF-8', 'UTF-8 , ISO-8859-1'); 
    5115                                  
    5116                                 $filter = array('AND', array('=', 'folderName', $folder), array('=','messageNumber', $v)); 
    5117                                 $followupflagged = Controller::find( 
    5118                                         array('concept' => 'followupflagged' , 'folder' => $folder ), 
    5119                                         false,  
    5120                                         array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
    5121                                 ); 
    5122  
    5123                                 if(isset($followupflagged[0]['followupflagId'])) 
    5124                                 { 
    5125                                         $followupflag = Controller::read( array( 'concept' => 'followupflag', 'id' => $followupflagged[0]['followupflagId'] ));      
    5126                                         $followupflagged[0]['followupflag'] = $followupflag; 
    5127                                         $return['msgs'][$i]['followupflagged'] = $followupflagged[0]; 
    5128  
    5129                                 }        
    5130                                 $labeleds = Controller::find( 
    5131                                         array('concept' => 'labeled'), 
    5132                                         false,  
    5133                                         array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
    5134                                 ); 
    5135                                 if(is_array($labeleds)) 
    5136                                 foreach ($labeleds as $e){ 
    5137                                         $labels = Controller::read( array( 'concept' => 'label', 'id' =>  $e['labelId']));      
    5138                                         $return['msgs'][$i]['labels'][$e['labelId']] = $labels; 
    5139                                 }        
     5119 
     5120 
     5121                if($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_followupflags_and_labels'] == "1") 
     5122                { 
     5123 
     5124                    $filter = array('AND', array('=', 'folderName', $folder), array('=','messageNumber', $v)); 
     5125                    $followupflagged = Controller::find( 
     5126                        array('concept' => 'followupflagged' , 'folder' => $folder ), 
     5127                        false, 
     5128                        array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
     5129                    ); 
     5130 
     5131                    if(isset($followupflagged[0]['followupflagId'])) 
     5132                    { 
     5133                        $followupflag = Controller::read( array( 'concept' => 'followupflag', 'id' => $followupflagged[0]['followupflagId'] )); 
     5134                        $followupflagged[0]['followupflag'] = $followupflag; 
     5135                        $return['msgs'][$i]['followupflagged'] = $followupflagged[0]; 
     5136 
     5137                    } 
     5138                    $labeleds = Controller::find( 
     5139                        array('concept' => 'labeled'), 
     5140                        false, 
     5141                        array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
     5142                    ); 
     5143                    if(is_array($labeleds)) 
     5144                    foreach ($labeleds as $e){ 
     5145                        $labels = Controller::read( array( 'concept' => 'label', 'id' =>  $e['labelId'])); 
     5146                        $return['msgs'][$i]['labels'][$e['labelId']] = $labels; 
     5147                    } 
     5148                } 
     5149 
    51405150                                $mimeBody = imap_body( $this->mbox, $v  , FT_UID|FT_PEEK  ); 
    51415151                                $return['msgs'][$i]['flag'] = ' '; 
  • trunk/expressoMail1_2/inc/hook_settings.inc.php

    r8165 r8167  
    369369 
    370370create_check_box('View the user name in the header of the messages printed?', 'show_name_print_messages', 'Displays the user name in the header print email'); 
     371 
     372create_check_box('Habilitar funcionalidade de notificar ao receber mensagens filtradas por remetente ?', 'use_alert_filter_criteria', ''); 
     373create_check_box('Habilitar sinalizadores e marcadores em mensagens', 'use_followupflags_and_labels', ''); 
    371374 
    372375//$default = 0; 
  • trunk/expressoMail1_2/index.php

    r7915 r8167  
    1616                'enable_nextmatchs_class' => True 
    1717        ); 
    18          
     18 
    1919        require_once('../header.inc.php'); 
    2020        include_once dirname(__FILE__) . '/../header.inc.php'; 
     
    3333        $_SESSION['phpgw_info']['expressomail']['user'] = $GLOBALS['phpgw_info']['user']; 
    3434        echo "<script type='text/javascript'>var template = '".$_SESSION['phpgw_info']['expressoMail1_2']['user']['preferences']['common']['template_set']."';</script>"; 
     35 
    3536 
    3637        //jquery and Editor  
     
    7879                  <script type="text/javascript" src="js/DropDownContacts.js"></script> 
    7980                  '; 
    80          
     81 
     82// 
     83//    include_once(__DIR__.'/inc/class.imap_functions.inc.php'); 
     84// 
     85//    $param = array(); 
     86//    $param['folder'] = 'INBOX'; 
     87//    $param['msg_range_begin'] = '1'; 
     88//    $param['msg_range_end'] = '50'; 
     89//    $param['sort_box_type'] = 'SORTARRIVAL'; 
     90//    $param['search_box_type'] = 'ALL'; 
     91//    $param['sort_box_reverse'] = '1'; 
     92// 
     93//    $imapf = new imap_functions(); 
     94//    $initialMessages = $imapf->get_range_msgs2($param); 
     95// 
     96//    echo '<script type="text/javascript"> var initialMessages  = '.json_encode($initialMessages).'</script>'; 
     97 
    8198        /* 
    8299         * TODO: implementar o controle como preferência do usuário  
     
    338355        //echo $obj -> getFilesJs("js/common_functions.js",$update_version); 
    339356        include("inc/load_lang.php"); 
    340      
     357 
    341358    // INCLUDE these JS Files: 
    342359        if ($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'])  
     
    353370        echo "<script> use_local_messages = ".$_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages']."</script>";          
    354371        if($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages']) 
    355                 $scripts .= "js/local_messages.js";      
    356                  
     372                $scripts .= "js/local_messages.js"; 
     373 
    357374        echo ' 
    358375                <!--<script type="text/javascript" src="../prototype/modules/mail/js/followupflag.js"></script>--> 
     
    364381        '; 
    365382 
    366         echo  
     383//////////////////////////////////////////// Carregar Timezones para o javascript ///////////////////////////////////////// 
     384 
     385    $zones = timezone_identifiers_list(); 
     386    $Time = new DateTime('now', new DateTimeZone('UTC')); 
     387    $timezone = array(); 
     388 
     389    foreach ($zones as $zone) 
     390    { 
     391        $timezone['timezones'][$zone] = $Time->setTimezone(new DateTimeZone($zone))->format('O'); 
     392    } 
     393 
     394    $localtime = localtime(time(), true); 
     395    $timezone['isDaylightSaving'] =  !!$localtime['tm_isdst'] ? 1 : 0; 
     396 
     397    echo '<script type="text/javascript"> var Timezone  = '.json_encode($timezone).'</script>'; 
     398 
     399//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
     400 
     401        echo 
    367402            '<script src="../prototype/plugins/datejs/date-pt-BR.js" language="javascript" ></script> 
    368                 <script src="../prototype/modules/calendar/js/timezone.js" language="javascript" ></script> 
    369403                <script src="../prototype/plugins/dateFormat/dateFormat.js" language="javascript" ></script> 
    370404                <script src="../prototype/modules/calendar/js/calendar.date.js" language="javascript" ></script> 
     
    375409        echo $obj -> getFilesJs($scripts, $update_version); 
    376410        echo '<script type="text/javascript">connector.updateVersion = "'.$update_version.'";</script>'; 
    377                  
    378411        echo '<script type="text/javascript" src="assetic.php"></script>'; 
    379          
     412 
     413/////////   Verifica se o usuario esta fora do escritorio imprime a variavel javascript "outOfficeFlag" ///////////////////////////// 
     414 
     415    include_once(__DIR__ .'/../library/Net/Sieve.php'); 
     416    $sieveConf  =  parse_ini_file( __DIR__."/../prototype/config/Sieve.srv", true ); 
     417    $sieveConf = $sieveConf['config']; 
     418    $sieve = new Net_Sieve(); 
     419    $inVacation = false; 
     420    @$sieve->connect( $sieveConf['host'] , $sieveConf['port'] , $sieveConf['options'] , $sieveConf['useTLS'] ); 
     421    @$sieve->login( $_SESSION['wallet']['Sieve']['user'], $_SESSION['wallet']['Sieve']['password'] , $sieveConf['loginType']); 
     422    $script = $sieve->getScript($sieve->getActive()); 
     423    $pos = strripos($script, "#PseudoScript#"); 
     424    $pseudo_script = substr( $script, $pos+17 ); 
     425    $sieveRules = json_decode( $pseudo_script, true ); 
     426    foreach( $sieveRules as $i => $v) 
     427        if($v['id'] == 'vacation' && $v['enabled'] == 'true') 
     428            $inVacation = true; 
     429 
     430    if($inVacation) 
     431        echo '<script language="javascript"> write_msg(get_lang("Attention, you are in out of office mode."), true);   </script>'; 
     432 
     433////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
     434 
     435 
     436 
     437 
    380438 
    381439        // Get Preferences or redirect to preferences page. 
  • trunk/expressoMail1_2/js/doiMenuData.js

    r8130 r8167  
    142142    function loadMenu(){ 
    143143        var archive = ""; 
    144         var labelItems = getLabels(); 
     144 
     145        if( preferences['use_followupflags_and_labels'] == "1" ) 
     146            var labelItems = getLabels(); 
     147 
    145148        var revertSortBox = function(){ 
    146149            if (search_box_type == "UNSEEN") sort_box_reverse = sort_box_reverse ? 0 : 1;  
    147150        } 
     151 
    148152        $.contextMenu({ 
    149153                selector: ".table_box tbody tr", 
     
    161165                } 
    162166 
    163                 var itensNotLocal = { 
    164                     "label": { "name": get_lang("Labels"), "items": labelItems}, 
    165                     "follouwpflag":{"name": get_lang("Follow up"), callback: function(key, opt){ configureFollowupflag(); } }, 
    166                     "sep2": "---------" 
    167                 } 
     167                if( preferences['use_followupflags_and_labels'] == "1" ) 
     168                    var itensNotLocal = { 
     169                        "label": { "name": get_lang("Labels"), "items": labelItems}, 
     170                        "follouwpflag":{"name": get_lang("Follow up"), callback: function(key, opt){ configureFollowupflag(); } }, 
     171                        "sep2": "---------" 
     172                    } 
    168173 
    169174                var items= { 
     
    370375                menuItensLabel[index] = {type: "label", customName: menuItems[index].name, id: msg_folder+"/"+msg_number+"#"+index};             
    371376        } 
     377 
     378 
    372379        $.contextMenu.types.label = function(item, opt, root) { 
    373380            $('<span>'+item.customName+'</span><span class="removeLabeled" title="'+get_lang("Remove Label")+'">x</span>') 
  • trunk/expressoMail1_2/js/draw_api.js

    r8163 r8167  
    106106                        } 
    107107                        cExecute ("$this.imap_functions.get_folders_list&folder="+current_folder, update_tree_folders); 
     108             
    108109                } 
    109110 
     
    472473                } 
    473474        } 
    474          
    475         outOfficeVerify(); 
    476475} 
    477476 
     
    647646                } 
    648647                draw_new_tree_folder(false, forceLoadFolders); 
    649                 draw_tree_labels(); 
     648 
     649        if( preferences['use_followupflags_and_labels'] == "1" ) 
     650            draw_tree_labels(); 
     651 
    650652                if(Element("table_quota")) 
    651653                        connector.loadScript("InfoQuota"); 
     
    17511753        draw_footer_box(headers_msgs.num_msgs); 
    17521754        Element('main_table').style.display = ''; 
    1753         if(is_ie6)        // Stupid Fixing on IE6. 
    1754                 setTimeout("resizeWindow()",1); 
    1755         else 
    1756                 resizeWindow(); 
     1755        resizeWindow(); 
    17571756        if(debug) { 
    17581757                var _eTime = new Date(); 
     
    24682467function draw_message(info_msg, ID){ 
    24692468        // remove a flag $FilteredMessage da mensagem ao ser lida 
    2470         if(info_msg.Unseen == "U"){ 
     2469        if(info_msg.Unseen == "U" && preferences['use_alert_filter_criteria'] == "1"){ 
    24712470                $.each(fromRules, function(index, value) { 
    24722471                        if(value == info_msg.msg_folder){ 
  • trunk/expressoMail1_2/js/main.js

    r8154 r8167  
    226226    // Fim da inserção da applet 
    227227    cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     228    //update_menu(Folder.getList(false)); 
    228229 
    229230    if($.cookie('collapse_folders') == "true"){ 
     
    295296        // Get cyrus delimiter 
    296297        cyrus_delimiter = Element('cyrus_delimiter').value; 
    297  
    298     cExecute ("phpgwapi.browser.isMobile", function( data ){ 
    299                 mobile_device = ( ( data.constructor == Boolean ) ? data : ( data === 'true' ) ); 
    300         }); 
    301298 
    302299        cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu);      
     
    719716        getFromAlertRules(); 
    720717        var handler_refresh = function(data){ 
    721                 handlerMessageFilter = function (data) {                         
    722                         notificationFilter(data, notifyPermission); 
    723                         alarmFollowupflagged('filtersAlarms', data); 
    724                          
    725                 } 
    726                 /* Busca  nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */ 
    727                 cExecute ("$this.imap_functions.getFlaggedAlertMessages&folders="+fromRules, handlerMessageFilter); 
     718 
     719        if(preferences['use_alert_filter_criteria'] == "1") 
     720        { 
     721            var handlerMessageFilter = function (data) { 
     722                notificationFilter(data, notifyPermission); 
     723                alarmFollowupflagged('filtersAlarms', data); 
     724 
     725            } 
     726            /* Busca  nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */ 
     727            cExecute ("$this.imap_functions.getFlaggedAlertMessages&folders="+fromRules, handlerMessageFilter); 
     728        } 
    728729 
    729730                if(data['msg_range_end']) 
     
    16951696                                } 
    16961697                                var hasFolder = false; 
    1697                                 $.each(fromRules, function(index, value) { 
    1698                                         if(value == folder){ 
    1699                                                 hasFolder = true; 
    1700                                                 cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_number, handler_removeFlag);  
    1701                                                 return false; 
    1702                                         } 
    1703                                 }); 
     1698                if(preferences['use_alert_filter_criteria'] == "1") 
     1699                { 
     1700                    $.each(fromRules, function(index, value) { 
     1701                        if(value == folder){ 
     1702                            hasFolder = true; 
     1703                            cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_number, handler_removeFlag); 
     1704                            return false; 
     1705                        } 
     1706                    }); 
     1707                } 
    17041708                                if(!hasFolder){ 
    17051709                                        handler_removeFlag(); 
     
    38863890                                                Element("check_box_message_" + msgs_to_set[i]).checked = false; 
    38873891 
    3888                                                 // remove a flag $FilteredMessage da mensagem ao ser marcada como lida   
    3889                                                 $.each(fromRules, function(index, value) { 
    3890                                                         if(value == folder){ 
    3891                                                                 cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_to_set, function(){});  
    3892                                                                 return false; 
    3893                                                         } 
    3894                                                 });      
    3895                                                  
     3892                        if(preferences['use_alert_filter_criteria'] == "1") 
     3893                        { 
     3894                            // remove a flag $FilteredMessage da mensagem ao ser marcada como lida 
     3895                            $.each(fromRules, function(index, value) { 
     3896                                if(value == folder){ 
     3897                                    cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&msg_number="+msgs_to_set, function(){}); 
     3898                                    return false; 
     3899                                } 
     3900                            }); 
     3901                        } 
    38963902                                                break; 
    38973903                                        case "flagged": 
     
    44634469                update_quota(get_current_folder()); 
    44644470                draw_new_tree_folder(); 
    4465                 draw_tree_labels(); 
     4471        if( preferences['use_followupflags_and_labels'] == "1" ) 
     4472                    draw_tree_labels(); 
    44664473                if (data){ 
    44674474                        if(typeof(data) == "object"){ 
     
    45224529                //tree_folders.getNodeById(mount_url_folder(["INBOX",special_folders["Spam"]]))._refresh(); 
    45234530                draw_new_tree_folder(); 
    4524                 draw_tree_labels(); 
     4531        if( preferences['use_followupflags_and_labels'] == "1" ) 
     4532                    draw_tree_labels(); 
    45254533                update_quota(get_current_folder()); 
    45264534                if (data){ 
  • trunk/prototype/modules/filters/edit-filter.ejs

    r7892 r8167  
    128128                                        %> 
    129129                                </select> 
    130                                 <input type="checkbox" name="actionType[]" value="alertMessage" class="alertMessage"/> 
    131                                 <label><%= get_lang("Alert message filter by sender")%></label> 
     130                <% 
     131                if(preferences['use_alert_filter_criteria'] == "1") 
     132                {%> 
     133                    <input type="checkbox" name="actionType[]" value="alertMessage" class="alertMessage"/> 
     134                    <label><%= get_lang("Alert message filter by sender")%></label> 
     135                <%}%> 
    132136                        </fieldset> 
    133137                        <fieldset> 
  • trunk/prototype/modules/filters/filters.js

    r8100 r8167  
    22 * Retorna as regras por remetente e que o usuário deseja ser avisado  
    33 */ 
    4 function getFromAlertRules() {  
    5         var filters = DataLayer.get("filter"); 
    6         fromRules = []; 
    7         var alertMessage; 
    8         var active; 
    9         for (var index in filters) { 
    10                 alertMessage = filters[index]['alertMessage'];           
    11                 active = filters[index]['enabled']; 
    12                 for(var criterias in filters[index]['actions']) { 
    13                         if (filters[index]['actions'][criterias]['type'] == 'fileinto' && alertMessage == 'true' && active == 'true') 
    14                                 fromRules[fromRules.length] = filters[index]['actions'][criterias]['parameter']; 
    15                 } 
    16         } 
    17         return fromRules; 
     4function getFromAlertRules() { 
     5    fromRules = []; 
     6    if(preferences['use_alert_filter_criteria'] == "1") 
     7    { 
     8        var filters = DataLayer.get("filter"); 
     9        var alertMessage; 
     10        var active; 
     11        for (var index in filters) { 
     12            alertMessage = filters[index]['alertMessage']; 
     13            active = filters[index]['enabled']; 
     14            for(var criterias in filters[index]['actions']) { 
     15                if (filters[index]['actions'][criterias]['type'] == 'fileinto' && alertMessage == 'true' && active == 'true') 
     16                    fromRules[fromRules.length] = filters[index]['actions'][criterias]['parameter']; 
     17            } 
     18        } 
     19 
     20    } 
     21    return fromRules; 
    1822} 
    1923 
     
    401405}); 
    402406 
    403  
    404 fromRules = getFromAlertRules(); 
     407if(preferences['use_alert_filter_criteria'] == "1") 
     408{ 
     409    fromRules = getFromAlertRules(); 
     410} 
    405411 
    406412var BASE_PATH = '../prototype/'; 
     
    10421048                } 
    10431049        } 
    1044         $.each(fromRules, function(index, value) { 
    1045                 if(value == folder){ 
    1046                         for(var i=0; i < filters_c['criteria'].length; i++){ 
    1047                                 if(filters_c['criteria'][i].field == 'from'){ 
    1048                                         from = filters_c['criteria'][i].value; 
    1049                                 } 
    1050                         } 
    1051                         cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&from="+from, function(){});  
    1052                         return false; 
    1053                 } 
    1054         }); 
    1055 } 
     1050 
     1051    if(preferences['use_alert_filter_criteria'] == "1") 
     1052    { 
     1053        $.each(fromRules, function(index, value) { 
     1054            if(value == folder){ 
     1055                for(var i=0; i < filters_c['criteria'].length; i++){ 
     1056                    if(filters_c['criteria'][i].field == 'from'){ 
     1057                        from = filters_c['criteria'][i].value; 
     1058                    } 
     1059                } 
     1060                cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+folder+"&from="+from, function(){}); 
     1061                return false; 
     1062            } 
     1063        }); 
     1064    } 
     1065} 
  • trunk/prototype/modules/mail/js/followupflag.js

    r8153 r8167  
    775775 
    776776} 
    777                  
    778 $('#main_table').ready(function(){ 
    779         handlerMessageFilter = function (data) { 
    780                 alarmFollowupflagged(null, data); 
    781         } 
    782         /* Busca  nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */ 
    783         cExecute ("$this.imap_functions.getFlaggedAlertMessages&folders="+fromRules, handlerMessageFilter); 
    784 }); 
    785  
     777 
     778if(preferences['use_alert_filter_criteria'] == "1") 
     779{ 
     780    $('#main_table').ready(function(){ 
     781        handlerMessageFilter = function (data) { 
     782            alarmFollowupflagged(null, data); 
     783        } 
     784        /* Busca  nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */ 
     785        cExecute ("$this.imap_functions.getFlaggedAlertMessages&folders="+fromRules, handlerMessageFilter); 
     786    }); 
     787} 
     788 
     789 
  • trunk/prototype/modules/mail/js/label.js

    r7788 r8167  
    199199                                                winElement.find('.edit').unbind("click").click(editLabel);                               
    200200                                                winElement.find('.close').click(deleteLabel); 
    201                                                  
    202                                                 draw_tree_labels(); 
     201                        if( preferences['use_followupflags_and_labels'] == "1" ) 
     202                                                    draw_tree_labels(); 
    203203                                                var msgsReference = DataLayer.get('labeled', {filter: ['=', 'labelId', ''+labelEdited.id]}, true); 
    204204                                                updateMessageLabels(msgsReference); 
     
    326326                        .find("li:first") 
    327327                        .fadeIn("slow").click(configureLabel); 
    328                          
    329                         draw_tree_labels(); 
     328            if( preferences['use_followupflags_and_labels'] == "1" ) 
     329                            draw_tree_labels(); 
    330330 
    331331                        $(".label-list-container .label-list li").not(".empty-item").click(function(){ 
  • trunk/prototype/modules/mail/templates/detailedfoldertree.ejs

    r8109 r8167  
    55                        Inbox: {name:'Caixa de Entrada', classe:'inbox'},  
    66                }; 
    7     specialFolders[outboxfolder] = {name: 'Caixa de Saída', classe:'outbox'}; 
     7    specialFolders[outboxfolder] = {name: 'Caixa de Saï¿œda', classe:'outbox'}; 
    88        specialFolders[trashfolder] = {name:'Lixeira', classe:'trash'}; 
    99        specialFolders[draftsfolder] = {name:'Rascunhos', classe:'drafts'}; 
     
    6767 
    6868          <%}%> 
     69        <% if(preferences['use_followupflags_and_labels'] == "1"){%> 
    6970          <li><span class="folder head_folder all_accomp followup-messages">Para acompanhamento</span> 
     71          <%}%> 
    7072          </li> 
    7173        </ul> 
Note: See TracChangeset for help on using the changeset viewer.