Changeset 569 for trunk


Ignore:
Timestamp:
01/06/09 16:43:13 (15 years ago)
Author:
niltonneto
Message:

Resolve #379

Location:
trunk/expressoMail1_2
Files:
9 edited

Legend:

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

    r539 r569  
    412412                $return['Size'] = $header->Size; 
    413413                $return['reply_toaddress'] = $header->reply_toaddress; 
     414                $return['reuse_border'] = $params['reuse_border']; 
    414415                 
    415416                return $return; 
  • trunk/expressoMail1_2/index.php

    r564 r569  
    9595                'auto_save_draft'                                       => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['auto_save_draft'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['auto_save_draft'] : "0", 
    9696                        'use_dynamic_contacts'                          => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_dynamic_contacts'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_dynamic_contacts'] : "0", 
    97                         'number_of_contacts'                            => $current_config['expressoMail_Number_of_dynamic_contacts'] ? $current_config['expressoMail_Number_of_dynamic_contacts'] : "0" 
     97                        'number_of_contacts'                            => $current_config['expressoMail_Number_of_dynamic_contacts'] ? $current_config['expressoMail_Number_of_dynamic_contacts'] : "0", 
     98                'use_cache'                                             => $current_config['expressoMail_enable_cache'] 
     99 
     100 
    98101                 
    99102        ); 
     
    128131     
    129132    $_SESSION['phpgw_info']['server']['expressomail']['expressoMail_enable_log_messages'] = $current_config['expressoMail_enable_log_messages']; 
     133         
    130134    // Begin Set Anti-Spam options. 
    131135    $_SESSION['phpgw_info']['server']['expressomail']['expressoMail_command_for_ham'] = $current_config['expressoMail_command_for_ham']; 
  • trunk/expressoMail1_2/js/common_functions.js

    r566 r569  
    111111        remove_className(tr_message, 'selected_msg'); 
    112112        add_className(tr_message, 'tr_msg_read'); 
     113        purgeCache(); 
    113114        return true; 
    114115} 
     
    520521 
    521522 
    522  
    523 function Element(element){ 
    524         return document.getElementById(element); 
     523function Element (el) { 
     524        return  document.getElementById(el); 
    525525} 
    526526 
  • trunk/expressoMail1_2/js/connector.js

    r446 r569  
    154154                                        return null; 
    155155                        } 
    156          
     156 
    157157                        return str_data; 
    158158                } 
     
    268268                                        break; 
    269269                        } 
    270                          
    271270                        return data; 
    272271                } 
     
    345344                                                                        document.getElementById("debug_controller").innerHTML += oxmlhttp.responseText; 
    346345                                                                        document.getElementById("debug_controller").innerHTML += "<br>-------------------------------------------------------------------------------------<br>"; 
    347                                                                 }                                                                        
     346                                                                } 
    348347                                                                handler(data); 
     348                                                                addToCache(id,data); 
    349349                                                                delete _thisObject.requests[id];                                                                 
    350350                                                                _thisObject.requests[id] = null; 
     
    475475        var id = null; 
    476476 
     477        var connectorCache = { 
     478                'valid' : [], 
     479                'result' : [] 
     480        }; 
     481        var acertos = 0; 
     482        var naoacertos = 0; 
     483        var expurgatedCache = new Array(); // Data to purge from cache 
     484 
     485        function queryConnectorCache(url,handler){ 
     486                if (connectorCache.valid[url]) 
     487                { 
     488                        handler(connectorCache.result[url]); 
     489                        return true; 
     490                } 
     491                else 
     492                        return false; 
     493        } 
     494        function purgeCache(){ 
     495                var i; 
     496                for (i=0; i<= expurgatedCache.length; i++) 
     497                { 
     498                        connectorCache.valid[expurgatedCache[i]] = false; 
     499                        delete connectorCache.result[expurgatedCache[i]]; 
     500                } 
     501        } 
     502        function addToCache(id,data){ 
     503                if (preferences.use_cache != 'True') 
     504                        return false; 
     505                var func = id.substr(id.lastIndexOf('.')+1); 
     506                if (func.indexOf('&') > 0) 
     507                        func = func.substr(0,func.indexOf('&')); 
     508                switch (func){ 
     509                        // functions that enters in cache 
     510                        case 'get_preferences': 
     511                        case 'getSharedUsersFrom': 
     512                        case 'get_organizations': 
     513                        case 'get_catalogs': 
     514                        case 'get_dropdown_contacts': 
     515                        case 'get_cc_contacts': 
     516                        case 'get_cc_groups': 
     517                        case 'get_info_msg': 
     518                        case 'getUsersByEmail': 
     519                        case 'br': 
     520                        case 'search_for': 
     521                        case 'quicksearch': 
     522                                connectorCache.valid[id] = true; 
     523                                connectorCache.result[id] = data; 
     524                                break; 
     525                        // function that needs expire 
     526                        case 'get_range_msgs2': 
     527                        case 'get_folders_list': 
     528                        case 'search_msg': 
     529                                connectorCache.valid[id] = true; 
     530                                connectorCache.result[id] = data; 
     531                                var i = expurgatedCache.length; 
     532                                expurgatedCache[i+1] = id; 
     533                                break; 
     534                        //functions that expires the cache 
     535                        case 'move_messages': 
     536                        case 'getReturnExecuteForm': 
     537                        case 'set_messages_flag': 
     538                                purgeCache(); 
     539                        default: // no cache 
     540                                break; 
     541                } 
     542        } 
     543 
    477544        //      Function executes AJAX 
    478545        //      cExecute (url, handler, params) 
     
    490557                        return; 
    491558                } 
    492                  
     559 
    493560                url = DEFAULT_URL + url; 
    494                          
    495                 if(params)                
     561 
     562                if (queryConnectorCache(url,handler)) 
     563                        return; 
     564 
     565                if(params) 
    496566                        method = "POST"; 
    497                                  
    498                  else  
     567                else 
    499568                        method = "GET"; 
    500                           
    501                  id = url; 
     569 
     570                id = url; 
    502571                connector.newRequest(id, url, method, handler, params); 
    503572        } 
    504          
    505         // This function executes submit values to Controller (POST) 
     573 
     574// This function executes submit values to Controller (POST) 
    506575        // The return is void. 
    507576        //      cExecuteForm (url, form) 
  • trunk/expressoMail1_2/js/draw_api.js

    r470 r569  
    3939                        } 
    4040                } 
    41                 cExecute ("$this.imap_functions.get_folders_list&folder="+current_folder, update_tree_folders); 
     41                cExecute ("$this.imap_functions.get_folders_list", update_tree_folders); 
    4242                return; 
    4343        } 
     
    757757        img_next_msg.title = get_lang('Next'); 
    758758        img_next_msg.style.cursor = 'pointer'; 
    759         img_next_msg.onclick = function () {cExecute ("$this.imap_functions.get_info_next_msg&msg_number="+ info_msg.msg_number + "&msg_folder="+ info_msg.msg_folder + "&sort_box_type="+ sort_box_type +  "&search_box_type="+ search_box_type +"&sort_box_reverse="+ sort_box_reverse +"&reuse_border="+ID, show_msg)}; 
     759 
     760        // Old 
     761        //img_next_msg.onclick = function () {cExecute ("$this.imap_functions.get_info_next_msg&msg_number="+ info_msg.msg_number + "&msg_folder="+ info_msg.msg_folder + "&sort_box_type="+ sort_box_type +  "&search_box_type="+ search_box_type +"&sort_box_reverse="+ sort_box_reverse +"&reuse_border="+ID, show_msg)}; 
     762        var folder = document.getElementById(ID.substr(0, ID.indexOf('_'))); 
     763        if (!folder) 
     764                delete_border(ID); 
     765        if (folder.nextSibling) 
     766        { 
     767                var inbox = folder.nextSibling.name; 
     768                if (inbox) 
     769                        info_msg.msg_folder = inbox; 
     770 
     771                var next_msg = folder.nextSibling.id; 
     772                img_next_msg.onclick = function() 
     773                { 
     774                        cExecute("$this.imap_functions.get_info_msg&msg_number="+next_msg+"&msg_folder=" + info_msg.msg_folder+"&reuse_border="+ID, show_msg); 
     775                }; 
     776        } 
     777        else 
     778                img_next_msg.onclick = function() 
     779                { 
     780                        current_page++; 
     781                        msg_range_end = (current_page*preferences.max_email_per_page); 
     782                        msg_range_begin = (msg_range_end-(preferences.max_email_per_page)+1); 
     783                        kill_current_box(); 
     784                        cExecute ('$this.imap_functions.get_range_msgs2&folder='+get_current_folder()+'&msg_range_begin='+msg_range_begin+'&msg_range_end='+msg_range_end+'&sort_box_reverse=1', function handler(data){draw_box(data, get_current_folder());}) 
     785                        delete_border(ID); 
     786                }; 
     787 
    760788        var img_space = document.createElement("SPAN"); 
    761789        img_space.innerHTML = "&nbsp;"; 
     
    765793        img_previous_msg.title = get_lang('Previous'); 
    766794        img_previous_msg.style.cursor = 'pointer'; 
    767         img_previous_msg.onclick = function () {cExecute ("$this.imap_functions.get_info_previous_msg&msgs_number="+ info_msg.msg_number + "&folder="+ info_msg.msg_folder + "&sort_box_type="+ sort_box_type+ "&search_box_type="+ search_box_type + "&sort_box_reverse="+ sort_box_reverse +"&reuse_border="+ID, show_msg)} 
     795 
     796        //Old 
     797        //img_previous_msg.onclick = function () {cExecute ("$this.imap_functions.get_info_previous_msg&msgs_number="+ info_msg.msg_number + "&folder="+ info_msg.msg_folder + "&sort_box_type="+ sort_box_type+ "&search_box_type="+ search_box_type + "&sort_box_reverse="+ sort_box_reverse +"&reuse_border="+ID, show_msg)} 
     798        folder = document.getElementById(ID.substr(0, ID.indexOf('_'))); 
     799        if (!folder) 
     800                delete_border(ID); 
     801        if (folder.previousSibling) 
     802        { 
     803                var inbox = folder.previousSibling.name; 
     804                if (inbox) 
     805                        info_msg.msg_folder = inbox; 
     806 
     807                var previous_msg = folder.previousSibling.id; 
     808                img_previous_msg.onclick = function() 
     809                { 
     810                        cExecute("$this.imap_functions.get_info_msg&msg_number="+previous_msg+"&msg_folder=" + info_msg.msg_folder+"&reuse_border="+ID, show_msg);                       
     811                }; 
     812        } 
     813        else 
     814                img_previous_msg.onclick = function() 
     815                { 
     816                        delete_border(ID); 
     817                }; 
     818 
    768819        next_previous_msg_td.appendChild(img_previous_msg); 
    769820        next_previous_msg_td.appendChild(img_space); 
  • trunk/expressoMail1_2/js/main.js

    r565 r569  
    118118 
    119119                //Change msg class to read. 
    120                 set_msg_as_read(msg_info['msg_number'], true); 
     120                if (msg_info.Unseen == 'U') 
     121                        set_msg_as_read(msg_info['msg_number'], true); 
    121122                 
    122123                if ((msg_info.DispositionNotificationTo) && ((msg_info.Unseen == 'U') || (msg_info.Recent == 'N'))){ 
     
    162163                        update_quota(get_current_folder()); 
    163164                        } 
     165                         if(data.new_msgs > 0 || data.msgs_to_delete.length > 0) 
     166                                purgeCache(); 
    164167                } 
    165168                update_menu(); 
     
    271274                                write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 
    272275                } 
    273          
     276 
    274277                selected_messages = selected_messages.split(","); 
    275278                for (i = 0; i < selected_messages.length; i++){ 
     
    280283 
    281284        if (selected_messages){ 
     285                var selected_param = ""; 
     286                if (selected_messages.indexOf(',') != -1) 
     287                { 
     288                        selected_msg_array = selected_messages.split(","); 
     289                        for (i = 0; i < selected_msg_array.length; i++){ 
     290                                var tr = Element(selected_msg_array[i]); 
     291                                selected_param += ','+tr.name+';'+tr.id; 
     292                        } 
     293                } 
     294                else 
     295                { 
     296                        var tr=Element(selected_messages); 
     297                        selected_param=tr.name+';'+tr.id; 
     298                } 
    282299                var params = ""; 
    283300                if (!new_folder && parseInt(preferences.save_deleted_msg)){  
     
    286303                        params = "&delete=true"; 
    287304                }                        
    288                 params += "&selected_messages="+url_encode(selected_messages); 
     305                 
     306                params += "&selected_messages="+url_encode(selected_param); 
    289307                if(new_folder) { 
    290308                        params += "&new_folder="+url_encode(new_folder); 
     
    406424        for (j; j<(main_list.length); j++) 
    407425        { 
    408         if (main_list[j].id.indexOf(';') == -1) 
    409         { 
    410                 check_box = Element("check_box_message_"+main_list[j].id); 
    411                 if ( (check_box) && (check_box.checked) ) 
    412                         selected_messages += main_list[j].id + ','; 
    413         } 
    414         else 
    415         { // Message from search tab 
    416                 check_box = Element("check_box_message_"+main_list[j].id.substr(main_list[j].id.indexOf(';')+1)); 
    417                 if ( (check_box) && (check_box.checked) ) 
    418                         selected_messages += main_list[j].id.substr(main_list[j].id.indexOf(';')+1) + ','; 
    419         } 
     426        check_box = Element("check_box_message_"+main_list[j].id); 
     427        if ( (check_box) && (check_box.checked) ) 
     428                selected_messages += main_list[j].id + ','; 
    420429                 
    421430                if (preferences.use_shortcuts == '1') 
  • trunk/expressoMail1_2/js/search.js

    r372 r569  
    301301                                        var mailbox = aux[0]; 
    302302                                        var uid_msg = aux[5]; 
    303                                         tr.id = mailbox + ";" + uid_msg; 
     303                                        tr.id = uid_msg; 
     304                                        tr.name = mailbox; 
    304305                                        var td = document.createElement("TD");                                   
    305306                                         
     
    308309                                                td.style.width = "1%";                                   
    309310                                                var subject_encode = url_encode(aux[2]); 
    310                                                 var td1 = '<input type="checkbox" id="check_box_message_'+tr.id.substr(tr.id.indexOf(';')+1)+'"></input>'; 
     311                                                var td1 = '<input type="checkbox" id="check_box_message_'+uid_msg+'"></input>'; 
    311312                                        } 
    312313                                        if( j == 1){ 
     
    350351                                } 
    351352                        } 
    352                         aux.splice(0,(aux.length));      
     353                        aux.splice(0,(aux.length)); 
    353354 
    354355                subject = tr.firstChild; 
  • trunk/expressoMail1_2/templates/default/config.tpl

    r413 r569  
    2121     </select>&nbsp;&nbsp;&nbsp;path: /home/expresso/mail_senders.log 
    2222    </td> 
     23   </tr> 
     24   <tr bgcolor="{row_on}"> 
     25   <td>{lang_Do_you_want_to_cache_php_requests_in_javascript?}</td> 
     26   <td> 
     27   <select name="newsettings[expressoMail_enable_cache]"> 
     28   <option value=""{selected_expressoMail_enable_cache_False}>{lang_No}</option> 
     29   <option value="True"{selected_expressoMail_enable_cache_True}>{lang_Yes}</option> 
     30   </select> 
     31   </td> 
    2332   </tr> 
    2433   <tr bgcolor="{row_off}"> 
Note: See TracChangeset for help on using the changeset viewer.