Ignore:
Timestamp:
04/30/08 17:11:15 (16 years ago)
Author:
niltonneto
Message:

Fechamento de versão: 1.2211
Tickets:

#50 Criar uma funcionalidade para inserir imagens embutidas no corpo da mensagem.
#174 Implementar rascunho com anexos
#182 Criar funcionalidade de salvar automaticamente os emails em rascunhos
#183 Funcionalidade de drag and drop na busca
#185 Adicionar tabela na edição de email
#186 Correção do problema com nomes de anexos com caracteres especiais
#188 Definir aspectos de QA do ExpressoMail?
#190 Problema ao salvar informações de filtros no IE

Location:
trunk/expressoMail1_2/js
Files:
11 edited

Legend:

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

    r128 r271  
    1111                _this = this; 
    1212 
    13                 var title = get_lang('Select a name') + ':'; 
    1413                var el = document.createElement("DIV"); 
    1514                el.style.visibility = "hidden"; 
     
    2322                el.innerHTML = ""; 
    2423                 
    25                 if (data.quickSearch_only_in_userSector) 
    26                         title += "<font color='BLACK' nowrap> ("+get_lang('Showing only the results found in your organization')+".)</font>" 
    27                  
    28                 el.innerHTML = "&nbsp;&nbsp;<b><font color='BLUE' nowrap>"+title+"</font></b><br>&nbsp;&nbsp;"; 
    29                  
    3024                if (document.getElementById('select_QuickCatalogSearch') == null){ 
     25 
     26                        var title_innerHTML = get_lang('Select a name') + ':'; 
     27                        if (data.quickSearch_only_in_userSector) 
     28                                title_innerHTML += "<font color='BLACK' nowrap> ("+get_lang('Showing only the results found in your organization')+".)</font>" 
     29 
     30                        var title = document.createElement("SPAM"); 
     31                        title.id = 'window_QuickCatalogSearch_title'; 
     32                        title.innerHTML = "&nbsp;&nbsp;<b><font color='BLUE' nowrap>"+title_innerHTML+"</font></b><br>&nbsp;&nbsp;"; 
     33                        el.appendChild(title); 
     34                         
    3135                        var cmb = document.createElement("SELECT"); 
    3236                        cmb.id = "select_QuickCatalogSearch"; 
     
    8387                } 
    8488                else{ 
     89                        var title_innerHTML = get_lang('Select a name') + ':'; 
     90                        if (data.quickSearch_only_in_userSector) 
     91                                title_innerHTML += "<font color='BLACK' nowrap> ("+get_lang('Showing only the results found in your organization')+".)</font>" 
     92 
     93                        var title = Element('window_QuickCatalogSearch_title'); 
     94                        title.innerHTML = "&nbsp;&nbsp;<b><font color='BLUE' nowrap>"+title_innerHTML+"</font></b><br>&nbsp;&nbsp;"; 
     95                         
    8596                        var cmb = document.getElementById('select_QuickCatalogSearch'); 
    8697                        cmb.onkeypress = function (e) 
     
    109120                                } 
    110121                        }; 
    111                          
    112                          
     122 
    113123                        for (i=0; i<cmb.length; i++) 
    114124                                cmb.options[i--] = null; 
  • trunk/expressoMail1_2/js/abas.js

    r245 r271  
    6969        } 
    7070         
    71         /*var span_options = document.getElementById("span_options");    
    72         if (span_options){ 
    73                 span_options.parentNode.removeChild(span_options); 
    74                 var span_options = document.createElement("SPAN");       
    75                 span_options.setAttribute("id","span_options");  
    76         } 
    77                  
    78         if ((span_options) && (ID == 0)){ 
    79                 var span_D = Element("span_D"); 
    80                 span_options.innerHTML =  
    81                 '<span title="'+get_lang("Delete")+'" style="margin-left:8px;" class="message_options" onclick=delete_msgs(\'null\',\'selected\',\'null\')>'+get_lang("Delete")+'</span> | '+ 
    82                 '<span title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow(\"\",\"move_to\")>'+get_lang("Move")+'</span> | '+ 
    83                 '<span title="'+get_lang("Print")+'" class="message_options" onclick=print_all()>'+get_lang("Print")+'</span> | '+ 
    84                 '<span title="'+get_lang("Export")+'" class="message_options" onclick="export_all_selected_msgs()">'+get_lang("Export")+'</span>';       
    85                 span_options.setAttribute('style',"font-size:5px;"); 
    86                 span_D.parentNode.insertBefore(span_options,span_D);     
    87         } else 
    88                 if ((span_options) && (ID != 0)){                
    89                         span_options.innerHTML = '<span title="'+get_lang("Delete")+'" style="margin-left:8px" class="message_options" onclick=delete_search_msgs('+content.id+')>'+get_lang("Delete")+'</span> | '+ 
    90                                 '<span title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow(\"border_id_'+content.id.substr(11)+'\",\"move_to\")>'+get_lang("Move")+'</span>'; 
    91                 var span_D = Element("span_D");                          
    92                 span_D.parentNode.insertBefore(span_options,span_D);     
    93                 } 
    94         */ 
    9571        return ID; 
    9672} 
     
    10884        } 
    10985        Element("footer_menu").style.display = 'none'; 
    110         var ID = id_value ? id_value : parseInt(BordersArray[(BordersArray.length-1)].sequence) + 1; 
     86         
     87        if (! id_value) // Is new message? 
     88                var ID = parseInt(BordersArray[(BordersArray.length-1)].sequence) + 1; 
     89        else{ 
     90                var ID = id_value; 
     91                if (document.getElementById("border_id_"+id_value+"_r")) // Edit message? if yes treat like new 
     92                                        var id_value = null; 
     93        } 
    11194         
    11295        td = document.createElement("TD"); 
     
    204187        if(!ID) 
    205188                return false; 
     189         
    206190        if (msg_sent == 'false') 
    207191        { 
     
    211195                        try 
    212196                        { 
    213                                 if (body.contentWindow.document.designMode.toLowerCase() == 'on') 
     197                                var save_link = Element("save_message_options"); 
     198                                if ((body.contentWindow.document.designMode.toLowerCase() == 'on') && (save_link.onclick != '')) 
    214199                                { 
    215200                                        var discard_msg = confirm(get_lang("Your message has not been sent. Discard your message?"), ""); 
     
    220205                                        else 
    221206                                        { 
     207                                                if (! newMessageTab.toPreserve[ID]) 
     208                                                        cExecute ("$this.imap_functions.delete_msgs&folder="+newMessageTab.imapBox[ID]+"&msgs_number="+newMessageTab.imapUid[ID],function(data){ return }); 
    222209                                                Element('to_'+ID).focus(); 
    223210                                        } 
     
    229216                } 
    230217        } 
     218 
     219        newMessageTab.toPreserve[ID] = false; 
     220        newMessageTab.imapUid[ID] = 0; 
    231221 
    232222        hold_session = false; 
  • trunk/expressoMail1_2/js/common_functions.js

    r197 r271  
    4545// onUnload edit message 
    4646if(!is_ie) 
    47         window.onbeforeunload = unloadMess; 
     47{ 
     48        var beforeunload = window.onbeforeunload; 
     49        window.onbeforeunload = function() 
     50        { 
     51                if ( typeof beforeunload == 'function' ) 
     52                        beforeunload(); 
     53 
     54                return unloadMess(); 
     55        }; 
     56} 
    4857function unloadMess(){ 
    4958        var mess = get_lang("Your message has not been sent and will be discarted."); 
     
    154163} 
    155164 
    156 function download_attachments(msg_folder, msg_number, idx_file, msg_part, encoding, new_file_name){ 
     165function download_attachments(msg_folder, msg_number, idx_file, msg_part, encoding, new_file_name, show_iframe){ 
    157166        div_attachment = document.getElementById("id_div_attachment"); 
    158167        var params = ''; 
     
    167176        if(encoding) 
    168177                params += "&encoding="+encoding; 
     178 
    169179        div_attachment.innerHTML="<iframe style='display:none;width:0;height:0' name='attachment' src='inc/gotodownload.php?msg_folder="+msg_folder+"&msg_number="+msg_number+"&idx_file="+idx_file+"&msg_part="+msg_part+params+"'></iframe>"; 
    170180} 
     181 
    171182function download_all_attachments(msg_folder, msg_number){ 
    172183        var handler_source = function(data){             
     
    176187} 
    177188// Add Input File Dynamically. 
    178 var countFiles = 0; 
    179189function addFile(id_border){ 
    180190        divFiles = document.getElementById("divFiles_"+id_border); 
    181         countFiles++; 
     191         
     192        if (divFiles.lastChild) 
     193                var countDivFiles = parseInt(divFiles.lastChild.id.split('_')[2]) + 1; 
     194 
     195        if (! countDivFiles) 
     196                var countDivFiles = 1; 
     197         
    182198        divFile = document.createElement('DIV'); 
    183         inputFile = document.createElement("INPUT"); 
     199         
     200        var inputFile = document.createElement("INPUT"); 
    184201         
    185202        var tmp_id_border = document.createAttribute('id_border'); 
    186203        tmp_id_border.value = id_border; 
     204         
    187205        inputFile.setAttributeNode(tmp_id_border); 
    188         inputFile.id = "inputFile_"+id_border+countFiles; 
     206        inputFile.id = "inputFile_"+id_border+"_"+countDivFiles; 
    189207        inputFile.onchange = function () {validateFileExtension(this.value, this.id.replace("input","div"), this.getAttribute('id_border'));}; 
    190208        inputFile.type = 'file'; 
    191209        inputFile.size = 50; 
    192210        inputFile.maxLength = 255; 
    193         inputFile.name='file_'+countFiles; 
     211        inputFile.name='file_'+countDivFiles; 
     212         
    194213        divFile.appendChild(inputFile); 
    195         linkFile = document.createElement("A"); 
    196         linkFile.id = "linkFile_"+id_border+countFiles; 
     214         
     215        var linkFile = document.createElement("A"); 
     216        linkFile.id = "linkFile_"+id_border+"_"+countDivFiles; 
    197217        linkFile.href='javascript:void(0)'; 
    198218        linkFile.onclick=function () {removeFile(this.id.replace("link","div"));}; 
     
    200220        //divFile.innerHTML += "&nbsp;&nbsp;"; 
    201221        divFile.appendChild(linkFile); 
    202         divFile.id = "divFile_"+id_border+countFiles;    
     222        divFile.id = "divFile_"+id_border+"_"+countDivFiles;     
    203223        divFiles.appendChild(divFile); 
    204224} 
    205225//      Remove Input File Dynamically. 
    206226function removeFile(id){ 
     227        var border_id = id.substr(8,1); 
    207228        var el = Element(id); 
    208229        el.parentNode.removeChild(el); 
     
    210231 
    211232function validateFileExtension(fileName, id, id_border){ 
    212         var fileExtension = fileName.split("."); 
     233        var error_flag  = false; 
     234        if (fileName[0] != '/'){ // file name is windows format? 
     235                var file = fileName.substr(fileName.lastIndexOf('\\') + 1, fileName.length); 
     236                if ((fileName.indexOf(':\\') != 1) && (fileName.indexOf('\\\\') != 0)) // Is stored in partition or a network file? 
     237                        error_flag = true;       
     238        } 
     239        else // is nix 
     240                var file = fileName.substr(fileName.lastIndexOf('/') + 1, fileName.length);                                              
     241 
     242        var fileExtension = file.split("."); 
    213243        fileExtension = fileExtension[(fileExtension.length-1)]; 
    214          
    215244        for(var i=0; i<denyFileExtensions.length; i++) 
    216245        { 
    217246                if(denyFileExtensions[i] == fileExtension) 
    218247                { 
    219                         alert(get_lang('File extension forbidden') + '.'); 
    220                         removeFile(id); 
    221                         addFile(id_border); 
    222                 } 
    223         } 
     248                        error_flag = true; 
     249                        break; 
     250                } 
     251                         
     252        } 
     253 
     254        if (error_flag == true){ 
     255                alert(get_lang('File extension forbidden or invalid file') + '.'); 
     256                removeFile(id); 
     257                addFile(id_border); 
     258                return false; 
     259        } 
     260        return true; 
     261         
    224262} 
    225263 
  • trunk/expressoMail1_2/js/connector.js

    r197 r271  
    506506        //      url: 'module.class.method' 
    507507        //      form: form element (for upload files)    
    508         function cExecuteForm(url, form, handler){ 
     508        function cExecuteForm(url, form, handler,id){ 
    509509                connector.buildBar(); 
    510510                isExecuteForm = true;            
     
    526526                } 
    527527 
    528                 if(countFiles) {                         
     528                var divFiles = Element("divFiles_"+id);          
     529                if (divFiles.firstChild) { 
    529530                        el                      = document.createElement('input'); 
    530531                        el.type = 'hidden';      
    531532                        el.name = 'countFiles'; 
    532                         el.value        = countFiles; 
     533                        var countDivFiles = 0; 
     534                        try{ 
     535                                countDivFiles = parseInt(divFiles.lastChild.firstChild.id.split('_')[2]) + 1; // The id of last file  
     536                                } 
     537                        catch (e) { var countDivFiles = 0; }; 
     538                        el.value        = countDivFiles ; 
    533539                        form.appendChild(el);                                            
    534540                }                
  • trunk/expressoMail1_2/js/draw_api.js

    r252 r271  
    871871                var option_edit   = '<span class="message_options" onclick="new_message(\'edit\',\''+ID+'\');">'+get_lang('Edit')+'</span> | '; 
    872872                var option_print = '<span class="message_options" onclick="print_msg(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Print')+'</span> | '; 
    873                 var option_delete = '<span class="message_options" onclick="delete_msgs(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Delete')+'</span>'; 
     873                var option_delete = '<span class="message_options" onclick="delete_msgs(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Delete')+'</span> | ';                 
     874                var option_hide_more = document.createElement("SPAN"); 
     875                option_hide_more.className = 'message_options'; 
     876                options.align = 'right'; 
     877                option_hide_more.value = 'more_options'; 
     878                option_hide_more.id = 'option_hide_more_'+ID; 
     879                option_hide_more.innerHTML = get_lang('Options'); 
     880                option_hide_more.onclick = function(){ 
     881                        var _height = Element("div_message_scroll_"+ID).style.height; 
     882                        _height = parseInt(_height.replace("px","")); 
     883                        var _offset = 35; 
     884                        if (this.value == 'more_options'){ 
     885                                this.innerHTML = "<b><u>"+get_lang('Options')+"</u></b>"; 
     886                                this.value = 'hide_options'; 
     887                                Element("div_message_scroll_"+ID).style.height = (_height - _offset)+"px"; 
     888                                Element('table_message_others_options_'+ID).style.display = ''; 
     889                        } 
     890                        else{ 
     891                                this.innerHTML = get_lang('Options'); 
     892                                this.value = 'more_options'; 
     893                                Element("div_message_scroll_"+ID).style.height = (_height + _offset)+"px"; 
     894                                Element('table_message_others_options_'+ID).style.display = 'none'; 
     895                        } 
     896                }; 
    874897                options.innerHTML = option_edit + option_print + option_delete; 
     898                options.appendChild(option_hide_more); 
    875899                tr.appendChild(td); 
    876900                tr.appendChild(options); 
     
    896920        var td1 = document.createElement("TD"); 
    897921        td1.innerHTML = get_lang("From: "); 
     922        td1.appendChild(deny_email(info_msg.from.email)); 
    898923        td1.width = "7%"; 
    899924         
     
    903928                var td111 = document.createElement("TD"); 
    904929                td111.innerHTML = get_lang("Sent by")+": "; 
     930                td111.appendChild(deny_email(info_msg.sender.email)); 
    905931                td111.setAttribute("noWrap","true"); 
    906932                var sender = document.createElement("TD"); 
     
    911937                sender_values.value = info_msg.sender.full; //Veio do IMAP, sem images nem links. 
    912938                sender.innerHTML += draw_plugin_cc(ID, info_msg.sender.full); 
    913                 sender.appendChild(deny_email(info_msg.sender.email));           
    914939                sender.className = "header_message_field"; 
    915940                tr111.appendChild(td111); 
     
    925950        if (info_msg.Draft != "X"){ 
    926951                from.innerHTML += draw_plugin_cc(ID, info_msg.from); 
    927                 from.appendChild(deny_email(info_msg.from.email)); 
    928952                tbody_message_others_options.appendChild(tr1); 
    929953        } 
     
    11971221} 
    11981222 
    1199 function draw_new_message(){ 
    1200         var ID = create_border(""); 
     1223function draw_new_message(border_ID){ 
     1224        var ID = create_border("",border_ID); 
    12011225        hold_session = true; 
    12021226///////////////////////////////////////////////////////////////////////////////////////////////////////// 
     
    12411265                wfolders.alert = true; 
    12421266        } 
    1243         var option_save                 = '<span class="message_options" onclick=wfolders.makeWindow("'+ID+'","save");>'+get_lang("Save")+'</span> | '; 
     1267//      var option_save_as              = '<span class="message_options" onclick=wfolders.makeWindow("'+ID+'","save");>'+get_lang("Save as")+'</span> | '; 
     1268        var option_save                 = '<span id="save_message_options" class="message_options" onclick="newMessageTab.toPreserve['+ID+'] = true; save_msg('+ID+');">'+get_lang("Save")+'</span> | '; 
    12441269        var option_search               = '<span class="message_options" onclick=openListUsers("'+ID+'");>'+get_lang("Search")+'</span>'; 
    12451270        td_menu_new_message.innerHTML = option_send + option_send_and_file + option_save + option_search; 
     
    20462071                dn_em.setAttribute("title",get_lang("Block Sender")); 
    20472072                dn_em.style.cursor = "pointer";          
    2048                 dn_em.innerHTML = "<img onclick=filter.new_rule('"+email+"') src='./templates/default/images/deny.gif'>"; 
     2073                dn_em.innerHTML = "<img align='top' onclick=filter.new_rule('"+email+"') src='./templates/default/images/deny.gif'>"; 
    20492074        return dn_em; 
    20502075         
  • trunk/expressoMail1_2/js/filter.js

    r246 r271  
    370370                                _this.out_officeF = false; 
    371371                                //Save outoffice in prefs: 
    372                                 if(!prefe) 
    373                                         connector.loadScript("preferences"); 
     372                                connector.loadScript("preferences"); 
    374373                                prefe.save("outoffice", _this.out_officeF); 
    375374                        } 
     
    530529                                _this.out_officeF = (aux[4].replace("\n","") == "off") ? false : true; 
    531530                                //Save outoffice in prefs: 
    532                                 if(!prefe) 
    533                                         connector.loadScript("preferences"); 
     531                                connector.loadScript("preferences"); 
    534532                                prefe.save("outoffice", _this.out_officeF); 
    535533                } 
  • trunk/expressoMail1_2/js/main.js

    r245 r271  
    11// Tempo do auto refresh (em milisegundos) 
    22var time_refresh = 300000; 
     3var autosave_time = 60000; 
     4 
    35function init(){ 
    46        if (!is_ie) 
     
    3840        setTimeout('auto_refresh()', time_refresh); 
    3941} 
     42 
     43var away = false; 
     44var away_timer; 
     45function setAway () 
     46{ 
     47        away_timer = setTimeout("setAway()", 5000); 
     48        away=true; 
     49} 
     50 
     51function auto_save_msg(border_id) 
     52{ 
     53        if (document.getElementById('border_id_'+border_id)) 
     54        {        
     55                var      keypress_handler = function stop_counting () 
     56                { 
     57                        clearTimeout(away_timer); 
     58                        away=false; 
     59                        away_timer = setTimeout('setAway()',5000); 
     60                }; 
     61                 
     62                var obj = document.getElementById('body_'+border_id).contentWindow.document; 
     63                if ( obj.addEventListener ) 
     64                                obj.addEventListener('keypress', keypress_handler, false); 
     65                else if ( obj.attachEvent ) 
     66                        obj.attachEvent('onkeypress', keypress_handler); 
     67 
     68                if (away) 
     69                        { 
     70                                var save_link = Element("save_message_options"); 
     71                                if (save_link.onclick !=  '') 
     72                                        save_msg(border_id); 
     73                                else 
     74                                        setTimeout('auto_save_msg('+border_id+')',autosave_time); 
     75                        } 
     76                        else 
     77                                setTimeout('auto_save_msg('+border_id+')',3000); 
     78        } 
     79} 
     80 
     81function watch_changes_in_msg(border_id) 
     82{ 
     83        if (document.getElementById('border_id_'+border_id)) 
     84        {        
     85                function keypress_handler () 
     86                { 
     87                        away=false; 
     88                        var save_link = Element("save_message_options"); 
     89                        save_link.onclick = function onclick(event) { newMessageTab.toPreserve[border_id] = true; save_msg(border_id); } ; 
     90                        save_link.style.color = '#0000ff'; 
     91                }; 
     92                 
     93                var obj = document.getElementById('body_'+border_id).contentWindow.document; 
     94                if ( obj.addEventListener ) 
     95                                obj.addEventListener('keypress', keypress_handler, false); 
     96                else if ( obj.attachEvent ) 
     97                        obj.attachEvent('onkeypress', keypress_handler); 
     98                         
     99                var subject_obj = document.getElementById('subject_'+border_id); 
     100                if ( subject_obj.addEventListener ) 
     101                                subject_obj.addEventListener('keypress', keypress_handler, false); 
     102                else if ( subject_obj.attachEvent ) 
     103                        subject_obj.attachEvent('onkeypress', keypress_handler); 
     104                         
     105                var to_obj = document.getElementById('to_'+border_id); 
     106                if ( to_obj.addEventListener ) 
     107                                to_obj.addEventListener('keypress', keypress_handler, false); 
     108                else if ( to_obj.attachEvent ) 
     109                        to_obj.attachEvent('onkeypress', keypress_handler); 
     110                 
     111        } 
     112} 
     113 
     114 
    40115 
    41116function show_msg(msg_info){ 
     
    105180                        var box = Element("tbody_box"); 
    106181                        table_element.appendChild(box); 
    107                         var len = data.length; 
    108                         for (var i=0; i<len; i++){ 
     182                        for (var i=0; i<data.length; i++){ 
    109183                                var new_msg = this.make_tr_message(data[i], current_folder); 
    110184                                _dragArea.makeDragged(new_msg, data[i].msg_number, data[i].subject, true); 
    111185                                eval(data[i].command); 
    112186                        } 
     187                         
     188                        for (var i=0; i<data.msgs_to_delete.length; i++){ 
     189                                var remove_msg = document.getElementById(data.msgs_to_delete[i]); 
     190                                if (remove_msg) 
     191                                        remove_msg.parentNode.removeChild(remove_msg); 
     192                        } 
    113193                        if(parseInt(alert_new_msg) && data.new_msgs > 0) 
    114194                                alert(get_lang("You have %1 new", data['new_msgs'])+" "+(data['new_msgs'] > 1 ? get_lang("messages") : get_lang("message")) +"!"); 
    115195                        if(data.new_msgs > 0){ 
    116                         Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + parseInt(data.new_msgs); 
     196                        Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + parseInt(data.new_msgs); //refresh tab title 
    117197                        update_quota(); 
    118198                        } 
     
    368448 
    369449function new_message(type, border_ID){ 
    370         var new_border_ID = draw_new_message();  
     450 
     451        var new_border_ID = draw_new_message(parseInt(border_ID)); 
     452        if (preferences.auto_save_draft == 1) 
     453                setTimeout('auto_save_msg('+new_border_ID+')', autosave_time);           
     454         
    371455        // Salva a pasta da mensagem respondida ou encaminhada: 
    372456        var folder_message = Element("input_folder_"+border_ID); 
     
    596680                        break; 
    597681                case "edit": 
     682                        newMessageTab.imapBox[new_border_ID] = folder_message.value 
     683                        newMessageTab.imapUid[new_border_ID] = parseInt(border_ID.substr(0,border_ID.indexOf("_"))); 
     684                        document.getElementById('font_border_id_'+new_border_ID).innerHTML = data.subject; 
    598685                        data.to = Element("to_values_" + border_ID).value; 
    599686                        data.to = data.to.replace(/&lt;/gi,"<"); 
     
    610697                        Element("subject_" + new_border_ID).value = data.subject; 
    611698                         
     699                        var divFiles = Element("divFiles_"+new_border_ID); 
     700                        if (Element("attachments_" + border_ID)){ 
     701                                var attachments = document.getElementById("attachments_" + border_ID).childNodes; 
     702                                for (var i = (attachments.length > 1 ? 1 : 0); i < attachments.length; i++){ 
     703                                        var link_attachment = document.createElement("A"); 
     704                                        link_attachment.setAttribute("href", attachments[i].href); 
     705                                        link_attachment.innerHTML = attachments[i].innerHTML; 
     706                                        var tmp = link_attachment.href.replace("javascript:download_attachments(", "").replace(")", ""); 
     707                                        var a_tmp = tmp.split(','); 
     708                                        tmp = link_attachment.innerHTML.substring(0,link_attachment.innerHTML.lastIndexOf("(")); 
     709                                        a_tmp[2] = "'"+tmp.substring(0,tmp.length-1)+"'"; 
     710                                        s_tmp = escape(connector.serialize(a_tmp)); 
     711                                        divFiles.innerHTML += "<input style='border:0' type='CHECKBOX' name='forwarding_attachments[]' checked value=\""+s_tmp+"\"/>"; 
     712                                        divFiles.appendChild(link_attachment); 
     713                                } 
     714                        } 
    612715                        var body = Element("body_" + new_border_ID); 
    613716                        body.contentWindow.document.open(); 
     
    682785                        set_message_flag(msg_number_forwarded.value, 'forwarded'); 
    683786                } 
    684                  
    685787                delete_border(ID,'true'); 
    686788                if(wfolders.alert){ 
     
    699801                        write_msg(data); 
    700802        } 
     803        if ((! newMessageTab.toPreserve[ID]) && (newMessageTab.imapUid[ID] != 0)) 
     804                cExecute ("$this.imap_functions.delete_msgs&folder="+newMessageTab.imapBox[ID]+"&msgs_number="+newMessageTab.imapUid[ID],function(data){ return }); 
    701805} 
    702806 
    703807function send_message(ID, folder, folder_name){ 
     808        var save_link = Element("save_message_options"); 
     809        save_link.onclick = ''; 
     810        save_link.style.color = '#999'; 
     811         
    704812        ID_tmp = ID; 
    705          
     813 
    706814        var handler_send_message = function(data){ 
    707                 send_message_return(data, this.ID_tmp); 
    708         } 
    709  
     815                send_message_return(data, this.ID_tmp); // this is a hack to escape quotation form connector bug 
     816        }; 
     817                 
    710818        var textArea = document.createElement("TEXTAREA"); 
    711819        textArea.style.display='none'; 
     
    719827        input_folder.name = "folder"; 
    720828        input_folder.value = folder; 
     829        var msg_id = document.createElement("INPUT"); 
     830        msg_id.style.display='none'; 
     831        msg_id.name = "msg_id"; 
     832        msg_id.value = newMessageTab.imapUid[ID]; 
    721833         
    722834        if (is_ie){ 
     
    730842        form.appendChild(textArea); 
    731843        form.appendChild(input_folder); 
     844        form.appendChild(msg_id); 
    732845 
    733846        var _subject = trim(Element("subject_"+ID).value); 
     
    736849                return; 
    737850        } 
    738  
    739         cExecuteForm ("$this.imap_functions.send_mail", form, handler_send_message); 
    740 } 
    741  
    742 function save_msg(border_id, folder_id, folder_name){ 
    743         var handler_save_msg = function(data){ 
    744                 if(!verify_session(data)) 
    745                         return; 
    746                 if (data.append){ 
    747                         write_msg(get_lang('Your message was save as draft in folder %1.', data.folder_name)); 
    748                         delete_border(data.border_id,'true'); 
    749                 } 
    750                 else 
    751                         write_msg('ERRO saving your message.'); 
    752         } 
    753          
    754         var msg_data = new Array(); 
    755         if (document.getElementById("to_" + border_id)) 
    756                 msg_data.to = Element("to_" + border_id).value; 
    757          
    758         if (document.getElementById("cc_" + border_id)) 
    759                 msg_data.cc = Element("cc_" + border_id).value; 
    760          
    761         if (document.getElementById("cco_" + border_id))         
    762                 msg_data.cco = Element("cco_" + border_id).value;        
    763          
    764         if (document.getElementById("subject_" + border_id))     
    765                 msg_data.subject = Element("subject_" + border_id).value; 
    766          
    767         if (document.getElementById("body_" + border_id))                
    768                 msg_data.body = Element("body_" + border_id).contentWindow.document.body.innerHTML; 
    769                  
    770         var args   = "$this.imap_functions.save_msg";    
    771         var body = msg_data.body.replace(/&nbspl/g, "%nbsp;"); 
    772         body = url_encode(msg_data.body); 
    773         msg_data.subject = url_encode(msg_data.subject); 
    774         var params = "folder_id="+folder_id+"&folder_name="+folder_name+"&border_id="+border_id+"&to="+msg_data.to+"&cc="+msg_data.cc+"&cco="+msg_data.cco+"&subject="+msg_data.subject+"&body="+body; 
    775         cExecute( args, handler_save_msg, params); 
    776 } 
     851         
     852        cExecuteForm ("$this.imap_functions.send_mail", form, handler_send_message, ID); 
     853} 
     854 
     855function return_save(data,border_id,folder_name,folder_id,message_id) 
     856{ 
     857        var handler_delete_msg = function(data){ refresh(preferences.alert_new_msg); }; 
     858        RichTextEditor.saveFlag = 1; 
     859 
     860        if (! data) 
     861                write_msg('ERROR saving your message.'); 
     862        else 
     863        { 
     864                newMessageTab.imapUid[border_id] = data.msg_no; 
     865                newMessageTab.imapBox[border_id] = data.folder_id; 
     866                 
     867                var newTitle = document.getElementById('subject_'+border_id).value; 
     868                if (newTitle.length > 18) 
     869                        newTitle = newTitle.substr(18) + '...'; 
     870                else if (newTitle == '') 
     871                                newTitle = get_lang("No subject"); 
     872                document.getElementById('font_border_id_'+border_id).innerHTML = newTitle; 
     873                 
     874                // Replace the embedded images for new uids 
     875                var mainField = document.getElementById('body_'+border_id).contentWindow; 
     876                var content_body =  mainField.document.getElementsByTagName('body').item(0).innerHTML; 
     877                var body_images = content_body.match(/msg_num=\d*/g); 
     878                if (body_images) 
     879                { 
     880                        for (var i=0; i<body_images.length; i++){ 
     881                                content_body =  content_body.replace(body_images[i],"msg_num="+newMessageTab.imapUid[border_id]); 
     882                        } 
     883                        mainField.document.getElementsByTagName('body').item(0).innerHTML = content_body; 
     884                        // This is not just stupid, it refresh screen to avoid broken images 
     885                        mainField.document.getElementsByTagName('body').item(0).innerHTML = mainField.document.getElementsByTagName('body').item(0).innerHTML;   
     886                }        
     887                                 
     888                //Replace all files to new files 
     889                var divFiles = Element("divFiles_"+border_id); 
     890                var divParent = divFiles.parentNode; 
     891                divParent.removeChild(divFiles); 
     892                divFiles = document.createElement('DIV'); 
     893                divFiles.id = "divFiles_"+border_id; 
     894                divParent.appendChild(divFiles); 
     895                 
     896                var attach_files = connector.unserialize(data.files); 
     897                if (attach_files != null) { 
     898                        newMessageTab.countFile[border_id] = attach_files.length; 
     899                for (att_index = 0; att_index < attach_files.length; att_index++){ 
     900         
     901                        var link_attachment = document.createElement("A"); 
     902                        var fileName = attach_files[att_index].substr(0,attach_files[att_index].indexOf('_SIZE_')); 
     903                        var fileSize = parseInt(attach_files[att_index].substr(attach_files[att_index].indexOf('_SIZE_')+6))/1024 
     904                        link_attachment.innerHTML = fileName + " ("+parseInt(fileSize)+" kb)"; 
     905 
     906                        var href = "'"+folder_id+"','"+data.msg_no+"','"+(att_index)+"','"+(att_index+2)+"','base64'"; 
     907 
     908                        link_attachment.setAttribute("href", "javascript:download_attachments("+href+")"); 
     909 
     910                        var a_tmp = href.split(','); 
     911                        a_tmp[2] = fileName; 
     912                        s_tmp = escape(connector.serialize(a_tmp)); 
     913                                         
     914                        var check_attachment = document.createElement("INPUT"); 
     915                        check_attachment.type = 'CHECKBOX'; 
     916                        check_attachment.name = 'forwarding_attachments[]'; 
     917                        check_attachment.value = s_tmp; 
     918 
     919                        divFiles.appendChild(check_attachment); 
     920                        divFiles.appendChild(link_attachment); 
     921                        divFiles.appendChild(document.createElement("BR")); 
     922 
     923                        check_attachment.checked = true; 
     924                } 
     925        } 
     926                if (message_id) 
     927                        cExecute ("$this.imap_functions.delete_msgs&folder="+newMessageTab.imapBox[border_id]+"&msgs_number="+message_id,handler_delete_msg); 
     928                 
     929                if (preferences.auto_save_draft == 1) 
     930                                setTimeout('auto_save_msg('+border_id+')', autosave_time);               
     931 
     932                var save_link = Element("save_message_options"); 
     933                save_link.onclick = ''; 
     934                save_link.style.color = '#999'; 
     935                watch_changes_in_msg(border_id); 
     936                 
     937                write_msg(get_lang('Your message was save as draft in folder %1.', folder_name)); 
     938        }                
     939} 
     940 
     941function save_msg(border_id){ 
     942        if (newMessageTab.imapBox[border_id]) //Gets the imap folder 
     943                var folder_id = newMessageTab.imapBox[border_id]; 
     944        else 
     945                var     folder_id = "INBOX/"+draftsfolder; 
     946 
     947        if (folder_id == 'INBOX') // and folder name from border 
     948                var folder_name = get_lang(folder_id); 
     949        else 
     950                var folder_name = folder_id.substr(6); 
     951                 
     952        // hack to avoid form connector bug,  escapes quotation. Please see #179 
     953        tmp_border_id=border_id; 
     954        tmp_folder_name=folder_name; 
     955        tmp_folder_id=folder_id; 
     956        message_id = newMessageTab.imapUid[border_id]; 
     957        var handler_save_msg = function(data){ return_save(data,this.tmp_border_id,this.tmp_folder_name,this.tmp_folder_id,this.message_id); } 
     958         
     959        var textArea = document.createElement("TEXTAREA"); 
     960        textArea.style.display='none'; 
     961        textArea.name = "body"; 
     962        body = document.getElementById("body_"+border_id); 
     963        textArea.value += '<body>\r\n'; 
     964        textArea.value += body.contentWindow.document.body.innerHTML; 
     965        textArea.value += '\r\n</body>'; 
     966        var input_folder = document.createElement("INPUT"); 
     967        input_folder.style.display='none'; 
     968        input_folder.name = "folder"; 
     969        input_folder.value = folder_id; 
     970         
     971        if (is_ie){ 
     972                var i = 0; 
     973                while (document.forms(i).name != "form_message_"+border_id){i++} 
     974                form = document.forms(i); 
     975        } 
     976        else 
     977                form = document.forms["form_message_"+border_id]; 
     978        form.appendChild(textArea); 
     979        form.appendChild(input_folder); 
     980 
     981        cExecuteForm ("$this.imap_functions.save_msg", form, handler_save_msg,border_id);        
     982} 
     983 
     984function return_saveas(data,border_id,folder_name) 
     985{ 
     986        if(!verify_session(data)) 
     987                return; 
     988        if (data.append) 
     989        { 
     990                delete_border(border_id,null); 
     991                write_msg(get_lang('Your message was save as draft in folder %1.', folder_name)); 
     992        } 
     993        else 
     994                write_msg('ERROR saving your message.');                                         
     995} 
     996 
     997 
     998function save_as_msg(border_id, folder_id, folder_name){ 
     999        // hack to avoid form connector bug,  escapes quotation. Please see #179 
     1000        tmp_border_id=border_id; 
     1001        tmp_folder_name=folder_name; 
     1002        var handler_save_msg = function(data){ return_saveas(data,this.tmp_border_id,this.tmp_folder_name); }    
     1003        var textArea = document.createElement("TEXTAREA"); 
     1004        textArea.style.display='none'; 
     1005        textArea.name = "body"; 
     1006        body = document.getElementById("body_"+border_id); 
     1007        textArea.value += '<body>\r\n'; 
     1008        textArea.value += body.contentWindow.document.body.innerHTML; 
     1009        textArea.value += '\r\n</body>'; 
     1010         
     1011        var input_folder = document.createElement("INPUT"); 
     1012        input_folder.style.display='none'; 
     1013        input_folder.name = "folder"; 
     1014        input_folder.value = folder_id; 
     1015         
     1016        if (is_ie){ 
     1017                var i = 0; 
     1018                while (document.forms(i).name != "form_message_"+border_id){i++} 
     1019                form = document.forms(i); 
     1020        } 
     1021        else 
     1022                form = document.forms["form_message_"+border_id]; 
     1023        form.appendChild(textArea); 
     1024        form.appendChild(input_folder); 
     1025         
     1026        cExecuteForm ("$this.imap_functions.save_msg", form, handler_save_msg,border_id); 
     1027} 
     1028 
    7771029 
    7781030// Get checked messages 
  • trunk/expressoMail1_2/js/preferences.js

    r244 r271  
    7373                                "<option value='15'>"+get_lang("Big")+"</option>"+ 
    7474                                "</select></td></tr>"+ 
     75                                "<tr><td> - " + get_lang("Auto save draft") + "?</td>"+ 
     76                                "<td><input type='checkBox' id='auto_save_draft' name='auto_save_draft'></td></tr>"+ 
    7577                                "<tr><td> - " + get_lang("Use shortcuts?") + "</td>"+ 
    7678                                "<td><input type='checkBox' id='use_shortcuts' name='use_shortcuts'></td></tr>"+ 
     
    131133                        txt_signature.value = preferences.signature; 
    132134                 
    133                 if( preferences.use_shortcuts == 1){Element("use_shortcuts").checked = true;} 
     135                if( preferences.use_shortcuts == 1) Element("use_shortcuts").checked = true; 
     136                if( preferences.auto_save_draft == 1) Element("auto_save_draft").checked = true; 
    134137        } 
    135138         
     
    152155                        reload_page = true; 
    153156            else if(preferences.use_shortcuts != Element("use_shortcuts").checked) 
     157                        reload_page = true; 
     158            else if(preferences.auto_save_draft != Element("auto_save_draft").checked) 
    154159                        reload_page = true; 
    155160                                 
     
    166171                preferences.signature = Element("txt_signature").value; 
    167172                preferences.use_shortcuts = Element("use_shortcuts").checked ? 1 : 0; 
     173                preferences.auto_save_draft = Element("auto_save_draft").checked ? 1 : 0; 
     174                 
    168175                var _this = this; 
    169176                 
     
    217224                 
    218225                if(! this.prefeW[div.id]) { 
    219                         div.style.height = is_ie ? "355px" : "365px"; 
     226                        div.style.height = is_ie ? "385px" : "370px"; 
    220227                        div.style.width = "510px"; 
    221228                        div.style.visibility = "hidden"; 
  • trunk/expressoMail1_2/js/rich_text_editor.js

    r163 r271  
     1var newMessageTab = { 
     2                'imapUid' : [], // Stores the imap email number of current tab 
     3                'countFile' : [0,0,0,0,0,0,0,0,0,0], // Stores the number of files attached in current tab 
     4                'imapBox' : [], // Stores the folder name 
     5                'toPreserve' : [] // Check if the message should be removed from draft after send 
     6                }; 
     7                 
     8var defaultDraftFolder = ''; 
     9 
    110function cRichTextEditor(){ 
     11        this.emwindow   = new Array; 
    212        this.editor; 
    313        this.table; 
    414        this.id; 
    515        this.buildEditor(); 
     16        this.saveFlag = 0; 
    617} 
    718 
     
    151162         
    152163        var buttons = ['bold', 'italic', 'underline', 'forecolor', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 
    153                                    'undo', 'redo', 'insertorderedlist', 'insertunorderedlist', 'outdent', 'indent', 'link', 'signature']; 
     164                                   'undo', 'redo', 'insertorderedlist', 'insertunorderedlist', 'outdent', 'indent', 'link', 'signature', 'image', 'table']; 
    154165 
    155166        for (var i=0; i<buttons.length; i++){ 
     
    166177                else if (buttons[i] == 'link') 
    167178                        img.onclick = function () {RichTextEditor.createLink();}; 
     179                else if (buttons[i] == 'image') 
     180                        img.onclick = function () {RichTextEditor.createImage();}; 
     181                else if (buttons[i] == 'table') 
     182                        img.onclick = function () {RichTextEditor.createTable();}; 
    168183                else 
    169184                        img.onclick = function () {RichTextEditor.editorCommand(this.id,'');}; 
     
    181196 
    182197cRichTextEditor.prototype.editorCommand = function(command, option) { 
    183         var mainField = document.getElementById(this.editor).contentWindow; 
    184198        try { 
     199                var mainField = document.getElementById(this.editor).contentWindow; 
    185200                mainField.focus(); 
    186201                if (command == 'signature'){ 
     
    198213                        } 
    199214                } 
    200                 else 
    201                         mainField.document.execCommand(command, false, option); 
     215                else if (command == 'CreateLink') 
     216                        mainField.document.execCommand('CreateLink', false, option); 
     217                else if (command == 'Table'){ 
     218                        if (is_ie){ 
     219                                var sel = document.selection; 
     220                                if (sel!=null) 
     221                                { 
     222                                    var rng = sel.createRange(); 
     223                                    if (rng!=null) 
     224                                rng.pasteHTML(option); 
     225                                } 
     226                        } 
     227                        else  
     228                                mainField.document.execCommand('inserthtml', false, option); 
     229                        } 
     230                else // command == Image 
     231                        mainField.document.execCommand('InsertImage', false, option); 
    202232                //mainField.focus(); 
    203     } catch (e) {} 
     233    } catch (e) { alert(e.description); } 
    204234} 
    205235 
     
    222252                this.editorCommand("CreateLink", szURL); 
    223253        } 
     254} 
     255 
     256// It include the image file in emails body 
     257// It saves and attach in drafts folder and open it 
     258cRichTextEditor.prototype.addInputFile = function() 
     259{ 
     260        var id = this.editor.substr(5); // border_id 
     261        divFiles = document.getElementById("divFiles_"+id); 
     262        var countDivFiles = divFiles.childNodes.length + 1; 
     263 
     264        var inputFile = document.getElementById('inputFile_img'); 
     265        var divFiles = document.getElementById('divFiles_'+id); 
     266        inputFile.id = 'inputFile_'+id +"_"+countDivFiles; 
     267        inputFile.name = 'file_'+countDivFiles; 
     268        divFile = document.createElement('DIV'); 
     269        divFile.appendChild(inputFile); 
     270        divFiles.appendChild(divFile); 
     271 
     272        var form_upload = document.getElementById('form_upload'); 
     273        form_upload.parentNode.removeChild(form_upload); 
     274        win.close(); 
     275         
     276        if (! validateFileExtension(inputFile.value, inputFile.id , id)) 
     277        return false; 
     278 
     279        RichTextEditor.saveFlag = 0; // See if save function finished 
     280        save_msg(id); 
     281        setTimeout("RichTextEditor.insertImgHtml("+id+")",1000); 
     282} 
     283 
     284cRichTextEditor.prototype.insertImgHtml = function (id){ 
     285        if (RichTextEditor.saveFlag == 0) 
     286                setTimeout("RichTextEditor.insertImgHtml("+id+")",500); 
     287        else 
     288                        this.editorCommand('Image', './inc/show_embedded_attach.php?msg_folder=INBOX/'+draftsfolder+'&msg_num='+newMessageTab.imapUid[id]+'&msg_part='+(newMessageTab.countFile[id]+1)); 
     289                        // this.editorCommand('Image', '.inc/gotodownload.php?msg_folder="+msg_folder+"&msg_number="+msg_number+"&idx_file="+idx_file+"&msg_part="+msg_part+params')); 
     290} 
     291 
     292cRichTextEditor.prototype.insertTableHtml = function (){ 
     293        var id = this.editor.substr(5); // border_id 
     294        var     rows = document.getElementById('rows').selectedIndex; 
     295        var     cols = document.getElementById('cols').selectedIndex; 
     296        var insertTable = '<table border="1px"><tbody>'; 
     297        for (var i = 0; i <= rows; i++){ 
     298                insertTable += "<tr>";   
     299                for (var j = 0; j <= cols; j++) 
     300                        insertTable += "<td>&nbsp;</td>";        
     301                insertTable += "</tr>"; 
     302        } 
     303        insertTable += "</tbody></table>"; 
     304        this.editorCommand('Table', insertTable); 
     305} 
     306 
     307cRichTextEditor.prototype.createTable = function(){ 
     308        var form = document.getElementById("table_window"); 
     309        if (form == null){ 
     310                form = document.createElement("DIV"); 
     311                form.id  = "table_window"; 
     312                form.style.visibility = "hidden"; 
     313                form.style.position = "absolute"; 
     314                form.style.background = "#eeeeee"; 
     315                form.style.left = "0px"; 
     316                form.style.top  = "0px";  
     317                form.style.width = "0px"; 
     318                form.style.height = "0px"; 
     319                document.body.appendChild(form); 
     320        } 
     321                 
     322                var form_table = document.createElement("DIV"); 
     323                form_table.id = "form_table"; 
     324                form_table.style.position = "absolute"; 
     325                form_table.style.top = "5px"; 
     326                form_table.style.left = "5px"; 
     327                form_table.style.width = "170px"; 
     328                form_table.style.height = "120px"; 
     329                form_table.name = get_lang("Insert Table"); 
     330                form_table.innerHTML = get_lang('Select the table size')+':<br><br>'+ 
     331                                                                get_lang('Rows')+':&nbsp;&nbsp;&nbsp;'+ get_lang('Cols')+':<br>'+ 
     332                                                                        '<select name="rows" id="rows"><option value="1">1</option>'+ 
     333                                                                        '<option value="2">2</option>'+ 
     334                                                                        '<option value="3">3</option>'+ 
     335                                                                        '<option value="4">4</option>'+ 
     336                                                                        '<option value="5">5</option>'+ 
     337                                                                        '<option value="6">6</option>'+ 
     338                                                                        '<option value="7">7</option>'+ 
     339                                                                        '<option value="8">8</option>'+ 
     340                                                                        '<option value="9">9</option></select>&nbsp;&nbsp;&nbsp;'+ 
     341                                                                        '<select name="cols" id="cols"><option value="1">1</option>'+ 
     342                                                                        '<option value="2">2</option>'+ 
     343                                                                        '<option value="3">3</option>'+ 
     344                                                                        '<option value="4">4</option>'+ 
     345                                                                        '<option value="5">5</option>'+ 
     346                                                                        '<option value="6">6</option>'+ 
     347                                                                        '<option value="7">7</option>'+ 
     348                                                                        '<option value="8">8</option>'+ 
     349                                                                        '<option value="9">9</option></select><br><br>'+ 
     350                                                                '<input title="Close"  value="' + get_lang('Close') + '" type="button" onclick="win.close()">&nbsp;'+ 
     351                                                                '<input title="Include"  value="' + get_lang('Include') + '" type="button" onclick="RichTextEditor.insertTableHtml();win.close();">'; 
     352                form.appendChild(form_table); 
     353                 
     354                this.showWindow(form); 
     355                } 
     356 
     357cRichTextEditor.prototype.createImage = function(){ 
     358        var form = document.getElementById("attachment_window"); 
     359        if (form == null){ 
     360                form = document.createElement("DIV"); 
     361                form.id  = "attachment_window"; 
     362                form.style.visibility = "hidden"; 
     363                form.style.position = "absolute"; 
     364                form.style.background = "#eeeeee"; 
     365                form.style.left = "0px"; 
     366                form.style.top  = "0px";  
     367                form.style.width = "0px"; 
     368                form.style.height = "0px"; 
     369                document.body.appendChild(form); 
     370        } 
     371                 
     372                var form_upload = document.createElement("DIV"); 
     373                form_upload.id = "form_upload"; 
     374                form_upload.style.position = "absolute"; 
     375                form_upload.style.top = "5px"; 
     376                form_upload.style.left = "5px"; 
     377                form_upload.name = get_lang("Upload File"); 
     378                form_upload.style.width = "450px"; 
     379                form_upload.style.height = "75px"; 
     380                form_upload.innerHTML = get_lang('Select the desired image file')+':<br>'+ 
     381                                                                '<input name="image_at" maxlength="255" size="50" id="inputFile_img" type="file"><br>' + 
     382                                                                '<input title="Include"  value="' + get_lang('Include') + '"' + 'type="button" onclick="RichTextEditor.addInputFile();">&nbsp;' + 
     383                                                                '<input title="Close"  value="' + get_lang('Close') + '"' + 
     384                                                                ' type="button" onclick="win.close()">'; 
     385                form.appendChild(form_upload); 
     386                 
     387                this.showWindow(form); 
     388} 
     389cRichTextEditor.prototype.showWindow = function (div){ 
     390 
     391                if(! div) { 
     392                        return; 
     393                } 
     394                 
     395                if(! this.emwindow[div.id]) { 
     396                        div.style.width  =  div.firstChild.style.width; 
     397                        div.style.height = div.firstChild.style.height; 
     398                        div.style.zIndex = "10000";                      
     399                        var title = div.firstChild.name; 
     400                        var wHeight = div.offsetHeight + "px"; 
     401                        var wWidth =  div.offsetWidth   + "px"; 
     402                        div.style.width = div.offsetWidth - 5; 
     403 
     404                        win = new dJSWin({ 
     405                                id: 'win_'+div.id, 
     406                                content_id: div.id, 
     407                                width: wWidth, 
     408                                height: wHeight, 
     409                                title_color: '#3978d6', 
     410                                bg_color: '#eee', 
     411                                title: title, 
     412                                title_text_color: 'white', 
     413                                button_x_img: '../phpgwapi/images/winclose.gif', 
     414                                border: true }); 
     415                         
     416                        this.emwindow[div.id] = win; 
     417                        win.draw(); 
     418                } 
     419                else 
     420                        win = this.emwindow[div.id]; 
     421                win.open();      
    224422} 
    225423 
  • trunk/expressoMail1_2/js/search.js

    r163 r271  
    266266                table.id    = "table_resultsearch_" + search_tabs; 
    267267                table.width = "100%"; 
     268                table.borderColorDark = "#bbbbbb"; 
     269                table.frame = "void"; 
     270                table.rules = "rows"; 
     271                table.cellPadding = "0"; 
     272                table.cellSpacing = "0"; 
    268273 
    269274                var tbody = document.createElement("TBODY"); 
     
    275280                for( var i=0; i < nw_array.length; i++){ 
    276281                        var tr = document.createElement("TR"); 
    277                 //var color = "#F0F0F0"; 
    278                         //tr.style.background  =  color; 
     282                        tr.style.height = "30px"; 
    279283                        tr.className = 'tr_msg_read'; 
    280284 
     
    326330                                        if( j == 3){ 
    327331                                                var subject_encode = url_encode(aux[2]); 
     332                                                if (! subject_encode) 
     333                                                        aux[2] = get_lang("no subject") + "..."; 
    328334                                                td.width = "30%";                                        
    329335                                                var td1  = '<div style="width:100%;overflow:hidden"><a href=javascript:void(0) onclick=EsearchE.open_msg(\"' + url_encode(mailbox) + '\",\"' + uid_msg + '\",\"' + subject_encode + '\")>' + aux[2] +'</a></div>'; 
     
    345351                                } 
    346352                        } 
    347                         aux.splice(0,(aux.length)); 
    348                         tbody.appendChild(tr); 
     353                        aux.splice(0,(aux.length));      
     354 
     355                subject = tr.firstChild; 
     356                subject = subject.nextSibling.nextSibling.nextSibling.firstChild.firstChild.innerHTML; 
     357//              _dragArea.makeDragged(tr, msg_number, subject, true); 
     358                _dragArea.makeDragged(tr, tr.firstChild.firstChild.id.substr(tr.firstChild.firstChild.id.indexOf(';')+1), subject, true); 
     359                tbody.appendChild(tr); 
    349360                } 
    350361                table.appendChild(tbody); 
     
    376387                var table_element = document.createElement("TABLE"); 
    377388                var tbody_element = document.createElement("TBODY"); 
    378                 table_element.border = 1; 
    379389                table_element.setAttribute("id", "table_message_header_box"); 
    380390                table_element.className = "table_message_header_box"; 
     
    447457                content_search.appendChild(div_scroll_result);   
    448458                if (span_options) 
    449                         content_search.appendChild(span_options);        
     459                        content_search.appendChild(span_options); 
    450460        } 
    451461 
  • trunk/expressoMail1_2/js/wfolders.js

    r197 r271  
    4747                        wfolders.arrayWin[el.id].close(); 
    4848                        if (type == 'save'){ 
    49                                 save_msg(border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption); 
     49                                save_as_msg(border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption,true); 
    5050                        } 
    5151                        else if (type == 'send_and_file'){ 
Note: See TracChangeset for help on using the changeset viewer.