Changeset 2899


Ignore:
Timestamp:
06/07/10 11:07:57 (14 years ago)
Author:
rodsouza
Message:

Ticket #1059 - Organizando a função draw_tree_folders para viabilizar a legibilidade.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/js/jscode/draw_api_folders.js

    r2800 r2899  
    444444} 
    445445 
    446 function draw_tree_folders(folders){ 
     446function draw_tree_folders( folders ) 
     447{ 
    447448        // Check if the tree folders alredy exist. 
    448         translatedFolders = new Map(); 
    449         if (Element('dftree_tree_folders')){ 
    450                 if (!expresso_offline) { 
    451                         var update_tree_folders = function(data){ 
    452                                 build_quota(data); 
    453                                 var unseen_in_mailbox = 0; 
    454                                 var unseen_in_shared_folders = 0; 
    455                                 for (var i=0; i<data.length; i++){ 
    456                                         if ( data[i].folder_unseen > 0 ) 
     449        if ( ! Element( 'dftree_tree_folders' ) ) 
     450        { 
     451                translatedFolders = new Map( ); 
     452                if ( ! expresso_offline ) 
     453                { 
     454                        tree_folders = new dFTree( { 
     455                                "name" : 'tree_folders' 
     456                        } ); 
     457 
     458                        var n_root = new dNode( { 
     459                                "id" : 'root', 
     460                                "caption" : get_lang( "My Folders" ) 
     461                        } ); 
     462 
     463                        tree_folders.add( n_root, 'anything' ); //Places the root; second argument can be anything. 
     464 
     465                        var unseen_in_mailbox = 0; 
     466                        var unseen_in_shared_folders = 0; 
     467 
     468                        for ( var i = 0; i < folders.length; i++ ) 
     469                        { 
     470                                if ( folders[ i ].folder_unseen > 0 ) 
     471                                { 
     472                                        unseen_in_mailbox = parseInt( unseen_in_mailbox + folders[ i ].folder_unseen ); 
     473                                        if ( folders[i].folder_id.indexOf( 'INBOX' ) !== 0 ) 
     474                                                unseen_in_shared_folders = parseInt( unseen_in_shared_folders + folders[ i ].folder_unseen ); 
     475 
     476                                        var nn = new dNode( { 
     477                                                "id" : folders[i].folder_id, 
     478                                                "caption" : lang_folder( folders[ i ].folder_name ) 
     479                                                                        + '<font style=color:red>&nbsp(</font><span id="dftree_' 
     480                                                                        + folders[ i ].folder_id 
     481                                                                        + '_unseen" style=color:red>' 
     482                                                                        + folders[ i ].folder_unseen 
     483                                                                        + '</span><font style=color:red>)</font>', 
     484                                                "onClick" : "change_folder('" + folders[ i ].folder_id+"','" + folders[ i ].folder_name + "')", 
     485                                                "plusSign" : folders[ i ].folder_hasChildren 
     486                                        } ); 
     487 
     488                                        if ( folders[ i ].folder_name.toLowerCase( ) == 'inbox' ) 
     489                                                Element( 'new_m' ).innerHTML = '<font style="color:red">' + folders[ i ].folder_unseen + '</font>'; 
     490                                } 
     491                                else 
     492                                        var nn = new dNode( { 
     493                                                "id" : folders[ i ].folder_id, 
     494                                                "caption" : lang_folder( folders[ i ].folder_name ), 
     495                                                "onClick" : "change_folder('" + folders[ i ].folder_id + "','" + folders[ i ].folder_name + "')", 
     496                                                "plusSign" : folders[ i ].folder_hasChildren 
     497                                        }); 
     498 
     499                                if ( folders[ i ].folder_parent == '' ) 
     500                                        folders[ i ].folder_parent = 'root'; 
     501                                else 
     502                                { 
     503                                        if ( folders[ i ].folder_parent == 'user' && ( ! tree_folders.getNodeById( 'user' ) ) ) 
    457504                                        { 
    458                                                 unseen_in_mailbox = parseInt( unseen_in_mailbox + data[ i ].folder_unseen ); 
    459                                                 if ( data[i].folder_id.indexOf( 'INBOX' ) !== 0 ) 
    460                                                         unseen_in_shared_folders = parseInt( unseen_in_shared_folders + data[ i ].folder_unseen ); 
    461                                         } 
    462  
    463                                         var folder_unseen = Element('dftree_'+data[i].folder_id+'_unseen'); 
    464  
    465                                         if ((folder_unseen) && (data[i].folder_unseen > 0)) 
    466                                         { 
    467                                                 folder_unseen.innerHTML = data[i].folder_unseen; 
    468                                         } 
    469                                         else if (data[i].folder_unseen > 0) 
    470                                         { 
    471                                                 tree_folders.getNodeById(data[i].folder_id).alter({ 
    472 caption:lang_folder(data[i].folder_name) + '<font style=color:red>&nbsp(</font><span id="dftree_'+data[i].folder_id+'_unseen" style=color:red>'+data[i].folder_unseen+'</span><font style=color:red>)</font>' 
    473 }); 
    474                                                 tree_folders.getNodeById(data[i].folder_id)._refresh(); 
    475                                         } 
    476                                         else if (data[i].folder_unseen <= 0) 
    477                                         { 
    478                                         tree_folders.getNodeById(data[i].folder_id).alter({ 
    479                                         caption:lang_folder(data[i].folder_name) 
    480                                         }); 
    481                                         tree_folders.getNodeById(data[i].folder_id)._refresh(); 
    482                                         } 
    483                                         if(data[i].folder_id == current_folder){ 
    484                                         var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 
    485         //                                      if(!isNaN(old_new_m) && old_new_m < data[i].folder_unseen){ 
    486         //                                              Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(data[i].folder_unseen)-old_new_m); 
    487         //                                      } 
    488                                         Element('new_m').innerHTML = data[i].folder_unseen ? '<font color="RED">'+data[i].folder_unseen+'</font>' : 0; 
    489                                         draw_paging(Element('tot_m').innerHTML); 
    490                                         } 
    491                         } 
    492  
    493                         var display_unseen_in_mailbox = tree_folders.getNodeById( 'root' ); 
    494                         //if ( unseen_in_mailbox ) 
    495                         //      display_unseen_in_mailbox.alter({caption:'<font style=color:red>[</font><span id="dftree_root_unseen" style="color:red">' + unseen_in_mailbox +'</span><font style=color:red>]</font> ' + get_lang("My Folders")}); 
    496                         //else 
    497                         display_unseen_in_mailbox.alter({ 
    498                                 caption:get_lang("My Folders") 
    499                         }); 
    500                         display_unseen_in_mailbox._refresh(); 
    501  
    502                         var display_unseen_in_shared_folders = tree_folders.getNodeById( 'user' ); 
    503                         if ( display_unseen_in_shared_folders ) 
    504                         { 
    505                                 if ( unseen_in_shared_folders ) 
    506                                 display_unseen_in_shared_folders.alter({ 
    507                                 caption:'<font style=color:red>[</font><span id="dftree_user_unseen" style="color:red">' + unseen_in_shared_folders +'</span><font style=color:red>]</font> ' + get_lang("Shared folders") 
    508                         }); 
    509                         else 
    510                         display_unseen_in_shared_folders.alter({ 
    511                         caption:get_lang("Shared folders") 
    512                         }); 
    513                         display_unseen_in_shared_folders._refresh(); } }; 
    514                 } 
    515                 return; 
    516         } 
    517         else{ 
    518                 if (!expresso_offline) { 
    519                         tree_folders = new dFTree({ 
    520                         name: 'tree_folders' 
    521                         }); 
    522                                 var n_root = new dNode({ 
    523                                 id:'root', 
    524                                 caption: get_lang("My Folders") 
    525                         }); 
    526                         tree_folders.add(n_root,'anything'); //Places the root; second argument can be anything. 
    527  
    528         var unseen_in_mailbox = 0; 
    529         var unseen_in_shared_folders = 0; 
    530         for (var i=0; i<folders.length; i++){ 
    531                 if (folders[i].folder_unseen > 0) 
    532                 { 
    533                         unseen_in_mailbox = parseInt( unseen_in_mailbox + folders[ i ].folder_unseen ); 
    534                         if ( folders[i].folder_id.indexOf( 'INBOX' ) !== 0 ) 
    535                                 unseen_in_shared_folders = parseInt( unseen_in_shared_folders + folders[ i ].folder_unseen ); 
    536  
    537                         var nn = new dNode({ 
    538                                 id:folders[i].folder_id, 
    539                                 caption:lang_folder(folders[i].folder_name) + '<font style=color:red>&nbsp(</font><span id="dftree_'+folders[i].folder_id+'_unseen" style=color:red>'+folders[i].folder_unseen+'</span><font style=color:red>)</font>', 
    540                                 onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", 
    541                                 plusSign:folders[i].folder_hasChildren 
    542                         }); 
    543  
    544                         if( folders[i].folder_name.toLowerCase() == 'inbox' ) 
    545                                 Element('new_m').innerHTML = '<font style="color:red">' + folders[i].folder_unseen + '</font>'; 
    546                         } 
    547                         else 
    548                                 var nn = new dNode({ 
    549                                         id:folders[i].folder_id, 
    550                                         caption:lang_folder(folders[i].folder_name), 
    551                                         onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", 
    552                                         plusSign:folders[i].folder_hasChildren 
    553                                 }); 
    554  
    555                         if (folders[i].folder_parent == '') 
    556                                 folders[i].folder_parent = 'root'; 
    557                         else if (folders[i].folder_parent == 'user'){ 
    558  
    559                                 if (!tree_folders.getNodeById('user')){ 
    560                                         tmpFolderId = folders[i].folder_id.split(cyrus_delimiter).pop(); 
    561                                         if (tmpFolderId != folders[i].folder_name) 
    562                                         { 
    563                                                 translatedFolders.add(tmpFolderId, folders[i].folder_name); 
    564                                         } 
    565                                         var n_root_shared_folders = new dNode({ 
    566                                                 id:'user', 
    567                                                 caption:get_lang("Shared folders"), 
    568                                                 plusSign:true 
    569                                         }); 
    570                                         tree_folders.add(n_root_shared_folders,'root'); 
    571                                 } 
    572                 } 
    573                 tree_folders.add(nn,folders[i].folder_parent); 
    574         } 
    575 } 
    576 //tree_local_folders = new dFTree({name: 'tree_local_folders'}); 
    577 /** 
    578  * Pastas locais 
    579  */ 
    580 if (preferences.use_local_messages==1 || expresso_offline) { 
    581         if (!window.google || !google.gears) { 
    582                 if (!expresso_local_messages.installGears()) 
    583                         preferences.use_local_messages=0; 
    584         } 
    585         else{ 
    586                 if (!window.google || !google.gears) { 
    587                         temp = confirm(get_lang("To use local messages you have to install google gears. Would you like to be redirected to gears installation page?")); 
    588                         if (temp) { 
    589                                 location.href = "http://gears.google.com/?action=install&message="+ 
    590                                         "Para utilizar o recurso de mensagens locais, instale o google gears&return=" + 
    591                                         document.location.href; 
    592                         } 
    593                         else { 
    594                                 preferences.use_local_messages=0; 
    595                         } 
    596                 } 
    597                 else{ 
    598                         if (expresso_offline) 
    599                                 tree_folders = new dFTree({ 
    600 name: 'tree_folders' 
    601 }); 
    602 var root_local = new dNode({ 
    603 id: "local_root", 
    604 caption: get_lang('local folders') 
    605 }); 
    606 tree_folders.add(root_local, "root"); //coloca root local 
    607 var local_folders = expresso_local_messages.list_local_folders(); 
    608 for (var i in local_folders) { //Coloca as pastas locais. 
    609         if(!isNaN(i)){ 
    610                 var node_root = "local_root"; 
    611                 var new_caption = local_folders[i][0]; 
    612                 if (local_folders[i][0].indexOf("/") != "-1") { 
    613                         final_pos = local_folders[i][0].lastIndexOf("/"); 
    614                         node_root = "local_" + local_folders[i][0].substr(0, final_pos); 
    615                         new_caption = local_folders[i][0].substr(final_pos + 1); 
    616                 } 
    617                 if (local_folders[i][1] > 0) 
    618                         var nodeLocal = new dNode({ 
    619 id: "local_" + local_folders[i][0], 
    620 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>', 
    621 onClick: "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", 
    622 plusSign: local_folders[i][2] 
    623 }); 
    624 else 
    625 var nodeLocal = new dNode({ 
    626 id: "local_" + local_folders[i][0], 
    627 caption: lang_folder(new_caption), 
    628 onClick: "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", 
    629 plusSign: local_folders[i][2] 
    630 }); 
    631 tree_folders.add(nodeLocal, node_root); 
    632 } 
    633 } 
    634 } 
    635 } 
    636 } 
    637  
    638 tree_folders.draw(Element('content_folders')); 
    639 if (!expresso_offline) { 
    640         n_root.changeState(); 
    641         folder_select = (current_folder ? current_folder:"INBOX"); 
    642         if (typeof(tree_folders.getNodeById(folder_select)) == 'undefined') 
    643                 return false; 
    644         tree_folders.getNodeById(folder_select)._select(); 
    645 } 
    646 else { 
    647         root_local.changeState(); 
    648         tree_folders.getNodeById('local_Inbox')._select(); 
    649 } 
    650  
    651 var trash_span=document.getElementById('lINBOX/'+trashfolder+'tree_folders'); 
    652 var draft_span=document.getElementById('lINBOX/'+draftsfolder+'tree_folders'); 
    653 var sent_span=document.getElementById('lINBOX/'+sentfolder+'tree_folders'); 
    654 var spam_span=document.getElementById('lINBOX/'+spamfolder+'tree_folders'); 
    655  
    656 if (trash_span) 
    657         trash_span.style.backgroundImage="url(" + URL_SERVER + "phpgwapi/templates/"+template+"/images/foldertree_trash.png)"; 
    658  
    659 if (draft_span) 
    660         draft_span.style.backgroundImage="url(" + URL_SERVER + "phpgwapi/templates/"+template+"/images/foldertree_draft.png)"; 
    661  
    662 if (sent_span) 
    663         sent_span.style.backgroundImage="url(" + URL_SERVER + "phpgwapi/templates/"+template+"/images/foldertree_sent.png)"; 
    664  
    665 if (spam_span) 
    666         spam_span.style.backgroundImage="url(" + URL_SERVER + "phpgwapi/templates/"+template+"/images/foldertree_spam.png)"; 
    667  
    668  
    669         draw_paging(Element('tot_m').innerHTML); 
    670         if(document.getElementById("nINBOX/"+trashfolder+"tree_folders")) 
    671 { 
    672         var trash = document.createElement("SPAN"); 
    673         trash.id = 'empty_trash'; 
    674         trash.className = 'clean_folder'; 
    675         trash.style.cursor = 'pointer'; 
    676         trash.onclick = function () { 
    677                 empty_trash_imap(); 
    678         }; 
    679         trash.innerHTML = "["+get_lang("Clean")+"]"; 
    680         trash.title=get_lang("Empty trash"); 
    681         trash.onmouseover = function() { 
    682                 trash.style.color="red"; 
    683         }; 
    684         trash.onmouseout= function() { 
    685                 trash.style.color="#666666"; 
    686         }; 
    687         document.getElementById("nINBOX/"+trashfolder+"tree_folders").appendChild(trash); 
    688 } 
    689 if(document.getElementById("nINBOX/"+spamfolder+"tree_folders")) 
    690 { 
    691         var spam = document.createElement("SPAN"); 
    692         spam.id = 'empty_spam'; 
    693         spam.className = 'clean_folder'; 
    694         spam.style.cursor = 'pointer'; 
    695         spam.style.padding = '0 0 0 6px'; 
    696         spam.onclick = function () { 
    697                 empty_spam_imap(); 
    698         }; 
    699         spam.innerHTML = "["+get_lang("Clean")+"]"; 
    700         spam.title=get_lang("Empty Spam Folder"); 
    701         spam.onmouseover = function() { 
    702                 spam.style.color="red"; 
    703         }; 
    704         spam.onmouseout= function() { 
    705                 spam.style.color="#666666"; 
    706         }; 
    707         document.getElementById("nINBOX/"+spamfolder+"tree_folders").appendChild(spam); 
    708 } 
    709  
    710 // Draw right menu folders. 
    711 /* 
    712    var treeroot = document.getElementById('chroottree_folders');  
    713    for (var linkBox = treeroot.firstChild; linkBox != null; linkBox = linkBox.nextSibling) 
    714    _dragArea.makeMenuBox(linkBox); 
    715    */ 
    716  
    717 if(!expresso_offline) 
    718         var display_unseen_in_mailbox = tree_folders.getNodeById( 'root' ); 
    719         else 
    720         var display_unseen_in_mailbox = tree_folders.getNodeById( 'local_root' ); 
    721         //if ( unseen_in_mailbox ) 
    722         //      display_unseen_in_mailbox.alter({caption:'<font style=color:red>[</font><span id="dftree_root_unseen" style="color:red">' + unseen_in_mailbox +'</span><font style=color:red>]</font> ' + get_lang("My Folders")}); 
    723         //else 
    724         display_unseen_in_mailbox.alter({ 
    725 caption:get_lang("My Folders") 
    726 }); 
    727 display_unseen_in_mailbox._refresh(); 
    728  
    729 var display_unseen_in_shared_folders = tree_folders.getNodeById( 'user' ); 
    730 if ( display_unseen_in_shared_folders ) 
    731 { 
    732         if ( unseen_in_shared_folders ) 
    733                 display_unseen_in_shared_folders.alter({ 
    734 caption:'<font style=color:red>[</font><span id="dftree_user_unseen" style="color:red">' + unseen_in_shared_folders +'</span><font style=color:red>]</font> ' + get_lang("Shared folders") 
    735 }); 
    736 else 
    737 display_unseen_in_shared_folders.alter({ 
    738 caption:get_lang("Shared folders") 
    739 }); 
    740 display_unseen_in_shared_folders._refresh(); 
    741 } 
    742 } 
    743  
    744 if (!expresso_offline) { 
    745         var folder_create = ""; 
    746         var nm1 = ""; 
    747         if(tree_folders._folderPr.length > 0){ 
    748                 var nm_folder = ""; 
    749                 for(var i=0; i < tree_folders._folderPr.length; i++){ 
    750                         nm_folder = tree_folders._folderPr[i].split(cyrus_delimiter); 
    751                         if(nm_folder[0] == "INBOX"){ 
    752                                 if(nm1 == ""){ 
    753                                         nm1 = nm_folder[1]; 
    754                                         folder_create = "INBOX" + cyrus_delimiter + nm_folder[1] + ";"; 
    755                                 }else{ 
    756                                         if( nm1 != nm_folder[1]){ 
    757                                                 folder_create += "INBOX" + cyrus_delimiter + nm_folder[1] + ";"; 
    758                                                 nm1 = nm_folder[1]; 
     505                                                tmpFolderId = folders[ i ].folder_id.split( cyrus_delimiter ).pop( ); 
     506                                                if ( tmpFolderId != folders[ i ].folder_name ) 
     507                                                        translatedFolders.add( tmpFolderId, folders[ i ].folder_name ); 
     508 
     509                                                var n_root_shared_folders = new dNode( { 
     510                                                        "id" : 'user', 
     511                                                        "caption" : get_lang( "Shared folders" ), 
     512                                                        "plusSign" : true 
     513                                                } ); 
     514                                                tree_folders.add( n_root_shared_folders, 'root' ); 
    759515                                        } 
    760516                                } 
    761                         } 
    762                 } 
    763         } 
    764         if(folder_create != ""){ 
    765                 if(confirm(get_lang("There are folders with invalid format. Do you want to fix them?"))){ 
    766                         var handler_correct_folders = function(data){ 
    767                                 //Timeout to release HTTPRequest , loadScript and update tree folders. 
    768                                 if(data) 
    769                                         setTimeout("expresso.connector.loadScript('jscode/TreeShow');ttreeBox.update_folder();",500); 
     517                                tree_folders.add( nn, folders[ i ].folder_parent ); 
     518                        } 
     519                } 
     520 
     521                /** 
     522                 * Pastas locais 
     523                 */ 
     524                if (preferences.use_local_messages==1 || expresso_offline) 
     525                { 
     526                        if (!window.google || !google.gears) { 
     527                                if (!expresso_local_messages.installGears()) 
     528                                        preferences.use_local_messages=0; 
     529                        } 
     530                        else{ 
     531                                if (!window.google || !google.gears) { 
     532                                        temp = confirm(get_lang("To use local messages you have to install google gears. Would you like to be redirected to gears installation page?")); 
     533                                        if (temp) { 
     534                                                location.href = "http://gears.google.com/?action=install&message="+ 
     535                                                        "Para utilizar o recurso de mensagens locais, instale o google gears&return=" + 
     536                                                        document.location.href; 
     537                                        } 
     538                                        else { 
     539                                                preferences.use_local_messages=0; 
     540                                        } 
     541                                } 
     542                                else{ 
     543                                        if (expresso_offline) 
     544                                                tree_folders = new dFTree({ 
     545                                                                "name" : 'tree_folders' 
     546                                                                }); 
     547                                        var root_local = new dNode({ 
     548                                                        "id" : "local_root", 
     549                                                        "caption" : get_lang('local folders') 
     550                                                        }); 
     551                                        tree_folders.add(root_local, "root"); //coloca root local 
     552                                        var local_folders = expresso_local_messages.list_local_folders(); 
     553                                        for (var i in local_folders) { //Coloca as pastas locais. 
     554                                                if(!isNaN(i)){ 
     555                                                        var node_root = "local_root"; 
     556                                                        var new_caption = local_folders[i][0]; 
     557                                                        if (local_folders[i][0].indexOf("/") != "-1") { 
     558                                                                final_pos = local_folders[i][0].lastIndexOf("/"); 
     559                                                                node_root = "local_" + local_folders[i][0].substr(0, final_pos); 
     560                                                                new_caption = local_folders[i][0].substr(final_pos + 1); 
     561                                                        } 
     562                                                        if (local_folders[i][1] > 0) 
     563                                                                var nodeLocal = new dNode({ 
     564                                                                                "id": "local_" + local_folders[i][0], 
     565                                                                                "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>', 
     566                                                                                "onClick": "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", 
     567                                                                                "plusSign": local_folders[i][2] 
     568                                                                                }); 
     569                                                        else 
     570                                                                var nodeLocal = new dNode({ 
     571                                                                                "id": "local_" + local_folders[i][0], 
     572                                                                                "caption": lang_folder(new_caption), 
     573                                                                                "onClick": "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", 
     574                                                                                "plusSign": local_folders[i][2] 
     575                                                                                }); 
     576                                                        tree_folders.add(nodeLocal, node_root); 
     577                                                } 
     578                                        } 
     579                                } 
     580                        } 
     581                } 
     582 
     583                tree_folders.draw( Element( 'content_folders' ) ); 
     584                if ( ! expresso_offline ) 
     585                { 
     586                        n_root.changeState( ); 
     587                        folder_select = ( current_folder ? current_folder : "INBOX" ); 
     588 
     589                        if ( typeof( tree_folders.getNodeById( folder_select ) ) == 'undefined' ) 
     590                                return false; 
     591 
     592                        tree_folders.getNodeById( folder_select )._select( ); 
     593                } 
     594                else 
     595                { 
     596                        root_local.changeState( ); 
     597                        tree_folders.getNodeById( 'local_Inbox' )._select( ); 
     598                } 
     599 
     600                var trash_span = document.getElementById( 'lINBOX/' + trashfolder + 'tree_folders' ); 
     601                var draft_span = document.getElementById( 'lINBOX/' + draftsfolder + 'tree_folders' ); 
     602                var sent_span = document.getElementById( 'lINBOX/' + sentfolder + 'tree_folders' ); 
     603                var spam_span = document.getElementById( 'lINBOX/' + spamfolder + 'tree_folders' ); 
     604 
     605                var folder_img = URL_SERVER + "phpgwapi/templates/" +template + "/images/foldertree_" 
     606 
     607                if ( trash_span ) 
     608                        trash_span.style.backgroundImage = "url(" + folder_img + "trash.png)"; 
     609 
     610                if ( draft_span ) 
     611                        draft_span.style.backgroundImage = "url(" + folder_img + "draft.png)"; 
     612 
     613                if ( sent_span ) 
     614                        sent_span.style.backgroundImage = "url(" + folder_img + "sent.png)"; 
     615 
     616                if ( spam_span ) 
     617                        spam_span.style.backgroundImage = "url(" + folder_img + "spam.png)"; 
     618 
     619 
     620                draw_paging( Element( 'tot_m' ).innerHTML ); 
     621 
     622                if ( document.getElementById( "nINBOX/" + trashfolder + "tree_folders" ) ) 
     623                { 
     624                        var trash = document.createElement( "SPAN" ); 
     625                        trash.id = 'empty_trash'; 
     626                        trash.className = 'clean_folder'; 
     627                        trash.style.cursor = 'pointer'; 
     628                        trash.onclick = function( ) 
     629                        { 
     630                                empty_trash_imap( ); 
    770631                        }; 
    771                         cExecute("expressoMail1_2.imap_functions.create_extra_mailbox",handler_correct_folders,"nw_folders="+folder_create); 
    772                 } 
    773         } 
    774 } 
     632                        trash.innerHTML = "[" + get_lang( "Clean" ) + "]"; 
     633                        trash.title = get_lang( "Empty trash" ); 
     634                        trash.onmouseover = function( ) 
     635                        { 
     636                                trash.style.color = "red"; 
     637                        }; 
     638                        trash.onmouseout= function( ) 
     639                        { 
     640                                trash.style.color="#666666"; 
     641                        }; 
     642                        document.getElementById( "nINBOX/" + trashfolder + "tree_folders" ).appendChild( trash ); 
     643                } 
     644                if ( document.getElementById( "nINBOX/" + spamfolder + "tree_folders" ) ) 
     645                { 
     646                        var spam = document.createElement( "SPAN" ); 
     647                        spam.id = 'empty_spam'; 
     648                        spam.className = 'clean_folder'; 
     649                        spam.style.cursor = 'pointer'; 
     650                        spam.style.padding = '0 0 0 6px'; 
     651                        spam.onclick = function( ) 
     652                        { 
     653                                empty_spam_imap( ); 
     654                        }; 
     655                        spam.innerHTML = "[" + get_lang( "Clean" ) + "]"; 
     656                        spam.title = get_lang( "Empty Spam Folder" ); 
     657                        spam.onmouseover = function( ) 
     658                        { 
     659                                spam.style.color = "red"; 
     660                        }; 
     661                        spam.onmouseout = function( ) 
     662                        { 
     663                                spam.style.color = "#666666"; 
     664                        }; 
     665                        document.getElementById( "nINBOX/" + spamfolder + "tree_folders" ).appendChild( spam ); 
     666                } 
     667 
     668                if ( ! expresso_offline ) 
     669                        var display_unseen_in_mailbox = tree_folders.getNodeById( 'root' ); 
     670                else 
     671                        var display_unseen_in_mailbox = tree_folders.getNodeById( 'local_root' ); 
     672 
     673                display_unseen_in_mailbox.alter( { 
     674                        "caption" : get_lang( "My Folders" ) 
     675                } ); 
     676 
     677                display_unseen_in_mailbox._refresh( ); 
     678 
     679                var display_unseen_in_shared_folders = tree_folders.getNodeById( 'user' ); 
     680 
     681                if ( display_unseen_in_shared_folders ) 
     682                { 
     683                        if ( unseen_in_shared_folders ) 
     684                                display_unseen_in_shared_folders.alter( { 
     685                                        "caption" : '<font style=color:red>[</font><span id="dftree_user_unseen" style="color:red">' 
     686                                                                + unseen_in_shared_folders 
     687                                                                + '</span><font style=color:red>]</font> ' 
     688                                                                + get_lang( "Shared folders" ) 
     689                                } ); 
     690                        else 
     691                                display_unseen_in_shared_folders.alter( { 
     692                                        "caption" : get_lang( "Shared folders" ) 
     693                                } ); 
     694 
     695                        display_unseen_in_shared_folders._refresh( ); 
     696                } 
     697        } 
     698 
     699        if ( ! expresso_offline ) 
     700        { 
     701                var folder_create = ""; 
     702                var nm1 = ""; 
     703                if ( tree_folders._folderPr.length > 0 ) 
     704                { 
     705                        var nm_folder = ""; 
     706                        for ( var i = 0; i < tree_folders._folderPr.length; i++ ) 
     707                        { 
     708                                nm_folder = tree_folders._folderPr[ i ].split( cyrus_delimiter ); 
     709                                if( nm_folder[ 0 ] == "INBOX" ) 
     710                                { 
     711                                        if ( nm1 == "" ) 
     712                                        { 
     713                                                nm1 = nm_folder[ 1 ]; 
     714                                                folder_create = "INBOX" + cyrus_delimiter + nm_folder[ 1 ] + ";"; 
     715                                        } 
     716                                        else 
     717                                        { 
     718                                                if ( nm1 != nm_folder[ 1 ] ) 
     719                                                { 
     720                                                        folder_create += "INBOX" + cyrus_delimiter + nm_folder[ 1 ] + ";"; 
     721                                                        nm1 = nm_folder[ 1 ]; 
     722                                                } 
     723                                        } 
     724                                } 
     725                        } 
     726                } 
     727 
     728                if ( folder_create != "" ) 
     729                { 
     730                        if ( confirm( get_lang( "There are folders with invalid format. Do you want to fix them?" ) ) ) 
     731                        { 
     732                                var handler_correct_folders = function( data ) 
     733                                { 
     734                                        //Timeout to release HTTPRequest , loadScript and update tree folders. 
     735                                        if ( data ) 
     736                                                setTimeout( "expresso.connector.loadScript('jscode/TreeShow');ttreeBox.update_folder();", 500 ); 
     737                                }; 
     738                                cExecute( "expressoMail1_2.imap_functions.create_extra_mailbox", handler_correct_folders, "nw_folders=" + folder_create ); 
     739                        } 
     740                } 
     741        } 
    775742} 
    776743 
Note: See TracChangeset for help on using the changeset viewer.