Changeset 4664


Ignore:
Timestamp:
07/04/11 16:36:02 (13 years ago)
Author:
fernando-alberto
Message:

Ticket #1269 - Desenvolvimento da nova solucao de arquivamento local MailArchiver?, desenho das arvores

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/js/draw_api.js

    r4644 r4664  
    1818        } 
    1919var currentTab,numBox = 0; // Open Tab and num of mailboxes opened at context 
    20 // Objeto Map, talvez o ideal fosse adicionar este objeto à Api do egroupware, e carregá-lo 
     20// Objeto Map, talvez o ideal fosse adicionar este objeto ï¿œ Api do egroupware, e carregï¿œ-lo 
    2121// aqui no expressoMail. 
    2222function Map() 
     
    110110                        cExecute ("$this.imap_functions.get_folders_list&folder="+current_folder, update_tree_folders); 
    111111                } 
    112  
     112                //MAILARCHIVE_14 
     113                //Create local folders main structure tree 
     114                if(preferences.use_local_messages=="1"){ 
     115                    var disabled_local_span = document.getElementById('llocal_disabledtree_folders'); 
     116 
     117                    //Services are disabled: because Mail Archiver is not running/installed or have just crashed. Link activation is created here 
     118                    if(!expresso_mail_archive.enabled){ 
     119                        tree_folders.getNodeById("local_disabled").alter({caption:get_lang('Offline'), onClick: "retry_local_folders()"}); 
     120                        tree_folders.getNodeById("local_disabled")._refresh(); 
     121 
     122                        if((disabled_local_span) && (!document.getElementById('services_retry'))){ 
     123                            disabled_local_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_services.png)"; 
     124 
     125                            var service_retry = document.createElement("SPAN"); 
     126                            service_retry.id = 'services_retry'; 
     127                            service_retry.className = 'clean_trash'; 
     128                            service_retry.style.cursor = 'pointer'; 
     129                            service_retry.onclick = function () {services_retry();}; 
     130                            service_retry.innerHTML = "["+get_lang("Retry")+"]"; 
     131                            service_retry.title="Reconectar ao Mail Archiver"; 
     132                            service_retry.onmouseover = function() {service_retry.style.color="red";}; 
     133                            service_retry.onmouseout= function() {service_retry.style.color="#666666";}; //#114FA4 
     134                            disabled_local_span.parentNode.appendChild(service_retry); 
     135                        } 
     136                    } 
     137                    //Services enabled: list folders service must be invoqued 
     138                    else{ 
     139                        var services_retry_span = document.getElementById('services_retry'); 
     140 
     141                        if(services_retry_span){ 
     142                            //window.alert('Tem services_retry -> vai remover o disabled_local_span'); 
     143                            var node_disabled_to_remove = document.getElementById('nlocal_disabledtree_folders'); 
     144                            //document.getElementById('chlocal_roottree_folders').removeChild('nlocal_disabledtree_folders'); 
     145                            //services_retry_span.parentNode.removeChild(services_retry_span); 
     146                            node_disabled_to_remove.parentNode.removeChild(node_disabled_to_remove); 
     147                        } 
     148                        //else 
     149                          //  window.alert('Sem services retry'); 
     150 
     151                        //tree_folders.getNodeById("local_disabled").alter({caption:get_lang('List_Folders')}); 
     152                                                 
     153                       //expresso_mail_archive.getFoldersList('FERNANDAO22', ""); 
     154                       var drawinginfo = {treeObject: tree_folders, treeName: 'tree_folders'}; 
     155                       expresso_mail_archive.drawdata = drawinginfo; 
     156                       //expresso_mail_archive.getFoldersList("");                         
     157                         
     158                        //tree_folders.getNodeById("local_root")._refresh(); 
     159 
     160                        if(disabled_local_span) 
     161                            disabled_local_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_folder.png)";                        
     162                    }       
     163                } 
    113164                return; 
    114165        } 
    115166        else{ 
    116                 if (!expresso_offline) { 
     167                if (!expresso_offline) { 
    117168                        tree_folders = new dFTree({name: 'tree_folders'}); 
    118169 
     
    154205                        } 
    155206                } 
     207                //MAILARCHIVER 
     208                //Create local folders main structure tree 
     209                if(preferences.use_local_messages=="1"){                     
     210                    //Add the local_root node 
     211                    var root_local = new dNode({id: "local_root", caption: get_lang('local folders'), plusSign: true}); 
     212                    tree_folders.add(root_local, "root");    
     213                     
     214                    //Services are disabled: because Mail Archiver is not running/installed or have just crashed. Link activation is created here 
     215                    if(!expresso_mail_archive.enabled){ 
     216                        var n_LocalDisabled = new dNode({id: "local_disabled", caption: get_lang('Offline'), onClick: "services_retry()", plusSign:false}); 
     217                        tree_folders.add(n_LocalDisabled, 'local_root'); 
     218                    } 
     219                     
     220                    //Services enabled: list folders service must be invoqued 
     221                    else{ 
     222                        var drawinginfo = {treeObject: tree_folders, treeName: 'tree_folders'}; 
     223                        expresso_mail_archive.drawdata = drawinginfo; 
     224                        //expresso_mail_archive.getFoldersList(""); 
     225                    } 
     226                     
     227                    //Opens the local folders tree view 
     228                    //tree_folders.getNodeById("local_root").open(); 
     229                     
     230                }                 
    156231 
    157232 
     
    183258//              cExecute('$this.rss.getChannels',handlerChannel); 
    184259 
    185  
    186                 /** 
    187                  * Pastas locais 
    188                  */ 
    189                 if (preferences.use_local_messages==1 || expresso_offline) { 
    190                         if (!window.google || !google.gears) { 
    191                                 if (!expresso_local_messages.installGears()) 
    192                                         preferences.use_local_messages=0; 
    193                         } 
    194                         else{ 
    195                                 if (!window.google || !google.gears) { 
    196                                 temp = confirm(get_lang("To use local messages you have to install google gears. Would you like to be redirected to gears installation page?")); 
    197                                 if (temp) { 
    198                                         location.href = "http://gears.google.com/?action=install&message="+ 
    199                                         "Para utilizar o recurso de mensagens locais, instale o google gears&return=" + 
    200                                         document.location.href; 
    201                                 } 
    202                                 else { 
    203                                         preferences.use_local_messages=0; 
    204                                 } 
    205                         } 
    206                         else{ 
    207                                 if (expresso_offline) 
    208                                         tree_folders = new dFTree({ 
    209                                                 name: 'tree_folders' 
    210                                         }); 
    211                                 var root_local = new dNode({ 
    212                                         id: "local_root", 
    213                                         caption: get_lang('local folders') 
    214                                 }); 
    215                                 tree_folders.add(root_local, "root"); //coloca root local 
    216                                 var local_folders = expresso_local_messages.list_local_folders(); 
    217                                 for (var i in local_folders) { //Coloca as pastas locais. 
    218                                         var node_root = "local_root"; 
    219                                         var new_caption = local_folders[i][0]; 
    220                                         if (local_folders[i][0].indexOf("/") != "-1") { 
    221                                                 final_pos = local_folders[i][0].lastIndexOf("/"); 
    222                                                 node_root = "local_" + local_folders[i][0].substr(0, final_pos); 
    223                                                 new_caption = local_folders[i][0].substr(final_pos + 1); 
    224                                         } 
    225                                         if (local_folders[i][1] > 0) 
    226                                                 var nodeLocal = new dNode({ 
    227                                                         id: "local_" + local_folders[i][0], 
    228                                                         caption: lang_folder(new_caption) + '<font style=color:red>&nbsp(</font><span id="local_unseen" style=color:red>' + local_folders[i][1] + '</span><font style=color:red>)</font>', 
    229                                                         onClick: "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", 
    230                                                         plusSign: local_folders[i][2] 
    231                                                 }); 
    232                                         else 
    233                                                 var nodeLocal = new dNode({ 
    234                                                         id: "local_" + local_folders[i][0], 
    235                                                         caption: lang_folder(new_caption), 
    236                                                         onClick: "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", 
    237                                                         plusSign: local_folders[i][2] 
    238                                                 }); 
    239                                                 tree_folders.add(nodeLocal, node_root); 
    240                                         } 
    241                                 } 
    242                         } 
    243                 } 
     260              
    244261 
    245262                tree_folders.draw(Element('content_folders')); 
     
    265282                var sent_span_default=document.getElementById('llocal_'+sentfolder+'tree_folders'); 
    266283 
     284                //MAILARCHIVER 
     285                var disabled_local_span = document.getElementById('llocal_disabledtree_folders'); 
    267286 
    268287                if (trash_span) 
     
    290309                        sent_span_default.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_sent.png)"; 
    291310 
     311                //MAILARCHIVER 
     312                if ((disabled_local_span) && (!expresso_mail_archive.enabled)) 
     313                    disabled_local_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_services.png)"; 
    292314 
    293315                draw_paging(Element('tot_m').innerHTML); 
     
    320342                           } 
    321343 
     344                //MAILARCHIVER 
     345                if(document.getElementById("nlocal_disabledtree_folders") && (!expresso_mail_archive.enabled) && (!document.getElementById('services_retry'))) 
     346                { 
     347                    var service_retry = document.createElement("SPAN"); 
     348                    service_retry.id = 'services_retry'; 
     349                    service_retry.className = 'clean_trash'; 
     350                    service_retry.style.cursor = 'pointer'; 
     351                    service_retry.onclick = function () {services_retry();}; 
     352                    service_retry.innerHTML = "["+get_lang("Retry")+"]"; 
     353                    service_retry.title="Reconectar ao Mail Archiver"; 
     354                    service_retry.onmouseover = function() {service_retry.style.color="red";}; 
     355                    service_retry.onmouseout= function() {service_retry.style.color="#666666";}; //#114FA4 
     356                    document.getElementById("nlocal_disabledtree_folders").appendChild(service_retry); 
     357                } 
    322358 
    323359                if(!expresso_offline) 
     
    365401 
    366402function draw_tree_local_folders() { 
     403        //MAILARCHIVER     
     404        if(preferences.use_local_messages=="1"){ 
     405            //var local_folders_list = expresso_mail_archive.getFoldersList('JOAQUIM', ""); 
     406            //var drawinginfo = {treeObject: tree_folders}; 
     407            var local_folders_list = expresso_mail_archive.getFoldersList(""); 
     408            //window.alert('Draw tree local folders data = ' + expresso_mail_archive.folders); 
     409        } 
     410     
    367411        /** 
    368412         * Pastas locais 
    369413         */ 
    370         if(preferences.use_local_messages==1 || expresso_offline) { 
     414        /*if(preferences.use_local_messages==1 || expresso_offline) { 
    371415                var local_folders = expresso_local_messages.list_local_folders(); 
    372416                var has_changes = false; 
     
    412456                        tree_folders.getNodeById("local_root").open(); 
    413457 
    414         } 
     458        }*/ 
    415459} 
    416460 
     
    470514 
    471515// Action on change folders. 
    472 function change_folder(folder, folder_name){ 
    473         if (openTab.imapBox[0] != folder) 
     516function change_folder(folder, folder_name, tree_name){ 
     517        window.alert('em change folder com folder='+folder+', folder_name='+folder_name+' e tree_name='+tree_name); 
     518        if (openTab.imapBox[0] != folder) 
    474519        { 
    475520                current_folder = folder; 
     
    486531                        return true; 
    487532                } 
    488                 proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort_box_type,search_box_type,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box); 
     533                proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort_box_type,search_box_type,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box,tree_name); 
    489534        } 
    490535        else 
     
    856901} 
    857902 
    858 // Passar o parâmetro offset para esta função 
     903// Passar o parï¿œmetro offset para esta funᅵᅵo 
    859904function make_tr_message(headers_msgs, msg_folder, offsetToGMT){ 
    860905                if (typeof offsetToGMT == 'undefined') 
     
    12251270        var folder; 
    12261271 
    1227         //Correção para fazer funcionar e-mails assinados no formato encapsulado. 
     1272        //Correᅵᅵo para fazer funcionar e-mails assinados no formato encapsulado. 
    12281273       // folder_id = info_msg.original_ID ? info_msg.original_ID: info_msg.msg_number; 
    12291274        if ((folder = document.getElementById(info_msg.original_ID)) == null) 
     
    15261571 
    15271572        div_other_options.innerHTML = option_reply_to_all + option_reply_without_history + option_reply_to_all_without_history; 
     1573         
     1574        //MAILARCHIVER 
     1575        if(preferences.use_local_messages==1){ 
     1576            if(expresso_mail_archive.enabled){ 
     1577                //window.alert('Ativo, adicionar no footer'); 
     1578                /*TODO: CHECK LOCAL FOLDER TO ADD ARCHIVE OR UNARCHIEVE FOOTER LINK OPERATION*/ 
     1579                /*if(proxy_mensagens.is_local_folder(current_folder)) 
     1580                    span_options.innerHTML += '&nbsp; <span title="'+get_lang("Unarchive")+'" class="message_options" onclick="expresso_local_messages.unarchive_msgs(\''+folder+'\',null)">'+get_lang("Unarchive")+'</span>'; 
     1581                  else 
     1582                    span_options.innerHTML += '&nbsp; <span title="'+get_lang("Archive")+'" class="message_options" onclick="archive_msgs(\''+folder+'\',null,null)">'+get_lang("Archive")+'</span>'; 
     1583                */ 
     1584               span_options.innerHTML += '&nbsp; <span title="'+get_lang("Archive")+'" class="message_options" onclick="archive_msgs(\''+folder+'\',null,null)">'+get_lang("Archive")+'</span>'; 
     1585            } 
     1586            //else 
     1587                //window.alert('Inativo. sem footer'); 
     1588        } 
     1589        //else 
     1590          //  window.alert('Sem a preferencia, nao faz nada');         
     1591         
    15281592        if (use_spam_filter) { 
    15291593                if(info_msg.msg_folder == 'INBOX'+cyrus_delimiter+'Spam') 
     
    19582022                                        (url_decode(info_msg.attachments[i].name).indexOf(".vcard")!=-1)) 
    19592023                        { 
    1960                                 //Link para importar calendário 
     2024                                //Link para importar calendï¿œrio 
    19612025                                var link_import_attachment = new Image(); 
    19622026                                link_import_attachment.src = "templates/"+template+"/images/new.png"; 
     
    20772141                                 
    20782142                                if ( ( links.item( i ).href.indexOf( 'javascript:' ) !== 0 ) &&  
    2079                                         (links.item( i ).href.indexOf(anchor_pattern) !== 0) ) //se não for âncora 
     2143                                        (links.item( i ).href.indexOf(anchor_pattern) !== 0) ) //se nï¿œo for ï¿œncora 
    20802144                                                links.item( i ).setAttribute( 'target', '_blank' ); 
    20812145                        } 
     
    24362500        td_to.appendChild(input_to); 
    24372501 
    2438         var forwarded_local_message = document.createElement("INPUT"); //Hidden para indicar se é um forward de uma mensagem local 
     2502        var forwarded_local_message = document.createElement("INPUT"); //Hidden para indicar se ï¿œ um forward de uma mensagem local 
    24392503        forwarded_local_message.id = "is_local_forward"+ID; 
    24402504        forwarded_local_message.name = "is_local_forward"; 
     
    30953159        var tbody = Element('tbody_box'); 
    30963160        for (var i=0; i<(headers_msgs.length); i++){ 
    3097             // passa parâmetro offset 
     3161            // passa parï¿œmetro offset 
    30983162                var tr = this.make_tr_message(headers_msgs[i], headers_msgs[i].msg_folder); 
    30993163                if (tr) 
     
    33143378 
    33153379                if(isOverLimit) { 
    3316                         alert("Esse campo possui muitos endereços ("+_address.length+" destinatários).\r\n"+ 
    3317                         "Para evitar o travamento do navegador, o botão 'Adicionar Contato' foi desabilitado!"); 
     3380                        alert("Esse campo possui muitos endereï¿œos ("+_address.length+" destinatï¿œrios).\r\n"+ 
     3381                        "Para evitar o travamento do navegador, o botï¿œo 'Adicionar Contato' foi desabilitado!"); 
    33183382                } 
    33193383 
     
    33513415                ((expresso_offline)?" ":'<span class="message_options_export"><span ' + change_font_color + ' title="'+get_lang("Export")+'" class="message_options" onclick="proxy_mensagens.export_all_messages()">'+get_lang("Export")+'</span></span>') + 
    33523416                ((expresso_offline)?" ":'<span class="message_options_import"><span ' + change_font_color + ' title="'+get_lang("Import")+'" class="message_options" onclick="import_window()">'+get_lang("Import")+'</span></span>'); 
    3353         if(preferences.use_local_messages==1 && !expresso_offline) 
     3417        /*if(preferences.use_local_messages==1 && !expresso_offline) 
    33543418                if(proxy_mensagens.is_local_folder(current_folder)) 
    33553419                        span_options.innerHTML += '&nbsp; <span title="'+get_lang("Unarchive")+'" class="message_options" onclick="expresso_local_messages.unarchive_msgs(\''+folder+'\',null)">'+get_lang("Unarchive")+'</span>'; 
    33563420                else 
    3357                         span_options.innerHTML += '&nbsp; <span title="'+get_lang("Archive")+'" class="message_options" onclick="archive_msgs(\''+folder+'\',null)">'+get_lang("Archive")+'</span>'; 
     3421                        span_options.innerHTML += '&nbsp; <span title="'+get_lang("Archive")+'" class="message_options" onclick="archive_msgs(\''+folder+'\',null)">'+get_lang("Archive")+'</span>';*/ 
     3422     
     3423            //MAILARCHIVER 
     3424        if(preferences.use_local_messages==1){ 
     3425            if(expresso_mail_archive.enabled){ 
     3426                //window.alert('Ativo, adicionar no footer'); 
     3427                /*TODO: CHECK LOCAL FOLDER TO ADD ARCHIVE OR UNARCHIEVE FOOTER LINK OPERATION*/ 
     3428                /*if(proxy_mensagens.is_local_folder(current_folder)) 
     3429                    span_options.innerHTML += '&nbsp; <span title="'+get_lang("Unarchive")+'" class="message_options" onclick="expresso_local_messages.unarchive_msgs(\''+folder+'\',null)">'+get_lang("Unarchive")+'</span>'; 
     3430                  else 
     3431                    span_options.innerHTML += '&nbsp; <span title="'+get_lang("Archive")+'" class="message_options" onclick="archive_msgs(\''+folder+'\',null,null)">'+get_lang("Archive")+'</span>'; 
     3432                */ 
     3433               span_options.innerHTML += '&nbsp; <span title="'+get_lang("Archive")+'" class="message_options" onclick="archive_msgs(\''+folder+'\',null,null)">'+get_lang("Archive")+'</span>'; 
     3434            } 
     3435            //else 
     3436                //window.alert('Inativo. sem footer'); 
     3437        } 
     3438        //else 
     3439          //  window.alert('Sem a preferencia, nao faz nada'); 
     3440     
     3441     
     3442     
     3443     
    33583444        if (use_spam_filter) { 
    33593445                if ( current_folder == 'INBOX'+cyrus_delimiter+'Spam' ) { 
Note: See TracChangeset for help on using the changeset viewer.