Changeset 4281


Ignore:
Timestamp:
05/09/11 14:10:14 (13 years ago)
Author:
airton
Message:

Ticket #1820 - Corrige local do opcao do envio de email em texto puro - r4258

Location:
sandbox/2.2.0.2/expressoMail1_2/js
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.2.0.2/expressoMail1_2/js/draw_api.js

    r4273 r4281  
    25922592                //var option_send = '<span class="message_options" onclick=send_message("'+ID+'","null","null");>'+get_lang("Send")+'</span> | '; 
    25932593                var option_send   = '<input type="button" id="send_button_'+ID+'" class="em_button_like_span" tabindex="1" value="'+get_lang("Send and not file")+'" onclick=send_message("'+ID+'","null","null");>' + ' | '; 
     2594 
    25942595                if(!expresso_offline) 
    25952596                        var option_send_and_file= '<span class="message_options" onclick=wfolders.makeWindow("'+ID+'","send_and_file");>'+get_lang("Send and file")+'</span> | '; 
    2596                 else                     
     2597                else 
    25972598                        var option_send_and_file=''; 
    25982599        } 
     
    26152616 
    26162617        tr_menu_new_message.appendChild(td_menu_new_message); 
     2618 
    26172619        tbody_menu_new_message.appendChild(tr_menu_new_message); 
    26182620        table_menu_new_message.appendChild(tbody_menu_new_message); 
     
    31423144        tr5.appendChild(td5); 
    31433145        tr5.appendChild(td_return_receipt); 
     3146 
     3147        if ( ! expresso_offline ) 
     3148        { 
     3149                var text_plain = td_return_receipt.appendChild( 
     3150                        document.createElement( 'span' ) 
     3151                ).appendChild( 
     3152                        document.createTextNode( ' | ' ) 
     3153                ).parentNode.appendChild( 
     3154                        document.createTextNode( get_lang('Send this mail as text plain') + '.') 
     3155                ).parentNode.appendChild( 
     3156                        document.createElement( 'input' ) 
     3157                ); 
     3158                text_plain.setAttribute( 'tabIndex', '-1' ); 
     3159                text_plain.id = 'textplain_rt_checkbox_' + ID ; 
     3160                text_plain.type = "checkbox"; 
     3161                text_plain.onclick = function () 
     3162                { 
     3163                        RichTextEditor.plain( this.checked ); 
     3164                        document.getElementById( 'viewsource_rt_checkbox_' + ID ).parentNode.style.display = ( this.checked ) ? 'none' : ''; 
     3165                }; 
     3166        } 
     3167 
    31443168        tbody_message.appendChild(tr5); 
    31453169        if (parseInt(preferences.use_important_flag)) 
     
    32213245                draw_from_field(sel_from,tr1_1); 
    32223246        resizeWindow(); 
     3247 
     3248        if ( ! expresso_offline ) 
     3249        { 
     3250                if ( mobile_device ) 
     3251                { 
     3252                        text_plain.click( ); 
     3253                        text_plain.parentNode.style.display = 'none'; 
     3254                } 
     3255        } 
     3256         
    32233257        return ID; 
    32243258} 
  • sandbox/2.2.0.2/expressoMail1_2/js/main.js

    r4231 r4281  
    55var autosave_time = 20000; 
    66 
    7 var cabecalho = '<h4>ExpressoLivre - ExpressoMail</h4>';  
    8  
    97function init(){ 
    108        if (!is_ie) 
     
    2220 
    2321                preferences = data; 
    24                  
    25                 if(preferences.show_name_print_messages == "1") {  
    26                         var getUserName = document.getElementById("user_info");  
    27                         var userName = getUserName.innerHTML;  
    28                         var position = userName.indexOf("-");  
    29                         var userName = userName.substring(3, position);  
    30                         cabecalho = '<h4>' + userName;  
    31                 }   
    32                  
    3322                current_folder="INBOX"; 
    3423                 
     
    9079 
    9180        cExecute ("$this.functions.get_preferences", save_preferences); 
     81        cExecute ("phpgwapi.browser.isMobile", function( data ) 
     82        { 
     83                mobile_device = ( ( data.constructor == Boolean ) ? data : ( data === 'true' ) ); 
     84        } ); 
    9285        setTimeout('auto_refresh()', time_refresh); 
    9386 
     
    897890                } 
    898891        var new_border_ID = draw_new_message(parseInt(border_ID)); 
    899  
    900892        if(typeof(openTab.type[new_border_ID]) != "undefined") { 
    901893                if(tabTypes[type] == openTab.type[new_border_ID]) { 
     
    918910                } 
    919911        } 
    920  
    921912        if (new_border_ID == false) 
    922913        { 
     
    16481639        } 
    16491640 
    1650         if ( document.getElementById('viewsource_rt_checkbox').checked == true ) 
    1651                 document.getElementById('viewsource_rt_checkbox').click(); 
     1641        if ( document.getElementById('viewsource_rt_checkbox_' + ID).checked == true ) 
     1642                document.getElementById('viewsource_rt_checkbox_' + ID).click(); 
    16521643 
    16531644        var save_link = Element("save_message_options_"+ID); 
     
    16601651                send_message_return(data, this.ID_tmp); // this is a hack to escape quotation form connector bug 
    16611652        }; 
     1653 
     1654        var mail_as_plain = document.getElementById( 'textplain_rt_checkbox_' + ID ); 
     1655        mail_as_plain = ( mail_as_plain ) ? mail_as_plain.checked : false; 
    16621656 
    16631657        var textArea = document.createElement("TEXTAREA"); 
     
    16651659        textArea.name = "body"; 
    16661660        body = document.getElementById("body_"+ID); 
    1667         textArea.value += '<body>\r\n'; 
    1668         textArea.value += body.contentWindow.document.body.innerHTML; 
    1669         textArea.value += '\r\n</body>'; 
     1661        textArea.value = ( ( mail_as_plain ) ? body.previousSibling.value : ( '<body>\r\n' + body.contentWindow.document.body.innerHTML + '\r\n</body>' ) ); 
    16701662        var input_folder = document.createElement("INPUT"); 
    16711663        input_folder.style.display='none'; 
     
    17011693        form.appendChild(input_folder); 
    17021694        form.appendChild(msg_id); 
     1695 
     1696        var mail_type = form.appendChild( document.createElement( 'input' ) ); 
     1697        mail_type.name = 'type'; 
     1698        mail_type.type = 'hidden'; 
     1699        mail_type.value = ( mail_as_plain ) ? 'plain' : 'html'; 
    17031700 
    17041701        var _subject = trim(Element("subject_"+ID).value); 
     
    19061903                withImage = false; 
    19071904 
    1908         var rt_checkbox = Element('viewsource_rt_checkbox'); 
     1905        var rt_checkbox = Element('viewsource_rt_checkbox_' + border_id); 
    19091906        if (rt_checkbox == null) 
    19101907                return false; 
     
    19331930        var handler_save_msg = function(data){ return_save(data,this.tmp_border_id,this.tmp_folder_name,this.tmp_folder_id,this.message_id); } 
    19341931 
     1932        var mail_as_plain = document.getElementById( 'textplain_rt_checkbox_' + border_id ); 
     1933        mail_as_plain = ( mail_as_plain ) ? mail_as_plain.checked : false; 
     1934 
    19351935        var textArea = document.createElement("TEXTAREA"); 
    19361936        textArea.style.display='none'; 
     
    19391939        if (! body) 
    19401940                return; 
    1941         textArea.value += '<body>\r\n'; 
    1942         textArea.value += body.contentWindow.document.body.innerHTML; 
    1943         textArea.value += '\r\n</body>'; 
     1941        textArea.value = ( ( mail_as_plain ) ? body.previousSibling.value : ( '<body>\r\n' + body.contentWindow.document.body.innerHTML + '\r\n</body>' ) ); 
    19441942        var input_folder = document.createElement("INPUT"); 
    19451943        input_folder.style.display='none'; 
     
    19671965        form.appendChild(input_msgid); 
    19681966        form.appendChild(input_insertImg); 
     1967 
     1968        var mail_type = form.appendChild( document.createElement( 'input' ) ); 
     1969        mail_type.name = 'type'; 
     1970        mail_type.type = 'hidden'; 
     1971        mail_type.value = ( mail_as_plain ) ? 'plain' : 'html'; 
    19691972 
    19701973        cExecuteForm ("$this.imap_functions.save_msg", form, handler_save_msg,border_id); 
     
    21612164                try{ 
    21622165                        var html = '<br>'; 
    2163                         html += cabecalho + "</h4><hr>"; 
     2166                        html += "<h4>ExpressoLivre - ExpressoMail</h4>"; 
    21642167                        html += folder+"<hr>"; 
    21652168 
     
    22392242        } else{ 
    22402243                show_attachs = ""; 
    2241         } 
    2242          
     2244        }        
    22432245        var current_path = window.location.href.substr(0,window.location.href.lastIndexOf("/")); 
    2244  
    2245         var head = '<head><title></title><link href="'+current_path+'/templates/default/main.css" type="text/css" rel="stylesheet"></head>';  
    2246         window_print.document.write(head);  
    2247          
     2246        var window_print_head  = window_print.document.getElementsByTagName("head")[0]; 
     2247        // For IE 
     2248        if(typeof(window_print_head) == 'undefined'){ 
     2249                window_print_head = window_print.document.createElement("head"); 
     2250                window_print.document.appendChild(window_print_head); 
     2251        } 
     2252        var window_print_style = window_print.document.createElement("LINK"); 
     2253        window_print_style.href = current_path+'/templates/default/main.css'; 
     2254        window_print_style.type = "text/css"; 
     2255        window_print_style.rel = "stylesheet"; 
     2256        window_print_head.appendChild(window_print_style);       
     2257 
    22482258        while (1){ 
    22492259                try{ 
    22502260                        var html ='<body>'; 
    2251                         html += cabecalho + "</h4><hr>"; 
     2261                        html += "<h4>ExpressoLivre - ExpressoMail</h4><hr>"; 
    22522262                        html += '<table><tbody>'; 
    22532263                        if(sender) 
     
    22752285                        html += show_attachs; //to show the names of the attachments 
    22762286                        html += "</tbody></table><hr>"; 
    2277                         window_print.document.write(html + body.innerHTML);  
     2287                        window_print.document.body.innerHTML = html + body.innerHTML; 
    22782288                        if(!is_ie){ 
    22792289                                var tab_tags = window_print.document.getElementsByTagName("IMG"); 
     
    25032513        } 
    25042514        form_upload.innerHTML = '<form method="POST" name="form_import" enctype="multipart/form-data">'+get_lang('zip mails to import')+':<br>'+ 
    2505         '<input name="file_1" maxlength="255" size="40" id="file_1" type="file"><br>' + 
     2515        '<input name="file_1" maxlength="255" size="50" id="file_1" type="file"><br>' + 
    25062516        '<input title="'+get_lang('Select a folder')+'"  value="' + get_lang('Select a folder') + '"' + 'type="button" onclick="javascript:select_import_folder()">&nbsp;' + 
    25072517        '<input title="' + get_lang('Close') + '"  value="' + get_lang('Close') + '"' + 
  • sandbox/2.2.0.2/expressoMail1_2/js/rich_text_editor.js

    r4225 r4281  
    2525                parentDiv.appendChild(this.table); 
    2626 
     27        var mail_as_plain = document.getElementById( 'textplain_rt_checkbox_' + this.id ); 
     28        this.table.style.visibility = ( mail_as_plain && mail_as_plain.checked ) ? 'hidden' : 'visible'; 
     29 
    2730        if(!Element(this.editor)) 
    2831        { 
     
    3134        else 
    3235        { 
    33                 Element("viewsource_rt_checkbox").checked=false; 
     36                Element( 'viewsource_rt_checkbox_' + this.id ).checked=false; 
    3437        } 
    3538 
     
    5053                config_events( iframe, 'onload', function( ) 
    5154                { 
    52                         iframe.contentWindow.document.designMode = "on"; 
     55                        if ( iframe.contentWindow.document.body && iframe.contentWindow.document.body.contentEditable ) 
     56                                iframe.contentWindow.document.body.contentEditable = true; 
     57 
    5358                        if ( iframe.contentWindow.document.documentElement ){ 
    5459                                iframe.contentWindow.document.documentElement.style.background = '#fff'; 
     
    5762                }); 
    5863 
    59                 var checkbox = document.createElement("INPUT"); 
    60                 checkbox.id = 'viewsource_rt_checkbox'; 
    61                 checkbox.type = "checkbox"; 
    62                 checkbox.setAttribute("tabIndex","-1"); 
    63                 checkbox.onclick = function () {RichTextEditor.viewsource(this.checked)}; 
    64                 var text = document.createTextNode(get_lang('View HTML source') + '.'); 
    6564                parentDiv.appendChild(iframe); 
    66                 parentDiv.appendChild(checkbox); 
    67                 parentDiv.appendChild(text); 
     65 
     66                var source = document.createElement( 'input' ); 
     67                source.id = 'viewsource_rt_checkbox_' + this.id; 
     68                source.type = "checkbox"; 
     69                source.setAttribute("tabIndex","-1"); 
     70                source.onclick = function( ) 
     71                { 
     72                        RichTextEditor.viewsource(this.checked); 
     73                }; 
     74                source = parentDiv.appendChild( 
     75                        document.createElement( 'span' ).appendChild( source ).parentNode 
     76                ).appendChild( 
     77                        document.createTextNode( get_lang( 'View HTML source' ) + '.' ) 
     78                ).parentNode; 
    6879} 
    6980 
     
    138149                        document.getElementById(this.editor).contentWindow.document.body.innerHTML = html.toString(); 
    139150                        document.getElementById("table_richtext_toolbar").style.visibility="visible";   
     151                } 
     152        } 
     153} 
     154 
     155cRichTextEditor.prototype.plain = function(source) { 
     156        var html; 
     157        var editor = document.getElementById( this.editor ); 
     158 
     159        if (source) { 
     160                if (is_ie){ 
     161                        connector.loadScript('html2xhtml'); 
     162                        html = frames[this.editor].document.body; 
     163                        var xhtml = get_xhtml(html, 'en', 'iso-8859-1'); 
     164                        frames[this.editor].document.body.innerText = xhtml; 
     165                        document.getElementById("table_richtext_toolbar").style.visibility="hidden"; 
     166                } 
     167                else{ 
     168                        var mail_as_plain = document.getElementById( 'textplain_rt_checkbox_' + this.id ); 
     169 
     170                        html = document.createTextNode( editor.contentWindow.document.body.innerHTML ); 
     171                        html = html.nodeValue.replace( /<br\s*\/?>/mg, "\n" ).replace( /(<([^>]+)>)/ig, '' ).replace( /^[\n ]+|[\n ]+$/g, '' ); 
     172 
     173                        if ( ! mobile_device && html != '' && ! ( mail_as_plain.checked = confirm( 'The text format will be lost.' ) ) ) 
     174                                return false; 
     175 
     176                        this.table.style.visibility="hidden"; 
     177                        editor.contentWindow.document.body.innerHTML = ''; 
     178 
     179                        var textarea = document.createElement( 'textarea' ); 
     180                        textarea.style.width = '99%'; 
     181                        textarea.style.height = '300px'; 
     182                        textarea.style.fontSize = '12pt'; 
     183                        textarea.innerHTML = html; 
     184 
     185                        editor.style.width = '0px'; 
     186                        editor.style.height = '0px'; 
     187                        editor.style.visibility = 'hidden'; 
     188 
     189                        editor.parentNode.insertBefore( textarea, editor ); 
     190                        textarea.focus( ); 
     191                } 
     192        } else { 
     193                if (is_ie){ 
     194                        var output = escape(frames[this.editor].document.body.innerText); 
     195                        output = output.replace("%3CP%3E%0D%0A%3CHR%3E", "%3CHR%3E"); 
     196                        output = output.replace("%3CHR%3E%0D%0A%3C/P%3E", "%3CHR%3E"); 
     197                        frames[this.editor].document.body.innerHTML = unescape(output); 
     198                        document.getElementById("table_richtext_toolbar").style.visibility="visible"; 
     199                } 
     200                else{ 
     201                        editor.contentWindow.document.body.innerHTML = editor.previousSibling.value.replace( /\n/g, '<br/>' ); 
     202                        editor.parentNode.removeChild( editor.previousSibling ); 
     203 
     204                        editor.style.width = '99%'; 
     205                        editor.style.height = '300px'; 
     206                        editor.style.visibility = 'visible'; 
     207 
     208                        this.loadEditor( this.id ); 
    140209                } 
    141210        } 
     
    497566                form_upload.style.height = "75px"; 
    498567                form_upload.innerHTML = get_lang('Select the desired image file')+':<br>'+ 
    499                                                                 '<input name="image_at" maxlength="255" size="40" id="inputFile_img" type="file"><br>' + 
     568                                                                '<input name="image_at" maxlength="255" size="50" id="inputFile_img" type="file"><br>' + 
    500569                                                                '<input title="' + get_lang('Include') + '"  value="' + get_lang('Include') + '"' + 'type="button" onclick="RichTextEditor.addInputFile();">&nbsp;' + 
    501570                                                                '<input title="' + get_lang('Close') + '"  value="' + get_lang('Close') + '"' + 
Note: See TracChangeset for help on using the changeset viewer.