Changeset 2699


Ignore:
Timestamp:
05/04/10 11:07:41 (14 years ago)
Author:
amuller
Message:

Ticket #1059 - Diminuição da função new_message

Location:
trunk/expressoMail1_2/js/jscode
Files:
2 edited

Legend:

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

    r2692 r2699  
    177177    table.appendChild(tbody); 
    178178    content_id_0.appendChild(table); 
    179 } 
    180 var idx_cc = 0; 
    181 function draw_plugin_cc(ID, addrs) 
    182 { 
    183     expresso.connector.loadScript("jscode/ccQuickAdd"); 
    184  
    185     var array_addrs = ''; 
    186     var array_name      = ''; 
    187     var cc_data = new Array(); 
    188     if(typeof(addrs.name) != 'undefined') { 
    189         array_name      = LTrim(addrs.name).split(" "); 
    190         array_addrs = new Array(addrs.email); 
    191     } 
    192     else { 
    193         array_addrs = (typeof addrs == 'object' ? addrs.toString().split("\" ") : addrs.split("\" ")); 
    194         array_name      = LTrim(array_addrs[0]).replace('"','').split(" "); 
    195     } 
    196  
    197     var _split = array_name[0].split('@'); 
    198     cc_data[0] = _split[0]; 
    199     cc_data[1] = _split[0]; 
    200     cc_data[2] = ''; 
    201  
    202     for (i=1; i < array_name.length; i++) 
    203         cc_data[2] += array_name[i] + " "; 
    204  
    205  
    206     if(array_addrs.length > 1) 
    207         cc_data[3] = array_addrs[1] ? array_addrs[1].replace("&lt;",'').replace("&gt;",'') : ''; 
    208     else 
    209         cc_data[3] = array_addrs[0]; 
    210  
    211     var sm_envelope_img1 = '<img style="cursor:'+ (is_ie ? 'hand' : 'pointer') +'" title="' + get_lang("Add Contact") + 
    212     '" onclick="ccQuickAddOne.showList(\''+cc_data+'\')" src="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/user_card.png">'; 
    213     var to_addybook_add = "<SPAN id='insert_plugin_"+idx_cc+"_"+ID+"'>"; 
    214     to_addybook_add += addrs; 
    215     to_addybook_add +=  sm_envelope_img1; 
    216     idx_cc++; 
    217     to_addybook_add += "</SPAN>"; 
    218     return to_addybook_add; 
    219179} 
    220180 
  • trunk/expressoMail1_2/js/jscode/draw_api_messages.js

    r2695 r2699  
    173173 
    174174} 
     175var idx_cc = 0; 
     176function draw_plugin_cc(ID, addrs) 
     177{ 
     178    expresso.connector.loadScript("jscode/ccQuickAdd"); 
     179 
     180    var array_addrs = ''; 
     181    var array_name      = ''; 
     182    var cc_data = new Array(); 
     183    if(typeof(addrs.name) != 'undefined') { 
     184        array_name      = LTrim(addrs.name).split(" "); 
     185        array_addrs = new Array(addrs.email); 
     186    } 
     187    else { 
     188        array_addrs = (typeof addrs == 'object' ? addrs.toString().split("\" ") : addrs.split("\" ")); 
     189        array_name      = LTrim(array_addrs[0]).replace('"','').split(" "); 
     190    } 
     191 
     192    var _split = array_name[0].split('@'); 
     193    cc_data[0] = _split[0]; 
     194    cc_data[1] = _split[0]; 
     195    cc_data[2] = ''; 
     196 
     197    for (i=1; i < array_name.length; i++) 
     198        cc_data[2] += array_name[i] + " "; 
     199 
     200 
     201    if(array_addrs.length > 1) 
     202        cc_data[3] = array_addrs[1] ? array_addrs[1].replace("&lt;",'').replace("&gt;",'') : ''; 
     203    else 
     204        cc_data[3] = array_addrs[0]; 
     205 
     206    var sm_envelope_img1 = '<img style="cursor:'+ (is_ie ? 'hand' : 'pointer') +'" title="' + get_lang("Add Contact") + 
     207    '" onclick="ccQuickAddOne.showList(\''+cc_data+'\')" src="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/user_card.png">'; 
     208    var to_addybook_add = "<SPAN id='insert_plugin_"+idx_cc+"_"+ID+"'>"; 
     209    to_addybook_add += addrs; 
     210    to_addybook_add +=  sm_envelope_img1; 
     211    idx_cc++; 
     212    to_addybook_add += "</SPAN>"; 
     213    return to_addybook_add; 
     214} 
     215 
    175216 
    176217function putSignature(ID,info_msg){ 
     
    299340                        _height = parseInt(_height.replace("px","")); 
    300341                        var _offset = 35; 
    301                         if (this.value == 'more_options'){ 
     342                        if (this.value != 'hide_options'){ 
    302343                                this.innerHTML = "<b><u>"+get_lang('hide details')+"</u></b>"; 
    303344                                this.value = 'hide_options'; 
     
    331372                option_forward.onclick = function(){new_message('forward', ID);}; 
    332373                appendChilds(options,option_hide_more,createAndSet('SPAN',false,false,'&nbsp;|&nbsp;'),option_forward); 
     374 
    333375                var option_reply_options = createAndSet("IMG",['id', 'src', 'value'],['msg_opt_reply_options_'+ID,URL_SERVER+'expressoMail1_2/templates/default/images/down.png','show']); 
    334376                option_reply_options.onmouseover = function(){ 
     
    346388                }; 
    347389                option_reply_options.onclick = function(){ 
    348                         if (this.value == 'show'){ 
     390                        if (this.value != 'hide'){ 
    349391                                this.value = 'hide'; 
    350392                                option_reply_options.src= URL_SERVER+'expressoMail1_2/templates/default/images/pressed.png'; 
     
    415457                        _height = parseInt(_height.replace("px","")); 
    416458                        var _offset = 35; 
    417                         if (this.value == 'more_options'){ 
     459                        if (this.value != 'hide_options'){ 
    418460                                this.innerHTML = "<b><u>"+get_lang('Hide details')+"</u></b>"; 
    419461                                this.value = 'hide_options'; 
     
    471513        } 
    472514        var from_values = createAndSet('INPUT',['id','type','value'],["from_values_"+ID,"HIDDEN",info_msg.from.full]); 
    473  
    474         var local_message = document.createElement("INPUT"); 
    475         local_message.id = "is_local_"+ID; 
    476         local_message.name = "is_local"; 
    477         local_message.type = "HIDDEN"; 
    478         local_message.value = (info_msg.local_message)?"1":"0"; 
    479  
     515        var local_message = createAndSet("INPUT",['id','name','type','value'],["is_local_"+ID,"is_local","HIDDEN",(info_msg.local_message)?"1":"0"]); 
    480516        appendChilds(tr1,td1,from,from_values,local_message); 
    481517 
     
    483519                var tr11 = document.createElement("TR"); 
    484520                tr11.className = "tr_message_header"; 
    485                 var td11 = document.createElement("TD"); 
    486                 td11.innerHTML = get_lang("Reply to")+": "; 
    487                 td11.setAttribute("noWrap","true"); 
    488                 var reply_to = document.createElement("TD"); 
    489                 reply_to.id = "reply_to_"+ID; 
    490  
    491                 var reply_to_values = document.createElement("INPUT"); 
    492                 reply_to_values.id = "reply_to_values_"+ID; 
    493                 reply_to_values.type = "HIDDEN"; 
    494                 reply_to_values.value = info_msg.reply_to; //Veio do IMAP, sem images nem links. 
    495                 reply_to.innerHTML = draw_plugin_cc(ID, info_msg.reply_to); 
    496                 reply_to.className = "header_message_field"; 
    497                 tbody_message_others_options.appendChild(appendChilds(tr11,td11,reply_to,reply_to_values)); 
     521                var _td11 = createAndSet('TD',['noWrap'],['true'],get_lang("Reply to")+": "); 
     522                var _reply_to = createAndSet('TD',['id', 'class'],["reply_to_"+ID, "header_message_field"],draw_plugin_cc(ID, info_msg.reply_to)); 
     523                var _reply_to_values = createAndSet('INPUT',['id', 'type', 'value'],["reply_to_values_"+ID,"HIDDEN",info_msg.reply_to]); 
     524                tbody_message_others_options.appendChild(appendChilds(tr11,_td11,_reply_to,_reply_to_values)); 
    498525        } 
    499526        ////////////////////////////////////////////////////////////////////////////////////////////////////// 
     
    505532        to.id = "to_"+ID; 
    506533 
    507         var to_values = document.createElement("INPUT"); 
    508         to_values.id = "to_values_"+ID; 
    509         to_values.type = "HIDDEN"; 
    510         to_values.value = info_msg.toaddress2; //Veio do IMAP, sem images nem links.     
    511  
     534        var _to_values = createAndSet('INPUT',['id', 'type', 'value'],["to_values_"+ID, "HIDDEN", info_msg.toaddress2]); 
    512535        // Salva a pasta da mensagem 
    513         var input_current_folder = document.createElement('input');      
    514         input_current_folder.id = "input_folder_"+ID; 
    515         input_current_folder.name = "input_folder"; 
    516         input_current_folder.type = "hidden"; 
    517         input_current_folder.value = info_msg.msg_folder; 
    518         td2.appendChild(input_current_folder);   
    519         // fim 
     536        var _input_cfolder = createAndSet('INPUT',['id', 'name', 'type', 'value'],["input_folder_"+ID, "input_folder", "hidden", info_msg.msg_folder]); 
     537        td2.appendChild(_input_cfolder); 
     538 
    520539        toaddress_array[ID] = info_msg.toaddress2.split(","); 
    521540        if (toaddress_array[ID].length > 1){ 
    522541                to.innerHTML += draw_plugin_cc(ID, toaddress_array[ID][0]); 
    523                 var div_toaddress = document.createElement("SPAN"); 
    524                 div_toaddress.id = "div_toaddress_"+ID; 
    525                 div_toaddress.style.display=""; 
    526                 div_toaddress.innerHTML += " (<a STYLE='color: RED;' onclick=javascript:show_div_address_full('"+ID+"','to');>"+get_lang('more')+"</a>)"; 
    527                 to.appendChild(div_toaddress); 
     542                var _div_toaddrs = createAndSet('SPAN',['id','style'],["div_toaddress_"+ID,'display: inline']," (<a STYLE='color: RED;' onclick=javascript:show_div_address_full('"+ID+"','to');>"+get_lang('more')+"</a>)"); 
     543                to.appendChild(_div_toaddrs); 
    528544        } 
    529545        else { 
     
    531547        } 
    532548        to.className = "header_message_field"; 
    533         tbody_message_others_options.appendChild(appendChilds(tr2,td2,to,to_values)); 
     549        tbody_message_others_options.appendChild(appendChilds(tr2,td2,to,_to_values)); 
    534550 
    535551        if (info_msg.cc){ 
     
    538554                var td3 = document.createElement("TD"); 
    539555                td3.innerHTML = "CC: "; 
    540                 var cc = document.createElement("TD"); 
    541                 cc.id = "cc_"+ID; 
    542  
    543                 var cc_values = document.createElement("INPUT"); 
    544                 cc_values.id = "cc_values_"+ID; 
    545                 cc_values.type = "HIDDEN"; 
    546                 cc_values.value = info_msg.cc; 
    547  
     556                var cc = createAndSet("TD",['id', 'class'],["cc_"+ID,"header_message_field"]); 
     557 
     558                var cc_values = createAndSet("INPUT",['id', 'type', 'value'],["cc_values_"+ID, "HIDDEN", info_msg.cc]); 
    548559                ccaddress_array[ID] = info_msg.cc.split(",");            
    549560                if (ccaddress_array[ID].length > 1){ 
    550561                        var div_ccaddress = document.createElement("SPAN"); 
    551562                        div_ccaddress.id = "div_ccaddress_"+ID; 
    552                         var div_ccaddress_full = document.createElement("SPAN"); 
    553                         div_ccaddress_full.id = "div_ccaddress_full_"+ID;                
    554                         div_ccaddress.style.display=""; 
     563                        var div_ccaddress_full = createAndSet("SPAN",['id', 'style'],["div_ccaddress_full_"+ID, "display: inline"]); 
    555564                        cc.innerHTML = draw_plugin_cc(ID, ccaddress_array[ID][0]); 
    556565                        div_ccaddress.innerHTML += " (<a STYLE='color: RED;' onclick=javascript:show_div_address_full('"+ID+"','cc');>"+get_lang('more')+"</a>)"; 
     
    560569                        cc.innerHTML = draw_plugin_cc(ID, info_msg.cc); 
    561570                } 
    562                 cc.className = "header_message_field"; 
    563571                tbody_message_others_options.appendChild(appendChilds(tr3,td3,cc,cc_values)); 
    564572        } 
     
    578586                cco.id = "cco_"+ID; 
    579587 
    580                 var cco_values = document.createElement("input"); 
    581                 cco_values.id = "cco_values_"+ID; 
    582                 cco_values.type = "hidden"; 
    583                 cco_values.value = info_msg.bcc; 
    584  
     588                var cco_values = createAndSet("INPUT",['id', 'type', 'value'],["cco_values_"+ID,"hidden",info_msg.bcc]); 
    585589                ccoaddress_array[ID] = info_msg.bcc.split(",");          
    586590                if (ccoaddress_array[ID].length > 1){ 
    587591                        var div_ccoaddress = document.createElement("SPAN"); 
    588592                        div_ccoaddress.id = "div_ccoaddress_"+ID; 
    589                         var div_ccoaddress_full = document.createElement("SPAN"); 
    590                         div_ccoaddress_full.id = "div_ccoaddress_full_"+ID;              
    591                         div_ccoaddress.style.display=""; 
    592  
     593                        var div_ccoaddress_full = createAndSet("SPAN",['id', 'style'],["div_ccoaddress_full_"+ID, "display:inline"]); 
    593594                        /* 
    594595                         * The function below is ugly, doesn't possible use this. 
     
    618619        var td4 = document.createElement("TD"); 
    619620        td4.innerHTML = get_lang("Date: "); 
    620         var date = document.createElement("TD"); 
    621         date.id = "date_"+ID; 
    622         date.innerHTML = info_msg.fulldate; 
    623         var date_day = document.createElement("INPUT"); 
    624         date_day.id = "date_day_"+ID; 
    625         date_day.type = "HIDDEN"; 
    626         date_day.value = info_msg.msg_day; 
    627         var date_hour = document.createElement("INPUT"); 
    628         date_hour.id = "date_hour_"+ID; 
    629         date_hour.type = "HIDDEN"; 
    630         date_hour.value = info_msg.msg_hour; 
    631         date.className = "header_message_field"; 
     621        var date = createAndSet('TD',['id','class'],["date_"+ID,"header_message_field"],info_msg.fulldate); 
     622        var date_day = createAndSet('INPUT',['id', 'type', 'value'],["date_day_"+ID, "HIDDEN", info_msg.msg_day]); 
     623        var date_hour = createAndSet('INPUT',['id', 'type', 'value'],["date_hour_"+ID, "HIDDEN", info_msg.msg_hour]); 
    632624        tbody_message_others_options.appendChild(appendChilds(tr4,td4,date,date_day,date_hour)); 
    633625 
     
    636628        var td5 = document.createElement("TD"); 
    637629        td5.innerHTML = get_lang("Subject"); 
    638         var subject = document.createElement("TD"); 
    639         subject.id = "subject_"+ID; 
    640         subject.innerHTML = info_msg.subject; 
    641         subject.className = "header_message_field"; 
     630        var subject = createAndSet('TD',['id', 'class'],["subject_"+ID, "header_message_field"],info_msg.subject); 
    642631        tbody_message_others_options.appendChild(appendChilds(tr5,td5,subject)); 
    643632        if (info_msg.attachments.length > 0){ 
     
    648637 
    649638                var attachments = document.createElement("TD"); 
     639                attachments.align='left'; 
    650640                td6.vAlign = "top"; 
    651                 attachments.align='left'; 
     641 
    652642                var zipped_attachments = ''; 
    653643                if(info_msg.attachments.length >= 1) { 
    654                         var zipped_attachments  = document.createElement("TABLE"); 
    655                         zipped_attachments.style.marginBottom = "4px"; 
    656                         zipped_attachments.cellPadding="0"; 
    657                         zipped_attachments.cellSpacing="0"; 
     644                        var zipped_attachments  = createAndSet("TABLE",['style','cellPadding','cellSpacing'],['margin-bottom: 4px','0','0']); 
    658645                        var td = document.createElement("TD"); 
    659646                        if(info_msg.attachments.length > 1) { 
     
    692679                        if((url_decode(info_msg.attachments[i].name).indexOf(".ics")!=-1) || (url_decode(info_msg.attachments[i].name).indexOf(".vcard")!=-1)){ 
    693680                                //Link para importar calendário 
    694                                 var link_import_attachment = new Image(); 
    695                                 link_import_attachment.src = "templates/"+template+"/images/new.png"; 
    696                                 link_import_attachment.setAttribute("onclick","javascript:import_calendar('"+info_msg.msg_folder+"&msg_number="+info_msg.msg_number+"&msg_part="+info_msg.attachments[i].pid+"&idx_file="+i+"&encoding="+info_msg.attachments[i].encoding+"');"); 
    697                                 link_import_attachment.title = get_lang("Import to calendar"); 
    698                                 link_import_attachment.align = "top";                            
    699                                 link_import_attachment.style.cursor = "pointer"; 
     681                                var link_import_attachment = createAndSet("IMG",['src','onclick','title','align','style'],["templates/"+template+"/images/new.png","javascript:import_calendar('"+info_msg.msg_folder+"&msg_number="+info_msg.msg_number+"&msg_part="+info_msg.attachments[i].pid+"&idx_file="+i+"&encoding="+info_msg.attachments[i].encoding+"');",get_lang("Import to calendar"),"top","cursor: pointer"]); 
    700682                                var space = document.createElement("span"); 
    701683                                space.innerHTML = "&nbsp;"; 
     
    733715        td.colSpan = '2'; 
    734716 
    735         var imgTag = info_msg.body.match(/(<img[^>]*src[^>=]*=['"]?[^'">]*["']?[^>]*>)|(<[^>]*(style[^=>]*=['"][^>]*background(-image)?:[^:;>]*url\()[^>]*>)/gi); 
    736  
    737         var newBody = info_msg.body; 
    738         if(!info_msg.showImg && imgTag) 
    739         { 
    740                 var domains = ''; 
    741                 var blocked = false; 
    742                 var forbidden = true; 
    743  
    744                 if (preferences.notification_domains != null && typeof(preferences.notification_domains) != 'undefined') 
    745                 { 
    746                         domains = preferences.notification_domains.split(','); 
    747                         for(var j = 0; j < imgTag.length; j++) 
    748                         { 
    749                                 for (var i = 0; i < domains.length; i++) 
    750                                 { 
    751                                         if (imgTag[j].match(/cid:([\w\d]){5,}/) || imgTag[j].match(/src=\"\.\/inc\/show_embedded_attach\.php/g)) 
    752                                         { 
    753                                                 forbidden = false; 
    754                                                 continue; 
    755                                         } 
    756                                         imgSource = imgTag[j].match(/=['"](http:\/\/)+[^'"\/]*/); 
    757                                         if (imgSource && imgSource.toString().substr(5).match(domains[i])) 
    758                                                 forbidden = false; 
    759                                 } 
    760                                 if (forbidden) 
    761                                 { 
    762                                         newBody = newBody.replace(imgTag[j],"<img src='" + URL_SERVER + "expressoMail1_2/templates/"+template+"/images/forbidden.jpg'>"); 
    763                                         blocked=true; 
    764                                 } 
    765                         } 
    766                         if (blocked) 
    767                         { 
    768                                 var showImgLink = document.createElement('DIV'); 
    769                                 showImgLink.id="show_img_link_"+ID; 
    770                                 showImgLink.onclick = function(){show_msg_img(info_msg.msg_number,info_msg.msg_folder)}; 
    771                                 showImgLink.className="show_img_link"; 
    772                                 showImgLink.innerHTML = get_lang("Show images from")+": "+info_msg.from.email; 
    773                                 td.appendChild(showImgLink); 
    774                         } 
    775                 } 
    776         } 
     717        var newBody = blockImage(info_msg,ID,td); 
     718 
    777719        td.appendChild(div); 
    778720        tr.appendChild(td); 
     
    854796        table_message.appendChild(tbody_message); 
    855797        content.appendChild(table_message); 
    856         var msg_number = document.createElement('INPUT'); 
    857         msg_number.id = "msg_number_" + ID; 
    858         msg_number.type = "hidden"; 
    859         msg_number.value = info_msg.msg_number; 
     798        var msg_number = createAndSet("INPUT",['id','type','value'],["msg_number_" + ID, "hidden", info_msg.msg_number]); 
    860799        content.appendChild(msg_number); 
    861800        ////////////////////////////////////////////////////////////////////////////////////////////////////// 
     
    875814                } 
    876815        } 
     816 
     817} 
     818 
     819function blockImage(info_msg,ID,td){ 
     820        var imgTag = info_msg.body.match(/(<img[^>]*src[^>=]*=['"]?[^'">]*["']?[^>]*>)|(<[^>]*(style[^=>]*=['"][^>]*background(-image)?:[^:;>]*url\()[^>]*>)/gi); 
     821 
     822        var newBody = info_msg.body; 
     823        if(!info_msg.showImg && imgTag) 
     824        { 
     825                var domains = ''; 
     826                var blocked = false; 
     827                var forbidden = true; 
     828 
     829                if (preferences.notification_domains != null && typeof(preferences.notification_domains) != 'undefined') 
     830                { 
     831                        domains = preferences.notification_domains.split(','); 
     832                        for(var j = 0; j < imgTag.length; j++) 
     833                        { 
     834                                for (var i = 0; i < domains.length; i++) 
     835                                { 
     836                                        if (imgTag[j].match(/cid:([\w\d]){5,}/) || imgTag[j].match(/src=\"\.\/inc\/show_embedded_attach\.php/g)) 
     837                                        { 
     838                                                forbidden = false; 
     839                                                continue; 
     840                                        } 
     841                                        imgSource = imgTag[j].match(/=['"](http:\/\/)+[^'"\/]*/); 
     842                                        if (imgSource && imgSource.toString().substr(5).match(domains[i])) 
     843                                                forbidden = false; 
     844                                } 
     845                                if (forbidden) 
     846                                { 
     847                                        newBody = newBody.replace(imgTag[j],"<img src='" + URL_SERVER + "expressoMail1_2/templates/"+template+"/images/forbidden.jpg'>"); 
     848                                        blocked=true; 
     849                                } 
     850                        } 
     851                        if (blocked) 
     852                        { 
     853                                var showImgLink = document.createElement('DIV'); 
     854                                showImgLink.id="show_img_link_"+ID; 
     855                                showImgLink.onclick = function(){show_msg_img(info_msg.msg_number,info_msg.msg_folder)}; 
     856                                showImgLink.className="show_img_link"; 
     857                                showImgLink.innerHTML = get_lang("Show images from")+": "+info_msg.from.email; 
     858                                td.appendChild(showImgLink); 
     859                        } 
     860                } 
     861        } 
     862        return newBody; 
    877863 
    878864} 
Note: See TracChangeset for help on using the changeset viewer.