Changeset 660
- Timestamp:
- 02/05/09 16:48:28 (15 years ago)
- Location:
- trunk/expressoMail1_2
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/inc/class.imap_functions.inc.php
r659 r660 187 187 * com .emls gerados pelo expresso, e o arquivo pode ser um zip contendo vários emls ou um .eml. 188 188 */ 189 function import_msgs() { 190 191 if(!$this->mbox) 192 $this->mbox = $this->open_mbox($params["folder"]); 189 function import_msgs($params) { 190 if(!$this->mbox) 191 $this->mbox = $this->open_mbox(); 193 192 $errors = array(); 194 193 $invalid_format = false; 195 $filename = $_FILES['arquivo']['name']; 194 $filename = $params['FILES'][0]['name']; 195 $quota = imap_get_quotaroot($this->mbox, $params["folder"]); 196 if((($quota['limit'] - $quota['usage'])*1024) <= $params['FILES'][0]['size']){ 197 return array( 'error' => $this->functions->getLang("fail in import:"). 198 " ".$this->functions->getLang("Over quota")); 199 } 196 200 if(substr($filename,strlen($filename)-4)==".zip") { 197 $zip = zip_open($ _FILES['arquivo']['tmp_name']);201 $zip = zip_open($params['FILES'][0]['tmp_name']); 198 202 199 203 if ($zip) { … … 203 207 $email = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)); 204 208 $status = @imap_append($this->mbox, 205 "{".$this->imap_server.":".$this->imap_port.$this->imap_options."}". "INBOX",209 "{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$params["folder"], 206 210 $email 207 211 ); … … 211 215 } 212 216 } 213 214 } 215 216 zip_close($zip); 217 zip_close($zip); 218 } 217 219 } 218 220 else if(substr($filename,strlen($filename)-4)==".eml") { 219 $email = implode("",file($ _FILES['arquivo']['tmp_name']));221 $email = implode("",file($params['FILES'][0]['tmp_name'])); 220 222 $status = @imap_append($this->mbox, 221 "{".$this->imap_server.":".$this->imap_port.$this->imap_options."}". "INBOX",223 "{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$params["folder"], 222 224 $email 223 225 ); 224 if(!$status) 226 if(!$status){ 225 227 array_push($errors,zip_entry_name($zip_entry)); 226 zip_entry_close($zip_entry); 228 zip_entry_close($zip_entry); 229 } 227 230 } 228 231 else 229 232 { 230 echo "<script>alert(\"".lang("wrong file format")."\")</script>";233 return array("error" => $this->functions->getLang("wrong file format")); 231 234 $invalid_format = true; 232 235 } … … 234 237 if(!$invalid_format) { 235 238 if(count($errors)>0) { 236 $message = lang("fail in import:")."\n";239 $message = $this->functions->getLang("fail in import:")."\n"; 237 240 foreach($errors as $arquivo) { 238 241 $message.=$arquivo."\n"; 239 242 } 240 echo "<script>alert(\"$message\")</script>";243 return array("error" => $message); 241 244 } 242 245 else 243 echo "<script>alert(\"".lang("messages imported successfully")."\")</script>"; 244 } 245 echo "<script>location.href='/expressoMail1_2/index.php'</script>"; 246 } 247 246 return $this->functions->getLang("The import was executed successfully."); 247 } 248 } 248 249 /* 249 250 Remove os anexos de uma mensagem. A estratégia para isso é criar uma mensagem nova sem os anexos, mantendo apenas -
trunk/expressoMail1_2/js/connector.js
r630 r660 599 599 600 600 var divFiles = Element("divFiles_"+id); 601 if (divFiles .firstChild) {601 if (divFiles && divFiles.firstChild) { 602 602 el = document.createElement('input'); 603 603 el.type = 'hidden'; -
trunk/expressoMail1_2/js/draw_api.js
r659 r660 2351 2351 '<span title="'+get_lang("Print")+'" class="message_options" onclick=print_all()>'+get_lang("Print")+'</span> | '+ 2352 2352 '<span title="'+get_lang("Export")+'" class="message_options" onclick="export_all_selected_msgs()">'+get_lang("Export")+'</span> | ' + 2353 '<span title="'+get_lang("Import")+'" class="message_options" onclick="location.href=\'import.php\'">'+get_lang("Import")+'</span>';2353 '<span title="'+get_lang("Import")+'" class="message_options" onclick="import_window()">'+get_lang("Import")+'</span>'; 2354 2354 2355 2355 if (use_spam_filter) { -
trunk/expressoMail1_2/js/main.js
r659 r660 1513 1513 write_msg(get_lang('No selected message.')); 1514 1514 } 1515 1516 function import_window(){ 1517 var win = arrayJSWin["import_window"]; 1518 var form_upload = Element("form_upload"); 1519 if(!win) { 1520 var form = document.createElement("DIV"); 1521 form.id = "import_window"; 1522 form.style.visibility = "hidden"; 1523 form.style.position = "absolute"; 1524 form.style.background = "#eeeeee"; 1525 form.style.left = "0px"; 1526 form.style.top = "0px"; 1527 form.style.width = "0px"; 1528 form.style.height = "0px"; 1529 document.body.appendChild(form); 1530 form_upload = document.createElement("DIV"); 1531 form_upload.id = "form_upload"; 1532 form_upload.style.position = "absolute"; 1533 form_upload.style.top = "5px"; 1534 form_upload.style.left = "5px"; 1535 form_upload.name = get_lang('zip mails to import'); 1536 form_upload.style.width = "450px"; 1537 form_upload.style.height = "75px"; 1538 form.appendChild(form_upload); 1539 form.style.width = form.firstChild.style.width; 1540 form.style.height = form.firstChild.style.height; 1541 form.style.zIndex = "10000"; 1542 var title = form.firstChild.name; 1543 var wHeight = form.offsetHeight + "px"; 1544 var wWidth = form.offsetWidth + "px"; 1545 form.style.width = form.offsetWidth - 5; 1546 win = new dJSWin({ 1547 id: 'win_'+form.id, 1548 content_id: form.id, 1549 width: wWidth, 1550 height: wHeight, 1551 title_color: '#3978d6', 1552 bg_color: '#eee', 1553 title: title, 1554 title_text_color: 'white', 1555 button_x_img: '../phpgwapi/images/winclose.gif', 1556 border: true }); 1557 win.draw(); 1558 } 1559 form_upload.innerHTML = '<form method="POST" name="form_import" enctype="multipart/form-data">'+get_lang('zip mails to import')+':<br>'+ 1560 '<input name="file_1" maxlength="255" size="50" id="file_1" type="file"><br>' + 1561 '<input title="'+get_lang('Select a folder')+'" value="' + get_lang('Select a folder') + '"' + 'type="button" onclick="javascript:select_import_folder()"> ' + 1562 '<input title="' + get_lang('Close') + '" value="' + get_lang('Close') + '"' + 1563 ' type="button" onclick="arrayJSWin[\'import_window\'].close()"></form>'; 1564 win.open(); 1565 } 1566 1567 function import_msgs(wfolders_tree){ 1568 function handler(data){ 1569 // Its necessary to encapsulate the data returned (IE bugfix) 1570 return_import_msgs(data,wfolders_tree); 1571 } 1572 var countFiles = document.form_import.countFiles; 1573 if(!countFiles){ 1574 countFiles = document.createElement("INPUT"); 1575 countFiles.type = "hidden"; 1576 countFiles.name = "countFiles"; 1577 countFiles.value = "1"; 1578 document.form_import.appendChild(countFiles); 1579 } 1580 var folder = document.createElement("INPUT"); 1581 folder.type = "hidden"; 1582 folder.name = "folder"; 1583 folder.value = wfolders_tree._selected.id; 1584 document.form_import.appendChild(folder); 1585 write_msg(get_lang('You must wait while the messages will be imported...')); 1586 1587 cExecuteForm('$this.imap_functions.import_msgs', document.form_import, handler); 1588 } 1589 function return_import_msgs(data, wfolders_tree){ 1590 if(data && data.error){ 1591 write_msg(data.error); 1592 } 1593 else{ 1594 if(data == 'Post-Content-Length') 1595 write_msg(get_lang('The size of this message has exceeded the limit (%1B).',Element('upload_max_filesize').value)); 1596 else { 1597 write_msg(data); 1598 arrayJSWin["import_window"].close(); 1599 if(openTab.imapBox[0] == wfolders_tree._selected.id){ 1600 openTab.imapBox[0] = ''; 1601 change_folder(wfolders_tree._selected.id, wfolders_tree._selected.caption); 1602 } 1603 else{ 1604 refresh(); 1605 } 1606 } 1607 } 1608 } 1609 1610 function select_import_folder(){ 1611 //Begin: Verify if the file extension is allowed. 1612 var imgExtensions = new Array("eml","zip"); 1613 var inputFile = document.form_import.file_1; 1614 if(!inputFile.value){ 1615 alert(get_lang('File extension forbidden or invalid file') + '.'); 1616 return false; 1617 } 1618 var fileExtension = inputFile.value.split("."); 1619 fileExtension = fileExtension[(fileExtension.length-1)]; 1620 var deniedExtension = true; 1621 for(var i=0; i<imgExtensions.length; i++) { 1622 if(imgExtensions[i].toUpperCase() == fileExtension.toUpperCase()) { 1623 deniedExtension = false; 1624 break; 1625 } 1626 } 1627 if(deniedExtension) { 1628 alert(get_lang('File extension forbidden or invalid file') + '.'); 1629 return false; 1630 } 1631 arrayJSWin['import_window'].close(); 1632 wfolders.makeWindow('null','import'); 1633 } -
trunk/expressoMail1_2/js/wfolders.js
r271 r660 43 43 else if (type == 'change_folder') 44 44 butt.value = get_lang('Change folder'); 45 else //default value 46 butt.value = get_lang(type); 45 47 46 48 butt.onclick = function () { … … 65 67 change_folder(wfolders_tree._selected.id, wfolders_tree._selected.caption); 66 68 wfolders.alert = true; 69 } 70 else if (type == 'import'){ 71 import_msgs(wfolders_tree); 67 72 } 68 73 }; … … 112 117 div.style.width = "275px"; 113 118 div.style.height = "250px"; 114 var title = get_lang('Select a folder :');119 var title = get_lang('Select a folder')+":"; 115 120 var wHeight = div.offsetHeight + "px"; 116 121 var wWidth = div.offsetWidth + "px";
Note: See TracChangeset
for help on using the changeset viewer.