Changeset 673
- Timestamp:
- 02/06/09 16:53:27 (15 years ago)
- Location:
- trunk/expressoMail1_2
- Files:
-
- 1 added
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/inc/class.db_functions.inc.php
r525 r673 337 337 $this->db->delete('phpgw_expressomail_contacts',$where,$line,$file); 338 338 } 339 340 function import_vcard($params){ 341 342 include_once('class.imap_functions.inc.php'); 343 $objImap = new imap_functions(); 344 $msg_number = $params['msg_number']; 345 $idx_file = $params['idx_file']; 346 $msg_part = $params['msg_part']; 347 $msg_folder = $params['msg_folder']; 348 $encoding = strtolower($params['encoding']); 349 $fileContent = ""; 350 351 if($msg_number && $msg_part && $msg_folder && (intval($idx_file == '0' ? '1' : $idx_file))) { 352 $mbox_stream = $objImap->open_mbox($msg_folder); 353 $fileContent = imap_fetchbody($mbox_stream, $msg_number, $msg_part, FT_UID); 354 include_once('class.imap_attachment.inc.php'); 355 $imap_attachment = new imap_attachment(); 356 $a = $imap_attachment->download_attachment($mbox_stream, $msg_number); 357 $filename = $a[$idx_file]['name']; 358 } 359 else 360 $filename = $idx_file; 361 362 if($fileContent) { 363 if($encoding == 'base64') 364 $calendar = imap_base64($fileContent); 365 else if($encoding == 'quoted-printable') 366 $calendar = quoted_printable_decode($fileContent); 367 else 368 $calendar = $fileContent; 369 } 370 371 $uiicalendar = CreateObject("calendar.uiicalendar"); 372 return $uiicalendar = $uiicalendar->import_from_mail($calendar); 373 } 374 339 375 } 340 376 ?> -
trunk/expressoMail1_2/inc/class.exporteml.inc.php
r670 r673 186 186 } 187 187 188 function export_to_archive($id_msg,$folder) {189 $this->folder = $folder;190 $this->folder = mb_convert_encoding($this->folder, "UTF7-IMAP","UTF-8");191 $tempDir = $_SERVER["DOCUMENT_ROOT"]."tmpLclAtt";192 193 $phpheader = "<?php header('Content-Type: text/plain');194 header('Cache-Control: must-revalidate, post-check=0, pre-check=0');195 header('Pragma: public');196 header('Expires: 0'); // set expiration time197 header('Content-Disposition: attachment; filename=\"fonte_da_mensagem.txt\"');?>";198 199 $this->connectImap();200 $header = $this-> getHeader($id_msg);201 $body = $this-> getBody($id_msg);202 203 $file = "source_".md5(microtime()).".php";204 $f = fopen($tempDir.'/'.$file,"w");205 fputs($f,$phpheader.$header ."\r\n\r\n". $body);206 fclose($f);207 $urlPath = '../tmpLclAtt/'.$file;208 209 imap_close($this->mbox_stream);210 return $urlPath;211 }212 213 188 function remove_accents($string) { 214 189 /* … … 220 195 "áàâãäéèêëíìîïóòôõöúùûüç?\"!@#$%š&*()-=+Ž`[]{}~^,<>;:/?\\|¹²³£¢¬§ªº°ÁÀÂÃÄÉÈÊËÍÌÎÏÓÒÔÕÖÚÙÛÜÇ", 221 196 "aaaaaeeeeiiiiooooouuuuc__________________________________________AAAAAEEEEIIIIOOOOOUUUUC"); 222 }223 224 function get_attachments_in_array($params) {225 $return_attachments = array();226 227 $id_number = $params['num_msg'];228 $attachments =unserialize(rawurldecode($params['s_attachments']));229 230 $tempDir = $_SERVER["DOCUMENT_ROOT"]."tmpLclAtt";231 $tempSubDir = md5(microtime());232 exec('mkdir ' . $tempDir . '/'.$tempSubDir.'; cd ' . $tempDir . '/'.$tempSubDir);233 234 $this-> folder = $params['folder'];235 $this->folder = mb_convert_encoding($this->folder, "UTF7-IMAP","UTF-8");236 $this->connectImap();237 238 include_once("class.imap_attachment.inc.php");239 240 $imap_attachment = new imap_attachment();241 $attachments = $imap_attachment->download_attachment($this->mbox_stream, $id_number);242 243 244 245 foreach($attachments as $i => $attachment){246 if($i && $i == 'names')247 continue;248 $fileNameReal = $this->remove_accents($attachment['name']);249 $ContentType = $this->getFileType($fileNameReal);250 $fileName = $fileNameReal . ".php";251 $f = fopen($tempDir . '/'.$tempSubDir.'/'.$fileName,"wb");252 if(!$f)253 return $tempDir . '/'.$tempSubDir.'/'.$fileName;254 255 $fileContent = imap_fetchbody($this->mbox_stream, $id_number,$attachment['pid'], FT_UID);256 $urlPath = '../tmpLclAtt/'.$tempSubDir.'/'.$fileName;257 258 $headers = "<?php header('Content-Type: ".$ContentType."');259 header('Cache-Control: must-revalidate, post-check=0, pre-check=0');260 header('Pragma: public');261 header('Expires: 0'); // set expiration time262 header('Content-Disposition: attachment; filename=\"". addslashes($fileNameReal) ."\"');\n echo ";263 264 if($attachment['encoding'] == 'base64') {265 $headers.=" imap_base64('";266 }267 else if($attachment['encoding'] == 'quoted_printable_decode') {268 $headers.=" quoted_printable_decode('";269 }270 $headers.=$fileContent."');?>";271 fputs($f,$headers);272 273 array_push($return_attachments,array('name' => $fileName,'url' => $urlPath,'pid' =>$attachment['pid']));274 fclose($f);275 }276 imap_close($this->mbox_stream);277 return $return_attachments;278 }279 280 private function getFileType($nameFile) {281 $strFileType = strrev(substr(strrev(strtolower($nameFile)),0,4));282 $ContentType = "application/octet-stream";283 if ($strFileType == ".asf")284 $ContentType = "video/x-ms-asf";285 if ($strFileType == ".avi")286 $ContentType = "video/avi";287 if ($strFileType == ".doc")288 $ContentType = "application/msword";289 if ($strFileType == ".zip")290 $ContentType = "application/zip";291 if ($strFileType == ".xls")292 $ContentType = "application/vnd.ms-excel";293 if ($strFileType == ".gif")294 $ContentType = "image/gif";295 if ($strFileType == ".jpg" || $strFileType == "jpeg")296 $ContentType = "image/jpeg";297 if ($strFileType == ".wav")298 $ContentType = "audio/wav";299 if ($strFileType == ".mp3")300 $ContentType = "audio/mpeg3";301 if ($strFileType == ".mpg" || $strFileType == "mpeg")302 $ContentType = "video/mpeg";303 if ($strFileType == ".rtf")304 $ContentType = "application/rtf";305 if ($strFileType == ".htm" || $strFileType == "html")306 $ContentType = "text/html";307 if ($strFileType == ".xml")308 $ContentType = "text/xml";309 if ($strFileType == ".xsl")310 $ContentType = "text/xsl";311 if ($strFileType == ".css")312 $ContentType = "text/css";313 if ($strFileType == ".php")314 $ContentType = "text/php";315 if ($strFileType == ".asp")316 $ContentType = "text/asp";317 if ($strFileType == ".pdf")318 $ContentType = "application/pdf";319 if ($strFileType == ".txt")320 $ContentType = "text/plain";321 if ($strFileType == ".log")322 $ContentType = "text/plain";323 if ($strFileType == ".wmv")324 $ContentType = "video/x-ms-wmv";325 if ($strFileType == ".sxc")326 $ContentType = "application/vnd.sun.xml.calc";327 if ($strFileType == ".odt")328 $ContentType = "application/vnd.oasis.opendocument.text";329 if ($strFileType == ".stc")330 $ContentType = "application/vnd.sun.xml.calc.template";331 if ($strFileType == ".sxd")332 $ContentType = "application/vnd.sun.xml.draw";333 if ($strFileType == ".std")334 $ContentType = "application/vnd.sun.xml.draw.template";335 if ($strFileType == ".sxi")336 $ContentType = "application/vnd.sun.xml.impress";337 if ($strFileType == ".sti")338 $ContentType = "application/vnd.sun.xml.impress.template";339 if ($strFileType == ".sxm")340 $ContentType = "application/vnd.sun.xml.math";341 if ($strFileType == ".sxw")342 $ContentType = "application/vnd.sun.xml.writer";343 if ($strFileType == ".sxq")344 $ContentType = "application/vnd.sun.xml.writer.global";345 if ($strFileType == ".stw")346 $ContentType = "application/vnd.sun.xml.writer.template";347 if ($strFileType == ".ps")348 $ContentType = "application/postscript";349 if ($strFileType == ".pps")350 $ContentType = "application/vnd.ms-powerpoint";351 if ($strFileType == ".odt")352 $ContentType = "application/vnd.oasis.opendocument.text";353 if ($strFileType == ".ott")354 $ContentType = "application/vnd.oasis.opendocument.text-template";355 if ($strFileType == ".oth")356 $ContentType = "application/vnd.oasis.opendocument.text-web";357 if ($strFileType == ".odm")358 $ContentType = "application/vnd.oasis.opendocument.text-master";359 if ($strFileType == ".odg")360 $ContentType = "application/vnd.oasis.opendocument.graphics";361 if ($strFileType == ".otg")362 $ContentType = "application/vnd.oasis.opendocument.graphics-template";363 if ($strFileType == ".odp")364 $ContentType = "application/vnd.oasis.opendocument.presentation";365 if ($strFileType == ".otp")366 $ContentType = "application/vnd.oasis.opendocument.presentation-template";367 if ($strFileType == ".ods")368 $ContentType = "application/vnd.oasis.opendocument.spreadsheet";369 if ($strFileType == ".ots")370 $ContentType = "application/vnd.oasis.opendocument.spreadsheet-template";371 if ($strFileType == ".odc")372 $ContentType = "application/vnd.oasis.opendocument.chart";373 if ($strFileType == ".odf")374 $ContentType = "application/vnd.oasis.opendocument.formula";375 if ($strFileType == ".odi")376 $ContentType = "application/vnd.oasis.opendocument.image";377 if ($strFileType == ".ndl")378 $ContentType = "application/vnd.lotus-notes";379 return $ContentType;380 197 } 381 198 -
trunk/expressoMail1_2/inc/class.imap_functions.inc.php
r670 r673 10 10 'get_range_msgs' => True, 11 11 'get_info_msg' => True, 12 'get_info_msgs' => True,13 12 'get_folders_list' => True, 14 13 'import_msgs' => True … … 71 70 function get_range_msgs2($params) 72 71 { 72 include("class.imap_attachment.inc.php"); 73 $imap_attachment = new imap_attachment(); 73 74 $folder = $params['folder']; 74 75 $msg_range_begin = $params['msg_range_begin']; … … 84 85 if($num_msgs) { 85 86 for ($msg_range_begin; (($msg_range_begin <= $msg_range_end) && ($msg_range_begin <= $num_msgs)); $msg_range_begin++) 86 { 87 $msg_number = $sort_array_msg[$msg_range_begin-1]; 88 $temp = $this->get_info_head_msg($msg_number); 89 if(!$temp) 90 return false; 91 92 $return[$i] = $temp; 93 $i++; 94 } 95 } 96 $return['num_msgs'] = $num_msgs; 97 98 return $return; 99 } 100 101 function get_info_head_msg($msg_number) { 102 $head_array = array(); 103 include_once("class.imap_attachment.inc.php"); 104 $imap_attachment = new imap_attachment(); 105 106 /*A função imap_headerinfo não traz o cabeçalho completo, e sim alguns 107 * atributos do cabeçalho. Como eu preciso do atributo Importance 108 * para saber se o email é importante ou não, uso abaixo a função 109 * imap_fetchheader e busco o atributo importance nela para passar 110 * para as funções ajax. Isso faz com que eu acesse o cabeçalho 111 * duas vezes e de duas formas diferentes, mas em contrapartida, eu 112 * não preciso reimplementar o método utilizando o fetchheader. 113 * Como as mensagens são renderizadas de X em X, não parece ter 114 * perda considerável de performance. 115 */ 116 $flag = preg_match('/importance *: *(.*)\r/i', 87 { 88 $msg_number = $sort_array_msg[$msg_range_begin-1]; 89 90 /*A função imap_headerinfo não traz o cabeçalho completo, e sim alguns 91 * atributos do cabeçalho. Como eu preciso do atributo Importance 92 * para saber se o email é importante ou não, uso abaixo a função 93 * imap_fetchheader e busco o atributo importance nela para passar 94 * para as funções ajax. Isso faz com que eu acesse o cabeçalho 95 * duas vezes e de duas formas diferentes, mas em contrapartida, eu 96 * não preciso reimplementar o método utilizando o fetchheader. 97 * Como as mensagens são renderizadas em um número pequeno por vez, 98 * não parece ter perda considerável de performance. 99 */ 100 $flag = preg_match('/importance *: *(.*)\r/i', 117 101 imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)) 118 102 ,$importance); 119 $head_array['Importance'] = $flag==0?"Normal":$importance[1];120 121 122 $header = $this->get_header($msg_number);103 $return[$i]['Importance'] = $flag==0?"":$importance[1]; 104 105 106 $header = $this->get_header($msg_number); 123 107 if (!is_object($header)) 124 return false; 125 $head_array['Recent'] = $header->Recent; 126 $head_array['Unseen'] = $header->Unseen; 127 if($header->Answered =='A' && $header->Draft == 'X'){ 128 $head_array['Forwarded'] = 'F'; 129 } 130 else { 131 $head_array['Answered'] = $header->Answered; 132 $head_array['Draft'] = $header->Draft; 133 } 134 $head_array['Deleted'] = $header->Deleted; 135 $head_array['Flagged'] = $header->Flagged; 136 137 $head_array['msg_number'] = $msg_number; 138 //$return[$i]['msg_folder'] = $folder; 139 140 $date_msg = date("d/m/Y",$header->udate); 141 if (date("d/m/Y") == $date_msg) 142 $head_array['udate'] = date("H:i",$header->udate); 143 else 144 $head_array['udate'] = $date_msg; 145 146 $head_array['aux_date'] = $date_msg; //Auxiliar apenas para mensagens locais. 147 148 $from = $header->from; 149 $head_array['from'] = array(); 150 $tmp = imap_mime_header_decode($from[0]->personal); 151 $head_array['from']['name'] = $this->decode_string($tmp[0]->text); 152 $head_array['from']['email'] = $this->decode_string($from[0]->mailbox) . "@" . $from[0]->host; 153 if(!$head_array['from']['name']) 154 $head_array['from']['name'] = $head_array['from']['email']; 155 $to = $header->to; 156 $head_array['to'] = array(); 157 $tmp = imap_mime_header_decode($to[0]->personal); 158 $head_array['to']['name'] = $this->decode_string($this->decode_string($tmp[0]->text)); 159 $head_array['to']['email'] = $this->decode_string($to[0]->mailbox) . "@" . $to[0]->host; 160 if(!$head_array['to']['name']) 161 $head_array['to']['name'] = $head_array['to']['email']; 162 $head_array['subject'] = $this->decode_string($header->fetchsubject); 163 164 $head_array['Size'] = $header->Size; 165 166 $head_array['attachment'] = array(); 167 $head_array['attachment'] = $imap_attachment->get_attachment_headerinfo($this->mbox, $msg_number); 168 169 return $head_array; 108 return false; 109 110 $return[$i]['Recent'] = $header->Recent; 111 $return[$i]['Unseen'] = $header->Unseen; 112 if($header->Answered =='A' && $header->Draft == 'X'){ 113 $return[$i]['Forwarded'] = 'F'; 114 } 115 else { 116 $return[$i]['Answered'] = $header->Answered; 117 $return[$i]['Draft'] = $header->Draft; 118 } 119 $return[$i]['Deleted'] = $header->Deleted; 120 $return[$i]['Flagged'] = $header->Flagged; 121 122 $return[$i]['msg_number'] = $msg_number; 123 //$return[$i]['msg_folder'] = $folder; 124 125 $date_msg = gmdate("d/m/Y",$header->udate); 126 if (gmdate("d/m/Y") == $date_msg) 127 $return[$i]['udate'] = gmdate("H:i",$header->udate); 128 else 129 $return[$i]['udate'] = $date_msg; 130 131 $from = $header->from; 132 $return[$i]['from'] = array(); 133 $tmp = imap_mime_header_decode($from[0]->personal); 134 $return[$i]['from']['name'] = $this->decode_string($tmp[0]->text); 135 $return[$i]['from']['email'] = $this->decode_string($from[0]->mailbox) . "@" . $from[0]->host; 136 if(!$return[$i]['from']['name']) 137 $return[$i]['from']['name'] = $return[$i]['from']['email']; 138 $to = $header->to; 139 $return[$i]['to'] = array(); 140 $tmp = imap_mime_header_decode($to[0]->personal); 141 $return[$i]['to']['name'] = $this->decode_string($this->decode_string($tmp[0]->text)); 142 $return[$i]['to']['email'] = $this->decode_string($to[0]->mailbox) . "@" . $to[0]->host; 143 if(!$return[$i]['to']['name']) 144 $return[$i]['to']['name'] = $return[$i]['to']['email']; 145 $return[$i]['subject'] = $this->decode_string($header->fetchsubject); 146 147 $return[$i]['Size'] = $header->Size; 148 149 $return[$i]['attachment'] = array(); 150 $return[$i]['attachment'] = $imap_attachment->get_attachment_headerinfo($this->mbox, $msg_number); 151 $i++; 152 } 153 } 154 $return['num_msgs'] = $num_msgs; 155 156 return $return; 170 157 } 171 158 … … 310 297 } 311 298 312 /**313 *314 * @return315 * @param $params Object316 */317 function get_info_msgs($params) {318 include_once("class.exporteml.inc.php");319 $return = array();320 $new_params = array();321 $attach_params = array();322 $new_params["msg_folder"]=$params["folder"];323 $attach_params["folder"] = $params["folder"];324 $msgs = explode(",",$params["msgs_number"]);325 $exporteml = new ExportEml();326 foreach($msgs as $msg_number) {327 $new_params["msg_number"] = $msg_number;328 //ini_set("display_errors","1");329 $msg_info = $this->get_info_msg($new_params);330 331 $this->mbox = $this->open_mbox($params['folder']); //Não sei porque, mas se não abrir de novo a caixa dá erro.332 $msg_info['header'] = $this->get_info_head_msg($msg_number);333 334 $attach_params["num_msg"] = $msg_number;335 $msg_info['array_attach'] = $exporteml->get_attachments_in_array($attach_params);336 $msg_info['url_export_file'] = $exporteml->export_to_archive($msg_number,$params["folder"]);337 imap_close($this->mbox);338 $this->mbox=false;339 340 341 array_push($return,serialize($msg_info));342 343 }344 345 return $return;346 }347 348 299 function get_info_msg($params) 349 300 { … … 366 317 //Substituição de links em email para abrir no próprio expresso 367 318 $body = ereg_replace("<a[^>]*href=[\'\"]mailto:([^\"\']+)[\'\"]>([^<]+)</a>","<a href=\"javascript:new_message_to('\\1')\">\\2</a>",$return_get_body['body']); 368 319 369 320 $return['body'] = $body; 370 321 $return['attachments'] = $return_get_body['attachments']; … … 599 550 $return['Size'] = $header->Size; 600 551 $return['reply_toaddress'] = $header->reply_toaddress; 601 602 //All this is to help in local messages603 $return['timestamp'] = $header->udate;604 $return['login'] = $_SESSION['phpgw_info']['expressomail']['user']['account_id'];//$GLOBALS['phpgw_info']['user']['account_id'];605 $return['reply_toaddress'] = $header->reply_toaddress;606 607 552 return $return; 608 553 } … … 1072 1017 function refresh($params) 1073 1018 { 1074 include _once("class.imap_attachment.inc.php");1019 include("class.imap_attachment.inc.php"); 1075 1020 $imap_attachment = new imap_attachment(); 1076 1021 $folder = $params['folder']; … … 1152 1097 imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)) 1153 1098 ,$importance); 1154 $return[$i]['Importance'] = $flag==0?" Normal":$importance[1];1099 $return[$i]['Importance'] = $flag==0?"":$importance[1]; 1155 1100 1156 1101 $header = $this->get_header($msg_number); … … 1403 1348 $attachments = $params['FILES']; 1404 1349 $forwarding_attachments = $params['forwarding_attachments']; 1405 $local_attachments = $params['local_attachments'];1406 1350 1407 1351 $folder =$params['folder']; … … 1487 1431 //////////////////////////////////////////////////////////////////////////////////////////////////// 1488 1432 // Build Uploading Attachments!!! 1489 if ( (count($attachments)) && ($params['is_local_forward']!="1")) //Caso seja forward normal...1433 if (count($attachments)) 1490 1434 { 1491 1435 $total_uploaded_size = 0; … … 1499 1443 return $this->parse_error("message file too big"); 1500 1444 } 1501 else if(($params['is_local_forward']=="1") && (count($local_attachments))) { //Caso seja forward de mensagens locais1502 1503 $total_uploaded_size = 0;1504 $upload_max_filesize = str_replace("M","",ini_get('upload_max_filesize')) * 1024 * 1024;1505 foreach($local_attachments as $local_attachment) {1506 $file_description = unserialize(rawurldecode($local_attachment));1507 $tmp = array_values($file_description);1508 foreach($file_description as $i => $descriptor){1509 $tmp[$i] = eregi_replace('\'*\'','',$descriptor);1510 }1511 $mail->AddAttachment($_FILES[$tmp[1]]['tmp_name'], $tmp[2], "base64", $this->get_file_type($tmp[2])); // optional name1512 $total_uploaded_size = $total_uploaded_size + $_FILES[$tmp[1]]['size'];1513 }1514 if( $total_uploaded_size > $upload_max_filesize)1515 return 'false';1516 }1517 1445 //////////////////////////////////////////////////////////////////////////////////////////////////// 1518 1446 // Build Forwarding Attachments!!! … … 1675 1603 continue; 1676 1604 } 1677 1678 1605 1679 1606 if($sort_box_type=='SORTFROM') { 1680 1607 if (($header->from[0]->mailbox . "@" . $header->from[0]->host) == $_SESSION['phpgw_info']['expressomail']['user']['email']) … … 1716 1643 } 1717 1644 1718 /**1719 * Deprecated1720 *1721 * Replaced for the method messages_sort1722 */1723 function imap_sortfrom($sort_box_reverse, $search_box_type)1724 {1725 $sortfrom = array();1726 $sortfrom_uid = array();1727 1728 $num_msgs = imap_num_msg($this->mbox);1729 for ($i=1; $i<=$num_msgs; $i++)1730 {1731 $header = $this->get_header(imap_uid($this->mbox,$i));1732 // List UNSEEN messages.1733 if($search_box_type == "UNSEEN" && (!trim($header->Recent) && !trim($header->Unseen))){1734 continue;1735 }1736 // List SEEN messages.1737 elseif($search_box_type == "SEEN" && (trim($header->Recent) || trim($header->Unseen))){1738 continue;1739 }1740 // List ANSWERED messages.1741 elseif($search_box_type == "ANSWERED" && !trim($header->Answered)){1742 continue;1743 }1744 // List FLAGGED messages.1745 elseif($search_box_type == "FLAGGED" && !trim($header->Flagged)){1746 continue;1747 }1748 1749 if (($header->from[0]->mailbox . "@" . $header->from[0]->host) == $_SESSION['phpgw_info']['expressomail']['user']['email'])1750 $from = $header->to;1751 else1752 $from = $header->from;1753 1754 $tmp = imap_mime_header_decode($from[0]->personal);1755 1756 if ($tmp[0]->text != "")1757 $sortfrom[$i] = $tmp[0]->text;1758 else1759 $sortfrom[$i] = $from[0]->mailbox . "@" . $from[0]->host;1760 }1761 1762 natcasesort($sortfrom);1763 1764 foreach($sortfrom as $index => $header_msg)1765 {1766 $sortfrom_uid[] = imap_uid($this->mbox, $index);1767 }1768 1769 if ($sort_box_reverse)1770 $sortfrom_uid = array_reverse($sortfrom_uid);1771 1772 return $sortfrom_uid;1773 }1774 1775 1645 function move_search_messages($params){ 1776 1646 $params['selected_messages'] = urldecode($params['selected_messages']); … … 2083 1953 if($mbox_stream) 2084 1954 imap_close($mbox_stream); 2085 1955 if (is_array($return_files)) 2086 1956 foreach ($return_files as $index => $_attachment) { 2087 1957 if (array_key_exists("name",$_attachment)){ … … 2097 1967 2098 1968 $return['files'] = serialize($return_files); 1969 $return["subject"] = $subject; 2099 1970 2100 1971 if (!$return['append']) … … 2136 2007 imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)) 2137 2008 ,$importance); 2138 if(strtolower($importance[1])=="high" ) {2009 if(strtolower($importance[1])=="high" && $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_important_flag']) { 2139 2010 $flag_importance=true; 2140 2011 } … … 2152 2023 } 2153 2024 2154 if($flag_importance ) {2025 if($flag_importance && $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_important_flag']) { 2155 2026 $return["status"] = false; 2156 2027 $return["msg"] = $this->functions->getLang("At least one of selected message cant be marked as normal"); … … 2441 2312 function search($params) 2442 2313 { 2443 include _once("class.imap_attachment.inc.php");2314 include("class.imap_attachment.inc.php"); 2444 2315 $imap_attachment = new imap_attachment(); 2445 2316 $criteria = $params['criteria']; … … 2561 2432 $retorno = ""; 2562 2433 $mbox_stream = ""; 2563 if(strpos($params['condition'],"#")===false) { //local messages 2564 $search=false; 2565 } 2566 else { 2567 $search = explode(",",$params['condition']); 2568 } 2569 2434 $search = explode(",",$params['condition']); 2570 2435 if($search){ 2571 2436 $search_criteria = ''; 2572 foreach($search as $tmp){ 2437 foreach($search as $tmp) 2438 { 2573 2439 $tmp1 = explode("##",$tmp); 2574 2440 $name_box = $tmp1[0]; … … 2827 2693 $array_parts_attachments = array(); 2828 2694 $array_parts_attachments['names'] = ''; 2829 include _once("class.imap_attachment.inc.php");2695 include("class.imap_attachment.inc.php"); 2830 2696 $imap_attachment = new imap_attachment(); 2831 2697 … … 2894 2760 $header->udate += $pdate['zone']*(-60); 2895 2761 2896 if($header->Flagged !="F") {2762 if($header->Flagged != "F" && $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_important_flag']) { 2897 2763 $flag = preg_match('/importance *: *(.*)\r/i', 2898 2764 imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)) -
trunk/expressoMail1_2/index.php
r670 r673 58 58 } 59 59 60 61 //Local messages62 $_SESSION['phpgw_info']['server']['expressomail']['enable_local_messages'] = $current_config['enable_local_messages'];63 64 60 // Get Data from ldap_manager and emailadmin. 65 61 $ldap_manager = CreateObject('contactcenter.bo_ldap_manager'); … … 77 73 $_SESSION['phpgw_info']['expressomail']['user']['email'] = $GLOBALS['phpgw']->preferences->values['email']; 78 74 79 if($current_config['enable_local_messages']!='True') { 80 $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'] = 0; 81 } 82 75 83 76 $_SESSION['phpgw_info']['user']['preferences']['expressoMail'] = array( 84 77 'voip_enabled' => $voip_enabled, … … 95 88 'type_signature' => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['type_signature'], 96 89 'use_signature' => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_signature'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_signature'] : "0", 97 90 'hide_folders' => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['hide_folders'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['hide_folders'] : "0", 98 91 'save_in_folder' => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['save_in_folder'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['save_in_folder'] : "-1", 99 92 'line_height' => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['line_height'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['line_height'] : "30", … … 101 94 'use_shortcuts' => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_shortcuts'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_shortcuts'] : "0", 102 95 'auto_save_draft' => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['auto_save_draft'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['auto_save_draft'] : "0", 103 'use_dynamic_contacts' => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_dynamic_contacts'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_dynamic_contacts'] : "0", 104 'number_of_contacts' => $current_config['expressoMail_Number_of_dynamic_contacts'] ? $current_config['expressoMail_Number_of_dynamic_contacts'] : "0", 105 'use_cache' => $current_config['expressoMail_enable_cache'], 106 'notification_domains' => $current_config['expressoMail_notification_domains'], 107 'use_local_messages' => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'] : "0", 108 'keep_archived_messages' => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['keep_archived_messages'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['keep_archived_messages'] : "0" 96 'use_dynamic_contacts' => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_dynamic_contacts'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_dynamic_contacts'] : "0", 97 'number_of_contacts' => $current_config['expressoMail_Number_of_dynamic_contacts'] ? $current_config['expressoMail_Number_of_dynamic_contacts'] : "0", 98 'use_cache' => $current_config['expressoMail_enable_cache'], 99 'notification_domains' => $current_config['expressoMail_notification_domains'], 100 'remove_attachments_function' => $current_config['expressoMail_remove_attachments_function'], 101 'use_important_flag' => $current_config['expressoMail_enable_important_flag'] 102 103 109 104 110 105 ); … … 167 162 168 163 // End Set Imap Folder names options 169 //User info170 echo "<script language='javascript'> var account_id = ".$GLOBALS['phpgw_info']['user']['account_id'].";</script>";171 164 172 165 $obj = createobject("expressoMail1_2.functions"); … … 181 174 "js/InfoContact.js," . 182 175 "js/main.js," . 183 "js/gears_init.js," .184 "js/local_messages.js," .185 "js/messages_proxy.js," .186 176 "js/rich_text_editor.js," . 187 177 "js/wfolders.js,", -
trunk/expressoMail1_2/js/TreeS.js
r670 r673 36 36 div_buttons.innerHTML = "<table border='0' cellpading='0' cellspacing='0'>"+ 37 37 "<tr>"+ 38 "<td><input type='button' style='padding:0 .25em 0 .25em;width:auto;overflow:visible;' value='"+get_lang('New folder')+"' onclick='proxy_mensagens.proxy_create_folder()'></td>"+38 "<td><input type='button' value='"+get_lang('New folder')+"' onclick='ttreeBox.validate(\"newpast\")'></td>"+ 39 39 "</tr>"+ 40 40 "<tr>"+ 41 "<td><input type='button' style='padding:0 .25em 0 .25em;width:auto;overflow:visible;' value='"+get_lang('Delete folder')+"' onclick='proxy_mensagens.proxy_remove_folder()'></td>"+41 "<td><input type='button' value='"+get_lang('Delete folder')+"' onclick='ttreeBox.del()'></td>"+ 42 42 "</tr>"+ 43 43 "<tr>"+ 44 "<td><input type='button' style='padding:0 .25em 0 .25em;width:auto;overflow:visible;' value='"+get_lang('Rename folder')+"' onclick='proxy_mensagens.proxy_rename_folder()'></td>"+44 "<td><input type='button' value='"+get_lang('Rename folder')+"' onclick='ttreeBox.validate(\"rename\")'></td>"+ 45 45 "</tr>"+ 46 46 "<tr>"+ 47 "<td><input type='button' style='padding:0 .25em 0 .25em;width:auto;overflow:visible;'value='"+get_lang('Export messages')+"' onclick='ttreeBox.export_all_msg()'></td>"+47 "<td><input type='button' value='"+get_lang('Export messages')+"' onclick='ttreeBox.export_all_msg()'></td>"+ 48 48 "</tr>"+ 49 49 "<tr><td><br><br><br><br><br></td></tr>"+ 50 "<tr><td><input type='button' style='padding:0 .25em 0 .25em;width:auto;overflow:visible;'value='"+get_lang('Close')+"' onclick='ttree.close_win()'></td></tr>"+50 "<tr><td><input type='button' value='"+get_lang('Close')+"' onclick='ttree.close_win()'></td></tr>"+ 51 51 "</table>"; 52 52 tree.appendChild(div_buttons); … … 161 161 folders_tree.add(nn,data[i].folder_parent); 162 162 } 163 //Pastas locais 164 if (preferences.use_local_messages == 1) { 165 var n_root_local = new dNode({ 166 id: 'local_root', 167 caption: get_lang("local messages"), 168 plusSign: true 169 }); 170 folders_tree.add(n_root_local, 'root'); 171 172 var local_folders = expresso_local_messages.list_local_folders(); 173 for (var i in local_folders) { //Coloca as pastas locais. 174 if (local_folders[i][1] > 0) 175 var nodeLocal = new dNode({ 176 id: "local_" + local_folders[i][0], 177 caption: lang_folder(local_folders[i][0]) + '<font style=color:red> (</font><span id="local_unseen" style=color:red>' + local_folders[i][1] + '</span><font style=color:red>)</font>', 178 plusSign: 0 179 }); 180 else 181 var nodeLocal = new dNode({ 182 id: "local_" + local_folders[i][0], 183 caption: lang_folder(local_folders[i][0]), 184 plusSign: 0 185 }); 186 folders_tree.add(nodeLocal, "local_root"); 187 } 188 } 163 189 164 folders_tree.draw(Element(destination)); 190 165 n_root.changeState(); -
trunk/expressoMail1_2/js/TreeShow.js
r670 r673 98 98 if(func == "newpast"){ 99 99 var button = prompt(get_lang('Enter the name of the new folder:'),""); 100 101 if (button.indexOf("local_") != -1 || button.toUpperCase() == "INBOX") {102 alert(get_lang("cannot create folder. try other folder name"));103 return false; //Não posso criar pastas contendo a string local_104 }105 106 100 if(trim(button) == "" || trim(button) == null){ 107 101 return false; … … 120 114 } 121 115 var button1 = prompt(get_lang("Enter a name for the box"), ""); 122 if (button1.indexOf("local_") != -1 || button1.toUpperCase() == "INBOX") {123 alert(get_lang("cannot create folder. try other folder name"));124 return false; //Não posso criar pastas contendo a string local_125 }126 116 if(trim(button1) == "" || trim(button1) == null){ 127 117 return false; -
trunk/expressoMail1_2/js/common_functions.js
r670 r673 178 178 } 179 179 180 function download_local_attachment(url) { 180 function download_attachments(msg_folder, msg_number, idx_file, msg_part, encoding, new_file_name, show_iframe){ 181 div_attachment = document.getElementById("id_div_attachment"); 182 var params = ''; 183 181 184 if (div_attachment == null){ 182 185 var div_attachment = document.createElement("DIV"); … … 184 187 document.body.appendChild(div_attachment); 185 188 } 186 div_attachment.innerHTML="<iframe style='display:none;width:0;height:0' name='attachment' src='"+url+"'></iframe>";187 }188 189 function download_attachments(msg_folder, msg_number, idx_file, msg_part, encoding, new_file_name, show_iframe){190 div_attachment = document.getElementById("id_div_attachment");191 var params = '';192 193 if (div_attachment == null){194 var div_attachment = document.createElement("DIV");195 div_attachment.id="id_div_attachment";196 document.body.appendChild(div_attachment);197 }198 189 if(new_file_name) 199 190 params = "&newfilename="+new_file_name; … … 210 201 cExecute("$this.exporteml.download_all_attachments",handler_source,"folder="+msg_folder+"&num_msg="+msg_number); 211 202 } 212 //ADD forwarded files213 function addForwardedFile(id_border,file_name,link){214 divFiles = document.getElementById("divFiles_"+id_border);215 216 if (! divFiles)217 return false;218 219 if (divFiles.lastChild)220 var countDivFiles = parseInt(divFiles.lastChild.id.split('_')[2]) + 1;221 222 if (! countDivFiles)223 var countDivFiles = 1;224 225 divFile = document.createElement('DIV');226 227 228 if (!is_ie) {229 var inputFile = document.createElement("INPUT");230 231 var tmp_id_border = document.createAttribute('id_border');232 tmp_id_border.value = id_border;233 234 inputFile.setAttributeNode(tmp_id_border);235 inputFile.id = "inputFile_" + id_border + "_" + countDivFiles;236 inputFile.type = 'file';237 inputFile.size = 50;238 inputFile.maxLength = 255;239 inputFile.name = 'file_' + countDivFiles;240 inputFile.style.display = "none";241 divFile.appendChild(inputFile);242 }243 else {244 var inputFile = document.createElement("link");245 246 var tmp_id_border = document.createAttribute('id_border');247 tmp_id_border.value = id_border;248 249 inputFile.setAttributeNode(tmp_id_border);250 inputFile.id = "inputFile_" + id_border + "_" + countDivFiles;251 inputFile.name = 'file_' + countDivFiles;252 253 254 divFile.appendChild(inputFile);255 }256 257 var a_tmp = new Array();258 a_tmp[0] = "local_";259 a_tmp[1] = 'file_' + countDivFiles;260 a_tmp[2] = file_name;261 s_tmp = escape(connector.serialize(a_tmp));262 var checkbox = document.createElement("INPUT");263 checkbox.type = "checkbox";264 checkbox.id = "checkbox_"+id_border+"_"+countDivFiles;265 checkbox.name = "local_attachments[]";266 267 checkbox.value = s_tmp;268 divFile.appendChild(checkbox);269 270 var link_attachment = document.createElement("A");271 link_attachment.setAttribute("href", link);272 273 link_attachment.innerHTML = file_name;274 divFile.appendChild(link_attachment);275 276 countDivFiles++;277 divFile.id = "divFile_"+id_border+"_"+countDivFiles;278 divFiles.appendChild(divFile);279 280 divFile.id = "divFile_"+id_border+"_"+countDivFiles;281 divFiles.appendChild(divFile);282 checkbox.checked = true; //IncrÃvel, mas no Internet Explorer o checked só funciona efetivamente se o elemente já estiver renderizado... por isso só aqui eu seleciono ele...283 return inputFile;284 }285 286 203 // Add Input File Dynamically. 287 204 function addFile(id_border){ … … 322 239 divFile.id = "divFile_"+id_border+"_"+countDivFiles; 323 240 divFiles.appendChild(divFile); 324 325 return inputFile;326 241 } 327 242 // Remove Input File Dynamically. … … 762 677 763 678 function lang_folder(fn) { 764 if (fn .toUpperCase() == "INBOX") return get_lang("Inbox");679 if (fn == "Inbox") return get_lang("Inbox"); 765 680 if (special_folders[fn] && typeof(special_folders[fn]) == 'string') { 766 681 return get_lang(special_folders[fn]); 767 } 682 } 768 683 return fn; 769 684 } -
trunk/expressoMail1_2/js/doiMenuData.js
r670 r673 152 152 var _sep = "<hr>"; 153 153 var optionsMenu = new Array( 154 _tab + get_lang("Mark as")+" "+get_lang('seen')+'|'+" proxy_mensagens.proxy_set_messages_flag('seen','get_selected_messages')",155 _tab + get_lang("Mark as")+" "+get_lang('unseen')+'|'+" proxy_mensagens.proxy_set_messages_flag('unseen','get_selected_messages')",156 _tab + get_lang("Mark as")+" "+get_lang('important')+'|'+" proxy_mensagens.proxy_set_messages_flag('flagged','get_selected_messages')",157 _tab + get_lang("Mark as")+" "+get_lang('normal')+'|'+" proxy_mensagens.proxy_set_messages_flag('unflagged','get_selected_messages')",154 _tab + get_lang("Mark as")+" "+get_lang('seen')+'|'+"set_messages_flag('seen','get_selected_messages')", 155 _tab + get_lang("Mark as")+" "+get_lang('unseen')+'|'+"set_messages_flag('unseen','get_selected_messages')", 156 _tab + get_lang("Mark as")+" "+get_lang('important')+'|'+"set_messages_flag('flagged','get_selected_messages')", 157 _tab + get_lang("Mark as")+" "+get_lang('normal')+'|'+"set_messages_flag('unflagged','get_selected_messages')", 158 158 _sep, 159 159 _tab + get_lang("Move to")+" ... |wfolders.makeWindow('', 'move_to')", 160 _tab + get_lang("Delete")+"|"+" proxy_mensagens.delete_msgs('null','selected','null')",160 _tab + get_lang("Delete")+"|"+"delete_msgs('null','selected','null')", 161 161 _tab + get_lang("Export")+"|"+"export_all_selected_msgs()" 162 162 ); -
trunk/expressoMail1_2/js/drag_area.js
r670 r673 216 216 if(new_folder_name == 'INBOX') 217 217 new_folder_name = get_lang("Inbox"); 218 if (_dragArea.from_list) { 219 if (numBox != 0) 218 219 if(_dragArea.from_list) 220 if (numBox != 0) 220 221 move_search_msgs("content_id_search_" + numBox, new_folder, new_folder_name); 221 else 222 proxy_mensagens.proxy_move_messages("null", 'selected', 0, new_folder, new_folder_name);223 }224 else 225 var msg_number = _dragArea.from_list ? _dragArea.msg_number : _dragArea.msg_number.replace('_r', 226 proxy_mensagens.proxy_move_messages("null", msg_number, msg_number +"_r", new_folder, new_folder_name);222 else 223 move_msgs(_dragArea.folder, 'selected', 0, new_folder, new_folder_name); 224 225 else{ 226 var msg_number = _dragArea.from_list ? _dragArea.msg_number : _dragArea.msg_number.replace('_r',''); 227 move_msgs(_dragArea.folder, msg_number, msg_number+"_r", new_folder, new_folder_name); 227 228 } 228 229 } -
trunk/expressoMail1_2/js/draw_api.js
r670 r673 53 53 } 54 54 } 55 cExecute ("$this.imap_functions.get_folders_list&folder="+current_folder, update_tree_folders); 56 57 58 /** 59 * Pastas locais 60 */ 61 if(preferences.use_local_messages==1) { 62 var local_folders = expresso_local_messages.list_local_folders(); 63 var has_changes = false; 64 for (var i in local_folders) { //Coloca as pastas locais. 65 var folder_unseen = Element('dftree_local_'+local_folders[i][0]+'_unseen'); 66 67 if ((folder_unseen) && (local_folders[i][1] > 0)) 68 { 69 folder_unseen.innerHTML = local_folders[i][1]; 70 has_changes = true; 71 } 72 else if (local_folders[i][1] > 0) 73 { 74 tree_folders.getNodeById("local_"+local_folders[i][0]).alter({caption:lang_folder(local_folders[i][0]) + '<font style=color:red> (</font><span id="dftree_local_'+local_folders[i][0]+'_unseen" style=color:red>'+local_folders[i][1]+'</span><font style=color:red>)</font>'}); 75 tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); 76 has_changes = true; 77 } 78 else if (local_folders[i][1] <= 0) 79 { 80 tree_folders.getNodeById("local_"+local_folders[i][0]).alter({caption:lang_folder(local_folders[i][0])}); 81 tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); 82 has_changes = true; 83 } 84 85 if("local_"+local_folders[i][0] == get_current_folder()){ 86 var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 87 if(!isNaN(old_new_m) && old_new_m < local_folders[i][1]){ 88 Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(local_folders[i][1])-old_new_m); 89 } 90 Element('new_m').innerHTML = local_folders[i][1] ? '<font color="RED">'+local_folders[i][1]+'</font>' : 0; 91 draw_paging(Element('tot_m').innerHTML); 92 has_changes = true; 93 } 94 } 95 if(has_changes) 96 tree_folders.getNodeById("local_root").open(); 97 98 } 99 55 cExecute ("$this.imap_functions.get_folders_list", update_tree_folders); 100 56 return; 101 57 } … … 127 83 tree_folders.add(nn,folders[i].folder_parent); 128 84 } 129 //tree_local_folders = new dFTree({name: 'tree_local_folders'});130 /**131 * Pastas locais132 */133 if (preferences.use_local_messages==1) {134 if (!window.google || !google.gears) {135 temp = confirm(get_lang("To use local messages you have to install google gears. Would you like to be redirected to gears installation page?"));136 if (temp) {137 location.href = "http://gears.google.com/?action=install&message="+138 get_lang("To use local messages, install Google Gears")+"&return=" + document.location.href;139 }140 else {141 preferences.use_local_messages=0;142 }143 }144 else{145 var root_local = new dNode({146 id: "local_root",147 caption: get_lang('local messages')148 });149 tree_folders.add(root_local, "root"); //coloca root local150 var local_folders = expresso_local_messages.list_local_folders();151 for (var i in local_folders) { //Coloca as pastas locais.152 if (local_folders[i][1] > 0)153 var nodeLocal = new dNode({154 id: "local_" + local_folders[i][0],155 caption: lang_folder(local_folders[i][0]) + '<font style=color:red> (</font><span id="local_unseen" style=color:red>' + local_folders[i][1] + '</span><font style=color:red>)</font>',156 onClick: "change_folder('local_" + local_folders[i][0] + "','" + local_folders[i][0] + "')",157 plusSign: 0158 });159 else160 var nodeLocal = new dNode({161 id: "local_" + local_folders[i][0],162 caption: lang_folder(local_folders[i][0]),163 onClick: "change_folder('local_" + local_folders[i][0] + "','" + local_folders[i][0] + "')",164 plusSign: 0165 });166 tree_folders.add(nodeLocal, "local_root");167 }168 }169 }170 171 172 173 85 tree_folders.draw(Element('content_folders')); 174 86 n_root.changeState(); … … 271 183 return true; 272 184 } 273 proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort_box_type,search_box_type,sort_box_reverse,handler_draw_box); 274 // cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); 275 } 276 else 185 cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); 186 } else 277 187 alternate_border(0); 278 188 } … … 336 246 if(current_page != 1) { 337 247 lnk_page = document.createElement("A"); 338 lnk_page.setAttribute("href", "javascript:current_page=1;kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+",function handler(data){draw_box(data, get_current_folder());});");248 lnk_page.setAttribute("href", "javascript:current_page=1;kill_current_box(); draw_paging("+num_msgs+"); cExecute ('$this.imap_functions.get_range_msgs2&folder='+get_current_folder()+'&msg_range_begin="+msg_range_begin+"&msg_range_end="+msg_range_end+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"', function handler(data){draw_box(data, get_current_folder());})"); 339 249 } 340 250 else { … … 375 285 msg_range_begin = ((i*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); 376 286 msg_range_end = (i*preferences.max_email_per_page); 377 lnk_page.setAttribute("href", "javascript:current_page="+i+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+",function handler(data){draw_box(data, get_current_folder());});");287 lnk_page.setAttribute("href", "javascript:current_page="+i+";kill_current_box(); draw_paging("+num_msgs+"); cExecute ('$this.imap_functions.get_range_msgs2&folder='+get_current_folder()+'&msg_range_begin="+msg_range_begin+"&msg_range_end="+msg_range_end+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"', function handler(data){draw_box(data, get_current_folder());})"); 378 288 } 379 289 … … 392 302 msg_range_begin = ((total_pages*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); 393 303 msg_range_end = (total_pages*preferences.max_email_per_page); 394 lnk_page.setAttribute("href", "javascript:current_page="+total_pages+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+",function handler(data){draw_box(data, get_current_folder());});");304 lnk_page.setAttribute("href", "javascript:current_page="+total_pages+";kill_current_box(); draw_paging("+num_msgs+"); cExecute ('$this.imap_functions.get_range_msgs2&folder='+get_current_folder()+'&msg_range_begin="+msg_range_begin+"&msg_range_end="+msg_range_end+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"', function handler(data){draw_box(data, get_current_folder());})"); 395 305 } 396 306 else { … … 437 347 { 438 348 if ((window.event.keyCode) == 46) 439 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null');349 delete_msgs(get_current_folder(),'selected','null'); 440 350 } 441 351 else 442 352 { 443 353 if ((e.keyCode) == 46) 444 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null');354 delete_msgs(get_current_folder(),'selected','null'); 445 355 } 446 356 }; … … 506 416 { 507 417 //delete_all_selected_msgs_imap(); 508 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null');418 delete_msgs(get_current_folder(),'selected','null'); 509 419 } 510 420 } … … 514 424 { 515 425 //delete_all_selected_msgs_imap(); 516 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null');426 delete_msgs(get_current_folder(),'selected','null'); 517 427 } 518 428 } … … 619 529 } 620 530 } 531 function change_tr_properties(tr_element, newUid, newSubject){ 532 var td_who = document.getElementById('td_who_'+tr_element.id); 533 td_who.nextSibling.innerHTML = newSubject; 534 tr_element.id = newUid; 535 for (var i=2; i < 6; i++) 536 tr_element.childNodes[i].id = tr_element.childNodes[i].id.replace(message_id,newUid); 537 tr_element.onclick = function () { cExecute("$this.imap_functions.get_info_msg&msg_number="+newUid+"&msg_folder="+current_folder,show_msg); }; 538 } 621 539 622 540 function make_tr_message(headers_msgs, msg_folder){ … … 627 545 628 546 if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')){ 629 if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 ))547 if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 && preferences.use_important_flag == 'True')) 630 548 add_className(tr_element, 'flagged_msg'); 631 549 add_className(tr_element, 'tr_msg_unread'); 632 550 } 633 551 else{ 634 if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 ))552 if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 && preferences.use_important_flag == 'True')) 635 553 add_className(tr_element,'flagged_msg'); 636 554 add_className(tr_element, 'tr_msg_read'); … … 677 595 // preload image 678 596 var _img_important = new Image(); 679 _img_important.src = "templates/default/images/important.gif"; 680 681 if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1)) 597 _img_important.src = "templates/default/images/important.gif" 598 if (headers_msgs.Flagged == 'F' || (headers_msgs.Importance.toLowerCase().indexOf("high") != -1 && preferences.use_important_flag == 'True')){ 682 599 td_element22.innerHTML += "<img src ='templates/default/images/important.gif' title='"+get_lang('Important')+"'>"; 600 } 683 601 else 684 602 td_element22.innerHTML += " "; … … 696 614 td_element3.id = "td_who_"+ headers_msgs.msg_number; 697 615 td_element3.setAttribute("width", "30%"); 698 var _onclick = function(){InfoContact.hide(); proxy_mensagens.get_msg(headers_msgs.msg_number, msg_folder,true, show_msg);};616 var _onclick = function(){InfoContact.hide();cExecute("$this.imap_functions.get_info_msg&msg_number="+ headers_msgs.msg_number + "&msg_folder=" + msg_folder, show_msg);}; 699 617 td_element3.onclick = _onclick; 700 618 td_element3.innerHTML = ' '; … … 816 734 search_box_type = search; 817 735 818 proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort,search,sort_box_reverse,handler_draw_box); 819 // cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&search_box_type="+search+"&sort_box_type="+sort+"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); 736 cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+sort+"&search_box_type="+search+"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); 820 737 current_page = 1; 821 738 //Comentado para nao sobrepor o numero de msgs nao lidas ao utilizar os filtros … … 1043 960 option_delete.id = 'msg_opt_delete_'+ID; 1044 961 option_delete.className = 'message_options'; 1045 option_delete.onclick = function(){ proxy_mensagens.delete_msgs(info_msg.msg_folder, info_msg.msg_number, ID);};962 option_delete.onclick = function(){delete_msgs(info_msg.msg_folder, info_msg.msg_number, ID);}; 1046 963 option_delete.innerHTML = get_lang('Delete'); 1047 964 options.appendChild(space3); … … 1065 982 1066 983 var option_mark_as = '<span>'+get_lang("Mark as")+'</span>: '; 1067 var option_mark_as_unseen = '<span class="message_options" onclick=" proxy_mensagens.proxy_set_messages_flag(\'unseen\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Unseen")+'.\');">'+get_lang("Unseen")+'</span>, ';1068 var option_mark_as_important = '<span class="message_options" onclick=" proxy_mensagens.proxy_set_messages_flag(\'flagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Important")+'.\');">'+get_lang("Important")+'</span>, ';1069 var option_mark_as_normal = '<span class="message_options" onclick=" proxy_mensagens.proxy_set_messages_flag(\'unflagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Normal")+'.\');">'+get_lang("Normal")+'</span> | ';984 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>, '; 985 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>, '; 986 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> | '; 1070 987 1071 988 var option_move = '<span class="message_options" onclick=wfolders.makeWindow("'+ID+'","move_to");>'+get_lang("Move")+'</span> | '; … … 1073 990 var option_reply_without_history = '<span class="message_options" onclick=new_message("reply_without_history","'+ID+'");>'+get_lang("Reply without history")+'</span> | '; 1074 991 var option_reply_to_all_without_history = '<span class="message_options" onclick=new_message("reply_to_all_without_history","'+ID+'");>'+get_lang("Reply to all without history")+'</span> | '; 1075 var option_source_msg = '<span class="message_options" onclick= proxy_mensagens.proxy_source_msg("'+ID+'","'+url_encode(info_msg.msg_folder)+'");>'+get_lang("Message Font")+'</span>';992 var option_source_msg = '<span class="message_options" onclick=source_msg("'+ID+'","'+url_encode(info_msg.msg_folder)+'");>'+get_lang("Message Font")+'</span>'; 1076 993 1077 994 div_other_options.innerHTML = option_mark_as + option_mark_as_unseen + option_mark_as_important + option_mark_as_normal + option_move + option_reply_to_all + option_reply_without_history + option_reply_to_all_without_history + option_source_msg; … … 1102 1019 var option_edit = '<span class="message_options" onclick="new_message(\'edit\',\''+ID+'\');">'+get_lang('Edit')+'</span> | '; 1103 1020 var option_print = '<span class="message_options" onclick="print_msg(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Print')+'</span> | '; 1104 var option_delete = '<span class="message_options" onclick=" proxy_mensagens.delete_msgs(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Delete')+'</span> | ';1021 var option_delete = '<span class="message_options" onclick="delete_msgs(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Delete')+'</span> | '; 1105 1022 var option_hide_more = document.createElement("SPAN"); 1106 1023 option_hide_more.className = 'message_options'; … … 1188 1105 from_values.type = "HIDDEN"; 1189 1106 from_values.value = info_msg.from.full; //Veio do IMAP, sem images nem links. 1190 1191 var local_message = document.createElement("INPUT");1192 local_message.id = "is_local_"+ID;1193 local_message.name = "is_local";1194 local_message.type = "HIDDEN";1195 local_message.value = (info_msg.local_message)?"1":"0";1196 1197 1107 tr1.appendChild(td1); 1198 1108 tr1.appendChild(from); 1199 1109 tr1.appendChild(from_values); 1200 tr1.appendChild(local_message);1201 1202 1203 1204 1110 if (info_msg.reply_to){ 1205 1111 var tr11 = document.createElement("TR"); … … 1388 1294 var td6 = document.createElement("TD"); 1389 1295 td6.innerHTML = get_lang("Attachments: "); 1390 1296 1391 1297 var attachments = document.createElement("TD"); 1392 1298 td6.vAlign = "top"; 1393 1299 attachments.align='left'; 1394 1300 var zipped_attachments = ''; 1395 if(info_msg.attachments.length >= 1) {1396 var zipped_attachments 1301 if(info_msg.attachments.length >= 1) { 1302 var zipped_attachments = document.createElement("TABLE"); 1397 1303 zipped_attachments.style.marginBottom = "4px"; 1398 1304 zipped_attachments.cellPadding="0"; 1399 1305 zipped_attachments.cellSpacing="0"; 1306 var td = document.createElement("TD"); 1307 if(info_msg.attachments.length > 1) { 1308 var link_attachment = document.createElement("A"); 1309 link_attachment.setAttribute("href", "javascript:download_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); 1310 link_attachment.innerHTML = " "+info_msg.attachments.length+' '+get_lang('files')+' :: '+get_lang('Download all atachments'); 1311 link_attachment.innerHTML += '<BR>'; 1312 td.appendChild(link_attachment); 1313 } 1400 1314 var tr = document.createElement("TR"); 1401 var td = document.createElement("TD"); 1402 if(info_msg.attachments.length != 1) { 1403 var link_attachment = document.createElement("A"); 1404 link_attachment.setAttribute("href", "javascript:download_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); 1405 link_attachment.innerHTML = " "+info_msg.attachments.length+' '+get_lang('files')+' :: '+get_lang('Download all atachments'); 1406 link_attachment.innerHTML += '<BR>'; 1407 td.appendChild(link_attachment); 1408 } 1409 var del_attachments = document.createElement("A"); 1410 del_attachments.setAttribute("href", "javascript:remove_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); 1411 del_attachments.innerHTML = get_lang('remove all attachments'); 1412 1413 td.appendChild(del_attachments); 1315 if(preferences.remove_attachments_function) 1316 { 1317 var del_attachments = document.createElement("A"); 1318 del_attachments.setAttribute("href", "javascript:remove_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); 1319 del_attachments.innerHTML = get_lang('remove all attachments'); 1320 del_attachments.appendChild(document.createElement('BR')); 1321 td.appendChild(del_attachments); 1322 tr.appendChild(td); 1323 } 1414 1324 tr.appendChild(td); 1415 1325 zipped_attachments.appendChild(tr); 1416 }1417 if(zipped_attachments)1418 1326 attachments.appendChild(zipped_attachments); 1327 } 1419 1328 attachments.id = "attachments_" + ID; 1420 1329 for (var i=0; i<info_msg.attachments.length; i++){ 1421 1330 var link_attachment = document.createElement("A"); 1422 link_attachment.setAttribute("href", proxy_mensagens.link_anexo(info_msg,i)); 1423 // link_attachment.setAttribute("href", "javascript:download_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"',"+i+",'"+info_msg.attachments[i].pid+"','"+info_msg.attachments[i].encoding+"')"); 1331 link_attachment.setAttribute("href", "javascript:download_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"',"+i+",'"+info_msg.attachments[i].pid+"','"+info_msg.attachments[i].encoding+"')"); 1424 1332 link_attachment.innerHTML = url_decode(info_msg.attachments[i].name); 1425 1333 msg_size = info_msg.attachments[i].fsize; … … 1432 1340 if((url_decode(info_msg.attachments[i].name).indexOf(".ics")!=-1) || (url_decode(info_msg.attachments[i].name).indexOf(".vcard")!=-1)){ 1433 1341 //Link para importar calendário 1434 var link_import_attachment = document.createElement("A"); 1435 link_import_attachment.setAttribute("href","../index.php?menuaction=calendar.uiicalendar.import_from_mail&msg_folder="+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); 1436 link_import_attachment.innerHTML=get_lang("Import to calendar")+"<br>"; 1342 var link_import_attachment = new Image(); 1343 link_import_attachment.src = "templates/default/images/new.png"; 1344 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+"');"); 1345 link_import_attachment.title = get_lang("Import to calendar"); 1346 link_import_attachment.align = "top"; 1347 link_import_attachment.style.cursor = "pointer"; 1437 1348 var space = document.createElement("span"); 1438 space.innerHTML = " ";1349 space.innerHTML = " "; 1439 1350 attachments.appendChild(link_attachment); 1440 1351 attachments.appendChild(space); … … 1536 1447 ////////////////////////////////////////////////////////////////////////////////////////////////////// 1537 1448 } 1538 1539 1449 function draw_new_message(border_ID){ 1540 1450 var ID = create_border("",border_ID); … … 1676 1586 } 1677 1587 } 1678 1679 1588 td_to.appendChild(input_to); 1680 1681 var forwarded_local_message = document.createElement("INPUT"); //Hidden para indicar se é um forward de uma mensagem local1682 forwarded_local_message.id = "is_local_forward"+ID;1683 forwarded_local_message.name = "is_local_forward";1684 forwarded_local_message.type = "HIDDEN";1685 forwarded_local_message.value = "0";1686 td_to.appendChild(forwarded_local_message);1687 1589 1688 1590 var img_search = document.createElement("IMG"); … … 1931 1833 tr5.appendChild(td_return_receipt); 1932 1834 tbody_message.appendChild(tr5); 1933 ////////////////////////////////////////////////////////////////////////////////////////////////////// 1934 var trn = document.createElement("TR");1935 var tdn = document.createElement("TD");1936 tdn.innerHTML = " ";1937 var td_important_msg = document.createElement("TD");1938 td_important_msg.setAttribute("noWrap","true");1939 td_important_msg.innerHTML = get_lang("Important message")+":";1940 var input_important_message = document.createElement('input');1941 input_important_message.type = "checkbox";1942 input_important_message.className = "checkbox";1943 input_important_message.id = "important_message_"+ID;1944 input_important_message.name = "input_important_message";1945 input_important_message.setAttribute("tabIndex","-1");1946 td_important_msg.appendChild(input_important_message);1947 trn.appendChild(tdn);1948 trn.appendChild(td_important_msg);1949 tbody_message.appendChild(trn);1950 1951 ////////////////////////////////////////////////////////////////////////////////////////////////////// 1835 if (preferences.use_important_flag) 1836 { 1837 var trn = document.createElement("TR"); 1838 var tdn = document.createElement("TD"); 1839 tdn.innerHTML = " "; 1840 var td_important_msg = document.createElement("TD"); 1841 td_important_msg.setAttribute("noWrap","true"); 1842 td_important_msg.innerHTML = get_lang("Important message")+":"; 1843 var input_important_message = document.createElement('input'); 1844 input_important_message.type = "checkbox"; 1845 input_important_message.className = "checkbox"; 1846 input_important_message.id = "important_message_"+ID; 1847 input_important_message.name = "input_important_message"; 1848 input_important_message.setAttribute("tabIndex","-1"); 1849 td_important_msg.appendChild(input_important_message); 1850 trn.appendChild(tdn); 1851 trn.appendChild(td_important_msg); 1852 tbody_message.appendChild(trn); 1853 } 1952 1854 var add_files = document.createElement("A"); 1953 1855 add_files.setAttribute("href", "javascript:void(0)"); … … 2248 2150 { 2249 2151 //delete_all_selected_msgs_imap(); 2250 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null');2152 delete_msgs(get_current_folder(),'selected','null'); 2251 2153 } 2252 2154 } … … 2256 2158 { 2257 2159 //delete_all_selected_msgs_imap(); 2258 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null');2160 delete_msgs(get_current_folder(),'selected','null'); 2259 2161 } 2260 2162 } … … 2355 2257 { 2356 2258 //delete_all_selected_msgs_imap(); 2357 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null');2259 delete_msgs(get_current_folder(),'selected','null'); 2358 2260 } 2359 2261 } … … 2363 2265 { 2364 2266 //delete_all_selected_msgs_imap(); 2365 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null');2267 delete_msgs(get_current_folder(),'selected','null'); 2366 2268 } 2367 2269 } … … 2448 2350 } 2449 2351 function draw_footer_box(num_msgs){ 2450 folder = get_current_folder();2451 2352 var span_R = Element("table_message"); 2452 2353 var span_options = Element("span_options"); … … 2459 2360 2460 2361 span_options.innerHTML = 2461 '<span title="'+get_lang("Delete")+'" style="margin-left:8px" class="message_options" onclick= proxy_mensagens.delete_msgs(\'null\',\'selected\',\'null\')>'+get_lang("Delete")+'</span> | '+2362 '<span title="'+get_lang("Delete")+'" style="margin-left:8px" class="message_options" onclick=delete_msgs(\'null\',\'selected\',\'null\')>'+get_lang("Delete")+'</span> | '+ 2462 2363 '<span title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow(\"\",\"move_to\")>'+get_lang("Move")+'</span> | '+ 2463 2364 '<span title="'+get_lang("Print")+'" class="message_options" onclick=print_all()>'+get_lang("Print")+'</span> | '+ 2464 2365 '<span title="'+get_lang("Export")+'" class="message_options" onclick="export_all_selected_msgs()">'+get_lang("Export")+'</span> | ' + 2465 2366 '<span title="'+get_lang("Import")+'" class="message_options" onclick="import_window()">'+get_lang("Import")+'</span>'; 2466 if(preferences.use_local_messages==1) 2467 span_options.innerHTML += ' | <span title="'+get_lang("Archive")+'" class="message_options" onclick="archive_msgs(\''+folder+'\',null)">'+get_lang("Archive")+'</span>'; 2367 2468 2368 if (use_spam_filter) { 2469 2369 if ( get_current_folder() == 'INBOX'+cyrus_delimiter+'Spam' ) { -
trunk/expressoMail1_2/js/filter.js
r670 r673 128 128 } 129 129 } 130 for(var i=0; i < nm_folders.length; i++){ 131 if(nm_folders[i].id != "root" && !proxy_mensagens.is_local_folder(nm_folders[i].id)){ 130 for(var i=0; i < nm_folders.length; i++) 131 { 132 if(nm_folders[i].id != "root") 133 { 132 134 var opt = new Option(nm_folders[i].caption,nm_folders[i].id,false,true); 133 135 sel_nm[sel_nm.length] = opt; -
trunk/expressoMail1_2/js/main.js
r670 r673 40 40 cExecute ("$this.functions.get_preferences", save_preferences); 41 41 setTimeout('auto_refresh()', time_refresh); 42 }43 function disable_field(field,condition) {44 var comando = "if ("+condition+") { document.getElementById('"+field.id+"').disabled=true;} else { document.getElementById('"+field.id+"').disabled=false; }";45 eval(comando);46 42 } 47 43 /* … … 240 236 } 241 237 242 function delete_msgs2(folder, msgs_number, border_ID, show_success_msg) { 238 function delete_msgs(folder, msgs_number, border_ID) 239 { 243 240 if (folder == 'null') 244 241 folder = get_current_folder(); 245 242 246 243 if ((parseInt(preferences.save_deleted_msg)) && (folder!='INBOX'+cyrus_delimiter+trashfolder)){ 247 move_msgs 2(folder, msgs_number, border_ID, 'INBOX'+cyrus_delimiter+trashfolder,trashfolder,show_success_msg);244 move_msgs(folder, msgs_number, border_ID, 'INBOX'+cyrus_delimiter+trashfolder,trashfolder ); 248 245 return; 249 246 } … … 274 271 } 275 272 } 276 if (show_success_msg) { 277 if (data.msgs_number.length == 1) 278 write_msg(get_lang("The message was deleted.")); 279 else 280 write_msg(get_lang("The messages were deleted.")); 281 } 273 if (data.msgs_number.length == 1) 274 write_msg(get_lang("The message was deleted.")); 275 else 276 write_msg(get_lang("The messages were deleted.")); 282 277 283 278 if (data.border_ID != 'null'){ … … 298 293 write_msg(get_lang('No selected message.')); 299 294 } 300 function delete_msgs(folder, msgs_number, border_ID)301 {302 delete_msgs2(folder, msgs_number, border_ID, true);303 }304 305 295 306 296 function move_search_msgs(border_id, new_folder, new_folder_name){ 307 297 var selected_messages = ''; 308 var temp_msg;309 298 var main_list = Element("tbody_resultsearch_"+border_id.substr(18)).childNodes; 310 299 for (j = 0; j < main_list.length; j++) { 311 300 var check_box = main_list[j].firstChild.firstChild; 312 301 if(check_box && check_box.checked) { 313 if (proxy_mensagens.is_local_folder(main_list[j].name)) {314 alert(get_lang("You cant manipulate local messages on search"));315 return;316 }317 302 selected_messages += main_list[j].id + ','; 318 303 } 319 304 } 320 321 305 selected_messages = selected_messages.substring(0,(selected_messages.length-1)); 322 306 var handler_move_search_msgs = function(data){ … … 350 334 for (i = 0; i < selected_msg_array.length; i++){ 351 335 var tr = Element(selected_msg_array[i]); 352 selected_param += ','+tr.name+';'+tr.id;336 selected_param += ','+tr.name+';'+tr.id; 353 337 } 354 338 } … … 356 340 { 357 341 var tr=Element(selected_messages); 358 alert(tr.name);359 342 selected_param=tr.name+';'+tr.id; 360 343 } … … 365 348 params = "&delete=true"; 366 349 } 350 367 351 params += "&selected_messages="+url_encode(selected_param); 368 352 if(new_folder) { … … 370 354 params += "&new_folder_name="+url_encode(new_folder_name); 371 355 } 372 373 356 cExecute ("$this.imap_functions.move_search_messages", handler_move_search_msgs, params); 374 357 } … … 377 360 } 378 361 379 function move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,show_success_msg){ 380 362 function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name){ 381 363 if (! folder || folder == 'null') 382 364 folder = Element("input_folder_"+msgs_number+"_r") ? Element("input_folder_"+msgs_number+"_r").value : get_current_folder(); … … 442 424 } 443 425 444 if (show_success_msg) { 445 if (data.msgs_number.length == 1) 446 write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 447 else 448 write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 449 } 450 426 427 if (data.msgs_number.length == 1) 428 write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 429 else 430 write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 451 431 if (data.border_ID.indexOf('r') != -1){ 452 432 if (parseInt(preferences.delete_and_show_previous_message) && folder == get_current_folder()){ … … 475 455 write_msg(get_lang('No selected message.')); 476 456 477 }478 479 function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name) {480 move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,true);481 }482 483 function archive_msgs(folder,folder_dest,id_msgs) {484 if(proxy_mensagens.is_local_folder(folder)) {485 write_msg(get_lang("You cant archive local mails"));486 return;487 }488 var has_local_messages_before = expresso_local_messages.has_local_mails(); //vejo se já tinha mensagens locais489 var handler_arquivar_mensagens = function(data) {490 var sucess = true;491 var temp;492 var msgs_to_remove = new Array();493 var update_tree;494 495 496 for (var i = 0; i < data.length; i++) {497 msg_info = connector.unserialize(data[i]);498 temp = expresso_local_messages.insert_mail(msg_info, msg_info['header'],msg_info['array_attach'],folder_dest );499 Element("check_box_message_" + msg_info.msg_number).checked = false;500 if(!temp)501 sucess = false;502 else503 msgs_to_remove.push(msg_info.msg_number);//As mensagens arquivadas devem ser removidas, caso o usuï¿œrio tenha isso configurado.504 }505 506 if (preferences.keep_archived_messages == 0) { //Remove as mensagens507 delete_msgs2(folder,msgs_to_remove,'null',false);508 }509 update_tree=(!has_local_messages_before) && expresso_local_messages.has_local_mails();510 511 Element('chk_box_select_all_messages').checked = false;512 if(update_tree)513 ttreeBox.update_folder();514 else515 update_menu();516 if(sucess)517 write_msg(get_lang("selected messages have been archived"));518 else519 write_msg(get_lang("at least, one of selected mails is already archived, expresso tried to archive the others, check them later"));520 521 }522 if(!id_msgs)523 id_msgs = get_selected_messages();524 if (parseInt(id_msgs) > 0 || id_msgs.length > 0)525 cExecute("$this.imap_functions.get_info_msgs&folder=" + folder + "&msgs_number=" + id_msgs , handler_arquivar_mensagens);526 else527 write_msg(get_lang('No selected message.'));528 529 457 } 530 458 … … 573 501 else 574 502 return selected_messages; 575 }576 577 function replaceAll(string, token, newtoken) {578 while (string.indexOf(token) != -1) {579 string = string.replace(token, newtoken);580 }581 return string;582 503 } 583 504 … … 799 720 break; 800 721 case "forward": 801 data.is_local_message = (document.getElementById("is_local_"+border_ID).value=="1")?true:false;802 722 msg_forward_from = document.createElement('input'); 803 723 msg_forward_from.id = "msg_forward_from_" + new_border_ID; … … 808 728 document.getElementById("subject_" + new_border_ID).value = "Fw: " + data.subject; 809 729 var divFiles = Element("divFiles_"+new_border_ID); 810 var campo_arquivo811 730 if (Element("attachments_" + border_ID)){ 812 731 var attachments = document.getElementById("attachments_" + border_ID).childNodes; 813 732 for (var i = (attachments.length > 1 ? 1 : 0); i < attachments.length; i++){ 814 /*Anexos ics possuem um link ao seu lado para importar para calendário, que815 não deve ser renderizado. Esse link não possui a string816 javascript:download_attachments e vem com um span antes que é um espaço em branco,817 que tb deve ser descartado*/818 if((attachments[i].tagName=="SPAN") ||819 ((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1)))820 continue;821 733 var link_attachment = document.createElement("A"); 822 734 link_attachment.setAttribute("href", attachments[i].href); 823 735 link_attachment.innerHTML = attachments[i].innerHTML; 824 if (data.is_local_message) {//Local messages 825 document.getElementById("is_local_forward"+new_border_ID).value = "1"; 826 var tmp = link_attachment.href.substring(link_attachment.href.indexOf("(") + 2);//Pula o parenteses e a aspas 827 tmp = tmp.substring(0, tmp.length - 2);//corta a aspas e o parenteses 828 tmp = replaceAll(tmp,"%20"," "); 829 var tempNomeArquivo = tmp.split("/"); 830 var nomeArquivo = tempNomeArquivo[tempNomeArquivo.length-1]; 831 nomeArquivo = nomeArquivo.substring(0,nomeArquivo.length - 4); //Anexos no gears são todos com extensão .php. tenho que tirar a extensão para ficar o nome real do arquivo. 832 campo_arquivo = addForwardedFile(new_border_ID,nomeArquivo,link_attachment.href); 833 834 expresso_local_messages.getInputFileFromAnexo(campo_arquivo, tmp); 835 } 836 else { 837 var tmp = link_attachment.href.replace("javascript:download_attachments(", "").replace(")", ""); 838 var a_tmp = tmp.split(','); 839 tmp = link_attachment.innerHTML.substring(0,link_attachment.innerHTML.lastIndexOf("(")); 840 a_tmp[2] = "'"+tmp.substring(0,tmp.length-1)+"'"; 841 s_tmp = escape(connector.serialize(a_tmp)); 842 843 divFiles.innerHTML += "<input style='border:0' type='CHECKBOX' name='forwarding_attachments[]' checked value=\""+s_tmp+"\"/>"; 844 divFiles.innerHTML += "<link style='border:0' name='file_"+i+"' id='inputFile_"+border_ID+i+"'/>"; 845 divFiles.appendChild(link_attachment); 846 } 736 var tmp = link_attachment.href.replace("javascript:download_attachments(", "").replace(")", ""); 737 var a_tmp = tmp.split(','); 738 tmp = link_attachment.innerHTML.substring(0,link_attachment.innerHTML.lastIndexOf("(")); 739 a_tmp[2] = "'"+tmp.substring(0,tmp.length-1)+"'"; 740 s_tmp = escape(connector.serialize(a_tmp)); 741 divFiles.innerHTML += "<input style='border:0' type='CHECKBOX' name='forwarding_attachments[]' checked value=\""+s_tmp+"\"/>"; 742 divFiles.appendChild(link_attachment); 847 743 } 848 744 } … … 1208 1104 } 1209 1105 if (message_id) 1106 { 1210 1107 cExecute ("$this.imap_functions.delete_msgs&folder="+openTab.imapBox[border_id]+"&msgs_number="+message_id,handler_delete_msg); 1211 1108 if (openTab.imapBox[0] == "INBOX/"+draftsfolder) 1109 { 1110 //Update mailbox 1111 var tr_msg = document.getElementById(message_id); 1112 change_tr_properties(tr_msg, data.msg_no, data.subject); 1113 } 1114 1115 } 1212 1116 var save_link = Element("save_message_options_"+border_id); 1213 1117 save_link.onclick = ''; … … 1588 1492 else 1589 1493 set_message_flag(msgs_number, "unseen"); 1590 proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name);1494 move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 1591 1495 } 1592 1496 … … 1608 1512 // debug 1609 1513 // alert(data); 1610 proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name);1514 move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 1611 1515 } 1612 1516 if(msgs_number == 'selected') … … 1736 1640 wfolders.makeWindow('null','import'); 1737 1641 } 1642 function import_calendar(data){ 1643 function handler_import_calendar(data){ 1644 if(data === true){ 1645 write_msg(get_lang("The event was imported successfully.")); 1646 } 1647 } 1648 if(confirm(get_lang("Do you confirm this import to your Calendar?"))){ 1649 cExecute('$this.db_functions.import_vcard&msg_folder='+data,handler_import_calendar); 1650 } 1651 } -
trunk/expressoMail1_2/js/search.js
r670 r673 101 101 "</tr>"+ 102 102 "<tr>"+ 103 "<td valign='top'><input type='checkBox' id='check_all_msg' name='check_all_msg' ><b>" + get_lang('In all the folders') + "</b></td>"+103 "<td valign='top'><input type='checkBox' id='check_all_msg' name='check_all_msg' onclick='EsearchE.all_mailboxes()'><b>" + get_lang('In all the folders') + "</b></td>"+ 104 104 "</tr>"+ 105 105 "</table>"+ … … 310 310 tr.id = uid_msg; 311 311 tr.name = mailbox; 312 312 313 313 for(var j=0 ; j <= 10 ; j++) 314 314 { … … 353 353 if(td1 == "INBOX"){ 354 354 var td1 = get_lang("Inbox"); 355 }356 if(proxy_mensagens.is_local_folder(td1)) {357 var td1 = this.aux_local_folder_display(td1);358 355 } 359 356 } … … 497 494 if (span_options) 498 495 span_options.innerHTML = '<span title="'+get_lang("Delete")+'" style="margin-top:3px;margin-left:8px" class="message_options" onclick="javascript:move_search_msgs(\''+content_search.id+'\');">'+get_lang("Delete")+'</span> | '+ 499 '<span title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow New(\"'+content_search.id+'\",\"move_to\",true)>'+get_lang("Move")+'</span>';496 '<span title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow(\"'+content_search.id+'\",\"move_to\")>'+get_lang("Move")+'</span>'; 500 497 div_scroll_result.appendChild(table); 501 498 content_search.appendChild(div_scroll_result); … … 508 505 if(Element("border_id_" + uid_msg + "_r")){alert(get_lang("This message is already opened!"));} 509 506 else{draw_message(data,create_border(url_decode(subject), uid_msg + "_r"));} 510 }511 proxy_mensagens.get_msg(uid_msg,mailbox,false,handler_get_msg);512 /*var args = "$this.imap_functions.get_info_msg";513 var params = " msg_number=" + uid_msg + "&msg_folder=" + mailbox;514 cExecute(args ,handler_get_msg,params);*/507 //set_msg_as_read(msgs_to_set[i], false); 508 } 509 var args = "$this.imap_functions.get_info_msg"; 510 var params = "&msg_number=" + uid_msg + "&msg_folder=" + mailbox; 511 cExecute(args+params,handler_get_msg); 515 512 516 513 } … … 519 516 searchE.prototype.add_mailboxes = function(){ 520 517 var sel = Element("sel_search_nm_box1"); 521 if (!proxy_mensagens.is_local_folder(this.name_box_search)) { 522 var name_box = this.name_box_search.split(cyrus_delimiter); 523 if(this.name_box_search == "") 524 return false; 525 var name_box_def = ""; 526 if(name_box.length != 1){ 527 name_box_def = name_box[(name_box.length-1)]; 528 }else{ 529 name_box_def = get_lang("Inbox"); 530 } 531 } 532 else { 533 if(this.name_box_search=='local_root') 534 return; 535 if(this.name_box_search=='local_Inbox') 536 name_box_def = get_lang("Inbox"); 537 else 538 name_box_def = this.name_box_search.substr(6);//Retira o 'local_' 518 var name_box = this.name_box_search.split(cyrus_delimiter); 519 if(this.name_box_search == "") 520 return false; 521 var name_box_def = ""; 522 if(name_box.length != 1){ 523 name_box_def = name_box[(name_box.length-1)]; 524 }else{ 525 name_box_def = get_lang("Inbox"); 539 526 } 540 527 if( sel.length > 0){ … … 606 593 return false; 607 594 } 608 var local_folders = new Array();609 var temp;610 595 611 596 if(Element("check_all_msg").checked){ 612 this.all_mailboxes();613 597 var nm_box = new Array; 614 598 for(var i=0; i < EsearchE.all_boxes.length; i++){ 615 599 nm_box[i] = EsearchE.all_boxes[i] + fields; 616 }617 if (preferences.use_local_messages == 1) {618 temp = expresso_local_messages.list_local_folders();619 for (var x in temp) {620 local_folders.push(temp[x][0]);621 }622 600 } 623 601 }else{ … … 634 612 for(var i=0; i < sel_combo.options.length; i++){ 635 613 if(sel_combo.options[i].selected == true){ 636 if(!proxy_mensagens.is_local_folder(sel_combo.options[i].value)) 637 nm_box[nm_box.length] = sel_combo.options[i].value + fields; 638 else 639 local_folders.push(sel_combo.options[i].value.substr(6)); 614 nm_box[nm_box.length] = sel_combo.options[i].value + fields; 640 615 } 641 616 } 642 617 } 643 618 var handler = function(data){ 644 var tmp; 645 var countTmp= new Array(); 646 if (local_folders.length > 0) { 647 tmp = expresso_local_messages.search(local_folders, fields); 648 if (tmp!=false) { 649 var tmp2 = tmp.substr(2, data.length - 4); 650 countTmp = tmp.split('####'); 651 } 652 } 653 if((data == "none") && (countTmp.length==0)){alert(get_lang("None result was found."));} 654 else if(countTmp.length > 50){alert(get_lang("More than %1 results. Please, try to refine your search.",50));} 619 if(data == "none"){alert(get_lang("None result was found."));} 655 620 else if(data == "many results"){alert(get_lang("More than %1 results. Please, try to refine your search.",50));} 656 else{EsearchE.mount_result( (data=='none')?tmp:(countTmp.length==0)?data:data+tmp);}621 else{EsearchE.mount_result(data);} 657 622 } 658 623 var args = "$this.imap_functions.search_msg"; … … 714 679 win.open(); 715 680 } 716 717 searchE.prototype.aux_local_folder_display = function(folder) {718 return "(Local) " + lang_folder(folder.substr(6));719 }720 721 681 // Cria o objeto 722 682 var EsearchE; -
trunk/expressoMail1_2/js/shortcut.js
r670 r673 262 262 263 263 selected_shortcut_msgs = selected_shortcut_msgs.substring(0,(selected_shortcut_msgs.length-1)); 264 proxy_mensagens.delete_msgs(current_folder, selected_shortcut_msgs, 'null');264 delete_msgs(current_folder, selected_shortcut_msgs, 'null'); 265 265 } 266 266 else -
trunk/expressoMail1_2/js/wfolders.js
r670 r673 6 6 } 7 7 8 cWFolders.prototype.makeWindow New = function(border_id, type,from_search)9 { //Infelizmente javascript não parece suportar o polimorfismo...8 cWFolders.prototype.makeWindow = function(border_id, type) 9 { 10 10 _this = this; 11 11 … … 60 60 move_search_msgs(border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption); 61 61 else{ 62 proxy_mensagens.proxy_move_messages('null',msg_number, border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption);62 move_msgs('null', msg_number, border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption); 63 63 wfolders.alert = true; 64 64 } … … 87 87 el.appendChild(butt); 88 88 89 wfolders_tree = new dFTree({name: 'wfolders_tree'}); 90 var n_root = new dNode({id:'root', caption:get_lang("My Folders")}); 91 wfolders_tree.add(n_root,'anything'); //Places the root; second argument can be anything. 89 if (!Element('dftree_wfolders_tree')) 90 { 91 wfolders_tree = new dFTree({name: 'wfolders_tree'}); 92 var n_root = new dNode({id:'root', caption:get_lang("My Folders")}); 93 wfolders_tree.add(n_root,'anything'); //Places the root; second argument can be anything. 92 94 93 var folders = tree_folders.getNodesList(cyrus_delimiter);94 for (var i=1; i<folders.length; i++)95 {96 if (proxy_mensagens.is_local_folder(folders[i].id) && from_search) {97 continue;95 var folders = tree_folders.getNodesList(cyrus_delimiter); 96 for (var i=1; i<folders.length; i++) 97 { 98 var nn = new dNode({id:folders[i].id, caption:lang_folder(folders[i].caption), plusSign:folders[i].plusSign}); 99 wfolders_tree.add(nn,folders[i].parent); 98 100 } 99 var nn = new dNode({100 id: folders[i].id,101 caption: lang_folder(folders[i].caption),102 plusSign: folders[i].plusSign103 });104 wfolders_tree.add(nn, folders[i].parent);105 101 102 wfolders_tree.draw(Element('wfolders_content_tree')); 103 n_root.changeState(); 104 wfolders_tree.getNodeById('INBOX')._select(); 106 105 } 107 Element('wfolders_content_tree').innerHTML = ""; //As buscas não podem incluir mover entre pastas locais, pelo menos por enquanto108 wfolders_tree.draw(Element('wfolders_content_tree'));109 n_root.changeState();110 wfolders_tree.getNodeById('INBOX')._select();111 106 _this.showWindow(el, type); 112 }113 114 cWFolders.prototype.makeWindow = function(border_id, type)115 {116 this.makeWindowNew(border_id,type,false);117 107 } 118 108 -
trunk/expressoMail1_2/preferences.php
r670 r673 133 133 else 134 134 $GLOBALS['phpgw']->template->set_var('font_size_option_11_selected','selected'); 135 $c = CreateObject('phpgwapi.config','expressoMail1_2');136 $c->read_repository();137 $current_config = $c->config_data;138 139 if($current_config['enable_local_messages']!='True') {140 $GLOBALS['phpgw']->template->set_var('open_comment_local_messages_config',"<!--");141 $GLOBALS['phpgw']->template->set_var('close_comment_local_messages_config',"-->");142 }143 else {144 $GLOBALS['phpgw']->template->set_var('open_comment_local_messages_config'," ");145 $GLOBALS['phpgw']->template->set_var('close_comment_local_messages_config'," ");146 }147 148 if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'])149 $GLOBALS['phpgw']->template->set_var('use_local_messages_option_Yes_selected','selected');150 else {151 $GLOBALS['phpgw']->template->set_var('use_local_messages_option_No_selected','');152 $GLOBALS['phpgw']->template->set_var('use_local_messages_option_Yes_selected','');153 }154 155 if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['keep_archived_messages'])156 $GLOBALS['phpgw']->template->set_var('keep_archived_messages_option_Yes_selected','selected');157 else {158 $GLOBALS['phpgw']->template->set_var('keep_archived_messages_option_No_selected','');159 $GLOBALS['phpgw']->template->set_var('keep_archived_messages_option_Yes_selected','');160 }161 162 135 } 163 136 else //Save Config … … 259 232 else 260 233 $GLOBALS['phpgw']->preferences->add('expressoMail','font_size',$_POST['font_size']); 261 if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'])262 $GLOBALS['phpgw']->preferences->change('expressoMail','use_local_messages',$_POST['use_local_messages']);263 else264 $GLOBALS['phpgw']->preferences->add('expressoMail','use_local_messages',$_POST['use_local_messages']);265 266 if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['keep_archived_messages'])267 $GLOBALS['phpgw']->preferences->change('expressoMail','keep_archived_messages',$_POST['keep_archived_messages']);268 else269 $GLOBALS['phpgw']->preferences->add('expressoMail','keep_archived_messages',$_POST['keep_archived_messages']);270 234 271 235 $GLOBALS['phpgw']->preferences->save_repository(); … … 312 276 $GLOBALS['phpgw']->template->set_var('lang_type_signature',lang('Signature type')); 313 277 $GLOBALS['phpgw']->template->set_var('big',lang('Big')); 314 $GLOBALS['phpgw']->template->set_var('lang_Would_you_like_to_keep_archived_messages_?',lang('Would you like to keep archived messages?'));315 $GLOBALS['phpgw']->template->set_var('lang_Yes',lang('Yes'));316 $GLOBALS['phpgw']->template->set_var('lang_No',lang('No'));317 $GLOBALS['phpgw']->template->set_var('lang_Would_you_like_to_use_local_messages_?',lang('Would you like to use local messages?'));318 278 $GLOBALS['phpgw']->template->set_var('lang_use_signature',lang('Insert signature automatically in new messages?')); 319 279 -
trunk/expressoMail1_2/templates/default/config.tpl
r670 r673 12 12 <tr bgcolor="{row_off}"> 13 13 <td colspan="2"><b>{lang_ExpressoMail_settings}</b></td> 14 </tr>15 <tr class="{row_off}">16 <td>{lang_Would_you_like_to_use_local_messages_?}:</td>17 <td>18 <select name="newsettings[enable_local_messages]">19 <option value="">{lang_No}</option>20 <option value="True"{selected_enable_local_messages_True}>{lang_Yes}</option>21 </select>22 </td>23 14 </tr> 24 15 <tr bgcolor="{row_on}"> … … 41 32 </tr> 42 33 <tr bgcolor="{row_on}"> 43 <td>{lang_Do_you_want_to_use_the_spam_filter?}</td> 44 <td> 45 <select name="newsettings[expressoMail_use_spam_filter]"> 46 <option value=""{selected_expressoMail_use_spam_filter_False}>{lang_No}</option> 47 <option value="True"{selected_expressoMail_use_spam_filter_True}>{lang_Yes}</option> 48 </select> 34 <td>{lang_Do_you_want_to_use_important_flag_in_email_editor?}</td> 35 <td> 36 <select name="newsettings[expressoMail_enable_important_flag]"> 37 <option value=""{selected_expressoMail_enable_important_flag_False}>{lang_No}</option> 38 <option value="True"{selected_expressoMail_enable_important_flag_True}>{lang_Yes}</option> 39 </select> 40 </td> 41 </tr> 42 <tr bgcolor="{row_off}"> 43 <td>{lang_Do_you_want_to_use_remove_attachments_function?}</td> 44 <td> 45 <select name="newsettings[expressoMail_remove_attachments_function]"> 46 <option value=""{selected_expressoMail_remove_attachments_function_False}>{lang_No}</option> 47 <option value="True"{selected_expressoMail_remove_attachments_function_True}>{lang_Yes}</option> 48 </select> 49 </td> 50 </tr> 51 <tr bgcolor="{row_on}"> 52 <td>{lang_Do_you_want_to_use_the_spam_filter?}</td> 53 <td> 54 <select name="newsettings[expressoMail_use_spam_filter]"> 55 <option value=""{selected_expressoMail_use_spam_filter_False}>{lang_No}</option> 56 <option value="True"{selected_expressoMail_use_spam_filter_True}>{lang_Yes}</option> 57 </select> 49 58 </td> 50 59 </tr> -
trunk/expressoMail1_2/templates/default/preferences.tpl
r670 r673 1 <script src="js/main.js"></script> 1 2 2 <center> 3 3 … … 39 39 </td> 40 40 </tr> 41 {open_comment_local_messages_config}42 <tr bgcolor="{tr_color2}">43 <td>{lang_Would_you_like_to_use_local_messages_?}</td>44 <td align="center">45 <select name="use_local_messages" id="use_local_messages" onchange="disable_field(document.getElementById('keep_archived_messages'),'document.getElementById(\'use_local_messages\').value==\'0\'')">46 <option {use_local_messages_option_No_selected} value="0">{lang_No}</option>47 <option {use_local_messages_option_Yes_selected} value="1">{lang_Yes}</option>48 </select>49 </td>50 </tr>51 <tr bgcolor="{tr_color1}">52 <td>{lang_Would_you_like_to_keep_archived_messages_?}</td>53 <td align="center">54 <select name="keep_archived_messages" id="keep_archived_messages">55 <option {keep_archived_messages_option_No_selected} value="0">{lang_No}</option>56 <option {keep_archived_messages_option_Yes_selected} value="1">{lang_Yes}</option>57 </select>58 </td>59 </tr>60 {close_comment_local_messages_config}61 41 <tr bgcolor="{tr_color2}"> 62 42 <td>{lang_delete_and_show_previous_message}</td> … … 181 161 </center> 182 162 <script language="JavaScript" type="text/javascript"> 183 disable_field(document.getElementById('keep_archived_messages'),'document.getElementById(\'use_local_messages\').value==\'0\'')184 163 var form = document.forms[0]; 185 164
Note: See TracChangeset
for help on using the changeset viewer.