Changeset 5620
- Timestamp:
- 03/05/12 03:05:00 (12 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/inc/class.imap_functions.inc.php
r5605 r5620 2717 2717 //Compatibilização com Outlook, ao encaminhar a mensagem 2718 2718 $body = mb_ereg_replace('<!--\[', '<!-- [', $params['body']); 2719 $body = str_replace("%nbsp;"," ",$body); 2720 $body = preg_replace("/\n/"," ",$body); 2721 $body = preg_replace("/\r/","" ,$body); 2722 $body = html_entity_decode ( $body, ENT_QUOTES , 'ISO-8859-1' ); 2719 2723 } 2720 2724 … … 2893 2897 else 2894 2898 $mailService->addStringAttachment(base64_decode($att['source']), $att['name'], $att['type'], 'base64', isset($att['disposition']) ? $att['disposition'] :'attachment' ); 2895 2899 2900 $message_size_total += $att['size']; 2896 2901 unset($att); 2897 2902 } … … 2899 2904 { 2900 2905 $value = json_decode($value, true); 2901 $sub = $value['name'] ? $value['name'].'.eml' :'no title.eml'; 2902 $mbox_stream = $this->open_mbox($value['folder']); 2903 $rawmsg = $this->getRawHeader($value['uid']) . "\r\n\r\n" . $this->getRawBody($value['uid']); 2904 $mailService->addStringAttachment($rawmsg, $sub, 'message/rfc822', '7bit', 'attachment' ); 2905 $message_size_total += mb_strlen($rawmsg); //Adiciona o tamanho do anexo a variavel que controlao tamanho da msg. 2906 unset($rawmsg); 2906 2907 switch ($value['type']) { 2908 case 'imapPart': 2909 $att = $this->getForwardingAttachment($value['folder'],$value['uid'], $value['part']); 2910 if(strstr($body,'<img src="./inc/get_archive.php?msgFolder='.$value['folder'].'&msgNumber='.$value['uid'].'&indexPart='.$value['part'].'" />') !== false)//Embeded IMG 2911 { 2912 $body = str_ireplace('<img src="./inc/get_archive.php?msgFolder='.$value['folder'].'&msgNumber='.$value['uid'].'&indexPart='.$value['part'].'" />' , '<img src="'.$att['name'].'" />', $body); 2913 $mailService->addStringImage($att['source'], $att['type'], $att['name']); 2914 } 2915 else 2916 $mailService->addStringAttachment($att['source'], $att['name'], $att['type'], 'base64', isset($att['disposition']) ? $att['disposition'] :'attachment' ); 2917 2918 $message_size_total += $att['size']; //Adiciona o tamanho do anexo a variavel que controlao tamanho da msg. 2919 unset($att); 2920 break; 2921 case 'imapMSG': 2922 $sub = $value['name'] ? $value['name'].'.eml' :'no title.eml'; 2923 $mbox_stream = $this->open_mbox($value['folder']); 2924 $rawmsg = $this->getRawHeader($value['uid']) . "\r\n\r\n" . $this->getRawBody($value['uid']); 2925 $mailService->addStringAttachment($rawmsg, $sub, 'message/rfc822', '7bit', 'attachment' ); 2926 $message_size_total += mb_strlen($rawmsg); //Adiciona o tamanho do anexo a variavel que controlao tamanho da msg. 2927 unset($rawmsg); 2928 break; 2929 2930 default: 2931 break; 2932 } 2907 2933 } 2908 2909 2934 } 2910 2935 2911 2936 $message_size_total += strlen($params['body']); /* Tamanho do corpo da mensagem. */ 2912 2937 … … 3086 3111 return $bolean; 3087 3112 } 3088 3089 function get_forwarding_attachment($msg_folder, $msg_number, $msg_part, $encoding)3090 3113 3114 function getForwardingAttachment($folder, $uid, $part, $rfc_822bodies = true , $info = true ) 3115 { 3091 3116 include_once dirname(__FILE__).'/class.attachment.inc.php'; 3092 3117 $attachment = new attachment(); 3093 $attachment->decodeConf['rfc_822bodies'] = true; //Forçar a não decodificação de mensagens em anexo. 3094 $attachment->setStructureFromMail($msg_folder, $msg_number); 3095 return $attachment->getAttachment($msg_part); 3096 } 3097 3098 function get_forwarding_attachment2($msg_folder, $msg_number, $msg_part, $encoding) 3099 { 3100 include_once dirname(__FILE__).'/class.attachment.inc.php'; 3101 $attachment = new attachment(); 3102 $attachment->setStructureFromMail($msg_folder, $msg_number); 3103 $return = $attachment->getAttachmentInfo($msg_part); 3104 $return['binary'] = $attachment->getAttachment($msg_part); 3105 return $return; 3106 } 3107 3118 $attachment->decodeConf['rfc_822bodies'] = $rfc_822bodies; //Forçar a não decodificação de mensagens em anexo. 3119 $attachment->setStructureFromMail($folder, $uid); 3120 3121 if($info === true) 3122 { 3123 $return = $attachment->getAttachmentInfo($part); 3124 $return['source'] = $attachment->getAttachment($part); 3125 return $return; 3126 } 3127 return $attachment->getAttachment($part); 3128 } 3129 3108 3130 function del_last_caracter($string) 3109 3131 { -
trunk/expressoMail1_2/js/abas.js
r5604 r5620 537 537 resizeWindow(); 538 538 RichTextEditor.destroy( 'body_'+ID ); 539 539 delete msgAttachments[ID]; 540 540 //Caso for uma mensagem anexada tem que deletar ela da lixeira apos fechar a aba 541 541 var isPartMsg = false; … … 598 598 if(msgAttachments[ID][i] == att) 599 599 { 600 msgAttachments[ID].splice(i,1);600 delete msgAttachments[ID][i]; 601 601 break; 602 602 } -
trunk/expressoMail1_2/js/draw_api.js
r5619 r5620 4265 4265 att.foder = folder_name; 4266 4266 att.uid = message_number; 4267 att.type = 'imapMSG'; 4267 4268 att.name = onceOpenedMessages[folder_name][message_number].subject + '.eml'; 4268 4269 var idATT = JSON.stringify(att); -
trunk/expressoMail1_2/js/main.js
r5619 r5620 1538 1538 title = "Re: " + data.subject; 1539 1539 Element("subject_" + new_border_ID).value = "Re: " + data.subject; 1540 1541 if (data.is_local_message){ 1542 alert(get_lang("In the local file attachments, including images, will be disregarded. To forward / reply with the attachments, please first make the reopening of the message")+'.'); 1543 var imagens = data.body.match(/<img[^>]*>/g); 1544 if(imagens != null) 1545 for (var x = 0; x < imagens.length; x++) 1546 data.body = data.body.replace(imagens[x],''); 1547 }else{ 1548 useOriginalAttachments(new_border_ID,border_ID); 1549 } 1540 useOriginalAttachments(new_border_ID,border_ID); 1541 1550 1542 1551 1543 // Insert the signature automaticaly at message body if use_signature preference is set … … 1565 1557 Element("subject_" + new_border_ID).value = "Re: " + data.subject; 1566 1558 Element("to_" + new_border_ID).value = data.to; 1567 if(data.is_local_message){ 1568 alert(get_lang("In the local file attachments, including images, will be disregarded. To forward / reply with the attachments, please first make the reopening of the message")+'.'); 1569 var imagens = data.body.match(/<img[^>]*>/g); 1570 if(imagens != null) 1571 for (var x = 0; x < imagens.length; x++) 1572 data.body = data.body.replace(imagens[x],''); 1573 }else{ 1574 useOriginalAttachments(new_border_ID,border_ID); 1575 } 1559 1560 useOriginalAttachments(new_border_ID,border_ID); 1561 1576 1562 block_quoted_body = make_body_reply(data.body, data.to, data.date_day, data.date_hour); 1577 1563 // Insert the signature automaticaly at message body if use_signature preference is set … … 1626 1612 } 1627 1613 } 1628 if (data.is_local_message){ 1629 alert(get_lang("In the local file attachments, including images, will be disregarded. To forward / reply with the attachments, please first make the reopening of the message")+'.'); 1630 var imagens = data.body.match(/<img[^>]*>/g); 1631 if(imagens != null) 1632 for (var x = 0; x < imagens.length; x++) 1633 data.body = data.body.replace(imagens[x],''); 1634 } 1635 else useOriginalAttachments(new_border_ID,border_ID); 1614 1615 useOriginalAttachments(new_border_ID,border_ID); 1636 1616 1637 1617 // Insert the signature automaticaly at message body if use_signature preference is set … … 1683 1663 } 1684 1664 document.getElementById("subject_" + new_border_ID).value = "Re: " + data.subject; 1685 useOriginalAttachments(new_border_ID,border_ID ,data.is_local_message);1665 useOriginalAttachments(new_border_ID,border_ID); 1686 1666 block_quoted_body = make_body_reply(data.body, data.to, data.date_day, data.date_hour); 1687 1667 // Insert the signature automaticaly at message body if use_signature preference is set … … 1706 1686 document.getElementById("subject_" + new_border_ID).value = "Fw: " + data.subject; 1707 1687 var divFiles = Element("divFiles_"+new_border_ID); 1688 var campo_arquivo; 1689 1690 if (Element("attachments_" + border_ID)) 1691 { 1692 1693 var fileUploadMSG = $('#fileupload_msg'+new_border_ID); 1694 var attachments = document.getElementById("attachments_" + border_ID).getElementsByTagName("a"); 1695 for (var i = 0; i < attachments.length; i++){ 1696 if((attachments[i].tagName=="SPAN") || (attachments[i].tagName=="IMG") || ((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1))) 1697 continue; 1698 1699 var arrayAtt = attachments[i].href.replace("javascript:download_attachments(", "").replace(")", "").split(','); 1700 var att = new Object(); 1701 var regex = new RegExp( "'", "g" ); 1702 att.folder = arrayAtt[0].replace(regex,""); 1703 att.uid = arrayAtt[1].replace(regex,""); 1704 att.part = arrayAtt[3].replace(regex,""); 1705 att.type = 'imapPart'; 1706 var idATT = JSON.stringify(att); 1707 addAttachment( new_border_ID , idATT); 1708 1709 var attach = {}; 1710 attach.fileName = arrayAtt[5].replace(regex,""); 1711 1712 if(attach.fileName.length > 10) 1713 attach.fileName = attach.fileName.substr(0, 18) + "..." + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 1714 1715 attach.fileSize = attachments[i].text.substring(( attachments[i].text.lastIndexOf('(')+1), attachments[i].text.lastIndexOf(')')); 1716 1717 var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 1718 upload.find('.status-upload').remove(); 1719 upload.find('.in-progress').remove(); 1720 upload.find('p').append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>'); 1721 fileUploadMSG.find('.attachments-list').append(upload); 1722 1723 } 1724 $('.attachments-list').find('.button.close').button({ 1725 icons: { 1726 primary: "ui-icon-close" 1727 }, 1728 text: false 1729 }).click(function(){ 1730 var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 1731 fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]'); 1732 delAttachment(new_border_ID,idAttach); 1733 $(this).parent().remove(); 1734 }); 1735 } 1708 1736 1709 1710 if (data.is_local_message) {//Local messages1711 document.getElementById("is_local_forward"+new_border_ID).value = "1";1712 alert(get_lang("In the local file attachments, including images, will be disregarded. To forward / reply with the attachments, please first make the reopening of the message")+'.');1713 var imagens = data.body.match(/<img[^>]*>/g);1714 if(imagens != null)1715 for (var x = 0; x < imagens.length; x++)1716 data.body = data.body.replace(imagens[x],'');1717 }1718 else{1719 1720 1721 1722 var campo_arquivo;1723 1724 if (Element("attachments_" + border_ID)){1725 var attachments = document.getElementById("attachments_" + border_ID).getElementsByTagName("a");1726 1727 for (var i = 0; i < attachments.length; i++){1728 if((attachments[i].tagName=="SPAN") || (attachments[i].tagName=="IMG") ||1729 ((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1)))1730 continue;1731 var link_attachment = document.createElement("A");1732 link_attachment.setAttribute("href", attachments[i].href);1733 link_attachment.innerHTML = attachments[i].firstChild.nodeValue + '<br/>';1734 1735 if (data.is_local_message) {//Local messages1736 document.getElementById("is_local_forward"+new_border_ID).value = "1";1737 var tmp = link_attachment.href.substring(link_attachment.href.indexOf("(") + 2);//Pula o parenteses e a aspas1738 tmp = tmp.substring(0, tmp.length - 2);//corta a aspas e o parenteses1739 tmp = replaceAll(tmp,"%20"," ");1740 if (!tmp.match(/inc\/gotodownload.php/)) { //Anexos após ticket #1257 que usa gotodownload1741 var tempNomeArquivo = tmp.split("/");1742 var nomeArquivo = tempNomeArquivo[tempNomeArquivo.length - 1];1743 }1744 else {1745 var tempNomeArquivo = tmp.split("&newfilename=");1746 var nomeArquivo = tempNomeArquivo[tempNomeArquivo.length - 1];1747 }1748 1749 if(nomeArquivo.match(/\.[a-z]{1,3}\.php$/i)!=null) //Anexos no gears podem vir com .php depois de sua extensão. tenho que tirar o .php para ficar o nome real do arquivo.1750 nomeArquivo = nomeArquivo.substring(0, nomeArquivo.length - 4);1751 campo_arquivo = addForwardedFile(new_border_ID, nomeArquivo, link_attachment.href);1752 1753 if(!expresso_offline)1754 expresso_local_messages.getInputFileFromAnexo(campo_arquivo, tmp);1755 else //To offline, you just set the url on value of a hidden input.1756 campo_arquivo.value = tmp;1757 1758 }1759 else {1760 var tmp = link_attachment.href.replace("javascript:download_attachments(", "").replace(")", "");1761 var a_tmp = tmp.split(',');1762 tmp = link_attachment.innerHTML.substring(0,link_attachment.innerHTML.lastIndexOf("("));1763 a_tmp[2] = "'"+tmp.substring(0,tmp.length-1)+"'";1764 s_tmp = trim(escape(connector.serialize(a_tmp)));1765 1766 divFiles.innerHTML += "<input style='border:0' type='CHECKBOX' name='forwarding_attachments[]' checked value=\""+s_tmp+"\"/>";1767 divFiles.innerHTML += "<link style='border:0' name='file_"+i+"' id='inputFile_"+border_ID+i+"'/>";1768 divFiles.appendChild(link_attachment);1769 }1770 }1771 }1772 }1773 1737 // Insert the signature automaticaly at message body if use_signature preference is set 1774 1738 if (preferences.use_signature == "1") … … 1865 1829 } 1866 1830 1867 var divFiles = Element("divFiles_"+new_border_ID); 1868 if (Element("attachments_" + border_ID)){ 1869 var attachments = document.getElementById("attachments_" + border_ID).childNodes; 1870 for (var i = (attachments.length > 1 ? 1 : 0); i < attachments.length; i++){ 1871 var link_attachment = document.createElement("A"); 1872 link_attachment.setAttribute("href", attachments[i].href); 1873 if(attachments[i].innerHTML == "") 1874 continue; 1875 else 1876 link_attachment.innerHTML = attachments[i].innerHTML; 1877 var tmp = link_attachment.href.replace("javascript:download_attachments(", "").replace(")", ""); 1878 var a_tmp = tmp.split(','); 1879 tmp = link_attachment.innerHTML.substring(0,link_attachment.innerHTML.lastIndexOf("(")); 1880 a_tmp[2] = "'"+tmp.substring(0,tmp.length-1)+"'"; 1881 s_tmp = escape(connector.serialize(a_tmp)); 1882 1883 divFiles.innerHTML += "<input style='border:0' type='CHECKBOX' name='forwarding_attachments[]' checked value=\""+s_tmp+"\"/>"; 1884 divFiles.appendChild(link_attachment); 1831 if (Element("attachments_" + border_ID)) 1832 { 1833 1834 var fileUploadMSG = $('#fileupload_msg'+new_border_ID); 1835 var attachments = document.getElementById("attachments_" + border_ID).getElementsByTagName("a"); 1836 for (var i = 0; i < attachments.length; i++){ 1837 if((attachments[i].tagName=="SPAN") || (attachments[i].tagName=="IMG") || ((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1))) 1838 continue; 1839 1840 var arrayAtt = attachments[i].href.replace("javascript:download_attachments(", "").replace(")", "").split(','); 1841 var att = new Object(); 1842 var regex = new RegExp( "'", "g" ); 1843 att.folder = arrayAtt[0].replace(regex,""); 1844 att.uid = arrayAtt[1].replace(regex,""); 1845 att.part = arrayAtt[3].replace(regex,""); 1846 att.type = 'imapPart'; 1847 var idATT = JSON.stringify(att); 1848 addAttachment( new_border_ID , idATT); 1849 1850 var attach = {}; 1851 attach.fileName = arrayAtt[5].replace(regex,""); 1852 1853 if(attach.fileName.length > 10) 1854 attach.fileName = attach.fileName.substr(0, 18) + "..." + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 1855 1856 attach.fileSize = attachments[i].text.substring(( attachments[i].text.lastIndexOf('(')+1), attachments[i].text.lastIndexOf(')')); 1857 1858 var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 1859 upload.find('.status-upload').remove(); 1860 upload.find('.in-progress').remove(); 1861 upload.find('p').append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>'); 1862 fileUploadMSG.find('.attachments-list').append(upload); 1863 1885 1864 } 1865 $('.attachments-list').find('.button.close').button({ 1866 icons: { 1867 primary: "ui-icon-close" 1868 }, 1869 text: false 1870 }).click(function(){ 1871 var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 1872 fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]'); 1873 delAttachment(new_border_ID,idAttach); 1874 $(this).parent().remove(); 1875 }); 1886 1876 } 1887 1877 RichTextEditor.setInitData(new_border_ID, data.body, 'edit'); … … 1945 1935 } 1946 1936 1947 function useOriginalAttachments(new_ id_border,old_id_border,is_local)1937 function useOriginalAttachments(new_border_ID,old_id_border) 1948 1938 { 1949 var divFiles = Element("divFiles_"+new_id_border); 1950 if (Element("attachments_" + old_id_border)) { 1951 var areaOldAttachments = document.createElement("DIV"); 1952 areaOldAttachments.id = "area_div_attachments_"+new_id_border; 1953 divFiles.appendChild(areaOldAttachments); 1954 var optAttachments = document.createElement("A"); 1955 optAttachments.setAttribute("href","javascript:void(0)"); 1956 optAttachments.tabIndex = -1; 1957 optAttachments.innerHTML = get_lang("Original attachments: add")+"</br>"; 1958 areaOldAttachments.appendChild(optAttachments); 1959 var divOriginalAttachments = document.createElement("DIV"); 1960 divOriginalAttachments.id = "div_attachments_"+new_id_border; 1961 optAttachments.onclick = function(){ 1962 if(document.getElementById('div_attachments_'+new_id_border)) 1963 { 1964 areaOldAttachments.removeChild(document.getElementById('div_attachments_'+new_id_border)); 1965 optAttachments.innerHTML = get_lang("Original attachments: add")+"</br>"; 1966 } 1967 else 1968 { 1969 areaOldAttachments.appendChild(divOriginalAttachments); 1970 optAttachments.innerHTML = get_lang("Original attachments: remove")+"</br>"; 1971 } 1972 return false;}; 1973 var attachments = document.getElementById("attachments_" + old_id_border).getElementsByTagName("a"); 1974 for (var i = (attachments.length > 1 ? 1 : 0); i < attachments.length; i++){ 1975 if (!is_local) { 1976 var link_attachment = document.createElement("A"); 1977 link_attachment.setAttribute("href", attachments[i].href); 1978 link_attachment.innerHTML = attachments[i].firstChild.nodeValue + '<br/>'; 1979 var tmp = link_attachment.href.replace("javascript:download_attachments(", "").replace(")", ""); 1980 var a_tmp = tmp.split(','); 1981 tmp = link_attachment.innerHTML.substring(0,link_attachment.innerHTML.lastIndexOf("(")); 1982 a_tmp[2] = "'"+tmp.substring(0,tmp.length-1)+"'"; 1983 s_tmp = trim(escape(connector.serialize(a_tmp))); 1984 divOriginalAttachments.innerHTML += "<input style='border:0' type='CHECKBOX' name='forwarding_attachments[]' checked value=\""+s_tmp+"\"/>"; 1985 divOriginalAttachments.appendChild(link_attachment); 1986 } 1987 else { 1988 document.getElementById("is_local_forward"+new_id_border).value = "1"; 1989 var link = attachments[i].href.replace("javascript:download_local_attachment('", "").replace("')", ""); 1990 var name = attachments[i].innerHTML.substring(0, attachments[i].innerHTML.lastIndexOf("(")); 1991 var campo_arquivo = addForwardedFile(new_id_border, name, attachments[i].href, divOriginalAttachments); 1992 expresso_local_messages.getInputFileFromAnexo(campo_arquivo, link); 1993 } 1994 } 1995 } 1939 if (Element("attachments_" + old_id_border)) 1940 { 1941 var fileUploadMSG = $('#fileupload_msg'+new_border_ID); 1942 var attachments = document.getElementById("attachments_" + old_id_border).getElementsByTagName("a"); 1943 for (var i = 0; i < attachments.length; i++){ 1944 if((attachments[i].tagName=="SPAN") || (attachments[i].tagName=="IMG") || ((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1))) 1945 continue; 1946 1947 var arrayAtt = attachments[i].href.replace("javascript:download_attachments(", "").replace(")", "").split(','); 1948 var att = new Object(); 1949 var regex = new RegExp( "'", "g" ); 1950 att.folder = arrayAtt[0].replace(regex,""); 1951 att.uid = arrayAtt[1].replace(regex,""); 1952 att.part = arrayAtt[3].replace(regex,""); 1953 att.type = 'imapPart'; 1954 var idATT = JSON.stringify(att); 1955 addAttachment( new_border_ID , idATT); 1956 1957 var attach = {}; 1958 attach.fileName = arrayAtt[5].replace(regex,""); 1959 1960 if(attach.fileName.length > 10) 1961 attach.fileName = attach.fileName.substr(0, 18) + "..." + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 1962 1963 attach.fileSize = attachments[i].text.substring(( attachments[i].text.lastIndexOf('(')+1), attachments[i].text.lastIndexOf(')')); 1964 1965 var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 1966 upload.find('.status-upload').remove(); 1967 upload.find('.in-progress').remove(); 1968 upload.find('p').append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>'); 1969 fileUploadMSG.find('.attachments-list').append(upload); 1970 1971 } 1972 $('.attachments-list').find('.button.close').button({ 1973 icons: { 1974 primary: "ui-icon-close" 1975 }, 1976 text: false 1977 }).click(function(){ 1978 var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 1979 fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]'); 1980 delAttachment(new_border_ID,idAttach); 1981 $(this).parent().remove(); 1982 }); 1983 } 1984 1996 1985 } 1997 1986 … … 2168 2157 var onClick = save_link.onclick; 2169 2158 save_link.onclick = ''; 2170 $("#save_message_options_"+ID).button({ disabled: true});2159 $("#save_message_options_"+ID).button({disabled: true}); 2171 2160 2172 2161 ID_tmp = ID; … … 3572 3561 var res = $.map(evtObj, function( form){ 3573 3562 return [$.map(form.files , function( files){ 3574 return { 3563 return {source: files , disposition : form['attDisposition'+form.abaID]}; 3575 3564 })]; 3576 3565 }); -
trunk/mobile/inc/class.ui_mobilemail.inc.php
r5303 r5620 969 969 { 970 970 $file_description = unserialize(rawurldecode($forwarding_attachment)); 971 $fileContent = $imap_functions->get _forwarding_attachment(971 $fileContent = $imap_functions->getForwardingAttachment( 972 972 $file_description[0], 973 973 $file_description[1], 974 974 $file_description[3], 975 $file_description[4]); 975 TRUE, 976 FALSE 977 ); 976 978 $fileName = $file_description[2]; 977 979 $mail->AddStringAttachment($fileContent,html_entity_decode(rawurldecode($fileName)), $file_description[4], $imap_functions->get_file_type($file_description[2])); -
trunk/prototype/services/ImapServiceAdapter.php
r5605 r5620 411 411 $att = Controller::read(array('id'=> $value , 'concept' => 'mailAttachment')); 412 412 413 413 414 if($att['disposition'] == 'embedded') 414 415 { … … 421 422 unset($att); 422 423 } 423 else //message attachment424 else 424 425 { 425 426 $value = json_decode($value, true); 426 $sub = $value['name'] ? $value['name'].'.eml' :'no title.eml'; 427 $mbox_stream = $this->open_mbox($value['folder']); 428 $rawmsg = $this->getRawHeader($value['uid']) . "\r\n\r\n" . $this->getRawBody($value['uid']); 429 $mailService->addStringAttachment($rawmsg, $sub, 'message/rfc822', '7bit', 'attachment' ); 430 unset($rawmsg); 427 428 switch ($value['type']) { 429 case 'imapPart': 430 $att = $this->getForwardingAttachment($value['folder'],$value['uid'], $value['part']); 431 if(strstr($body,'<img src="./inc/get_archive.php?msgFolder='.$value['folder'].'&msgNumber='.$value['uid'].'&indexPart='.$value['part'].'" />') !== false)//Embeded IMG 432 { 433 $body = str_ireplace('<img src="./inc/get_archive.php?msgFolder='.$value['folder'].'&msgNumber='.$value['uid'].'&indexPart='.$value['part'].'" />' , '<img src="'.$att['name'].'" />', $body); 434 $mailService->addStringImage($att['source'], $att['type'], $att['name']); 435 } 436 else 437 $mailService->addStringAttachment($att['source'], $att['name'], $att['type'], 'base64', isset($att['disposition']) ? $att['disposition'] :'attachment' ); 438 unset($att); 439 break; 440 case 'imapMSG': 441 $sub = $value['name'] ? $value['name'].'.eml' :'no title.eml'; 442 $mbox_stream = $this->open_mbox($value['folder']); 443 $rawmsg = $this->getRawHeader($value['uid']) . "\r\n\r\n" . $this->getRawBody($value['uid']); 444 $mailService->addStringAttachment($rawmsg, $sub, 'message/rfc822', '7bit', 'attachment' ); 445 unset($rawmsg); 446 break; 447 448 default: 449 break; 450 } 431 451 } 432 452 … … 434 454 435 455 if($isHTML) $mailService->setBodyHtml($body); else $mailService->setBodyText($body); 436 456 437 457 if(imap_append($mbox_stream, "{".$this->imap_server.":".$this->imap_port."}".$folder, $mailService->getMessage(), "\\Seen \\Draft")) 438 458 { … … 446 466 447 467 if($mbox_stream) imap_close($mbox_stream); 448 449 450 468 451 469 return $return; 452 470 }
Note: See TracChangeset
for help on using the changeset viewer.