- Timestamp:
- 02/06/09 15:34:17 (15 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/inc/class.exporteml.inc.php
r601 r670 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
r660 r670 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 { … … 317 366 //Substituição de links em email para abrir no próprio expresso 318 367 $body = ereg_replace("<a[^>]*href=[\'\"]mailto:([^\"\']+)[\'\"]>([^<]+)</a>","<a href=\"javascript:new_message_to('\\1')\">\\2</a>",$return_get_body['body']); 319 368 320 369 $return['body'] = $body; 321 370 $return['attachments'] = $return_get_body['attachments']; … … 550 599 $return['Size'] = $header->Size; 551 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!!! … … 2369 2441 function search($params) 2370 2442 { 2371 include ("class.imap_attachment.inc.php");2443 include_once("class.imap_attachment.inc.php"); 2372 2444 $imap_attachment = new imap_attachment(); 2373 2445 $criteria = $params['criteria']; … … 2489 2561 $retorno = ""; 2490 2562 $mbox_stream = ""; 2491 $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 2492 2570 if($search){ 2493 2571 $search_criteria = ''; 2494 foreach($search as $tmp) 2495 { 2572 foreach($search as $tmp){ 2496 2573 $tmp1 = explode("##",$tmp); 2497 2574 $name_box = $tmp1[0]; … … 2750 2827 $array_parts_attachments = array(); 2751 2828 $array_parts_attachments['names'] = ''; 2752 include ("class.imap_attachment.inc.php");2829 include_once("class.imap_attachment.inc.php"); 2753 2830 $imap_attachment = new imap_attachment(); 2754 2831 -
trunk/expressoMail1_2/index.php
r653 r670 58 58 } 59 59 60 61 //Local messages 62 $_SESSION['phpgw_info']['server']['expressomail']['enable_local_messages'] = $current_config['enable_local_messages']; 63 60 64 // Get Data from ldap_manager and emailadmin. 61 65 $ldap_manager = CreateObject('contactcenter.bo_ldap_manager'); … … 73 77 $_SESSION['phpgw_info']['expressomail']['user']['email'] = $GLOBALS['phpgw']->preferences->values['email']; 74 78 75 79 if($current_config['enable_local_messages']!='True') { 80 $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'] = 0; 81 } 82 76 83 $_SESSION['phpgw_info']['user']['preferences']['expressoMail'] = array( 77 84 'voip_enabled' => $voip_enabled, … … 97 104 'number_of_contacts' => $current_config['expressoMail_Number_of_dynamic_contacts'] ? $current_config['expressoMail_Number_of_dynamic_contacts'] : "0", 98 105 'use_cache' => $current_config['expressoMail_enable_cache'], 99 'notification_domains' => $current_config['expressoMail_notification_domains'] 100 101 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" 102 109 103 110 ); … … 160 167 161 168 // End Set Imap Folder names options 169 //User info 170 echo "<script language='javascript'> var account_id = ".$GLOBALS['phpgw_info']['user']['account_id'].";</script>"; 162 171 163 172 $obj = createobject("expressoMail1_2.functions"); … … 172 181 "js/InfoContact.js," . 173 182 "js/main.js," . 183 "js/gears_init.js," . 184 "js/local_messages.js," . 185 "js/messages_proxy.js," . 174 186 "js/rich_text_editor.js," . 175 187 "js/wfolders.js,", -
trunk/expressoMail1_2/js/TreeS.js
r320 r670 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' style='padding:0 .25em 0 .25em;width:auto;overflow:visible;' 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' style='padding:0 .25em 0 .25em;width:auto;overflow:visible;' 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' style='padding:0 .25em 0 .25em;width:auto;overflow:visible;' value='"+get_lang('Rename folder')+"' onclick='proxy_mensagens.proxy_rename_folder()'></td>"+ 45 45 "</tr>"+ 46 46 "<tr>"+ 47 "<td><input type='button' value='"+get_lang('Export messages')+"' onclick='ttreeBox.export_all_msg()'></td>"+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>"+ 48 48 "</tr>"+ 49 49 "<tr><td><br><br><br><br><br></td></tr>"+ 50 "<tr><td><input type='button' value='"+get_lang('Close')+"' onclick='ttree.close_win()'></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>"+ 51 51 "</table>"; 52 52 tree.appendChild(div_buttons); … … 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
r345 r670 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
r651 r670 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]); 682 } 767 } 683 768 return fn; 684 769 } -
trunk/expressoMail1_2/js/doiMenuData.js
r320 r670 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
r331 r670 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
r660 r670 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 } … … 606 696 td_element3.id = "td_who_"+ headers_msgs.msg_number; 607 697 td_element3.setAttribute("width", "30%"); 608 var _onclick = function(){InfoContact.hide(); cExecute("$this.imap_functions.get_info_msg&msg_number="+ headers_msgs.msg_number + "&msg_folder=" + msg_folder, show_msg);};698 var _onclick = function(){InfoContact.hide();proxy_mensagens.get_msg(headers_msgs.msg_number, msg_folder,true, show_msg);}; 609 699 td_element3.onclick = _onclick; 610 700 td_element3.innerHTML = ' '; … … 726 816 search_box_type = search; 727 817 728 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); 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); 729 820 current_page = 1; 730 821 //Comentado para nao sobrepor o numero de msgs nao lidas ao utilizar os filtros … … 952 1043 option_delete.id = 'msg_opt_delete_'+ID; 953 1044 option_delete.className = 'message_options'; 954 option_delete.onclick = function(){ delete_msgs(info_msg.msg_folder, info_msg.msg_number, ID);};1045 option_delete.onclick = function(){proxy_mensagens.delete_msgs(info_msg.msg_folder, info_msg.msg_number, ID);}; 955 1046 option_delete.innerHTML = get_lang('Delete'); 956 1047 options.appendChild(space3); … … 974 1065 975 1066 var option_mark_as = '<span>'+get_lang("Mark as")+'</span>: '; 976 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>, ';977 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>, ';978 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> | ';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> | '; 979 1070 980 1071 var option_move = '<span class="message_options" onclick=wfolders.makeWindow("'+ID+'","move_to");>'+get_lang("Move")+'</span> | '; … … 982 1073 var option_reply_without_history = '<span class="message_options" onclick=new_message("reply_without_history","'+ID+'");>'+get_lang("Reply without history")+'</span> | '; 983 1074 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> | '; 984 var option_source_msg = '<span class="message_options" onclick= source_msg("'+ID+'","'+url_encode(info_msg.msg_folder)+'");>'+get_lang("Message Font")+'</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>'; 985 1076 986 1077 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; … … 1011 1102 var option_edit = '<span class="message_options" onclick="new_message(\'edit\',\''+ID+'\');">'+get_lang('Edit')+'</span> | '; 1012 1103 var option_print = '<span class="message_options" onclick="print_msg(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Print')+'</span> | '; 1013 var option_delete = '<span class="message_options" onclick=" delete_msgs(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Delete')+'</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> | '; 1014 1105 var option_hide_more = document.createElement("SPAN"); 1015 1106 option_hide_more.className = 'message_options'; … … 1097 1188 from_values.type = "HIDDEN"; 1098 1189 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 1099 1197 tr1.appendChild(td1); 1100 1198 tr1.appendChild(from); 1101 1199 tr1.appendChild(from_values); 1200 tr1.appendChild(local_message); 1201 1202 1203 1102 1204 if (info_msg.reply_to){ 1103 1205 var tr11 = document.createElement("TR"); … … 1318 1420 for (var i=0; i<info_msg.attachments.length; i++){ 1319 1421 var link_attachment = document.createElement("A"); 1320 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+"')"); 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+"')"); 1321 1424 link_attachment.innerHTML = url_decode(info_msg.attachments[i].name); 1322 1425 msg_size = info_msg.attachments[i].fsize; … … 1573 1676 } 1574 1677 } 1678 1575 1679 td_to.appendChild(input_to); 1680 1681 var forwarded_local_message = document.createElement("INPUT"); //Hidden para indicar se é um forward de uma mensagem local 1682 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); 1576 1687 1577 1688 var img_search = document.createElement("IMG"); … … 2137 2248 { 2138 2249 //delete_all_selected_msgs_imap(); 2139 delete_msgs(get_current_folder(),'selected','null');2250 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 2140 2251 } 2141 2252 } … … 2145 2256 { 2146 2257 //delete_all_selected_msgs_imap(); 2147 delete_msgs(get_current_folder(),'selected','null');2258 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 2148 2259 } 2149 2260 } … … 2244 2355 { 2245 2356 //delete_all_selected_msgs_imap(); 2246 delete_msgs(get_current_folder(),'selected','null');2357 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 2247 2358 } 2248 2359 } … … 2252 2363 { 2253 2364 //delete_all_selected_msgs_imap(); 2254 delete_msgs(get_current_folder(),'selected','null');2365 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 2255 2366 } 2256 2367 } … … 2337 2448 } 2338 2449 function draw_footer_box(num_msgs){ 2450 folder = get_current_folder(); 2339 2451 var span_R = Element("table_message"); 2340 2452 var span_options = Element("span_options"); … … 2347 2459 2348 2460 span_options.innerHTML = 2349 '<span title="'+get_lang("Delete")+'" style="margin-left:8px" class="message_options" onclick= delete_msgs(\'null\',\'selected\',\'null\')>'+get_lang("Delete")+'</span> | '+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> | '+ 2350 2462 '<span title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow(\"\",\"move_to\")>'+get_lang("Move")+'</span> | '+ 2351 2463 '<span title="'+get_lang("Print")+'" class="message_options" onclick=print_all()>'+get_lang("Print")+'</span> | '+ 2352 2464 '<span title="'+get_lang("Export")+'" class="message_options" onclick="export_all_selected_msgs()">'+get_lang("Export")+'</span> | ' + 2353 2465 '<span title="'+get_lang("Import")+'" class="message_options" onclick="import_window()">'+get_lang("Import")+'</span>'; 2354 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>'; 2355 2468 if (use_spam_filter) { 2356 2469 if ( get_current_folder() == 'INBOX'+cyrus_delimiter+'Spam' ) { -
trunk/expressoMail1_2/js/filter.js
r564 r670 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
r660 r670 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 } 304 319 } 320 305 321 selected_messages = selected_messages.substring(0,(selected_messages.length-1)); 306 322 var handler_move_search_msgs = function(data){ … … 334 350 for (i = 0; i < selected_msg_array.length; i++){ 335 351 var tr = Element(selected_msg_array[i]); 336 352 selected_param += ','+tr.name+';'+tr.id; 337 353 } 338 354 } … … 340 356 { 341 357 var tr=Element(selected_messages); 358 alert(tr.name); 342 359 selected_param=tr.name+';'+tr.id; 343 360 } … … 348 365 params = "&delete=true"; 349 366 } 350 351 367 params += "&selected_messages="+url_encode(selected_param); 352 368 if(new_folder) { … … 354 370 params += "&new_folder_name="+url_encode(new_folder_name); 355 371 } 372 356 373 cExecute ("$this.imap_functions.move_search_messages", handler_move_search_msgs, params); 357 374 } … … 360 377 } 361 378 362 function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name){ 379 function move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,show_success_msg){ 380 363 381 if (! folder || folder == 'null') 364 382 folder = Element("input_folder_"+msgs_number+"_r") ? Element("input_folder_"+msgs_number+"_r").value : get_current_folder(); … … 424 442 } 425 443 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)); 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 431 451 if (data.border_ID.indexOf('r') != -1){ 432 452 if (parseInt(preferences.delete_and_show_previous_message) && folder == get_current_folder()){ … … 455 475 write_msg(get_lang('No selected message.')); 456 476 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 locais 489 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 else 503 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 mensagens 507 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 else 515 update_menu(); 516 if(sucess) 517 write_msg(get_lang("selected messages have been archived")); 518 else 519 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 else 527 write_msg(get_lang('No selected message.')); 528 457 529 } 458 530 … … 501 573 else 502 574 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; 503 582 } 504 583 … … 720 799 break; 721 800 case "forward": 801 data.is_local_message = (document.getElementById("is_local_"+border_ID).value=="1")?true:false; 722 802 msg_forward_from = document.createElement('input'); 723 803 msg_forward_from.id = "msg_forward_from_" + new_border_ID; … … 728 808 document.getElementById("subject_" + new_border_ID).value = "Fw: " + data.subject; 729 809 var divFiles = Element("divFiles_"+new_border_ID); 810 var campo_arquivo 730 811 if (Element("attachments_" + border_ID)){ 731 812 var attachments = document.getElementById("attachments_" + border_ID).childNodes; 732 813 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, que 815 não deve ser renderizado. Esse link não possui a string 816 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; 733 821 var link_attachment = document.createElement("A"); 734 822 link_attachment.setAttribute("href", attachments[i].href); 735 823 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); 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 } 743 847 } 744 848 } … … 1484 1588 else 1485 1589 set_message_flag(msgs_number, "unseen"); 1486 move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name);1590 proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name); 1487 1591 } 1488 1592 … … 1504 1608 // debug 1505 1609 // alert(data); 1506 move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name);1610 proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name); 1507 1611 } 1508 1612 if(msgs_number == 'selected') -
trunk/expressoMail1_2/js/search.js
r667 r670 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>"+ … … 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); 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); … … 505 508 if(Element("border_id_" + uid_msg + "_r")){alert(get_lang("This message is already opened!"));} 506 509 else{draw_message(data,create_border(url_decode(subject), uid_msg + "_r"));} 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);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);*/ 512 515 513 516 } … … 516 519 searchE.prototype.add_mailboxes = function(){ 517 520 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"); 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_' 526 539 } 527 540 if( sel.length > 0){ … … 593 606 return false; 594 607 } 608 var local_folders = new Array(); 609 var temp; 595 610 596 611 if(Element("check_all_msg").checked){ 612 this.all_mailboxes(); 597 613 var nm_box = new Array; 598 614 for(var i=0; i < EsearchE.all_boxes.length; i++){ 599 615 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 } 600 622 } 601 623 }else{ … … 612 634 for(var i=0; i < sel_combo.options.length; i++){ 613 635 if(sel_combo.options[i].selected == true){ 614 nm_box[nm_box.length] = sel_combo.options[i].value + fields; 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)); 615 640 } 616 641 } 617 642 } 618 643 var handler = function(data){ 619 if(data == "none"){alert(get_lang("None result was found."));} 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));} 620 655 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);}656 else{EsearchE.mount_result((data=='none')?tmp:(countTmp.length==0)?data:data+tmp);} 622 657 } 623 658 var args = "$this.imap_functions.search_msg"; … … 679 714 win.open(); 680 715 } 716 717 searchE.prototype.aux_local_folder_display = function(folder) { 718 return "(Local) " + lang_folder(folder.substr(6)); 719 } 720 681 721 // Cria o objeto 682 722 var EsearchE; -
trunk/expressoMail1_2/js/shortcut.js
r631 r670 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
r660 r670 6 6 } 7 7 8 cWFolders.prototype.makeWindow = function(border_id, type)9 { 8 cWFolders.prototype.makeWindowNew = function(border_id, type,from_search) 9 { //Infelizmente javascript não parece suportar o polimorfismo... 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
r500 r670 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
r607 r670 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
r413 r670 1 1 <script src="js/main.js"></script> 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} 41 61 <tr bgcolor="{tr_color2}"> 42 62 <td>{lang_delete_and_show_previous_message}</td> … … 161 181 </center> 162 182 <script language="JavaScript" type="text/javascript"> 183 disable_field(document.getElementById('keep_archived_messages'),'document.getElementById(\'use_local_messages\').value==\'0\'') 163 184 var form = document.forms[0]; 164 185 -
trunk/mobile/templates/default/body_email.tpl
r524 r670 25 25 <td width='2%' align='left' valign='top'>{varbuttom1}</td> 26 26 <td width='2%' align='left' valign='top'>{varbuttom2}</td> 27 <td width='94%' align='left' valign='top'>{varbuttom3}</td> 27 <td width='2%' align='left' valign='top'>{varbuttom3}</td> 28 <td width='92%' align='left' valign='top'>{varbuttom4}</td> 28 29 </tr> 29 30 </table>
Note: See TracChangeset
for help on using the changeset viewer.