Ignore:
Timestamp:
06/20/09 01:07:18 (15 years ago)
Author:
rafaelraymundo
Message:

Ticket #558 - Adicionada funcionalidade de assinatura e criptografia de e-mails.

File:
1 edited

Legend:

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

    r1000 r1035  
    514514                 
    515515                td_element2 = document.createElement("TD"); 
    516                 td_element2.setAttribute("width", "2%");                 
     516                td_element2.setAttribute("width", "7%"); 
    517517                td_element3 = document.createElement("TD"); 
    518                 td_element3.setAttribute("width", "31%"); 
     518                td_element3.setAttribute("width", "29%"); 
    519519                td_element3.onclick = function () {sort_box(search_box_type,'SORTFROM');}; 
    520520                td_element3.id = "message_header_SORTFROM_"+numBox; 
     
    523523                 
    524524                td_element4 = document.createElement("TD"); 
    525                 td_element4.setAttribute("width", "41%"); 
     525                td_element4.setAttribute("width", "38%"); 
    526526                td_element4.onclick = function () {sort_box(search_box_type,'SORTSUBJECT');}; 
    527527                td_element4.id = "message_header_SORTSUBJECT_"+numBox; 
     
    752752                td_element21.id = "td_message_answered_"+headers_msgs.msg_number; 
    753753 
     754                if (headers_msgs.attachment && headers_msgs.attachment.number_attachments > 0) { 
     755                        attach_name = headers_msgs.attachment.names.split(", "); 
     756                        for(var item in attach_name) 
     757                        { 
     758                                if (url_decode(attach_name[item]) != 'smime.p7s' && url_decode(attach_name[item]) != 'smime.p7m'){ 
     759                                        td_element21.innerHTML = "<img src ='templates/"+template+"/images/clip.gif' title='" + url_decode(attach_name[item]) + "'>"; 
     760                                        break; 
     761                                } 
     762                        } 
     763                } 
     764 
    754765                if ((headers_msgs.Forwarded == 'F')  || (headers_msgs.Draft == 'X' && headers_msgs.Answered == 'A')){ 
    755766                        td_element21.innerHTML = "<img src ='templates/"+template+"/images/forwarded.gif' title='"+get_lang('Forwarded')+"'>"; 
    756767                        headers_msgs.Draft = ''  
    757768                        headers_msgs.Answered = ''; 
    758                         headers_msgs.Forwarded == 'F'; 
     769                        headers_msgs.Forwarded = 'F'; 
    759770                } 
    760771                else if (headers_msgs.Draft == 'X') 
     
    768779                td_element22.className = "td_msg"; 
    769780                td_element22.setAttribute("width", "1%"); 
    770                 td_element22.id = "td_message_important_"+headers_msgs.msg_number; 
     781                td_element22.id = "td_message_signed_"+headers_msgs.msg_number; 
     782 
     783        //td_element23 = document.createElement("TD"); 
     784                //td_element23.setAttribute("width", "1%"); 
     785                //td_element23.id = "td_message_signed_"+headers_msgs.msg_number; 
     786        switch(headers_msgs.ContentType) 
     787                { 
     788            case "signature": 
     789                        { 
     790                                td_element22.innerHTML = "<img src ='templates/"+template+"/images/signed_msg.gif' title='" + get_lang('Signed message') + "'>"; 
     791                                break; 
     792                        } 
     793            case "cipher": 
     794                        { 
     795                                td_element22.innerHTML = "<img src ='templates/"+template+"/images/lock.gif' title='" + get_lang('Crypted message') + "'>"; 
     796                                break; 
     797                        } 
     798            default: 
     799                        { 
     800                                break; 
     801                        } 
     802                } 
     803 
     804        td_element23 = document.createElement("TD"); 
     805                td_element23.className = "td_msg" 
     806                td_element23.setAttribute("width", "1%"); 
     807                td_element23.id = "td_message_important_"+headers_msgs.msg_number; 
    771808 
    772809                if (headers_msgs.Flagged == 'F' || (headers_msgs.Importance.toLowerCase().indexOf("high") != -1 && preferences.use_important_flag == 'True')) 
    773810                { 
    774                         td_element22.innerHTML = "<img src ='templates/"+template+"/images/important.gif' title='"+get_lang('Important')+"'>"; 
     811                        td_element23.innerHTML = "<img src ='templates/"+template+"/images/important.gif' title='"+get_lang('Important')+"'>"; 
    775812                } 
    776813                else 
    777                         td_element22.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
    778  
    779                 td_element23 = document.createElement("TD"); 
    780                 td_element23.className = "td_msg"; 
    781                 td_element23.setAttribute("width", "1%"); 
    782                 td_element23.id = "td_message_sent_"+headers_msgs.msg_number; 
    783                 td_element23.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
     814                        td_element23.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
     815 
     816                td_element24 = document.createElement("TD"); 
     817                td_element24.className = "td_msg"; 
     818                td_element24.setAttribute("width", "1%"); 
     819                td_element24.id = "td_message_sent_"+headers_msgs.msg_number; 
     820                td_element24.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
    784821                // preload image 
    785822                var _img_sent = new Image(); 
     
    803840                        else{                            
    804841                                if(headers_msgs.to.email.toLowerCase() != Element("user_email").value) 
    805                                         td_element23.innerHTML = "<img valign='center' src ='templates/"+template+"/images/sent.gif' title='"+get_lang('Sent')+"'>"; 
     842                                        td_element24.innerHTML = "<img valign='center' src ='templates/"+template+"/images/sent.gif' title='"+get_lang('Sent')+"'>"; 
    806843                         
    807844                                if ((headers_msgs.to)&&(headers_msgs.to.name != null)) 
     
    880917                tr_element.appendChild(td_element22); 
    881918                tr_element.appendChild(td_element23); 
     919        tr_element.appendChild(td_element24); 
    882920                tr_element.appendChild(td_element3); 
    883921                tr_element.appendChild(td_element4); 
     
    9661004        // Old 
    9671005        //img_next_msg.onclick = function () {cExecute ("$this.imap_functions.get_info_next_msg&msg_number="+ info_msg.msg_number + "&msg_folder="+ info_msg.msg_folder + "&sort_box_type="+ sort_box_type +  "&search_box_type="+ search_box_type +"&sort_box_reverse="+ sort_box_reverse +"&reuse_border="+ID, show_msg)}; 
    968         var folder = document.getElementById(ID.substr(0, ID.indexOf('_'))); 
     1006    var folder_id = 0; 
     1007    folder_id = info_msg.original_ID ? info_msg.original_ID: info_msg.msg_number; 
     1008        var folder = document.getElementById(folder_id); 
    9691009        if (!folder){ 
    9701010                delete_border(ID); 
    9711011                return; 
    9721012                } 
    973         if (folder.nextSibling){ 
    974                 var nextMsgBox = folder.nextSibling.name?folder.nextSibling.name:info_msg.msg_folder; 
    975                 img_next_msg.onclick = function() 
     1013    if (folder){ // mensagem local criptografada nao tem ID da pasta local 
     1014        if (folder.nextSibling){ 
     1015            var nextMsgBox = folder.nextSibling.name?folder.nextSibling.name:info_msg.msg_folder; 
     1016 
     1017            if (nextMsgBox == "INBOX/decifradas")// teste para ver se a mensagem vem da pasta oculta decifradas 
     1018                    nextMsgBox = get_current_folder(); 
     1019 
     1020            img_next_msg.onclick = function() 
     1021            { 
     1022                currentTab = ID; 
     1023                openTab.type[ID] = 2; 
     1024                            proxy_mensagens.get_msg(parseInt(folder.nextSibling.id),nextMsgBox,true,show_msg); 
     1025                //cExecute("$this.imap_functions.get_info_msg&msg_number="+folder.nextSibling.id+"&msg_folder="+nextMsgBox, show_msg); 
     1026            }; 
     1027        } 
     1028        else 
     1029        { 
     1030            img_next_msg.src = "./templates/"+template+"/images/down.gray.button.png"; 
     1031            img_next_msg.style.cursor = 'default'; 
     1032 
     1033        } 
     1034    } 
     1035    else 
     1036    { 
     1037        img_next_msg.src = "./templates/"+template+"/images/down.gray.button.png"; 
     1038                img_next_msg.style.cursor = 'default'; 
     1039                if (!proxy_mensagens.is_local_folder(get_current_folder()) && !(info_msg.msg_folder == "INBOX/decifradas")) // testa se a mensagem e local 
    9761040                { 
    977                         currentTab = ID; 
    978                         openTab.type[ID] = 2; 
    979                         proxy_mensagens.get_msg(parseInt(folder.nextSibling.id),nextMsgBox,true,show_msg); 
    980                         //cExecute("$this.imap_functions.get_info_msg&msg_number="+folder.nextSibling.id+"&msg_folder="+nextMsgBox, show_msg); 
    981                 }; 
    982         } 
    983         else 
    984                 img_next_msg.onclick = function() 
    985                         { 
    986                                 /*current_page++; 
    987                                 msg_range_end = (current_page*preferences.max_email_per_page); 
    988                                 msg_range_begin = (msg_range_end-(preferences.max_email_per_page)+1); 
    989                                 kill_current_box(); 
    990                                 cExecute ('$this.imap_functions.get_range_msgs2&folder='+current_folder+'&msg_range_begin='+msg_range_begin+'&msg_range_end='+msg_range_end+'&sort_box_reverse=1', function handler(data){draw_box(data, current_folder);}) */ 
    991                                         delete_border(ID); 
    992                         }; 
    993  
     1041            img_next_msg.onclick = function() 
     1042                { 
     1043                    /*current_page++; 
     1044                    msg_range_end = (current_page*preferences.max_email_per_page); 
     1045                    msg_range_begin = (msg_range_end-(preferences.max_email_per_page)+1); 
     1046                    kill_current_box(); 
     1047                    cExecute ('$this.imap_functions.get_range_msgs2&folder='+current_folder+'&msg_range_begin='+msg_range_begin+'&msg_range_end='+msg_range_end+'&sort_box_reverse=1', function handler(data){draw_box(data, current_folder);}) */ 
     1048                        delete_border(ID); 
     1049                }; 
     1050        } 
     1051    } 
    9941052        var img_space = document.createElement("SPAN"); 
    9951053        img_space.innerHTML = "&nbsp;"; 
     
    10021060        //Old 
    10031061        //img_previous_msg.onclick = function () {cExecute ("$this.imap_functions.get_info_previous_msg&msgs_number="+ info_msg.msg_number + "&folder="+ info_msg.msg_folder + "&sort_box_type="+ sort_box_type+ "&search_box_type="+ search_box_type + "&sort_box_reverse="+ sort_box_reverse +"&reuse_border="+ID, show_msg)} 
    1004         folder = document.getElementById(ID.substr(0, ID.indexOf('_'))); 
     1062        //folder = document.getElementById(ID.substr(0, ID.indexOf('_'))); 
    10051063        if (!folder){ 
    10061064                delete_border(ID); 
    10071065                return; 
    10081066                } 
    1009         if (folder.previousSibling) 
     1067    if (folder){ // mensagem local criptografada nao tem ID da pasta local 
     1068        if (folder.previousSibling) 
     1069        { 
     1070            var previousMsgBox = folder.previousSibling.name?folder.previousSibling.name:info_msg.msg_folder; 
     1071 
     1072            if (previousMsgBox == "INBOX/decifradas") // teste para ver se a mensagem vem da pasta oculta decifradas 
     1073                    previousMsgBox = get_current_folder(); 
     1074 
     1075            img_previous_msg.onclick = function() 
     1076            { 
     1077                currentTab = ID; 
     1078                openTab.type[ID] = 2; 
     1079                //cExecute("$this.imap_functions.get_info_msg&msg_number="+folder.previousSibling.id+"&msg_folder=" + previousMsgBox, show_msg); 
     1080                            proxy_mensagens.get_msg(parseInt(folder.previousSibling.id),previousMsgBox,true,show_msg); 
     1081            }; 
     1082        } 
     1083        else 
     1084        { 
     1085            img_previous_msg.src = "./templates/"+template+"/images/up.gray.button.png"; 
     1086            img_previous_msg.style.cursor = 'default'; 
     1087        } 
     1088        } 
     1089        else 
    10101090        { 
    1011                 var previousMsgBox = folder.previousSibling.name?folder.previousSibling.name:info_msg.msg_folder; 
    1012                 img_previous_msg.onclick = function() 
    1013                 { 
    1014                         currentTab = ID; 
    1015                         openTab.type[ID] = 2; 
    1016                         //cExecute("$this.imap_functions.get_info_msg&msg_number="+folder.previousSibling.id+"&msg_folder=" + previousMsgBox, show_msg); 
    1017                         proxy_mensagens.get_msg(parseInt(folder.previousSibling.id),previousMsgBox,true,show_msg); 
    1018                 }; 
    1019         } 
    1020         else 
    1021                 img_previous_msg.onclick = function() 
    1022                 { 
    1023                         delete_border(ID); 
    1024                 }; 
    1025  
     1091                img_previous_msg.src = "./templates/"+template+"/images/up.gray.button.png"; 
     1092                img_previous_msg.style.cursor = 'default'; 
     1093                if (!proxy_mensagens.is_local_folder(get_current_folder()) && !(info_msg.msg_folder == "INBOX/decifradas")) // testa se a mensagem e local 
     1094        { 
     1095            img_previous_msg.onclick = function() 
     1096            { 
     1097                delete_border(ID); 
     1098            }; 
     1099        } 
     1100    } 
    10261101        next_previous_msg_td.appendChild(img_previous_msg); 
    10271102        next_previous_msg_td.appendChild(img_space); 
     
    11071182        option_mark.align = "left"; 
    11081183        option_mark.width = "50%"; 
    1109         var option_mark_as_unseen = '<span class="message_options" onclick="set_messages_flag(\'unseen\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Unseen")+'.\');">'+get_lang("Unseen")+'</span>, '; 
    1110         var option_mark_as_important = '<span class="message_options" onclick="set_messages_flag(\'flagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Important")+'.\');">'+get_lang("Important")+'</span>, '; 
    1111         var option_mark_as_normal = '<span class="message_options" onclick="set_messages_flag(\'unflagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Normal")+'.\');">'+get_lang("Normal")+'</span>'; 
     1184        var option_mark_as_unseen = '<span class="message_options" onclick="set_messages_flag(\'unseen\','+folder_id+');write_msg(\''+get_lang('Message marked as ')+get_lang("Unseen")+'.\');">'+get_lang("Unseen")+'</span>, '; 
     1185        var option_mark_as_important = '<span class="message_options" onclick="set_messages_flag(\'flagged\','+folder_id+');write_msg(\''+get_lang('Message marked as ')+get_lang("Important")+'.\');">'+get_lang("Important")+'</span>, '; 
     1186        var option_mark_as_normal = '<span class="message_options" onclick="set_messages_flag(\'unflagged\','+folder_id+');write_msg(\''+get_lang('Message marked as ')+get_lang("Normal")+'.\');">'+get_lang("Normal")+'</span>'; 
    11121187        option_mark.innerHTML = option_mark_as_unseen+option_mark_as_important+option_mark_as_normal; 
    11131188        option_hide_more.innerHTML = get_lang('Options'); 
     
    11921267        tbody_message_options.appendChild(tr_other_options); 
    11931268        ////////// END OTHER OPTIONS //////////////// 
     1269 
     1270        ////////// BEGIN SIGNATURE ////////////////// 
     1271        if (info_msg.signature && info_msg.signature.length > 0) 
     1272        { 
     1273                var tr_signature = document.createElement("TR"); 
     1274                var td_signature = document.createElement("TD"); 
     1275                td_signature.className = 'tr_message_header'; 
     1276                tr_signature.id = 'tr_signature_'+ID; 
     1277                td_signature.colSpan = "5"; 
     1278                tr_signature.style.display = 'none'; 
     1279 
     1280                for (i in info_msg.signature) 
     1281                        td_signature.innerHTML += '<span>'+info_msg.signature[i]+'</span> <br /> '; 
     1282                var signature_status_pos = info_msg.signature[0].indexOf(get_lang('Message untouched')); 
     1283                td_signature.id = "td_signature_"+ID; 
     1284                if(signature_status_pos < 0 ) 
     1285                { 
     1286                td.innerHTML += '&nbsp;<img style="cursor:pointer" src="templates/'+template+'/images/signed_error.gif" title="'+get_lang("Details")+'">'; 
     1287                tr_signature.style.display = ''; 
     1288                } 
     1289                else 
     1290                { 
     1291                td.innerHTML += '&nbsp;<img style="cursor:pointer" src="templates/'+template+'/images/signed_table.gif" title="'+get_lang("Details")+'">'; 
     1292                } 
     1293                td.onclick = function(){ 
     1294                var _height = Element("div_message_scroll_"+ID).style.height; 
     1295                _height = parseInt(_height.replace("px","")); 
     1296                var _offset = 130; 
     1297                if (this.value == 'more_cert'){ 
     1298                        //this.innerHTML += "<b><u>Mais Informaᅵᅵes</u></b>"; 
     1299                        this.value = 'hide_cert'; 
     1300                        Element("div_message_scroll_"+ID).style.height = (_height + _offset)+"px"; 
     1301                        Element('tr_signature_'+ID).style.display = 'none'; 
     1302                        Element('td_signature_'+ID).style.display = 'none'; 
     1303 
     1304                } 
     1305                else{ 
     1306                        //this.innerHTML += "Mais Informaᅵᅵes"; 
     1307                        this.value = 'more_cert'; 
     1308                        Element("div_message_scroll_"+ID).style.height = (_height - _offset)+"px"; 
     1309                        Element('tr_signature_'+ID).style.display = ''; 
     1310                        Element('td_signature_'+ID).style.display = ''; 
     1311                } 
     1312        }; 
     1313 
     1314                tr_signature.appendChild(td_signature); 
     1315                tbody_message_options.appendChild(tr_signature); 
     1316        /******************************************* Old signature   ***********************************************/ 
     1317                //if (info_msg.signature != "void") 
     1318                //      td.innerHTML += '&nbsp;<img style="cursor:pointer" onclick="alert(\''+ get_lang("This message is signed, and you can trust.") + info_msg.signature +'\');" src="'+tpl_img_path+'/signed.gif">'; 
     1319                //else 
     1320                //      td.innerHTML += "&nbsp;<img style='cursor:pointer' onclick='alert(\""+get_lang("This message is signed, but it is invalid. You should not trust on it.")+"\");' title='"+get_lang("Voided message")+"' src='"+tpl_img_path+"/invalid.gif'>"; 
     1321        /*****************************************                                                                                                                      ********/ 
     1322        } 
     1323        //////////// END SIGNATURE //////////////// 
     1324 
    11941325        table_message_options.appendChild(tbody_message_options); 
    11951326        td0.appendChild(table_message_options); 
     
    20722203        input_return_receipt.name = "input_return_receipt"; 
    20732204        input_return_receipt.setAttribute("tabIndex","-1"); 
    2074         td_return_receipt.appendChild(input_return_receipt);     
     2205        td_return_receipt.appendChild(input_return_receipt); 
     2206 
     2207 
     2208//alert("preferences.use_assinar_criptografar " + preferences.use_assinar_criptografar); 
     2209//alert("preferences.use_signature_digital_cripto " + preferences.use_signature_digital_cripto); 
     2210//alert("preferences.use_signature_digital " + preferences.use_signature_digital); 
     2211//alert("preferences.use_signature_cripto " + preferences.use_signature_cripto); 
     2212 
     2213    if(preferences.use_assinar_criptografar==1) 
     2214        { 
     2215                if(preferences.use_signature_digital_cripto==1) 
     2216                { 
     2217                        td_return_receipt.innerHTML +=  "&nbsp;&nbsp;" + get_lang("Digitally sign message?")+""; 
     2218                        var input_return_digital = document.createElement('input'); 
     2219                        input_return_digital.type = "checkbox"; 
     2220                        input_return_digital.className = "checkbox"; 
     2221                        input_return_digital.id = "return_digital_"+ID; 
     2222                        input_return_digital.name = "input_return_digital"; 
     2223                        input_return_digital.setAttribute("tabIndex","-1"); 
     2224                        if(preferences.use_signature_digital==1) 
     2225                        { 
     2226                                input_return_digital.defaultChecked=true; 
     2227                        } 
     2228                        td_return_receipt.appendChild(input_return_digital); 
     2229                        //descomentariar a linha abaixo para criptografia 
     2230                        td_return_receipt.innerHTML +=  "&nbsp;&nbsp;" + get_lang("Digitally crypt message?")+""; 
     2231                        var input_return_cripto = document.createElement('input'); 
     2232                        input_return_cripto.type = "checkbox"; 
     2233                        input_return_cripto.className = "checkbox"; 
     2234                        input_return_cripto.id = "return_cripto_"+ID; 
     2235                        input_return_cripto.name = "input_return_cripto"; 
     2236                        input_return_cripto.setAttribute("tabIndex","-1"); 
     2237                        //input_return_cripto.style.display = "none"; 
     2238                        input_return_cripto.defaultChecked=false; 
     2239                        //Descomentariar o bloco abaixo para criptografia 
     2240 
     2241                        if(preferences.use_signature_cripto==1) 
     2242                        { 
     2243                                input_return_cripto.defaultChecked=true; 
     2244                        } 
     2245 
     2246                        td_return_receipt.appendChild(input_return_cripto); 
     2247 
     2248                } 
     2249        } 
     2250 
    20752251        tr5.appendChild(td5); 
    20762252        tr5.appendChild(td_return_receipt); 
Note: See TracChangeset for help on using the changeset viewer.