Ignore:
Timestamp:
10/11/12 18:14:36 (12 years ago)
Author:
marcosw
Message:

Ticket #3088 - Realização de merge da melhoria do MailArchiver?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/js/draw_api.js

    r7371 r7414  
    108108                } 
    109109 
     110                 
     111                //MAILARCHIVER-01 
     112                //Create local folders main structure tree 
     113                if(preferences.use_local_messages=="1"){ 
     114                    var disabled_local_span = document.getElementById('llocal_disabledtree_folders'); 
     115 
     116                    //Services are disabled: because Mail Archiver is not running/installed or have just crashed. Link activation is created here 
     117                    if(!expresso_mail_archive.enabled){ 
     118                        //window.alert('tem o nodo disabled? ' + tree_folders.getNodeById("local_disabled") + '[' + typeof(tree_folders.getNodeById('local_disabled')) + ']'); 
     119                        if(typeof(tree_folders.getNodeById("local_disabled")) == 'undefined'){ 
     120                          var n_LocalDisabled = new dNode({id: "local_disabled", caption: get_lang('Offline'), onClick: "services_retry()", plusSign:false}); 
     121                          tree_folders.add(n_LocalDisabled, 'local_root'); 
     122                        } 
     123 
     124                        tree_folders.getNodeById("local_disabled").alter({caption:get_lang('Offline'), onClick: "retry_local_folders()"}); 
     125                        tree_folders.getNodeById("local_disabled")._refresh(); 
     126                         
     127                        if((disabled_local_span) && (!document.getElementById('services_retry'))){ 
     128                            disabled_local_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_services.png)"; 
     129 
     130                            var service_retry = document.createElement("SPAN"); 
     131                            service_retry.id = 'services_retry'; 
     132                            service_retry.className = 'clean_trash'; 
     133                            service_retry.style.cursor = 'pointer'; 
     134                            service_retry.onclick = function () {services_retry();}; 
     135                            service_retry.innerHTML = "["+get_lang("Retry")+"]"; 
     136                            service_retry.title="Reconectar ao Mail Archiver"; 
     137                            service_retry.onmouseover = function() {service_retry.style.color="red";}; 
     138                            service_retry.onmouseout= function() {service_retry.style.color="#666666";}; //#114FA4 
     139                            disabled_local_span.parentNode.appendChild(service_retry); 
     140                        } 
     141                        else{ 
     142                            //Creates the tree node and MA console linkage 
     143                            if((!disabled_local_span) && (!document.getElementById('services_retry'))){ 
     144                                var n_LocalDisabled = new dNode({id: "local_disabled", caption: get_lang('Offline'), onClick: "services_retry()", plusSign:false}); 
     145                                tree_folders.add(n_LocalDisabled, 'local_root'); 
     146                             
     147                                var disabled_local_span = document.getElementById('llocal_disabledtree_folders'); 
     148                                disabled_local_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_services.png)"; 
     149                                var service_retry = document.createElement("SPAN"); 
     150                                service_retry.id = 'services_retry'; 
     151                                service_retry.className = 'clean_trash'; 
     152                                service_retry.style.cursor = 'pointer'; 
     153                                service_retry.onclick = function () {services_retry();}; 
     154                                service_retry.innerHTML = "["+get_lang("Retry")+"]"; 
     155                                service_retry.title= get_lang("Reconect to MailArchiver services"); 
     156                                service_retry.onmouseover = function() {service_retry.style.color="red";}; 
     157                                service_retry.onmouseout= function() {service_retry.style.color="#666666";}; //#114FA4 
     158                                disabled_local_span.parentNode.appendChild(service_retry); 
     159                             
     160                                var div_ma_host = document.createElement('div'); 
     161                                div_ma_host.id = 'div_login_ma_host'; 
     162                                div_ma_host.style.position = 'absolute'; 
     163                                div_ma_host.style.padding = '0px'; 
     164                                div_ma_host.style.margin = '0px'; 
     165                                div_ma_host.style.top = '25px'; 
     166                                div_ma_host.style.left = '0px'; 
     167                                div_ma_host.style.width = '145px'; 
     168                                div_ma_host.style.height = '80px'; 
     169                                div_ma_host.style.border = '1px solid #CCCCCC'; 
     170                                div_ma_host.style.backgroundColor = '#F0F0F0'; 
     171                                div_ma_host.style.fontWeight = 'normal'; 
     172                                disabled_local_span.appendChild(div_ma_host); 
     173                                div_ma_host.innerHTML = '<p><b>'+get_lang('In trouble?')+'</b></p><p>&rarr; ' + get_lang('Try to access') + '<br/><a href="' + mail_archive_protocol + "://" + mail_archive_host + ":" + mail_archive_port + '/admin" target="_blank" title="MailArchiver Admin">'+get_lang('MailArchiver admin console')+'.</p>';                             
     174                            } 
     175                            //Only creates the MA login linkage 
     176                            else{ 
     177                                var div_ma_host = document.createElement('div'); 
     178                                div_ma_host.id = 'div_login_ma_host'; 
     179                                div_ma_host.style.position = 'absolute'; 
     180                                div_ma_host.style.padding = '0px'; 
     181                                div_ma_host.style.margin = '0px'; 
     182                                div_ma_host.style.top = '25px'; 
     183                                div_ma_host.style.left = '0px'; 
     184                                div_ma_host.style.width = '145px'; 
     185                                div_ma_host.style.height = '80px'; 
     186                                div_ma_host.style.border = '1px solid #CCCCCC'; 
     187                                div_ma_host.style.backgroundColor = '#F0F0F0'; 
     188                                div_ma_host.style.fontWeight = 'normal'; 
     189                                disabled_local_span.appendChild(div_ma_host); 
     190                                div_ma_host.innerHTML = '<p><b>'+get_lang('In trouble?')+'</b></p><p>&rarr; ' + get_lang('Try to access') + '<br/><a href="' + mail_archive_protocol + "://" + mail_archive_host + ":" + mail_archive_port + '/admin" target="_blank" title="MailArchiver Admin">'+get_lang('MailArchiver admin console')+'.</p>';                                                         
     191                            } 
     192                        } 
     193                    } 
     194                    //Services enabled: list folders service must be invoqued 
     195                    else{ 
     196                        var services_retry_span = document.getElementById('services_retry'); 
     197 
     198                        if(services_retry_span){ 
     199                            //window.alert('Tem services_retry -> vai remover o disabled_local_span'); 
     200                            var node_disabled_to_remove = document.getElementById('nlocal_disabledtree_folders'); 
     201                            //document.getElementById('chlocal_roottree_folders').removeChild('nlocal_disabledtree_folders'); 
     202                            //services_retry_span.parentNode.removeChild(services_retry_span); 
     203                            node_disabled_to_remove.parentNode.removeChild(node_disabled_to_remove); 
     204                        } 
     205                        //else 
     206                          //  window.alert('Sem services retry'); 
     207 
     208                        //tree_folders.getNodeById("local_disabled").alter({caption:get_lang('List_Folders')}); 
     209                                                 
     210                       //expresso_mail_archive.getFoldersList('FERNANDAO22', ""); 
     211                       var drawinginfo = {treeObject: tree_folders, treeName: 'tree_folders'}; 
     212                       expresso_mail_archive.drawdata = drawinginfo; 
     213                       //expresso_mail_archive.getFoldersList("");                         
     214                         
     215                        //tree_folders.getNodeById("local_root")._refresh(); 
     216 
     217                        if(disabled_local_span) 
     218                            disabled_local_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_folder.png)";                        
     219                    }       
     220                } 
     221 
    110222                return; 
    111223        } 
     
    148260                } 
    149261 
    150  
     262                 
     263                //MAILARCHIVER-02 
     264                //Create local folders main structure tree 
     265                if(preferences.use_local_messages=="1"){    
     266                    //Add the local_root node 
     267                    var root_local = new dNode({id: "local_root", caption: get_lang('local folders'), plusSign: true}); 
     268                    tree_folders.add(root_local, "root");    
     269                     
     270                    //Services are disabled: because Mail Archiver is not running/installed or have just crashed. Link activation is created here 
     271                    if(!expresso_mail_archive.enabled){ 
     272                        var n_LocalDisabled = new dNode({id: "local_disabled", caption: get_lang('Offline'), onClick: "services_retry()", plusSign:false}); 
     273                        tree_folders.add(n_LocalDisabled, 'local_root'); 
     274                         
     275                    } 
     276                     
     277                    //Services enabled: list folders service must be invoqued 
     278                    else{ 
     279                        var drawinginfo = {treeObject: tree_folders, treeName: 'tree_folders'}; 
     280                        expresso_mail_archive.drawdata = drawinginfo; 
     281                        //expresso_mail_archive.getFoldersList(""); 
     282                    } 
     283                     
     284                    //Opens the local folders tree view 
     285                    //tree_folders.getNodeById("local_root").open(); 
     286                     
     287                } 
    151288 
    152289                var handlerChannel = function(data){ 
     
    183320                 * Pastas locais 
    184321                 */ 
    185                 if (preferences.use_local_messages==1 || expresso_offline) { 
    186                             //verifica se gears esta installado ou o offline 
    187                         if( (!window.google || !google.gears) && 
    188                              !expresso_local_messages.installGears() ){ 
    189                                 preferences.use_local_messages = 0; 
    190                         } 
    191                         else if( !expresso_local_messages.is_offline_installed() ) 
    192                                 preferences.use_local_messages = 0; 
    193                         else{ 
    194                                 if (expresso_offline) 
    195                                         tree_folders = new dFTree({ 
    196                                                 name: 'tree_folders' 
    197                                         }); 
    198                                 var root_local = new dNode({ 
    199                                         id: "local_root", 
    200                                         caption: get_lang('local folders') 
    201                                 }); 
    202                                 tree_folders.add(root_local, "root"); //coloca root local 
    203                                 var local_folders = expresso_local_messages.list_local_folders(); 
    204                                 for (var i in local_folders) { //Coloca as pastas locais. 
    205                                         var node_root = "local_root"; 
    206                                         var new_caption = local_folders[i][0]; 
    207                                         if (local_folders[i][0].indexOf("/") != "-1") { 
    208                                                 final_pos = local_folders[i][0].lastIndexOf("/"); 
    209                                                 node_root = "local_" + local_folders[i][0].substr(0, final_pos); 
    210                                                 new_caption = local_folders[i][0].substr(final_pos + 1); 
    211                                         } 
    212                                         if (local_folders[i][1] > 0) 
    213                                                 var nodeLocal = new dNode({ 
    214                                                         id: "local_" + local_folders[i][0], 
    215                                                         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>', 
    216                                                         onClick: "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", 
    217                                                         plusSign: local_folders[i][2] 
    218                                                 }); 
    219                                         else 
    220                                                 var nodeLocal = new dNode({ 
    221                                                         id: "local_" + local_folders[i][0], 
    222                                                         caption: lang_folder(new_caption), 
    223                                                         onClick: "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", 
    224                                                         plusSign: local_folders[i][2] 
    225                                                 }); 
    226                                                 tree_folders.add(nodeLocal, node_root); 
    227                                         } 
    228                                 } 
    229                         } 
    230322 
    231323                /*tree_folders.draw(Element('content_folders')); 
     
    276368 
    277369 
     370                //MAILARCHIVER-04 
     371                if ((disabled_local_span) && (!expresso_mail_archive.enabled)){ 
     372                    disabled_local_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_services.png)"; 
     373                        //div to login at MA Admin console 
     374                        var div_ma_host = document.createElement('div'); 
     375                        div_ma_host.id = 'div_login_ma_host'; 
     376                        div_ma_host.style.position = 'absolute'; 
     377                        div_ma_host.style.padding = '0px'; 
     378                        div_ma_host.style.margin = '0px'; 
     379                        div_ma_host.style.top = '25px'; 
     380                        div_ma_host.style.width = '145px'; 
     381                        div_ma_host.style.height = '80px'; 
     382                        div_ma_host.style.border = '1px solid #CCCCCC'; 
     383                        div_ma_host.style.backgroundColor = '#F0F0F0'; 
     384                        div_ma_host.style.fontWeight = 'normal'; 
     385                        disabled_local_span.appendChild(div_ma_host); 
     386                        div_ma_host.innerHTML = '<p><b>'+get_lang('In trouble?')+'</b></p><p>&rarr; ' + get_lang('Try to access') + '<br/><a href="' + mail_archive_protocol + "://" + mail_archive_host + ":" + mail_archive_port + '/admin" target="_blank" title="MailArchiver Admin">'+get_lang('MailArchiver admin console')+'.</p>'; 
     387                } 
     388 
     389 
    278390                draw_paging(Element('tot_m').innerHTML); 
    279391                if(document.getElementById(mount_url_folder(["nINBOX",special_folders["Trash"]])+"tree_folders")) 
     
    305417                           } 
    306418 
    307                 if(!expresso_offline) 
     419        //MAILARCHIVER-05 
     420        if(document.getElementById("nlocal_disabledtree_folders") && (!expresso_mail_archive.enabled) && (!document.getElementById('services_retry'))) 
     421        { 
     422            var service_retry = document.createElement("SPAN"); 
     423            service_retry.id = 'services_retry'; 
     424            service_retry.className = 'clean_trash'; 
     425            service_retry.style.cursor = 'pointer'; 
     426            service_retry.onclick = function () {services_retry();}; 
     427            service_retry.innerHTML = "["+get_lang("Retry")+"]"; 
     428            service_retry.title="Reconectar ao Mail Archiver"; 
     429            service_retry.onmouseover = function() {service_retry.style.color="red";}; 
     430            service_retry.onmouseout= function() {service_retry.style.color="#666666";}; //#114FA4 
     431            document.getElementById("nlocal_disabledtree_folders").appendChild(service_retry); 
     432        } 
     433 
     434            //MAILARCHIVER-00 
     435                //if(!expresso_offline) 
    308436                        var display_unseen_in_mailbox = tree_folders.getNodeById( 'root' ); 
    309                 else 
    310                         var display_unseen_in_mailbox = tree_folders.getNodeById( 'local_root' ); 
     437                //else 
     438                        //var display_unseen_in_mailbox = tree_folders.getNodeById( 'local_root' ); 
    311439                display_unseen_in_mailbox.alter({caption:get_lang("My Folders")}); 
    312440                display_unseen_in_mailbox._refresh(); 
     
    391519 
    392520function draw_tree_local_folders() { 
    393         /** 
    394          * Pastas locais 
    395          */ 
    396                 if(preferences.use_local_messages==1 || expresso_offline) { 
    397                         var local_folders = expresso_local_messages.list_local_folders(); 
    398                         var has_changes = false; 
    399                         for (var i in local_folders) { //Coloca as pastas locais. 
    400  
    401                                 var new_caption = local_folders[i][0]; 
    402                                 if(local_folders[i][0].indexOf("/")!="-1") { 
    403                                         final_pos = local_folders[i][0].lastIndexOf("/"); 
    404                                         new_caption = local_folders[i][0].substr(final_pos+1); 
    405                                 } 
    406  
    407                                 var folder_unseen = Element('dftree_local_'+local_folders[i][0]+'_unseen'); 
    408  
    409                                 if ((folder_unseen) && (local_folders[i][1] > 0)) 
    410                                 { 
    411                                         folder_unseen.innerHTML = local_folders[i][1]; 
    412                                         has_changes = true; 
    413                                 } 
    414                                 else if (local_folders[i][1] > 0) 
    415                                 { 
    416                                         tree_folders.getNodeById("local_"+local_folders[i][0]).alter({caption:lang_folder(new_caption) + '<font style=color:red>&nbsp(</font><span id="dftree_local_'+local_folders[i][0]+'_unseen" style=color:red>'+local_folders[i][1]+'</span><font style=color:red>)</font>'}); 
    417                                         tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); 
    418                                         has_changes = true; 
    419                                 } 
    420                                 else if (local_folders[i][1] <= 0) 
    421                                 { 
    422                                         tree_folders.getNodeById("local_"+local_folders[i][0]).alter({caption:lang_folder(new_caption)}); 
    423                                         tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); 
    424                                         has_changes = true; 
    425                                 } 
    426  
    427                         if("local_"+local_folders[i][0] == get_current_folder()){ 
    428                                         var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 
    429                                         if(!isNaN(old_new_m) && old_new_m < local_folders[i][1]){ 
    430                                                 Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(local_folders[i][1])-old_new_m); 
    431                                         } 
    432                                         Element('new_m').innerHTML = local_folders[i][1] ? '<font color="RED">'+local_folders[i][1]+'</font>' : 0; 
    433                                         draw_paging(Element('tot_m').innerHTML); 
    434                                         has_changes = true; 
    435                         } 
    436                 } 
    437                         if(has_changes) 
    438                                 tree_folders.getNodeById("local_root").open(); 
    439         } 
    440 } 
     521    /** 
     522     * Pastas locais 
     523     */ 
     524        //MAILARCHIVER-04 
     525        if ( preferences.use_local_messages=="1" ) { 
     526            var local_folders_list = expresso_mail_archive.getFoldersList(""); 
     527        } 
     528} 
     529 
     530// function draw_tree_local_folders() { 
     531//      /** 
     532//       * Pastas locais 
     533//       */ 
     534//              if(preferences.use_local_messages==1 || expresso_offline) { 
     535//                      var local_folders = expresso_local_messages.list_local_folders(); 
     536//                      var has_changes = false; 
     537//                      for (var i in local_folders) { //Coloca as pastas locais. 
     538 
     539//                              var new_caption = local_folders[i][0]; 
     540//                              if(local_folders[i][0].indexOf("/")!="-1") { 
     541//                                      final_pos = local_folders[i][0].lastIndexOf("/"); 
     542//                                      new_caption = local_folders[i][0].substr(final_pos+1); 
     543//                              } 
     544 
     545//                              var folder_unseen = Element('dftree_local_'+local_folders[i][0]+'_unseen'); 
     546 
     547//                              if ((folder_unseen) && (local_folders[i][1] > 0)) 
     548//                              { 
     549//                                      folder_unseen.innerHTML = local_folders[i][1]; 
     550//                                      has_changes = true; 
     551//                              } 
     552//                              else if (local_folders[i][1] > 0) 
     553//                              { 
     554//                                      tree_folders.getNodeById("local_"+local_folders[i][0]).alter({caption:lang_folder(new_caption) + '<font style=color:red>&nbsp(</font><span id="dftree_local_'+local_folders[i][0]+'_unseen" style=color:red>'+local_folders[i][1]+'</span><font style=color:red>)</font>'}); 
     555//                                      tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); 
     556//                                      has_changes = true; 
     557//                              } 
     558//                              else if (local_folders[i][1] <= 0) 
     559//                              { 
     560//                                      tree_folders.getNodeById("local_"+local_folders[i][0]).alter({caption:lang_folder(new_caption)}); 
     561//                                      tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); 
     562//                                      has_changes = true; 
     563//                              } 
     564 
     565//                      if("local_"+local_folders[i][0] == get_current_folder()){ 
     566//                                      var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 
     567//                                      if(!isNaN(old_new_m) && old_new_m < local_folders[i][1]){ 
     568//                                              Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(local_folders[i][1])-old_new_m); 
     569//                                      } 
     570//                                      Element('new_m').innerHTML = local_folders[i][1] ? '<font color="RED">'+local_folders[i][1]+'</font>' : 0; 
     571//                                      draw_paging(Element('tot_m').innerHTML); 
     572//                                      has_changes = true; 
     573//                      } 
     574//              } 
     575//                      if(has_changes) 
     576//                              tree_folders.getNodeById("local_root").open(); 
     577//      } 
     578// } 
    441579 
    442580 
     
    539677                        return true; 
    540678                } 
    541                 $.ajax({                         
    542                         url: "controller.php?" + $.param( {action: "$this.imap_functions.getMessagesIds",  
    543                                 folder: folder,                          
    544                                 sort_box_type: "SORTARRIVAL",  
    545                                 search_box_type: search_box_type, 
    546                                 sort_box_reverse: "1" 
    547                                 }), 
    548                         success: function(data){ 
    549                                 data = connector.unserialize(data); 
    550                                 if(data){ 
    551                                         var _data = {}; 
    552                                         $.each(data,function(index,value){ 
    553                                                 if (value){ 
    554                                                         _data[index] = value; 
    555                                                 } 
    556                                         }); 
    557                                         populateSelectedMsgs(_data); 
    558                                  
    559                                 } 
    560                         }, 
    561                         beforeSend: function( jqXHR, settings ){ 
    562                                 connector.showProgressBar(); 
    563                         }, 
    564                         complete: function( jqXHR, settings ){ 
    565                                 connector.hideProgressBar(); 
    566                         } 
    567                 }); 
     679                //MAILARCHIVE 
     680        //se for pasta local 
     681        if (/^local_messages/.test(current_folder)) { 
     682            $(".folders-loading").removeClass("folders-loading"); //remove o icone de loading ao clicar nas pastas locais 
     683            selectAllFolderMsgs(false); 
     684            //Método chamado para retornar todos os ids de mensagens por folder 
     685            expresso_mail_archive.listAllMessagesByFolder(folder.replace("local_messages_","")); 
     686            populateSelectedMsgs(expresso_mail_archive.allmessagesbyfolder); 
     687        } 
     688        else { //se não, processamento normal da pasta 
     689                $.ajax({ 
     690                        url: "controller.php?" + $.param( {action: "$this.imap_functions.getMessagesIds",  
     691                                folder: folder, 
     692                                 msg_range_begin: "0", 
     693                                 msg_range_end: "0",                                     
     694                                sort_box_type: "SORTARRIVAL",  
     695                                search_box_type: search_box_type, 
     696                                sort_box_reverse: "1" 
     697                                }), 
     698                        success: function(data){ 
     699                                data = connector.unserialize(data); 
     700                                if(data){ 
     701                                        var _data = {}; 
     702                                        $.each(data,function(index,value){ 
     703                                                if (data[index] && data[index].msg_number){ 
     704                                                        _data[data[index].msg_number] = data[index].msg_number; 
     705                                                } 
     706                                        }); 
     707                                        populateSelectedMsgs(_data); 
     708                                        _data = {}; 
     709                                 
     710                                } 
     711                        }, 
     712                        beforeSend: function( jqXHR, settings ){ 
     713                                connector.showProgressBar(); 
     714                        }, 
     715                        complete: function( jqXHR, settings ){ 
     716                                connector.hideProgressBar(); 
     717                        } 
     718                }); 
     719        } 
    568720                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); 
    569721        } 
     
    15731725        if ( !currentTab ) 
    15741726                alternate_border(numBox); 
    1575         draw_footer_box(headers_msgs.num_msgs); 
     1727        draw_footer_box(headers_msgs.length); 
    15761728        Element('main_table').style.display = ''; 
    15771729        if(is_ie6)        // Stupid Fixing on IE6. 
     
    16671819 
    16681820                tr_element.msg_sample = ""; 
     1821        tr_element.tip = ""; 
    16691822                //if(headers_msgs.msg_sample && headers_msgs.msg_sample.preview_msg_subject != "") 
    16701823                if(headers_msgs.msg_sample && preferences.preview_msg_subject == "1" && headers_msgs.msg_sample.body !== "") 
     
    16741827                        else 
    16751828                                tr_element.msg_sample = html_entities(Base64.decode(headers_msgs.msg_sample.body).substr(0,120) + "..."); //trecho do body que sera exibido com o assunto; 
    1676                 } 
    1677  
    1678                 tr_element.tip = ""; 
    1679                 if(headers_msgs.msg_sample && preferences.preview_msg_tip == "1" && headers_msgs.msg_sample.body !== "") 
    1680                 { 
    1681                         tr_element.tip = Base64.decode(headers_msgs.msg_sample.body).substr(3,300) + "..."; //trecho do body que sera exibido no tool-tip; 
    1682                 } 
    1683  
     1829 
     1830            //if(preferences.use_local_messages==1 && !expresso_offline) { //MailArchive 
     1831                if(proxy_mensagens.is_local_folder(current_folder)) { 
     1832                    // preferencia da pre-visualizacao 
     1833                    if (cssForResizing) {//Colunas redimensionaveis - nao trunca 
     1834                        tr_element.msg_sample = headers_msgs.msg_sample.body.substr(0,180) + "..."; //trecho do body que sera exibido com o assunto; //blabla 
     1835                    } else { 
     1836                        tr_element.msg_sample = headers_msgs.msg_sample.body.substr(0,120) + "..."; //trecho do body que sera exibido com o assunto; 
     1837                    } 
     1838 
     1839                    // preferencia dos tooltips 
     1840                    if(headers_msgs.msg_sample && preferences.preview_msg_tip == "1" && headers_msgs.msg_sample.body !== "") { 
     1841                        tr_element.tip = headers_msgs.msg_sample.body.substr(3,300) + "..."; //trecho do body que sera exibido no tool-tip; 
     1842                    } 
     1843 
     1844                } 
     1845 
     1846            /*}*/ else { //IMAP 
     1847                 // preferencia da pre-visualizacao 
     1848                             if (cssForResizing) { //Colunas redimensionaveis - nao trunca 
     1849                    /*problema no decode, se ele for utilizado, nao lista as mensagens -> CORRIGIDO em mail_archiver.js*/ 
     1850                    //if (headers_msgs.msg_sample.body.length > 0) 
     1851                                    tr_element.msg_sample = Base64.decode(headers_msgs.msg_sample.body).substr(0,180) + "..."; //trecho do body que sera exibido com o assunto; //blabla 
     1852                             } else { 
     1853                                    //if (headers_msgs.msg_sample.body.length > 0) 
     1854                                        tr_element.msg_sample = Base64.decode(headers_msgs.msg_sample.body).substr(0,120) + "..."; //trecho do body que sera exibido com o assunto; 
     1855                          } 
     1856 
     1857                // preferencia dos tooltips 
     1858                if(headers_msgs.msg_sample && preferences.preview_msg_tip == "1" && headers_msgs.msg_sample.body !== "") { 
     1859                    tr_element.tip = Base64.decode(headers_msgs.msg_sample.body).substr(3,300) + "..."; //trecho do body que sera exibido no tool-tip; 
     1860                } 
     1861            } 
     1862        } 
     1863 
     1864                 
    16841865                if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')){ 
    1685                         if ((headers_msgs.Flagged == 'F') || headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 ) 
     1866                        if ((headers_msgs.Flagged == 'F') || ( headers_msgs.Importance !== undefined && headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 ) ) 
    16861867                                add_className(tr_element, 'flagged_msg'); 
    16871868                        add_className(tr_element, 'tr_msg_unread'); 
     
    17171898 
    17181899                td_element2 = createTDElement(0,1,"td_msg"); 
    1719                 if (headers_msgs.attachment == 1) 
     1900                if (headers_msgs.attachment == 1 || headers_msgs.attachment.number_attachments> 0) 
    17201901                        td_element2.innerHTML = "<img src ='templates/"+template+"/images/clip.gif' >"; 
    17211902 
     
    18872068                else 
    18882069                { 
    1889                         td_element4.innerHTML += headers_msgs.subject + "<span style=\"color:#b3b3b3;\">  " + tr_element.msg_sample + "</span>";//modificacao feita para exibir o trecho do body ao lado do assunto da mensagem; 
     2070                        td_element4.innerHTML += ($.trim(headers_msgs.subject) == "" ? "("+get_lang("No Subject")+")" : headers_msgs.subject) + "<span style=\"color:#b3b3b3;\">  " + tr_element.msg_sample + "</span>";//modificacao feita para exibir o trecho do body ao lado do assunto da mensagem; 
    18902071                } 
    18912072 
     
    19062087                } 
    19072088                 
    1908                 td_element26 = createTDElement(0,6,"td_msg","center","td_message_followup_"+headers_msgs.msg_number); 
    1909                 $(td_element26).addClass("td-followup-flag"); 
    1910                 td_element26.innerHTML = '<div class="flag-edited" style="width:8px;height:6px;"><img src="../prototype/modules/mail/img/flagEditor.png"></div>'; 
    1911          
     2089                  td_element26 = createTDElement(0,6,"td_msg","center","td_message_followup_"+headers_msgs.msg_number); 
     2090                  $(td_element26).addClass("td-followup-flag"); 
     2091 
     2092        if(get_current_folder().split("_")[0] != "local"){ 
     2093                  td_element26.innerHTML = '<div class="flag-edited" style="width:8px;height:6px;"><img src="../prototype/modules/mail/img/flagEditor.png"></div>'; 
     2094            } else { 
     2095            td_element26.innerHTML = ""; 
     2096        } 
     2097         
    19122098                if (headers_msgs.followupflagged) { 
    19132099                        if(headers_msgs.followupflagged.followupflag.id < 7){ 
     
    21252311        search_box_type = search; 
    21262312        if (typeof(clean_selected) == "undefined"){      
    2127                 $.ajax({                         
     2313                 
     2314        $.ajax({                         
    21282315                        url: "controller.php?" + $.param( {action: "$this.imap_functions.getMessagesIds",  
    21292316                                folder: get_current_folder(),                                    
     
    21512338                        } 
    21522339                }); 
     2340         
    21532341        }        
    21542342        proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort,search,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box); 
     
    24302618        var _maxChar = menuHidden ? 40 : 15; 
    24312619 
    2432         if (info_msg.from.name) 
    2433         { 
    2434                 var spanName = document.createElement("SPAN"); 
    2435                         spanName.innerHTML = info_msg.from.name; 
    2436                 _name = spanName.innerHTML.length > _maxChar ? spanName.innerHTML.substring(0,_maxChar) + "..." : spanName.innerHTML; 
    2437         } 
    2438         else 
    2439                 _name = info_msg.from.email.length > _maxChar ? info_msg.from.email.substring(0,_maxChar) + "..." : info_msg.from.email; 
     2620    if(info_msg.from){ 
     2621        if (info_msg.from.name) 
     2622        { 
     2623                var spanName = document.createElement("SPAN"); 
     2624                        spanName.innerHTML = info_msg.from.name; 
     2625                _name = spanName.innerHTML.length > _maxChar ? spanName.innerHTML.substring(0,_maxChar) + "..." : spanName.innerHTML; 
     2626        } 
     2627        else 
     2628                _name = info_msg.from.email.length > _maxChar ? info_msg.from.email.substring(0,_maxChar) + "..." : info_msg.from.email; 
     2629    } 
    24402630 
    24412631        td.innerHTML = _name.bold() + ', ' + info_msg.smalldate; 
     
    25162706        var option_mark_as_unseen = document.createElement("SPAN"); 
    25172707                option_mark_as_unseen.className = "reply_options"; 
    2518         option_mark_as_unseen.onclick = function () {changeLinkState(this,'seen'); 
    2519                 proxy_mensagens.proxy_set_message_flag(folder_id,'unseen'); 
     2708            option_mark_as_unseen.onclick = function () {changeLinkState(this,'seen'); 
     2709                proxy_mensagens.proxy_set_message_flag(folder_id,'unseen',null,ID.split("_r_")[0]); 
    25202710                write_msg(get_lang('Message marked as ')+get_lang("Unseen")); 
    25212711        }; 
     
    25322722                option_mark_important.onclick = function() { 
    25332723                        var _this = this; 
    2534                         proxy_mensagens.proxy_set_message_flag(folder_id,'unflagged', function(success){ 
    2535                                 if (success) { 
    2536                                         changeLinkState(_this, 'important'); 
    2537                                         write_msg(get_lang('Message marked as ') + get_lang("Normal")); 
    2538                                 } 
    2539                         } ); 
    2540  
     2724            changeLinkState(_this, 'important'); 
     2725                        proxy_mensagens.proxy_set_message_flag(folder_id,'unflagged',null,ID.split("_r_")[0]); 
     2726            write_msg(get_lang('Message marked as ')+get_lang("Normal")); 
    25412727                }; 
    2542                 option_mark_important.innerHTML = get_lang("Normal"); 
     2728        option_mark_important.innerHTML = get_lang("Normal"); 
    25432729        } 
    25442730        else{ 
    2545                 option_mark_important.onclick = function() {changeLinkState(this,'normal'); 
    2546                         proxy_mensagens.proxy_set_message_flag(folder_id,'flagged'); 
     2731                option_mark_important.onclick = function() {changeLinkState(this,'normal',null,ID.substr(0, ID.length-2)); 
     2732                        proxy_mensagens.proxy_set_message_flag(folder_id,'flagged',null,ID.split("_r_")[0]); 
    25472733                        write_msg(get_lang('Message marked as ')+get_lang("Important")); 
    25482734                }; 
     
    29943180        var tr1 = document.createElement("TR"); 
    29953181        tr1.className = "tr_message_header"; 
    2996         var td1 = document.createElement("TD"); 
    2997         td1.innerHTML = get_lang("From: "); 
    2998         td1.appendChild(deny_email(info_msg.from.email)); 
    2999         td1.width = "7%"; 
     3182    if(info_msg.from){ 
     3183        var td1 = document.createElement("TD"); 
     3184        td1.innerHTML = get_lang("From: "); 
     3185        td1.appendChild(deny_email(info_msg.from.email)); 
     3186        td1.width = "7%"; 
     3187    } 
    30003188 
    30013189        if (info_msg.sender){ 
     
    30223210        var from = document.createElement("TD"); 
    30233211        from.id = "from_"+ID; 
    3024         from.innerHTML = info_msg.from.full; 
     3212    if(info_msg.from){ 
     3213           from.innerHTML = info_msg.from.full; 
     3214    } 
    30253215        if (info_msg.Draft != "X"){ 
    30263216                from.innerHTML += draw_plugin_cc(ID, info_msg.from); 
     
    30313221        from_values.id = "from_values_"+ID; 
    30323222        from_values.type = "HIDDEN"; 
    3033         from_values.value = info_msg.from.full; //Veio do IMAP, sem images nem links. 
     3223    if(info_msg.from){ 
     3224        from_values.value = info_msg.from.full; //Veio do IMAP, sem images nem links. 
     3225    } 
    30343226 
    30353227        var local_message = document.createElement("INPUT"); 
     
    30393231        local_message.value = (info_msg.local_message)?"1":"0"; 
    30403232 
    3041         tr1.appendChild(td1); 
     3233    if(info_msg.from){ 
     3234           tr1.appendChild(td1); 
     3235    } 
    30423236        tr1.appendChild(from); 
    30433237        tr1.appendChild(from_values); 
     
    51265320 
    51275321function build_quota(data){ 
     5322    //MAILARCHIVE 
     5323    // se for a pasta de mensagens locais 
     5324    if(proxy_mensagens.is_local_folder(current_folder)) { 
     5325        return;         
     5326    } 
     5327 
    51285328        id = "content_quota"; 
    51295329        q_limit = data['quota_limit']; 
     
    54665666                ((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>') + 
    54675667                ((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>'); 
    5468         if(preferences.use_local_messages==1 && !expresso_offline) 
    5469                 if(proxy_mensagens.is_local_folder(current_folder)) 
    5470                         span_options.innerHTML += '&nbsp; <span id="localOption" ' + change_font_color + ' title="'+get_lang("Unarchive")+'" class="message_options" onclick="expresso_local_messages.unarchive_msgs(\''+folder+'\',null)">'+get_lang("Unarchive")+'</span>'; 
    5471                 else 
    5472                         span_options.innerHTML += '&nbsp; <span id="localOption" ' + change_font_color + ' title="'+get_lang("Archive")+'" class="message_options" onclick="archive_msgs(\''+folder+'\',null)">'+get_lang("Archive")+'</span>'; 
     5668 
     5669    //Link arquivar e desarquivar com ação 
     5670    //MAILARCHIVER 
     5671    if(preferences.use_local_messages==1){ 
     5672        if(expresso_mail_archive.enabled){ 
     5673           if(proxy_mensagens.is_local_folder(current_folder))//Unarchive link 
     5674             span_options.innerHTML += '&nbsp; <span title="'+get_lang("Unarchive")+'" class="message_options" onclick="expresso_mail_archive.unarchieve(\''+folder+'\', null, null);">'+get_lang("Unarchive")+'</span>'; 
     5675           else//Archive link                  
     5676             span_options.innerHTML += '&nbsp; <span title="'+get_lang("Archive")+'" class="message_options" onclick="archive_msgs(\''+folder+'\',null,null)">'+get_lang("Archive")+'</span>'; 
     5677        } 
     5678    } 
     5679 
    54735680        if (use_spam_filter) { 
    54745681                if ( current_folder == 'INBOX'+cyrus_delimiter+'Spam' ) { 
     
    54875694                span_R.appendChild(span_D); 
    54885695        } 
     5696     
     5697    var answer = '<span ' + change_font_color + ' id="span_flag_ANSWERED" class="'+(search_box_type == 'ANSWERED' ? 'message_options_over' : 'message_options')+'" title="'+get_lang("title_answered")+'" onclick="if(\'ANSWERED\' == \''+search_box_type+'\') return false;sort_box(\'ANSWERED\',\''+sort_box_type+'\')">'+get_lang("l_answered")+'</span>, '; 
     5698 
    54895699        span_D.innerHTML = 
    54905700                 get_lang("List")+': '+ 
     
    54925702        '<span ' + change_font_color + ' id="span_flag_UNSEEN" class="'+(search_box_type == 'UNSEEN' ? 'message_options_over' : 'message_options')+'" title="'+get_lang("l_unseen")+'" onclick="if(\'UNSEEN\' == \''+search_box_type+'\') return false;sort_box(\'UNSEEN\',\''+sort_box_type+'\')">'+get_lang("l_unseen")+'</span>, '+ 
    54935703        '<span ' + change_font_color + ' id="span_flag_SEEN" class="'+(search_box_type == 'SEEN' ? 'message_options_over' : 'message_options')+'" title="'+get_lang("l_seen")+'" onclick="if(\'SEEN\' == \''+search_box_type+'\') return false;sort_box(\'SEEN\',\''+sort_box_type+'\')">'+get_lang("l_seen")+'</span>, '+ 
    5494         '<span ' + change_font_color + ' id="span_flag_ANSWERED" class="'+(search_box_type == 'ANSWERED' ? 'message_options_over' : 'message_options')+'" title="'+get_lang("title_answered")+'" onclick="if(\'ANSWERED\' == \''+search_box_type+'\') return false;sort_box(\'ANSWERED\',\''+sort_box_type+'\')">'+get_lang("l_answered")+'</span>, '+ 
     5704        answer+ 
    54955705        '<span ' + change_font_color + ' id="span_flag_FLAGGED" class="'+(search_box_type == 'FLAGGED' ? 'message_options_over' : 'message_options')+'" title="'+get_lang("l_important")+'" onclick="if(\'FLAGGED\' == \''+search_box_type+'\') return false;sort_box(\'FLAGGED\',\''+sort_box_type+'\')">'+get_lang("l_important")+'</span>&nbsp;&nbsp;'; 
    54965706        draw_paging(num_msgs); 
Note: See TracChangeset for help on using the changeset viewer.