- Timestamp:
- 02/11/09 13:42:40 (15 years ago)
- Location:
- trunk/expressoMail1_2
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/inc/class.exporteml.inc.php
r673 r689 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 time 197 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 188 213 function remove_accents($string) { 189 214 /* … … 195 220 "áàâãäéèêëíìîïóòôõöúùûüç?\"!@#$%š&*()-=+Ž`[]{}~^,<>;:/?\\|¹²³£¢¬§ªº°ÁÀÂÃÄÉÈÊËÍÌÎÏÓÒÔÕÖÚÙÛÜÇ", 196 221 "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 time 262 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; 197 380 } 198 381 -
trunk/expressoMail1_2/inc/class.imap_functions.inc.php
r673 r689 10 10 'get_range_msgs' => True, 11 11 'get_info_msg' => True, 12 'get_info_msgs' => True, 12 13 'get_folders_list' => True, 13 14 'import_msgs' => True … … 70 71 function get_range_msgs2($params) 71 72 { 72 include("class.imap_attachment.inc.php");73 $imap_attachment = new imap_attachment();74 73 $folder = $params['folder']; 75 74 $msg_range_begin = $params['msg_range_begin']; … … 85 84 if($num_msgs) { 86 85 for ($msg_range_begin; (($msg_range_begin <= $msg_range_end) && ($msg_range_begin <= $num_msgs)); $msg_range_begin++) 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', 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', 101 117 imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)) 102 118 ,$importance); 103 $return[$i]['Importance'] = $flag==0?"":$importance[1];104 105 106 119 $head_array['Importance'] = $flag==0?"Normal":$importance[1]; 120 121 122 $header = $this->get_header($msg_number); 107 123 if (!is_object($header)) 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; 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; 157 170 } 158 171 … … 297 310 } 298 311 312 /** 313 * 314 * @return 315 * @param $params Object 316 */ 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 299 348 function get_info_msg($params) 300 349 { … … 549 598 $return['subject'] = $this->decode_string($header->fetchsubject); 550 599 $return['Size'] = $header->Size; 551 $return['reply_toaddress'] = $header->reply_toaddress; 600 $return['reply_toaddress'] = $header->reply_toaddress; 601 602 //All this is to help in local messages 603 $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 552 607 return $return; 553 608 } … … 1017 1072 function refresh($params) 1018 1073 { 1019 include ("class.imap_attachment.inc.php");1074 include_once("class.imap_attachment.inc.php"); 1020 1075 $imap_attachment = new imap_attachment(); 1021 1076 $folder = $params['folder']; … … 1097 1152 imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)) 1098 1153 ,$importance); 1099 $return[$i]['Importance'] = $flag==0?" ":$importance[1];1154 $return[$i]['Importance'] = $flag==0?"Normal":$importance[1]; 1100 1155 1101 1156 $header = $this->get_header($msg_number); … … 1348 1403 $attachments = $params['FILES']; 1349 1404 $forwarding_attachments = $params['forwarding_attachments']; 1405 $local_attachments = $params['local_attachments']; 1350 1406 1351 1407 $folder =$params['folder']; … … 1431 1487 //////////////////////////////////////////////////////////////////////////////////////////////////// 1432 1488 // Build Uploading Attachments!!! 1433 if ( count($attachments))1489 if ((count($attachments)) && ($params['is_local_forward']!="1")) //Caso seja forward normal... 1434 1490 { 1435 1491 $total_uploaded_size = 0; … … 1443 1499 return $this->parse_error("message file too big"); 1444 1500 } 1501 else if(($params['is_local_forward']=="1") && (count($local_attachments))) { //Caso seja forward de mensagens locais 1502 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 name 1512 $total_uploaded_size = $total_uploaded_size + $_FILES[$tmp[1]]['size']; 1513 } 1514 if( $total_uploaded_size > $upload_max_filesize) 1515 return 'false'; 1516 } 1445 1517 //////////////////////////////////////////////////////////////////////////////////////////////////// 1446 1518 // Build Forwarding Attachments!!! … … 1643 1715 } 1644 1716 1717 /** 1718 * Deprecated 1719 * 1720 * Replaced for the method messages_sort 1721 */ 1722 function imap_sortfrom($sort_box_reverse, $search_box_type) 1723 { 1724 $sortfrom = array(); 1725 $sortfrom_uid = array(); 1726 1727 $num_msgs = imap_num_msg($this->mbox); 1728 for ($i=1; $i<=$num_msgs; $i++) 1729 { 1730 $header = $this->get_header(imap_uid($this->mbox,$i)); 1731 // List UNSEEN messages. 1732 if($search_box_type == "UNSEEN" && (!trim($header->Recent) && !trim($header->Unseen))){ 1733 continue; 1734 } 1735 // List SEEN messages. 1736 elseif($search_box_type == "SEEN" && (trim($header->Recent) || trim($header->Unseen))){ 1737 continue; 1738 } 1739 // List ANSWERED messages. 1740 elseif($search_box_type == "ANSWERED" && !trim($header->Answered)){ 1741 continue; 1742 } 1743 // List FLAGGED messages. 1744 elseif($search_box_type == "FLAGGED" && !trim($header->Flagged)){ 1745 continue; 1746 } 1747 1748 if (($header->from[0]->mailbox . "@" . $header->from[0]->host) == $_SESSION['phpgw_info']['expressomail']['user']['email']) 1749 $from = $header->to; 1750 else 1751 $from = $header->from; 1752 1753 $tmp = imap_mime_header_decode($from[0]->personal); 1754 1755 if ($tmp[0]->text != "") 1756 $sortfrom[$i] = $tmp[0]->text; 1757 else 1758 $sortfrom[$i] = $from[0]->mailbox . "@" . $from[0]->host; 1759 } 1760 1761 natcasesort($sortfrom); 1762 1763 foreach($sortfrom as $index => $header_msg) 1764 { 1765 $sortfrom_uid[] = imap_uid($this->mbox, $index); 1766 } 1767 1768 if ($sort_box_reverse) 1769 $sortfrom_uid = array_reverse($sortfrom_uid); 1770 1771 return $sortfrom_uid; 1772 } 1773 1645 1774 function move_search_messages($params){ 1646 1775 $params['selected_messages'] = urldecode($params['selected_messages']); … … 2432 2561 $retorno = ""; 2433 2562 $mbox_stream = ""; 2434 $search = explode(",",$params['condition']); 2563 if(strpos($params['condition'],"#")===false) { //local messages 2564 $search=false; 2565 } 2566 else { 2567 $search = explode(",",$params['condition']); 2568 } 2569 2435 2570 if($search){ 2436 2571 $search_criteria = ''; … … 2693 2828 $array_parts_attachments = array(); 2694 2829 $array_parts_attachments['names'] = ''; 2695 include ("class.imap_attachment.inc.php");2830 include_once("class.imap_attachment.inc.php"); 2696 2831 $imap_attachment = new imap_attachment(); 2697 2832 -
trunk/expressoMail1_2/index.php
r673 r689 58 58 } 59 59 60 //Local messages 61 $_SESSION['phpgw_info']['server']['expressomail']['enable_local_messages'] = $current_config['enable_local_messages']; 62 60 63 // Get Data from ldap_manager and emailadmin. 61 64 $ldap_manager = CreateObject('contactcenter.bo_ldap_manager'); … … 73 76 $_SESSION['phpgw_info']['expressomail']['user']['email'] = $GLOBALS['phpgw']->preferences->values['email']; 74 77 75 78 if($current_config['enable_local_messages']!='True') { 79 $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'] = 0; 80 } 81 76 82 $_SESSION['phpgw_info']['user']['preferences']['expressoMail'] = array( 77 83 'voip_enabled' => $voip_enabled, … … 99 105 'notification_domains' => $current_config['expressoMail_notification_domains'], 100 106 'remove_attachments_function' => $current_config['expressoMail_remove_attachments_function'], 101 'use_important_flag' => $current_config['expressoMail_enable_important_flag'] 107 'use_important_flag' => $current_config['expressoMail_enable_important_flag'], 108 'use_local_messages' => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'] : "0", 109 'keep_archived_messages' => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['keep_archived_messages'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['keep_archived_messages'] : "0" 110 102 111 103 112 … … 162 171 163 172 // End Set Imap Folder names options 173 //User info 174 echo "<script language='javascript'> var account_id = ".$GLOBALS['phpgw_info']['user']['account_id'].";</script>"; 164 175 165 176 $obj = createobject("expressoMail1_2.functions"); … … 174 185 "js/InfoContact.js," . 175 186 "js/main.js," . 187 "js/gears_init.js," . 188 "js/local_messages.js," . 189 "js/messages_proxy.js," . 176 190 "js/rich_text_editor.js," . 177 191 "js/wfolders.js,", -
trunk/expressoMail1_2/js/TreeS.js
r673 r689 36 36 div_buttons.innerHTML = "<table border='0' cellpading='0' cellspacing='0'>"+ 37 37 "<tr>"+ 38 "<td><input type='button' value='"+get_lang('New folder')+"' onclick=' ttreeBox.validate(\"newpast\")'></td>"+38 "<td><input type='button' value='"+get_lang('New folder')+"' onclick='proxy_mensagens.proxy_create_folder()'></td>"+ 39 39 "</tr>"+ 40 40 "<tr>"+ 41 "<td><input type='button' value='"+get_lang('Delete folder')+"' onclick=' ttreeBox.del()'></td>"+41 "<td><input type='button' value='"+get_lang('Delete folder')+"' onclick='proxy_mensagens.proxy_remove_folder()'></td>"+ 42 42 "</tr>"+ 43 43 "<tr>"+ 44 "<td><input type='button' value='"+get_lang('Rename folder')+"' onclick=' ttreeBox.validate(\"rename\")'></td>"+44 "<td><input type='button' value='"+get_lang('Rename folder')+"' onclick='proxy_mensagens.proxy_rename_folder()'></td>"+ 45 45 "</tr>"+ 46 46 "<tr>"+ … … 161 161 folders_tree.add(nn,data[i].folder_parent); 162 162 } 163 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 } 164 189 folders_tree.draw(Element(destination)); 165 190 n_root.changeState(); -
trunk/expressoMail1_2/js/TreeShow.js
r673 r689 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 100 106 if(trim(button) == "" || trim(button) == null){ 101 107 return false; … … 114 120 } 115 121 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 } 116 126 if(trim(button1) == "" || trim(button1) == null){ 117 127 return false; -
trunk/expressoMail1_2/js/common_functions.js
r673 r689 178 178 } 179 179 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 180 function download_local_attachment(url) { 184 181 if (div_attachment == null){ 185 182 var div_attachment = document.createElement("DIV"); … … 187 184 document.body.appendChild(div_attachment); 188 185 } 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 } 189 198 if(new_file_name) 190 199 params = "&newfilename="+new_file_name; … … 201 210 cExecute("$this.exporteml.download_all_attachments",handler_source,"folder="+msg_folder+"&num_msg="+msg_number); 202 211 } 212 //ADD forwarded files 213 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 203 286 // Add Input File Dynamically. 204 287 function addFile(id_border){ … … 239 322 divFile.id = "divFile_"+id_border+"_"+countDivFiles; 240 323 divFiles.appendChild(divFile); 324 325 return inputFile; 241 326 } 242 327 // Remove Input File Dynamically. … … 677 762 678 763 function lang_folder(fn) { 679 if (fn == "Inbox") return get_lang("Inbox");764 if (fn.toUpperCase() == "INBOX") return get_lang("Inbox"); 680 765 if (special_folders[fn] && typeof(special_folders[fn]) == 'string') { 681 766 return get_lang(special_folders[fn]); -
trunk/expressoMail1_2/js/doiMenuData.js
r673 r689 152 152 var _sep = "<hr>"; 153 153 var optionsMenu = new Array( 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')",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')", 158 158 _sep, 159 159 _tab + get_lang("Move to")+" ... |wfolders.makeWindow('', 'move_to')", 160 _tab + get_lang("Delete")+"|"+" delete_msgs('null','selected','null')",160 _tab + get_lang("Delete")+"|"+"proxy_mensagens.delete_msgs('null','selected','null')", 161 161 _tab + get_lang("Export")+"|"+"export_all_selected_msgs()" 162 162 ); -
trunk/expressoMail1_2/js/drag_area.js
r673 r689 216 216 if(new_folder_name == 'INBOX') 217 217 new_folder_name = get_lang("Inbox"); 218 219 if(_dragArea.from_list) 220 if (numBox != 0) 218 if (_dragArea.from_list) { 219 if (numBox != 0) 221 220 move_search_msgs("content_id_search_" + numBox, 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);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); 228 227 } 229 228 } -
trunk/expressoMail1_2/js/draw_api.js
r673 r689 53 53 } 54 54 } 55 cExecute ("$this.imap_functions.get_folders_list", update_tree_folders); 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 56 100 return; 57 101 } … … 83 127 tree_folders.add(nn,folders[i].folder_parent); 84 128 } 129 //tree_local_folders = new dFTree({name: 'tree_local_folders'}); 130 /** 131 * Pastas locais 132 */ 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 local 150 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: 0 158 }); 159 else 160 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: 0 165 }); 166 tree_folders.add(nodeLocal, "local_root"); 167 } 168 } 169 } 170 171 172 85 173 tree_folders.draw(Element('content_folders')); 86 174 n_root.changeState(); … … 183 271 return true; 184 272 } 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 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 187 277 alternate_border(0); 188 278 } … … 246 336 if(current_page != 1) { 247 337 lnk_page = document.createElement("A"); 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());})");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());});"); 249 339 } 250 340 else { … … 285 375 msg_range_begin = ((i*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); 286 376 msg_range_end = (i*preferences.max_email_per_page); 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());})");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());});"); 288 378 } 289 379 … … 302 392 msg_range_begin = ((total_pages*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); 303 393 msg_range_end = (total_pages*preferences.max_email_per_page); 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());})");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());});"); 305 395 } 306 396 else { … … 347 437 { 348 438 if ((window.event.keyCode) == 46) 349 delete_msgs(get_current_folder(),'selected','null');439 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 350 440 } 351 441 else 352 442 { 353 443 if ((e.keyCode) == 46) 354 delete_msgs(get_current_folder(),'selected','null');444 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 355 445 } 356 446 }; … … 416 506 { 417 507 //delete_all_selected_msgs_imap(); 418 delete_msgs(get_current_folder(),'selected','null');508 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 419 509 } 420 510 } … … 424 514 { 425 515 //delete_all_selected_msgs_imap(); 426 delete_msgs(get_current_folder(),'selected','null');516 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 427 517 } 428 518 } … … 614 704 td_element3.id = "td_who_"+ headers_msgs.msg_number; 615 705 td_element3.setAttribute("width", "30%"); 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);};706 var _onclick = function(){InfoContact.hide();proxy_mensagens.get_msg(headers_msgs.msg_number, msg_folder,true, show_msg);}; 617 707 td_element3.onclick = _onclick; 618 708 td_element3.innerHTML = ' '; … … 734 824 search_box_type = search; 735 825 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); 826 proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort,search,sort_box_reverse,handler_draw_box); 827 // 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); 737 828 current_page = 1; 738 829 //Comentado para nao sobrepor o numero de msgs nao lidas ao utilizar os filtros … … 960 1051 option_delete.id = 'msg_opt_delete_'+ID; 961 1052 option_delete.className = 'message_options'; 962 option_delete.onclick = function(){ delete_msgs(info_msg.msg_folder, info_msg.msg_number, ID);};1053 option_delete.onclick = function(){proxy_mensagens.delete_msgs(info_msg.msg_folder, info_msg.msg_number, ID);}; 963 1054 option_delete.innerHTML = get_lang('Delete'); 964 1055 options.appendChild(space3); … … 982 1073 983 1074 var option_mark_as = '<span>'+get_lang("Mark as")+'</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> | ';1075 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>, '; 1076 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>, '; 1077 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> | '; 987 1078 988 1079 var option_move = '<span class="message_options" onclick=wfolders.makeWindow("'+ID+'","move_to");>'+get_lang("Move")+'</span> | '; … … 990 1081 var option_reply_without_history = '<span class="message_options" onclick=new_message("reply_without_history","'+ID+'");>'+get_lang("Reply without history")+'</span> | '; 991 1082 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> | '; 992 var option_source_msg = '<span class="message_options" onclick= source_msg("'+ID+'","'+url_encode(info_msg.msg_folder)+'");>'+get_lang("Message Font")+'</span>';1083 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>'; 993 1084 994 1085 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; … … 1019 1110 var option_edit = '<span class="message_options" onclick="new_message(\'edit\',\''+ID+'\');">'+get_lang('Edit')+'</span> | '; 1020 1111 var option_print = '<span class="message_options" onclick="print_msg(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Print')+'</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> | ';1112 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> | '; 1022 1113 var option_hide_more = document.createElement("SPAN"); 1023 1114 option_hide_more.className = 'message_options'; … … 1105 1196 from_values.type = "HIDDEN"; 1106 1197 from_values.value = info_msg.from.full; //Veio do IMAP, sem images nem links. 1198 1199 var local_message = document.createElement("INPUT"); 1200 local_message.id = "is_local_"+ID; 1201 local_message.name = "is_local"; 1202 local_message.type = "HIDDEN"; 1203 local_message.value = (info_msg.local_message)?"1":"0"; 1204 1107 1205 tr1.appendChild(td1); 1108 1206 tr1.appendChild(from); 1109 1207 tr1.appendChild(from_values); 1208 tr1.appendChild(local_message); 1209 1210 1211 1110 1212 if (info_msg.reply_to){ 1111 1213 var tr11 = document.createElement("TR"); … … 1329 1431 for (var i=0; i<info_msg.attachments.length; i++){ 1330 1432 var link_attachment = document.createElement("A"); 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+"')"); 1433 link_attachment.setAttribute("href", proxy_mensagens.link_anexo(info_msg,i)); 1434 // 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+"')"); 1332 1435 link_attachment.innerHTML = url_decode(info_msg.attachments[i].name); 1333 1436 msg_size = info_msg.attachments[i].fsize; … … 1587 1690 } 1588 1691 td_to.appendChild(input_to); 1692 1693 var forwarded_local_message = document.createElement("INPUT"); //Hidden para indicar se é um forward de uma mensagem local 1694 forwarded_local_message.id = "is_local_forward"+ID; 1695 forwarded_local_message.name = "is_local_forward"; 1696 forwarded_local_message.type = "HIDDEN"; 1697 forwarded_local_message.value = "0"; 1698 td_to.appendChild(forwarded_local_message); 1589 1699 1590 1700 var img_search = document.createElement("IMG"); … … 2150 2260 { 2151 2261 //delete_all_selected_msgs_imap(); 2152 delete_msgs(get_current_folder(),'selected','null');2262 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 2153 2263 } 2154 2264 } … … 2158 2268 { 2159 2269 //delete_all_selected_msgs_imap(); 2160 delete_msgs(get_current_folder(),'selected','null');2270 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 2161 2271 } 2162 2272 } … … 2257 2367 { 2258 2368 //delete_all_selected_msgs_imap(); 2259 delete_msgs(get_current_folder(),'selected','null');2369 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 2260 2370 } 2261 2371 } … … 2265 2375 { 2266 2376 //delete_all_selected_msgs_imap(); 2267 delete_msgs(get_current_folder(),'selected','null');2377 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 2268 2378 } 2269 2379 } … … 2350 2460 } 2351 2461 function draw_footer_box(num_msgs){ 2462 folder = get_current_folder(); 2352 2463 var span_R = Element("table_message"); 2353 2464 var span_options = Element("span_options"); … … 2360 2471 2361 2472 span_options.innerHTML = 2362 '<span title="'+get_lang("Delete")+'" style="margin-left:8px" class="message_options" onclick= delete_msgs(\'null\',\'selected\',\'null\')>'+get_lang("Delete")+'</span> | '+2473 '<span title="'+get_lang("Delete")+'" style="margin-left:8px" class="message_options" onclick=proxy_mensagens.delete_msgs(\'null\',\'selected\',\'null\')>'+get_lang("Delete")+'</span> | '+ 2363 2474 '<span title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow(\"\",\"move_to\")>'+get_lang("Move")+'</span> | '+ 2364 2475 '<span title="'+get_lang("Print")+'" class="message_options" onclick=print_all()>'+get_lang("Print")+'</span> | '+ 2365 2476 '<span title="'+get_lang("Export")+'" class="message_options" onclick="export_all_selected_msgs()">'+get_lang("Export")+'</span> | ' + 2366 2477 '<span title="'+get_lang("Import")+'" class="message_options" onclick="import_window()">'+get_lang("Import")+'</span>'; 2367 2478 if(preferences.use_local_messages==1) 2479 span_options.innerHTML += ' | <span title="'+get_lang("Archive")+'" class="message_options" onclick="archive_msgs(\''+folder+'\',null)">'+get_lang("Archive")+'</span>'; 2368 2480 if (use_spam_filter) { 2369 2481 if ( get_current_folder() == 'INBOX'+cyrus_delimiter+'Spam' ) { -
trunk/expressoMail1_2/js/filter.js
r673 r689 128 128 } 129 129 } 130 for(var i=0; i < nm_folders.length; i++) 131 { 132 if(nm_folders[i].id != "root") 133 { 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)){ 134 132 var opt = new Option(nm_folders[i].caption,nm_folders[i].id,false,true); 135 133 sel_nm[sel_nm.length] = opt; -
trunk/expressoMail1_2/js/main.js
r673 r689 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); 42 46 } 43 47 /* … … 236 240 } 237 241 238 function delete_msgs(folder, msgs_number, border_ID) 239 { 242 function delete_msgs2(folder, msgs_number, border_ID, show_success_msg) { 240 243 if (folder == 'null') 241 244 folder = get_current_folder(); 242 245 243 246 if ((parseInt(preferences.save_deleted_msg)) && (folder!='INBOX'+cyrus_delimiter+trashfolder)){ 244 move_msgs (folder, msgs_number, border_ID, 'INBOX'+cyrus_delimiter+trashfolder,trashfolder);247 move_msgs2(folder, msgs_number, border_ID, 'INBOX'+cyrus_delimiter+trashfolder,trashfolder,show_success_msg ); 245 248 return; 246 249 } … … 271 274 } 272 275 } 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.")); 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 } 277 282 278 283 if (data.border_ID != 'null'){ … … 293 298 write_msg(get_lang('No selected message.')); 294 299 } 300 function delete_msgs(folder, msgs_number, border_ID) 301 { 302 delete_msgs2(folder, msgs_number, border_ID, true); 303 } 304 295 305 296 306 function move_search_msgs(border_id, new_folder, new_folder_name){ 297 307 var selected_messages = ''; 308 var temp_msg; 298 309 var main_list = Element("tbody_resultsearch_"+border_id.substr(18)).childNodes; 299 310 for (j = 0; j < main_list.length; j++) { 300 311 var check_box = main_list[j].firstChild.firstChild; 301 312 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 } 302 317 selected_messages += main_list[j].id + ','; 303 318 } … … 360 375 } 361 376 362 function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name){ 377 function move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,show_success_msg){ 378 363 379 if (! folder || folder == 'null') 364 380 folder = Element("input_folder_"+msgs_number+"_r") ? Element("input_folder_"+msgs_number+"_r").value : get_current_folder(); … … 424 440 } 425 441 442 if (show_success_msg) { 443 if (data.msgs_number.length == 1) 444 write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 445 else 446 write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 447 } 426 448 427 449 if (data.msgs_number.length == 1) … … 457 479 } 458 480 481 function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name) { 482 move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,true); 483 } 484 485 function archive_msgs(folder,folder_dest,id_msgs) { 486 if(proxy_mensagens.is_local_folder(folder)) { 487 write_msg(get_lang("You cant archive local mails")); 488 return; 489 } 490 var has_local_messages_before = expresso_local_messages.has_local_mails(); //vejo se já tinha mensagens locais 491 var handler_arquivar_mensagens = function(data) { 492 var sucess = true; 493 var temp; 494 var msgs_to_remove = new Array(); 495 var update_tree; 496 497 498 for (var i = 0; i < data.length; i++) { 499 msg_info = connector.unserialize(data[i]); 500 temp = expresso_local_messages.insert_mail(msg_info, msg_info['header'],msg_info['array_attach'],folder_dest ); 501 Element("check_box_message_" + msg_info.msg_number).checked = false; 502 if(!temp) 503 sucess = false; 504 else 505 msgs_to_remove.push(msg_info.msg_number);//As mensagens arquivadas devem ser removidas, caso o usuï¿œrio tenha isso configurado. 506 } 507 508 if (preferences.keep_archived_messages == 0) { //Remove as mensagens 509 delete_msgs2(folder,msgs_to_remove,'null',false); 510 } 511 update_tree=(!has_local_messages_before) && expresso_local_messages.has_local_mails(); 512 513 Element('chk_box_select_all_messages').checked = false; 514 if(update_tree) 515 ttreeBox.update_folder(); 516 else 517 update_menu(); 518 if(sucess) 519 write_msg(get_lang("selected messages have been archived")); 520 else 521 write_msg(get_lang("at least, one of selected mails is already archived, expresso tried to archive the others, check them later")); 522 523 } 524 if(!id_msgs) 525 id_msgs = get_selected_messages(); 526 if (parseInt(id_msgs) > 0 || id_msgs.length > 0) 527 cExecute("$this.imap_functions.get_info_msgs&folder=" + folder + "&msgs_number=" + id_msgs , handler_arquivar_mensagens); 528 else 529 write_msg(get_lang('No selected message.')); 530 531 } 532 459 533 function get_selected_messages(){ 460 534 main = document.getElementById("divScrollMain_"+numBox).firstChild.firstChild; … … 501 575 else 502 576 return selected_messages; 577 } 578 579 function replaceAll(string, token, newtoken) { 580 while (string.indexOf(token) != -1) { 581 string = string.replace(token, newtoken); 582 } 583 return string; 503 584 } 504 585 … … 720 801 break; 721 802 case "forward": 803 data.is_local_message = (document.getElementById("is_local_"+border_ID).value=="1")?true:false; 722 804 msg_forward_from = document.createElement('input'); 723 805 msg_forward_from.id = "msg_forward_from_" + new_border_ID; … … 728 810 document.getElementById("subject_" + new_border_ID).value = "Fw: " + data.subject; 729 811 var divFiles = Element("divFiles_"+new_border_ID); 812 var campo_arquivo 730 813 if (Element("attachments_" + border_ID)){ 731 814 var attachments = document.getElementById("attachments_" + border_ID).childNodes; 732 815 for (var i = (attachments.length > 1 ? 1 : 0); i < attachments.length; i++){ 816 if((attachments[i].tagName=="SPAN") || (attachments[i].tagName=="IMG") || 817 ((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1))) 818 continue; 733 819 var link_attachment = document.createElement("A"); 734 820 link_attachment.setAttribute("href", attachments[i].href); 735 821 link_attachment.innerHTML = attachments[i].innerHTML; 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); 822 if (data.is_local_message) {//Local messages 823 document.getElementById("is_local_forward"+new_border_ID).value = "1"; 824 var tmp = link_attachment.href.substring(link_attachment.href.indexOf("(") + 2);//Pula o parenteses e a aspas 825 tmp = tmp.substring(0, tmp.length - 2);//corta a aspas e o parenteses 826 tmp = replaceAll(tmp,"%20"," "); 827 var tempNomeArquivo = tmp.split("/"); 828 var nomeArquivo = tempNomeArquivo[tempNomeArquivo.length-1]; 829 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. 830 campo_arquivo = addForwardedFile(new_border_ID,nomeArquivo,link_attachment.href); 831 832 expresso_local_messages.getInputFileFromAnexo(campo_arquivo, tmp); 833 } 834 else { 835 var tmp = link_attachment.href.replace("javascript:download_attachments(", "").replace(")", ""); 836 var a_tmp = tmp.split(','); 837 tmp = link_attachment.innerHTML.substring(0,link_attachment.innerHTML.lastIndexOf("(")); 838 a_tmp[2] = "'"+tmp.substring(0,tmp.length-1)+"'"; 839 s_tmp = escape(connector.serialize(a_tmp)); 840 841 divFiles.innerHTML += "<input style='border:0' type='CHECKBOX' name='forwarding_attachments[]' checked value=\""+s_tmp+"\"/>"; 842 divFiles.innerHTML += "<link style='border:0' name='file_"+i+"' id='inputFile_"+border_ID+i+"'/>"; 843 divFiles.appendChild(link_attachment); 844 } 743 845 } 744 846 } … … 1492 1594 else 1493 1595 set_message_flag(msgs_number, "unseen"); 1494 move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name);1596 proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name); 1495 1597 } 1496 1598 … … 1512 1614 // debug 1513 1615 // alert(data); 1514 move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name);1616 proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name); 1515 1617 } 1516 1618 if(msgs_number == 'selected') -
trunk/expressoMail1_2/js/search.js
r673 r689 101 101 "</tr>"+ 102 102 "<tr>"+ 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>"+103 "<td valign='top'><input type='checkBox' id='check_all_msg' name='check_all_msg'><b>" + get_lang('In all the folders') + "</b></td>"+ 104 104 "</tr>"+ 105 105 "</table>"+ … … 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); 355 358 } 356 359 } … … 494 497 if (span_options) 495 498 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> | '+ 496 '<span title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow (\"'+content_search.id+'\",\"move_to\")>'+get_lang("Move")+'</span>';499 '<span title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindowNew(\"'+content_search.id+'\",\"move_to\",true)>'+get_lang("Move")+'</span>'; 497 500 div_scroll_result.appendChild(table); 498 501 content_search.appendChild(div_scroll_result); … … 507 510 //set_msg_as_read(msgs_to_set[i], false); 508 511 } 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); 512 proxy_mensagens.get_msg(uid_msg,mailbox,false,handler_get_msg); 513 /*var args = "$this.imap_functions.get_info_msg"; 514 var params = "msg_number=" + uid_msg + "&msg_folder=" + mailbox; 515 cExecute(args,handler_get_msg,params);*/ 512 516 513 517 } … … 516 520 searchE.prototype.add_mailboxes = function(){ 517 521 var sel = Element("sel_search_nm_box1"); 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"); 522 if (!proxy_mensagens.is_local_folder(this.name_box_search)) { 523 var name_box = this.name_box_search.split(cyrus_delimiter); 524 if(this.name_box_search == "") 525 return false; 526 var name_box_def = ""; 527 if(name_box.length != 1){ 528 name_box_def = name_box[(name_box.length-1)]; 529 }else{ 530 name_box_def = get_lang("Inbox"); 531 } 532 } 533 else { 534 if(this.name_box_search=='local_root') 535 return; 536 if(this.name_box_search=='local_Inbox') 537 name_box_def = get_lang("Inbox"); 538 else 539 name_box_def = this.name_box_search.substr(6);//Retira o 'local_' 526 540 } 527 541 if( sel.length > 0){ … … 593 607 return false; 594 608 } 609 var local_folders = new Array(); 610 var temp; 595 611 596 612 if(Element("check_all_msg").checked){ 613 this.all_mailboxes(); 597 614 var nm_box = new Array; 598 615 for(var i=0; i < EsearchE.all_boxes.length; i++){ 599 616 nm_box[i] = EsearchE.all_boxes[i] + fields; 617 } 618 if (preferences.use_local_messages == 1) { 619 temp = expresso_local_messages.list_local_folders(); 620 for (var x in temp) { 621 local_folders.push(temp[x][0]); 622 } 600 623 } 601 624 }else{ … … 612 635 for(var i=0; i < sel_combo.options.length; i++){ 613 636 if(sel_combo.options[i].selected == true){ 614 nm_box[nm_box.length] = sel_combo.options[i].value + fields; 637 if(!proxy_mensagens.is_local_folder(sel_combo.options[i].value)) 638 nm_box[nm_box.length] = sel_combo.options[i].value + fields; 639 else 640 local_folders.push(sel_combo.options[i].value.substr(6)); 615 641 } 616 642 } 617 643 } 618 644 var handler = function(data){ 619 if(data == "none"){alert(get_lang("None result was found."));} 645 var tmp; 646 var countTmp= new Array(); 647 if (local_folders.length > 0) { 648 tmp = expresso_local_messages.search(local_folders, fields); 649 if (tmp!=false) { 650 var tmp2 = tmp.substr(2, data.length - 4); 651 countTmp = tmp.split('####'); 652 } 653 } 654 if((data == "none") && (countTmp.length==0)){alert(get_lang("None result was found."));} 655 else if(countTmp.length > 50){alert(get_lang("More than %1 results. Please, try to refine your search.",50));} 620 656 else if(data == "many results"){alert(get_lang("More than %1 results. Please, try to refine your search.",50));} 621 else{EsearchE.mount_result( data);}657 else{EsearchE.mount_result((data=='none')?tmp:(countTmp.length==0)?data:data+tmp);} 622 658 } 623 659 var args = "$this.imap_functions.search_msg"; … … 679 715 win.open(); 680 716 } 717 718 searchE.prototype.aux_local_folder_display = function(folder) { 719 return "(Local) " + lang_folder(folder.substr(6)); 720 } 721 681 722 // Cria o objeto 682 723 var EsearchE; -
trunk/expressoMail1_2/js/shortcut.js
r673 r689 262 262 263 263 selected_shortcut_msgs = selected_shortcut_msgs.substring(0,(selected_shortcut_msgs.length-1)); 264 delete_msgs(current_folder, selected_shortcut_msgs, 'null');264 proxy_mensagens.delete_msgs(current_folder, selected_shortcut_msgs, 'null'); 265 265 } 266 266 else -
trunk/expressoMail1_2/js/wfolders.js
r673 r689 6 6 } 7 7 8 cWFolders.prototype.makeWindow = function(border_id, type)9 { 8 cWFolders.prototype.makeWindowNew = function(border_id, type,from_search) 9 { //Javascript doesn't seems to have polimorfism 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 move_msgs('null',msg_number, border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption);62 proxy_mensagens.proxy_move_messages('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 if (!Element('dftree_wfolders_tree')) 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. 92 93 var folders = tree_folders.getNodesList(cyrus_delimiter); 94 for (var i=1; i<folders.length; i++) 90 95 { 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. 96 if (proxy_mensagens.is_local_folder(folders[i].id) && from_search) { 97 continue; 98 } 99 var nn = new dNode({ 100 id: folders[i].id, 101 caption: lang_folder(folders[i].caption), 102 plusSign: folders[i].plusSign 103 }); 104 wfolders_tree.add(nn, folders[i].parent); 105 106 } 107 Element('wfolders_content_tree').innerHTML = ""; //As buscas não podem incluir mover entre pastas locais, pelo menos por enquanto 108 wfolders_tree.draw(Element('wfolders_content_tree')); 109 n_root.changeState(); 110 wfolders_tree.getNodeById('INBOX')._select(); 111 _this.showWindow(el, type); 112 } 94 113 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); 100 } 101 102 wfolders_tree.draw(Element('wfolders_content_tree')); 103 n_root.changeState(); 104 wfolders_tree.getNodeById('INBOX')._select(); 105 } 106 _this.showWindow(el, type); 114 cWFolders.prototype.makeWindow = function(border_id, type) 115 { 116 this.makeWindowNew(border_id,type,false); 107 117 } 108 118 -
trunk/expressoMail1_2/preferences.php
r673 r689 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 135 162 } 136 163 else //Save Config … … 232 259 else 233 260 $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 else 264 $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 else 269 $GLOBALS['phpgw']->preferences->add('expressoMail','keep_archived_messages',$_POST['keep_archived_messages']); 234 270 235 271 $GLOBALS['phpgw']->preferences->save_repository(); … … 276 312 $GLOBALS['phpgw']->template->set_var('lang_type_signature',lang('Signature type')); 277 313 $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?')); 278 318 $GLOBALS['phpgw']->template->set_var('lang_use_signature',lang('Insert signature automatically in new messages?')); 279 319 -
trunk/expressoMail1_2/templates/default/config.tpl
r673 r689 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> 14 23 </tr> 15 24 <tr bgcolor="{row_on}"> -
trunk/expressoMail1_2/templates/default/preferences.tpl
r673 r689 1 1 2 <script src="js/main.js"></script> 2 3 <center> 3 4 … … 39 40 </td> 40 41 </tr> 42 {open_comment_local_messages_config} 43 <tr bgcolor="{tr_color2}"> 44 <td>{lang_Would_you_like_to_use_local_messages_?}</td> 45 <td align="center"> 46 <select name="use_local_messages" id="use_local_messages" onchange="disable_field(document.getElementById('keep_archived_messages'),'document.getElementById(\'use_local_messages\').value==\'0\'')"> 47 <option {use_local_messages_option_No_selected} value="0">{lang_No}</option> 48 <option {use_local_messages_option_Yes_selected} value="1">{lang_Yes}</option> 49 </select> 50 </td> 51 </tr> 52 <tr bgcolor="{tr_color1}"> 53 <td>{lang_Would_you_like_to_keep_archived_messages_?}</td> 54 <td align="center"> 55 <select name="keep_archived_messages" id="keep_archived_messages"> 56 <option {keep_archived_messages_option_No_selected} value="0">{lang_No}</option> 57 <option {keep_archived_messages_option_Yes_selected} value="1">{lang_Yes}</option> 58 </select> 59 </td> 60 </tr> 61 {close_comment_local_messages_config} 41 62 <tr bgcolor="{tr_color2}"> 42 63 <td>{lang_delete_and_show_previous_message}</td> … … 161 182 </center> 162 183 <script language="JavaScript" type="text/javascript"> 184 disable_field(document.getElementById('keep_archived_messages'),'document.getElementById(\'use_local_messages\').value==\'0\'') 163 185 var form = document.forms[0]; 164 186
Note: See TracChangeset
for help on using the changeset viewer.