Changeset 1342
- Timestamp:
- 08/19/09 11:10:14 (15 years ago)
- Location:
- branches/1.2
- Files:
-
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/1.2/expressoMail1_2/inc/class.exporteml.inc.php
r711 r1342 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 = dirname( __FILE__ ) . '/../tmpLclAtt';192 193 $phpheader = "<?php header('Content-Type: text/plain');194 header('Cache-Control: must-revalidate, post-check=0, pre-check=0');195 header('Pragma: public');196 header('Expires: 0'); // set expiration time197 header('Content-Disposition: attachment; filename=\"fonte_da_mensagem.txt\"');?>";198 199 $this->connectImap();200 $header = $this-> getHeader($id_msg);201 $body = $this-> getBody($id_msg);202 203 $file = "source_".md5(microtime()).".php";204 $f = fopen($tempDir.'/'.$file,"w");205 fputs($f,$phpheader.$header ."\r\n\r\n". $body);206 fclose($f);207 $urlPath = 'tmpLclAtt/'.$file;208 209 imap_close($this->mbox_stream);210 return $urlPath;211 }212 213 188 function remove_accents($string) { 214 189 /* … … 220 195 "áàâãäéèêëíìîïóòôõöúùûüç?\"!@#$%š&*()-=+Ž`[]{}~^,<>;:/?\\|¹²³£¢¬§ªº°ÁÀÂÃÄÉÈÊËÍÌÎÏÓÒÔÕÖÚÙÛÜÇ", 221 196 "aaaaaeeeeiiiiooooouuuuc__________________________________________AAAAAEEEEIIIIOOOOOUUUUC"); 222 }223 224 function get_attachments_in_array($params) {225 $return_attachments = array();226 227 $id_number = $params['num_msg'];228 $attachments =unserialize(rawurldecode($params['s_attachments']));229 230 $tempDir = dirname( __FILE__ ) . '/../tmpLclAtt';231 // $tempDir = $_SERVER["DOCUMENT_ROOT"]."tmpLclAtt";232 $tempSubDir = md5(microtime());233 exec('mkdir ' . $tempDir . '/'.$tempSubDir.'; cd ' . $tempDir . '/'.$tempSubDir);234 235 $this-> folder = $params['folder'];236 $this->folder = mb_convert_encoding($this->folder, "UTF7-IMAP","UTF-8");237 $this->connectImap();238 239 include_once("class.imap_attachment.inc.php");240 241 $imap_attachment = new imap_attachment();242 $attachments = $imap_attachment->download_attachment($this->mbox_stream, $id_number);243 244 245 246 foreach($attachments as $i => $attachment){247 if($i && $i == 'names')248 continue;249 $fileNameReal = $this->remove_accents($attachment['name']);250 $ContentType = $this->getFileType($fileNameReal);251 $fileName = $fileNameReal . ".php";252 $f = fopen($tempDir . '/'.$tempSubDir.'/'.$fileName,"wb");253 if(!$f)254 return $tempDir . '/'.$tempSubDir.'/'.$fileName;255 256 $fileContent = imap_fetchbody($this->mbox_stream, $id_number,$attachment['pid'], FT_UID);257 $urlPath = 'tmpLclAtt/'.$tempSubDir.'/'.$fileName;258 259 $headers = "<?php header('Content-Type: ".$ContentType."');260 header('Cache-Control: must-revalidate, post-check=0, pre-check=0');261 header('Pragma: public');262 header('Expires: 0'); // set expiration time263 header('Content-Disposition: attachment; filename=\"". addslashes($fileNameReal) ."\"');\n echo ";264 265 if($attachment['encoding'] == 'base64') {266 $headers.=" imap_base64('".$fileContent."');?>";267 }268 else if($attachment['encoding'] == 'quoted_printable_decode') {269 $headers.=" quoted_printable_decode('".$fileContent."');?>";270 }271 else {272 $headers.=" '".$fileContent."';?>";273 }274 275 fputs($f,$headers);276 277 array_push($return_attachments,array('name' => $fileName,'url' => $urlPath,'pid' =>$attachment['pid']));278 fclose($f);279 }280 imap_close($this->mbox_stream);281 return $return_attachments;282 }283 284 private function getFileType($nameFile) {285 $strFileType = strrev(substr(strrev(strtolower($nameFile)),0,4));286 $ContentType = "application/octet-stream";287 if ($strFileType == ".asf")288 $ContentType = "video/x-ms-asf";289 if ($strFileType == ".avi")290 $ContentType = "video/avi";291 if ($strFileType == ".doc")292 $ContentType = "application/msword";293 if ($strFileType == ".zip")294 $ContentType = "application/zip";295 if ($strFileType == ".xls")296 $ContentType = "application/vnd.ms-excel";297 if ($strFileType == ".gif")298 $ContentType = "image/gif";299 if ($strFileType == ".jpg" || $strFileType == "jpeg")300 $ContentType = "image/jpeg";301 if ($strFileType == ".wav")302 $ContentType = "audio/wav";303 if ($strFileType == ".mp3")304 $ContentType = "audio/mpeg3";305 if ($strFileType == ".mpg" || $strFileType == "mpeg")306 $ContentType = "video/mpeg";307 if ($strFileType == ".rtf")308 $ContentType = "application/rtf";309 if ($strFileType == ".htm" || $strFileType == "html")310 $ContentType = "text/html";311 if ($strFileType == ".xml")312 $ContentType = "text/xml";313 if ($strFileType == ".xsl")314 $ContentType = "text/xsl";315 if ($strFileType == ".css")316 $ContentType = "text/css";317 if ($strFileType == ".php")318 $ContentType = "text/php";319 if ($strFileType == ".asp")320 $ContentType = "text/asp";321 if ($strFileType == ".pdf")322 $ContentType = "application/pdf";323 if ($strFileType == ".txt")324 $ContentType = "text/plain";325 if ($strFileType == ".log")326 $ContentType = "text/plain";327 if ($strFileType == ".wmv")328 $ContentType = "video/x-ms-wmv";329 if ($strFileType == ".sxc")330 $ContentType = "application/vnd.sun.xml.calc";331 if ($strFileType == ".odt")332 $ContentType = "application/vnd.oasis.opendocument.text";333 if ($strFileType == ".stc")334 $ContentType = "application/vnd.sun.xml.calc.template";335 if ($strFileType == ".sxd")336 $ContentType = "application/vnd.sun.xml.draw";337 if ($strFileType == ".std")338 $ContentType = "application/vnd.sun.xml.draw.template";339 if ($strFileType == ".sxi")340 $ContentType = "application/vnd.sun.xml.impress";341 if ($strFileType == ".sti")342 $ContentType = "application/vnd.sun.xml.impress.template";343 if ($strFileType == ".sxm")344 $ContentType = "application/vnd.sun.xml.math";345 if ($strFileType == ".sxw")346 $ContentType = "application/vnd.sun.xml.writer";347 if ($strFileType == ".sxq")348 $ContentType = "application/vnd.sun.xml.writer.global";349 if ($strFileType == ".stw")350 $ContentType = "application/vnd.sun.xml.writer.template";351 if ($strFileType == ".ps")352 $ContentType = "application/postscript";353 if ($strFileType == ".pps")354 $ContentType = "application/vnd.ms-powerpoint";355 if ($strFileType == ".odt")356 $ContentType = "application/vnd.oasis.opendocument.text";357 if ($strFileType == ".ott")358 $ContentType = "application/vnd.oasis.opendocument.text-template";359 if ($strFileType == ".oth")360 $ContentType = "application/vnd.oasis.opendocument.text-web";361 if ($strFileType == ".odm")362 $ContentType = "application/vnd.oasis.opendocument.text-master";363 if ($strFileType == ".odg")364 $ContentType = "application/vnd.oasis.opendocument.graphics";365 if ($strFileType == ".otg")366 $ContentType = "application/vnd.oasis.opendocument.graphics-template";367 if ($strFileType == ".odp")368 $ContentType = "application/vnd.oasis.opendocument.presentation";369 if ($strFileType == ".otp")370 $ContentType = "application/vnd.oasis.opendocument.presentation-template";371 if ($strFileType == ".ods")372 $ContentType = "application/vnd.oasis.opendocument.spreadsheet";373 if ($strFileType == ".ots")374 $ContentType = "application/vnd.oasis.opendocument.spreadsheet-template";375 if ($strFileType == ".odc")376 $ContentType = "application/vnd.oasis.opendocument.chart";377 if ($strFileType == ".odf")378 $ContentType = "application/vnd.oasis.opendocument.formula";379 if ($strFileType == ".odi")380 $ContentType = "application/vnd.oasis.opendocument.image";381 if ($strFileType == ".ndl")382 $ContentType = "application/vnd.lotus-notes";383 return $ContentType;384 197 } 385 198 -
branches/1.2/expressoMail1_2/inc/class.imap_functions.inc.php
r708 r1342 10 10 'get_range_msgs' => True, 11 11 'get_info_msg' => True, 12 'get_info_msgs' => True,13 12 'get_folders_list' => True, 14 13 'import_msgs' => True … … 71 70 function get_range_msgs2($params) 72 71 { 72 include("class.imap_attachment.inc.php"); 73 $imap_attachment = new imap_attachment(); 73 74 $folder = $params['folder']; 74 75 $msg_range_begin = $params['msg_range_begin']; … … 84 85 if($num_msgs) { 85 86 for ($msg_range_begin; (($msg_range_begin <= $msg_range_end) && ($msg_range_begin <= $num_msgs)); $msg_range_begin++) 86 { 87 $msg_number = $sort_array_msg[$msg_range_begin-1]; 88 $temp = $this->get_info_head_msg($msg_number); 89 if(!$temp) 90 return false; 91 92 $return[$i] = $temp; 93 $i++; 94 } 95 } 96 $return['num_msgs'] = $num_msgs; 97 98 return $return; 99 } 100 101 function get_info_head_msg($msg_number) { 102 $head_array = array(); 103 include_once("class.imap_attachment.inc.php"); 104 $imap_attachment = new imap_attachment(); 105 106 /*A função imap_headerinfo não traz o cabeçalho completo, e sim alguns 107 * atributos do cabeçalho. Como eu preciso do atributo Importance 108 * para saber se o email é importante ou não, uso abaixo a função 109 * imap_fetchheader e busco o atributo importance nela para passar 110 * para as funções ajax. Isso faz com que eu acesse o cabeçalho 111 * duas vezes e de duas formas diferentes, mas em contrapartida, eu 112 * não preciso reimplementar o método utilizando o fetchheader. 113 * Como as mensagens são renderizadas de X em X, não parece ter 114 * perda considerável de performance. 115 */ 116 $flag = preg_match('/importance *: *(.*)\r/i', 87 { 88 $msg_number = $sort_array_msg[$msg_range_begin-1]; 89 90 /*A função imap_headerinfo não traz o cabeçalho completo, e sim alguns 91 * atributos do cabeçalho. Como eu preciso do atributo Importance 92 * para saber se o email é importante ou não, uso abaixo a função 93 * imap_fetchheader e busco o atributo importance nela para passar 94 * para as funções ajax. Isso faz com que eu acesse o cabeçalho 95 * duas vezes e de duas formas diferentes, mas em contrapartida, eu 96 * não preciso reimplementar o método utilizando o fetchheader. 97 * Como as mensagens são renderizadas em um número pequeno por vez, 98 * não parece ter perda considerável de performance. 99 */ 100 $flag = preg_match('/importance *: *(.*)\r/i', 117 101 imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)) 118 102 ,$importance); 119 $head_array['Importance'] = $flag==0?"Normal":$importance[1];120 121 122 $header = $this->get_header($msg_number);103 $return[$i]['Importance'] = $flag==0?"":$importance[1]; 104 105 106 $header = $this->get_header($msg_number); 123 107 if (!is_object($header)) 124 return false; 125 $head_array['Recent'] = $header->Recent; 126 $head_array['Unseen'] = $header->Unseen; 127 if($header->Answered =='A' && $header->Draft == 'X'){ 128 $head_array['Forwarded'] = 'F'; 129 } 130 else { 131 $head_array['Answered'] = $header->Answered; 132 $head_array['Draft'] = $header->Draft; 133 } 134 $head_array['Deleted'] = $header->Deleted; 135 $head_array['Flagged'] = $header->Flagged; 136 137 $head_array['msg_number'] = $msg_number; 138 //$return[$i]['msg_folder'] = $folder; 139 140 $date_msg = gmdate("d/m/Y",$header->udate); 141 if (date("d/m/Y") == $date_msg) 142 $head_array['udate'] = gmdate("H:i",$header->udate); 143 else 144 $head_array['udate'] = $date_msg; 145 146 $head_array['aux_date'] = $date_msg; //Auxiliar apenas para mensagens locais. 147 148 $from = $header->from; 149 $head_array['from'] = array(); 150 $tmp = imap_mime_header_decode($from[0]->personal); 151 $head_array['from']['name'] = $this->decode_string($tmp[0]->text); 152 $head_array['from']['email'] = $this->decode_string($from[0]->mailbox) . "@" . $from[0]->host; 153 if(!$head_array['from']['name']) 154 $head_array['from']['name'] = $head_array['from']['email']; 155 $to = $header->to; 156 $head_array['to'] = array(); 157 $tmp = imap_mime_header_decode($to[0]->personal); 158 $head_array['to']['name'] = $this->decode_string($this->decode_string($tmp[0]->text)); 159 $head_array['to']['email'] = $this->decode_string($to[0]->mailbox) . "@" . $to[0]->host; 160 if(!$head_array['to']['name']) 161 $head_array['to']['name'] = $head_array['to']['email']; 162 $head_array['subject'] = $this->decode_string($header->fetchsubject); 163 164 $head_array['Size'] = $header->Size; 165 166 $head_array['attachment'] = array(); 167 $head_array['attachment'] = $imap_attachment->get_attachment_headerinfo($this->mbox, $msg_number); 168 169 return $head_array; 108 return false; 109 110 $return[$i]['Recent'] = $header->Recent; 111 $return[$i]['Unseen'] = $header->Unseen; 112 if($header->Answered =='A' && $header->Draft == 'X'){ 113 $return[$i]['Forwarded'] = 'F'; 114 } 115 else { 116 $return[$i]['Answered'] = $header->Answered; 117 $return[$i]['Draft'] = $header->Draft; 118 } 119 $return[$i]['Deleted'] = $header->Deleted; 120 $return[$i]['Flagged'] = $header->Flagged; 121 122 $return[$i]['msg_number'] = $msg_number; 123 //$return[$i]['msg_folder'] = $folder; 124 125 $date_msg = gmdate("d/m/Y",$header->udate); 126 if (gmdate("d/m/Y") == $date_msg) 127 $return[$i]['udate'] = gmdate("H:i",$header->udate); 128 else 129 $return[$i]['udate'] = $date_msg; 130 131 $from = $header->from; 132 $return[$i]['from'] = array(); 133 $tmp = imap_mime_header_decode($from[0]->personal); 134 $return[$i]['from']['name'] = $this->decode_string($tmp[0]->text); 135 $return[$i]['from']['email'] = $this->decode_string($from[0]->mailbox) . "@" . $from[0]->host; 136 if(!$return[$i]['from']['name']) 137 $return[$i]['from']['name'] = $return[$i]['from']['email']; 138 $to = $header->to; 139 $return[$i]['to'] = array(); 140 $tmp = imap_mime_header_decode($to[0]->personal); 141 $return[$i]['to']['name'] = $this->decode_string($this->decode_string($tmp[0]->text)); 142 $return[$i]['to']['email'] = $this->decode_string($to[0]->mailbox) . "@" . $to[0]->host; 143 if(!$return[$i]['to']['name']) 144 $return[$i]['to']['name'] = $return[$i]['to']['email']; 145 $return[$i]['subject'] = $this->decode_string($header->fetchsubject); 146 147 $return[$i]['Size'] = $header->Size; 148 149 $return[$i]['attachment'] = array(); 150 $return[$i]['attachment'] = $imap_attachment->get_attachment_headerinfo($this->mbox, $msg_number); 151 $i++; 152 } 153 } 154 $return['num_msgs'] = $num_msgs; 155 156 return $return; 170 157 } 171 158 … … 310 297 } 311 298 312 /**313 *314 * @return315 * @param $params Object316 */317 function get_info_msgs($params) {318 include_once("class.exporteml.inc.php");319 $return = array();320 $new_params = array();321 $attach_params = array();322 $new_params["msg_folder"]=$params["folder"];323 $attach_params["folder"] = $params["folder"];324 $msgs = explode(",",$params["msgs_number"]);325 $exporteml = new ExportEml();326 foreach($msgs as $msg_number) {327 $new_params["msg_number"] = $msg_number;328 //ini_set("display_errors","1");329 $msg_info = $this->get_info_msg($new_params);330 331 $this->mbox = $this->open_mbox($params['folder']); //Não sei porque, mas se não abrir de novo a caixa dá erro.332 $msg_info['header'] = $this->get_info_head_msg($msg_number);333 334 $attach_params["num_msg"] = $msg_number;335 $msg_info['array_attach'] = $exporteml->get_attachments_in_array($attach_params);336 $msg_info['url_export_file'] = $exporteml->export_to_archive($msg_number,$params["folder"]);337 imap_close($this->mbox);338 $this->mbox=false;339 340 341 array_push($return,serialize($msg_info));342 343 }344 345 return $return;346 }347 348 299 function get_info_msg($params) 349 300 { … … 366 317 //Substituição de links em email para abrir no próprio expresso 367 318 $body = ereg_replace("<a[^>]*href=[\'\"]mailto:([^\"\']+)[\'\"]>([^<]+)</a>","<a href=\"javascript:new_message_to('\\1')\">\\2</a>",$return_get_body['body']); 368 319 369 320 $return['body'] = $body; 370 321 $return['attachments'] = $return_get_body['attachments']; … … 598 549 $return['subject'] = $this->decode_string($header->fetchsubject); 599 550 $return['Size'] = $header->Size; 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 551 $return['reply_toaddress'] = $header->reply_toaddress; 607 552 return $return; 608 553 } … … 1072 1017 function refresh($params) 1073 1018 { 1074 include _once("class.imap_attachment.inc.php");1019 include("class.imap_attachment.inc.php"); 1075 1020 $imap_attachment = new imap_attachment(); 1076 1021 $folder = $params['folder']; … … 1152 1097 imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)) 1153 1098 ,$importance); 1154 $return[$i]['Importance'] = $flag==0?" Normal":$importance[1];1099 $return[$i]['Importance'] = $flag==0?"":$importance[1]; 1155 1100 1156 1101 $header = $this->get_header($msg_number); … … 1392 1337 return "The server denied your request to send a mail, you cannot use this mail address."; 1393 1338 } 1394 1395 //new_message_to backs to mailto: pattern1396 $params['body'] = eregi_replace("<a href=\"javascript:new_message_to\('([^>]+)'\)\">[^>]+</a>","<a href='mailto:\\1'>\\1</a>",$params['body']);1397 1398 1339 $toaddress = implode(',',$db->getAddrs(explode(',',$params['input_to']))); 1399 1340 $ccaddress = implode(',',$db->getAddrs(explode(',',$params['input_cc']))); … … 1407 1348 $attachments = $params['FILES']; 1408 1349 $forwarding_attachments = $params['forwarding_attachments']; 1409 $local_attachments = $params['local_attachments'];1410 1350 1411 1351 $folder =$params['folder']; … … 1491 1431 //////////////////////////////////////////////////////////////////////////////////////////////////// 1492 1432 // Build Uploading Attachments!!! 1493 if ( (count($attachments)) && ($params['is_local_forward']!="1")) //Caso seja forward normal...1433 if (count($attachments)) 1494 1434 { 1495 1435 $total_uploaded_size = 0; … … 1503 1443 return $this->parse_error("message file too big"); 1504 1444 } 1505 else if(($params['is_local_forward']=="1") && (count($local_attachments))) { //Caso seja forward de mensagens locais1506 1507 $total_uploaded_size = 0;1508 $upload_max_filesize = str_replace("M","",ini_get('upload_max_filesize')) * 1024 * 1024;1509 foreach($local_attachments as $local_attachment) {1510 $file_description = unserialize(rawurldecode($local_attachment));1511 $tmp = array_values($file_description);1512 foreach($file_description as $i => $descriptor){1513 $tmp[$i] = eregi_replace('\'*\'','',$descriptor);1514 }1515 $mail->AddAttachment($_FILES[$tmp[1]]['tmp_name'], $tmp[2], "base64", $this->get_file_type($tmp[2])); // optional name1516 $total_uploaded_size = $total_uploaded_size + $_FILES[$tmp[1]]['size'];1517 }1518 if( $total_uploaded_size > $upload_max_filesize)1519 return 'false';1520 }1521 1445 //////////////////////////////////////////////////////////////////////////////////////////////////// 1522 1446 // Build Forwarding Attachments!!! … … 1719 1643 } 1720 1644 1721 /**1722 * Deprecated1723 *1724 * Replaced for the method messages_sort1725 */1726 function imap_sortfrom($sort_box_reverse, $search_box_type)1727 {1728 $sortfrom = array();1729 $sortfrom_uid = array();1730 1731 $num_msgs = imap_num_msg($this->mbox);1732 for ($i=1; $i<=$num_msgs; $i++)1733 {1734 $header = $this->get_header(imap_uid($this->mbox,$i));1735 // List UNSEEN messages.1736 if($search_box_type == "UNSEEN" && (!trim($header->Recent) && !trim($header->Unseen))){1737 continue;1738 }1739 // List SEEN messages.1740 elseif($search_box_type == "SEEN" && (trim($header->Recent) || trim($header->Unseen))){1741 continue;1742 }1743 // List ANSWERED messages.1744 elseif($search_box_type == "ANSWERED" && !trim($header->Answered)){1745 continue;1746 }1747 // List FLAGGED messages.1748 elseif($search_box_type == "FLAGGED" && !trim($header->Flagged)){1749 continue;1750 }1751 1752 if (($header->from[0]->mailbox . "@" . $header->from[0]->host) == $_SESSION['phpgw_info']['expressomail']['user']['email'])1753 $from = $header->to;1754 else1755 $from = $header->from;1756 1757 $tmp = imap_mime_header_decode($from[0]->personal);1758 1759 if ($tmp[0]->text != "")1760 $sortfrom[$i] = $tmp[0]->text;1761 else1762 $sortfrom[$i] = $from[0]->mailbox . "@" . $from[0]->host;1763 }1764 1765 natcasesort($sortfrom);1766 1767 foreach($sortfrom as $index => $header_msg)1768 {1769 $sortfrom_uid[] = imap_uid($this->mbox, $index);1770 }1771 1772 if ($sort_box_reverse)1773 $sortfrom_uid = array_reverse($sortfrom_uid);1774 1775 return $sortfrom_uid;1776 }1777 1778 1645 function move_search_messages($params){ 1779 1646 $params['selected_messages'] = urldecode($params['selected_messages']); … … 2565 2432 $retorno = ""; 2566 2433 $mbox_stream = ""; 2567 if(strpos($params['condition'],"#")===false) { //local messages 2568 $search=false; 2569 } 2570 else { 2571 $search = explode(",",$params['condition']); 2572 } 2573 2434 $search = explode(",",$params['condition']); 2574 2435 if($search){ 2575 2436 $search_criteria = ''; … … 2832 2693 $array_parts_attachments = array(); 2833 2694 $array_parts_attachments['names'] = ''; 2834 include _once("class.imap_attachment.inc.php");2695 include("class.imap_attachment.inc.php"); 2835 2696 $imap_attachment = new imap_attachment(); 2836 2697 -
branches/1.2/expressoMail1_2/index.php
r689 r1342 58 58 } 59 59 60 //Local messages61 $_SESSION['phpgw_info']['server']['expressomail']['enable_local_messages'] = $current_config['enable_local_messages'];62 63 60 // Get Data from ldap_manager and emailadmin. 64 61 $ldap_manager = CreateObject('contactcenter.bo_ldap_manager'); … … 76 73 $_SESSION['phpgw_info']['expressomail']['user']['email'] = $GLOBALS['phpgw']->preferences->values['email']; 77 74 78 if($current_config['enable_local_messages']!='True') { 79 $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'] = 0; 80 } 81 75 82 76 $_SESSION['phpgw_info']['user']['preferences']['expressoMail'] = array( 83 77 'voip_enabled' => $voip_enabled, … … 105 99 'notification_domains' => $current_config['expressoMail_notification_domains'], 106 100 'remove_attachments_function' => $current_config['expressoMail_remove_attachments_function'], 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 101 'use_important_flag' => $current_config['expressoMail_enable_important_flag'] 111 102 112 103 … … 171 162 172 163 // End Set Imap Folder names options 173 //User info174 echo "<script language='javascript'> var account_id = ".$GLOBALS['phpgw_info']['user']['account_id'].";</script>";175 164 176 165 $obj = createobject("expressoMail1_2.functions"); … … 185 174 "js/InfoContact.js," . 186 175 "js/main.js," . 187 "js/gears_init.js," .188 "js/local_messages.js," .189 "js/messages_proxy.js," .190 176 "js/rich_text_editor.js," . 191 177 "js/wfolders.js,", -
branches/1.2/expressoMail1_2/js/TreeS.js
r689 r1342 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=' proxy_mensagens.proxy_create_folder()'></td>"+38 "<td><input type='button' value='"+get_lang('New folder')+"' onclick='ttreeBox.validate(\"newpast\")'></td>"+ 39 39 "</tr>"+ 40 40 "<tr>"+ 41 "<td><input type='button' value='"+get_lang('Delete folder')+"' onclick=' proxy_mensagens.proxy_remove_folder()'></td>"+41 "<td><input type='button' value='"+get_lang('Delete folder')+"' onclick='ttreeBox.del()'></td>"+ 42 42 "</tr>"+ 43 43 "<tr>"+ 44 "<td><input type='button' value='"+get_lang('Rename folder')+"' onclick=' proxy_mensagens.proxy_rename_folder()'></td>"+44 "<td><input type='button' value='"+get_lang('Rename folder')+"' onclick='ttreeBox.validate(\"rename\")'></td>"+ 45 45 "</tr>"+ 46 46 "<tr>"+ … … 161 161 folders_tree.add(nn,data[i].folder_parent); 162 162 } 163 //Pastas locais 164 if (preferences.use_local_messages == 1) { 165 var n_root_local = new dNode({ 166 id: 'local_root', 167 caption: get_lang("local messages"), 168 plusSign: true 169 }); 170 folders_tree.add(n_root_local, 'root'); 171 172 var local_folders = expresso_local_messages.list_local_folders(); 173 for (var i in local_folders) { //Coloca as pastas locais. 174 if (local_folders[i][1] > 0) 175 var nodeLocal = new dNode({ 176 id: "local_" + local_folders[i][0], 177 caption: lang_folder(local_folders[i][0]) + '<font style=color:red> (</font><span id="local_unseen" style=color:red>' + local_folders[i][1] + '</span><font style=color:red>)</font>', 178 plusSign: 0 179 }); 180 else 181 var nodeLocal = new dNode({ 182 id: "local_" + local_folders[i][0], 183 caption: lang_folder(local_folders[i][0]), 184 plusSign: 0 185 }); 186 folders_tree.add(nodeLocal, "local_root"); 187 } 188 } 163 189 164 folders_tree.draw(Element(destination)); 190 165 n_root.changeState(); -
branches/1.2/expressoMail1_2/js/TreeShow.js
r689 r1342 98 98 if(func == "newpast"){ 99 99 var button = prompt(get_lang('Enter the name of the new folder:'),""); 100 101 if (button.indexOf("local_") != -1 || button.toUpperCase() == "INBOX") {102 alert(get_lang("cannot create folder. try other folder name"));103 return false; //Não posso criar pastas contendo a string local_104 }105 106 100 if(trim(button) == "" || trim(button) == null){ 107 101 return false; … … 120 114 } 121 115 var button1 = prompt(get_lang("Enter a name for the box"), ""); 122 if (button1.indexOf("local_") != -1 || button1.toUpperCase() == "INBOX") {123 alert(get_lang("cannot create folder. try other folder name"));124 return false; //Não posso criar pastas contendo a string local_125 }126 116 if(trim(button1) == "" || trim(button1) == null){ 127 117 return false; -
branches/1.2/expressoMail1_2/js/common_functions.js
r689 r1342 178 178 } 179 179 180 function download_local_attachment(url) { 180 function download_attachments(msg_folder, msg_number, idx_file, msg_part, encoding, new_file_name, show_iframe){ 181 div_attachment = document.getElementById("id_div_attachment"); 182 var params = ''; 183 181 184 if (div_attachment == null){ 182 185 var div_attachment = document.createElement("DIV"); … … 184 187 document.body.appendChild(div_attachment); 185 188 } 186 div_attachment.innerHTML="<iframe style='display:none;width:0;height:0' name='attachment' src='"+url+"'></iframe>";187 }188 189 function download_attachments(msg_folder, msg_number, idx_file, msg_part, encoding, new_file_name, show_iframe){190 div_attachment = document.getElementById("id_div_attachment");191 var params = '';192 193 if (div_attachment == null){194 var div_attachment = document.createElement("DIV");195 div_attachment.id="id_div_attachment";196 document.body.appendChild(div_attachment);197 }198 189 if(new_file_name) 199 190 params = "&newfilename="+new_file_name; … … 210 201 cExecute("$this.exporteml.download_all_attachments",handler_source,"folder="+msg_folder+"&num_msg="+msg_number); 211 202 } 212 //ADD forwarded files213 function addForwardedFile(id_border,file_name,link){214 divFiles = document.getElementById("divFiles_"+id_border);215 216 if (! divFiles)217 return false;218 219 if (divFiles.lastChild)220 var countDivFiles = parseInt(divFiles.lastChild.id.split('_')[2]) + 1;221 222 if (! countDivFiles)223 var countDivFiles = 1;224 225 divFile = document.createElement('DIV');226 227 228 if (!is_ie) {229 var inputFile = document.createElement("INPUT");230 231 var tmp_id_border = document.createAttribute('id_border');232 tmp_id_border.value = id_border;233 234 inputFile.setAttributeNode(tmp_id_border);235 inputFile.id = "inputFile_" + id_border + "_" + countDivFiles;236 inputFile.type = 'file';237 inputFile.size = 50;238 inputFile.maxLength = 255;239 inputFile.name = 'file_' + countDivFiles;240 inputFile.style.display = "none";241 divFile.appendChild(inputFile);242 }243 else {244 var inputFile = document.createElement("link");245 246 var tmp_id_border = document.createAttribute('id_border');247 tmp_id_border.value = id_border;248 249 inputFile.setAttributeNode(tmp_id_border);250 inputFile.id = "inputFile_" + id_border + "_" + countDivFiles;251 inputFile.name = 'file_' + countDivFiles;252 253 254 divFile.appendChild(inputFile);255 }256 257 var a_tmp = new Array();258 a_tmp[0] = "local_";259 a_tmp[1] = 'file_' + countDivFiles;260 a_tmp[2] = file_name;261 s_tmp = escape(connector.serialize(a_tmp));262 var checkbox = document.createElement("INPUT");263 checkbox.type = "checkbox";264 checkbox.id = "checkbox_"+id_border+"_"+countDivFiles;265 checkbox.name = "local_attachments[]";266 267 checkbox.value = s_tmp;268 divFile.appendChild(checkbox);269 270 var link_attachment = document.createElement("A");271 link_attachment.setAttribute("href", link);272 273 link_attachment.innerHTML = file_name;274 divFile.appendChild(link_attachment);275 276 countDivFiles++;277 divFile.id = "divFile_"+id_border+"_"+countDivFiles;278 divFiles.appendChild(divFile);279 280 divFile.id = "divFile_"+id_border+"_"+countDivFiles;281 divFiles.appendChild(divFile);282 checkbox.checked = true; //IncrÃvel, mas no Internet Explorer o checked só funciona efetivamente se o elemente já estiver renderizado... por isso só aqui eu seleciono ele...283 return inputFile;284 }285 286 203 // Add Input File Dynamically. 287 204 function addFile(id_border){ … … 322 239 divFile.id = "divFile_"+id_border+"_"+countDivFiles; 323 240 divFiles.appendChild(divFile); 324 325 return inputFile;326 241 } 327 242 // Remove Input File Dynamically. … … 762 677 763 678 function lang_folder(fn) { 764 if (fn .toUpperCase() == "INBOX") return get_lang("Inbox");679 if (fn == "Inbox") return get_lang("Inbox"); 765 680 if (special_folders[fn] && typeof(special_folders[fn]) == 'string') { 766 681 return get_lang(special_folders[fn]); -
branches/1.2/expressoMail1_2/js/doiMenuData.js
r689 r1342 152 152 var _sep = "<hr>"; 153 153 var optionsMenu = new Array( 154 _tab + get_lang("Mark as")+" "+get_lang('seen')+'|'+" proxy_mensagens.proxy_set_messages_flag('seen','get_selected_messages')",155 _tab + get_lang("Mark as")+" "+get_lang('unseen')+'|'+" proxy_mensagens.proxy_set_messages_flag('unseen','get_selected_messages')",156 _tab + get_lang("Mark as")+" "+get_lang('important')+'|'+" proxy_mensagens.proxy_set_messages_flag('flagged','get_selected_messages')",157 _tab + get_lang("Mark as")+" "+get_lang('normal')+'|'+" proxy_mensagens.proxy_set_messages_flag('unflagged','get_selected_messages')",154 _tab + get_lang("Mark as")+" "+get_lang('seen')+'|'+"set_messages_flag('seen','get_selected_messages')", 155 _tab + get_lang("Mark as")+" "+get_lang('unseen')+'|'+"set_messages_flag('unseen','get_selected_messages')", 156 _tab + get_lang("Mark as")+" "+get_lang('important')+'|'+"set_messages_flag('flagged','get_selected_messages')", 157 _tab + get_lang("Mark as")+" "+get_lang('normal')+'|'+"set_messages_flag('unflagged','get_selected_messages')", 158 158 _sep, 159 159 _tab + get_lang("Move to")+" ... |wfolders.makeWindow('', 'move_to')", 160 _tab + get_lang("Delete")+"|"+" proxy_mensagens.delete_msgs('null','selected','null')",160 _tab + get_lang("Delete")+"|"+"delete_msgs('null','selected','null')", 161 161 _tab + get_lang("Export")+"|"+"export_all_selected_msgs()" 162 162 ); -
branches/1.2/expressoMail1_2/js/drag_area.js
r689 r1342 216 216 if(new_folder_name == 'INBOX') 217 217 new_folder_name = get_lang("Inbox"); 218 if (_dragArea.from_list) { 219 if (numBox != 0) 218 219 if(_dragArea.from_list) 220 if (numBox != 0) 220 221 move_search_msgs("content_id_search_" + numBox, new_folder, new_folder_name); 221 else 222 proxy_mensagens.proxy_move_messages("null", 'selected', 0, new_folder, new_folder_name);223 }224 else 225 var msg_number = _dragArea.from_list ? _dragArea.msg_number : _dragArea.msg_number.replace('_r', 226 proxy_mensagens.proxy_move_messages("null", msg_number, msg_number +"_r", new_folder, new_folder_name);222 else 223 move_msgs(_dragArea.folder, 'selected', 0, new_folder, new_folder_name); 224 225 else{ 226 var msg_number = _dragArea.from_list ? _dragArea.msg_number : _dragArea.msg_number.replace('_r',''); 227 move_msgs(_dragArea.folder, msg_number, msg_number+"_r", new_folder, new_folder_name); 227 228 } 228 229 } -
branches/1.2/expressoMail1_2/js/draw_api.js
r710 r1342 53 53 } 54 54 } 55 cExecute ("$this.imap_functions.get_folders_list&folder="+current_folder, update_tree_folders); 56 57 58 /** 59 * Pastas locais 60 */ 61 if(preferences.use_local_messages==1) { 62 var local_folders = expresso_local_messages.list_local_folders(); 63 var has_changes = false; 64 for (var i in local_folders) { //Coloca as pastas locais. 65 var folder_unseen = Element('dftree_local_'+local_folders[i][0]+'_unseen'); 66 67 if ((folder_unseen) && (local_folders[i][1] > 0)) 68 { 69 folder_unseen.innerHTML = local_folders[i][1]; 70 has_changes = true; 71 } 72 else if (local_folders[i][1] > 0) 73 { 74 tree_folders.getNodeById("local_"+local_folders[i][0]).alter({caption:lang_folder(local_folders[i][0]) + '<font style=color:red> (</font><span id="dftree_local_'+local_folders[i][0]+'_unseen" style=color:red>'+local_folders[i][1]+'</span><font style=color:red>)</font>'}); 75 tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); 76 has_changes = true; 77 } 78 else if (local_folders[i][1] <= 0) 79 { 80 tree_folders.getNodeById("local_"+local_folders[i][0]).alter({caption:lang_folder(local_folders[i][0])}); 81 tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); 82 has_changes = true; 83 } 84 85 if("local_"+local_folders[i][0] == get_current_folder()){ 86 var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 87 if(!isNaN(old_new_m) && old_new_m < local_folders[i][1]){ 88 Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(local_folders[i][1])-old_new_m); 89 } 90 Element('new_m').innerHTML = local_folders[i][1] ? '<font color="RED">'+local_folders[i][1]+'</font>' : 0; 91 draw_paging(Element('tot_m').innerHTML); 92 has_changes = true; 93 } 94 } 95 if(has_changes) 96 tree_folders.getNodeById("local_root").open(); 97 98 } 99 55 cExecute ("$this.imap_functions.get_folders_list", update_tree_folders); 100 56 return; 101 57 } … … 127 83 tree_folders.add(nn,folders[i].folder_parent); 128 84 } 129 //tree_local_folders = new dFTree({name: 'tree_local_folders'});130 /**131 * Pastas locais132 */133 if (preferences.use_local_messages==1) {134 if (!window.google || !google.gears) {135 temp = confirm(get_lang("To use local messages you have to install google gears. Would you like to be redirected to gears installation page?"));136 if (temp) {137 location.href = "http://gears.google.com/?action=install&message="+138 get_lang("To use local messages, install Google Gears")+"&return=" + document.location.href;139 }140 else {141 preferences.use_local_messages=0;142 }143 }144 else{145 var root_local = new dNode({146 id: "local_root",147 caption: get_lang('local folders')148 });149 tree_folders.add(root_local, "root"); //coloca root local150 var local_folders = expresso_local_messages.list_local_folders();151 for (var i in local_folders) { //Coloca as pastas locais.152 if (local_folders[i][1] > 0)153 var nodeLocal = new dNode({154 id: "local_" + local_folders[i][0],155 caption: lang_folder(local_folders[i][0]) + '<font style=color:red> (</font><span id="local_unseen" style=color:red>' + local_folders[i][1] + '</span><font style=color:red>)</font>',156 onClick: "change_folder('local_" + local_folders[i][0] + "','" + local_folders[i][0] + "')",157 plusSign: 0158 });159 else160 var nodeLocal = new dNode({161 id: "local_" + local_folders[i][0],162 caption: lang_folder(local_folders[i][0]),163 onClick: "change_folder('local_" + local_folders[i][0] + "','" + local_folders[i][0] + "')",164 plusSign: 0165 });166 tree_folders.add(nodeLocal, "local_root");167 }168 }169 }170 171 172 173 85 tree_folders.draw(Element('content_folders')); 174 86 n_root.changeState(); … … 271 183 return true; 272 184 } 273 proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort_box_type,search_box_type,sort_box_reverse,handler_draw_box); 274 // cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); 275 } 276 else 185 cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); 186 } else 277 187 alternate_border(0); 278 188 } … … 336 246 if(current_page != 1) { 337 247 lnk_page = document.createElement("A"); 338 lnk_page.setAttribute("href", "javascript:current_page=1;kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+",function handler(data){draw_box(data, get_current_folder());});");248 lnk_page.setAttribute("href", "javascript:current_page=1;kill_current_box(); draw_paging("+num_msgs+"); cExecute ('$this.imap_functions.get_range_msgs2&folder='+get_current_folder()+'&msg_range_begin="+msg_range_begin+"&msg_range_end="+msg_range_end+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"', function handler(data){draw_box(data, get_current_folder());})"); 339 249 } 340 250 else { … … 375 285 msg_range_begin = ((i*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); 376 286 msg_range_end = (i*preferences.max_email_per_page); 377 lnk_page.setAttribute("href", "javascript:current_page="+i+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+",function handler(data){draw_box(data, get_current_folder());});");287 lnk_page.setAttribute("href", "javascript:current_page="+i+";kill_current_box(); draw_paging("+num_msgs+"); cExecute ('$this.imap_functions.get_range_msgs2&folder='+get_current_folder()+'&msg_range_begin="+msg_range_begin+"&msg_range_end="+msg_range_end+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"', function handler(data){draw_box(data, get_current_folder());})"); 378 288 } 379 289 … … 392 302 msg_range_begin = ((total_pages*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); 393 303 msg_range_end = (total_pages*preferences.max_email_per_page); 394 lnk_page.setAttribute("href", "javascript:current_page="+total_pages+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+",function handler(data){draw_box(data, get_current_folder());});");304 lnk_page.setAttribute("href", "javascript:current_page="+total_pages+";kill_current_box(); draw_paging("+num_msgs+"); cExecute ('$this.imap_functions.get_range_msgs2&folder='+get_current_folder()+'&msg_range_begin="+msg_range_begin+"&msg_range_end="+msg_range_end+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"', function handler(data){draw_box(data, get_current_folder());})"); 395 305 } 396 306 else { … … 437 347 { 438 348 if ((window.event.keyCode) == 46) 439 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null');349 delete_msgs(get_current_folder(),'selected','null'); 440 350 } 441 351 else 442 352 { 443 353 if ((e.keyCode) == 46) 444 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null');354 delete_msgs(get_current_folder(),'selected','null'); 445 355 } 446 356 }; … … 506 416 { 507 417 //delete_all_selected_msgs_imap(); 508 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null');418 delete_msgs(get_current_folder(),'selected','null'); 509 419 } 510 420 } … … 514 424 { 515 425 //delete_all_selected_msgs_imap(); 516 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null');426 delete_msgs(get_current_folder(),'selected','null'); 517 427 } 518 428 } … … 704 614 td_element3.id = "td_who_"+ headers_msgs.msg_number; 705 615 td_element3.setAttribute("width", "30%"); 706 var _onclick = function(){InfoContact.hide(); proxy_mensagens.get_msg(headers_msgs.msg_number, msg_folder,true, show_msg);};616 var _onclick = function(){InfoContact.hide();cExecute("$this.imap_functions.get_info_msg&msg_number="+ headers_msgs.msg_number + "&msg_folder=" + msg_folder, show_msg);}; 707 617 td_element3.onclick = _onclick; 708 618 td_element3.innerHTML = ' '; … … 824 734 search_box_type = search; 825 735 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); 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); 828 737 current_page = 1; 829 738 //Comentado para nao sobrepor o numero de msgs nao lidas ao utilizar os filtros … … 1051 960 option_delete.id = 'msg_opt_delete_'+ID; 1052 961 option_delete.className = 'message_options'; 1053 option_delete.onclick = function(){ proxy_mensagens.delete_msgs(info_msg.msg_folder, info_msg.msg_number, ID);};962 option_delete.onclick = function(){delete_msgs(info_msg.msg_folder, info_msg.msg_number, ID);}; 1054 963 option_delete.innerHTML = get_lang('Delete'); 1055 964 options.appendChild(space3); … … 1073 982 1074 983 var option_mark_as = '<span>'+get_lang("Mark as")+'</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> | ';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> | '; 1078 987 1079 988 var option_move = '<span class="message_options" onclick=wfolders.makeWindow("'+ID+'","move_to");>'+get_lang("Move")+'</span> | '; … … 1081 990 var option_reply_without_history = '<span class="message_options" onclick=new_message("reply_without_history","'+ID+'");>'+get_lang("Reply without history")+'</span> | '; 1082 991 var option_reply_to_all_without_history = '<span class="message_options" onclick=new_message("reply_to_all_without_history","'+ID+'");>'+get_lang("Reply to all without history")+'</span> | '; 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>';992 var option_source_msg = '<span class="message_options" onclick=source_msg("'+ID+'","'+url_encode(info_msg.msg_folder)+'");>'+get_lang("Message Font")+'</span>'; 1084 993 1085 994 div_other_options.innerHTML = option_mark_as + option_mark_as_unseen + option_mark_as_important + option_mark_as_normal + option_move + option_reply_to_all + option_reply_without_history + option_reply_to_all_without_history + option_source_msg; … … 1110 1019 var option_edit = '<span class="message_options" onclick="new_message(\'edit\',\''+ID+'\');">'+get_lang('Edit')+'</span> | '; 1111 1020 var option_print = '<span class="message_options" onclick="print_msg(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Print')+'</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> | ';1021 var option_delete = '<span class="message_options" onclick="delete_msgs(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Delete')+'</span> | '; 1113 1022 var option_hide_more = document.createElement("SPAN"); 1114 1023 option_hide_more.className = 'message_options'; … … 1196 1105 from_values.type = "HIDDEN"; 1197 1106 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 1205 1107 tr1.appendChild(td1); 1206 1108 tr1.appendChild(from); 1207 1109 tr1.appendChild(from_values); 1208 tr1.appendChild(local_message);1209 1210 1211 1212 1110 if (info_msg.reply_to){ 1213 1111 var tr11 = document.createElement("TR"); … … 1431 1329 for (var i=0; i<info_msg.attachments.length; i++){ 1432 1330 var link_attachment = document.createElement("A"); 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+"')"); 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+"')"); 1435 1332 link_attachment.innerHTML = url_decode(info_msg.attachments[i].name); 1436 1333 msg_size = info_msg.attachments[i].fsize; … … 1690 1587 } 1691 1588 td_to.appendChild(input_to); 1692 1693 var forwarded_local_message = document.createElement("INPUT"); //Hidden para indicar se é um forward de uma mensagem local1694 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);1699 1589 1700 1590 var img_search = document.createElement("IMG"); … … 2260 2150 { 2261 2151 //delete_all_selected_msgs_imap(); 2262 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null');2152 delete_msgs(get_current_folder(),'selected','null'); 2263 2153 } 2264 2154 } … … 2268 2158 { 2269 2159 //delete_all_selected_msgs_imap(); 2270 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null');2160 delete_msgs(get_current_folder(),'selected','null'); 2271 2161 } 2272 2162 } … … 2367 2257 { 2368 2258 //delete_all_selected_msgs_imap(); 2369 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null');2259 delete_msgs(get_current_folder(),'selected','null'); 2370 2260 } 2371 2261 } … … 2375 2265 { 2376 2266 //delete_all_selected_msgs_imap(); 2377 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null');2267 delete_msgs(get_current_folder(),'selected','null'); 2378 2268 } 2379 2269 } … … 2460 2350 } 2461 2351 function draw_footer_box(num_msgs){ 2462 folder = get_current_folder();2463 2352 var span_R = Element("table_message"); 2464 2353 var span_options = Element("span_options"); … … 2471 2360 2472 2361 span_options.innerHTML = 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> | '+2362 '<span title="'+get_lang("Delete")+'" style="margin-left:8px" class="message_options" onclick=delete_msgs(\'null\',\'selected\',\'null\')>'+get_lang("Delete")+'</span> | '+ 2474 2363 '<span title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow(\"\",\"move_to\")>'+get_lang("Move")+'</span> | '+ 2475 2364 '<span title="'+get_lang("Print")+'" class="message_options" onclick=print_all()>'+get_lang("Print")+'</span> | '+ 2476 2365 '<span title="'+get_lang("Export")+'" class="message_options" onclick="export_all_selected_msgs()">'+get_lang("Export")+'</span> | ' + 2477 2366 '<span title="'+get_lang("Import")+'" class="message_options" onclick="import_window()">'+get_lang("Import")+'</span>'; 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>'; 2367 2480 2368 if (use_spam_filter) { 2481 2369 if ( get_current_folder() == 'INBOX'+cyrus_delimiter+'Spam' ) { -
branches/1.2/expressoMail1_2/js/filter.js
r689 r1342 128 128 } 129 129 } 130 for(var i=0; i < nm_folders.length; i++){ 131 if(nm_folders[i].id != "root" && !proxy_mensagens.is_local_folder(nm_folders[i].id)){ 130 for(var i=0; i < nm_folders.length; i++) 131 { 132 if(nm_folders[i].id != "root") 133 { 132 134 var opt = new Option(nm_folders[i].caption,nm_folders[i].id,false,true); 133 135 sel_nm[sel_nm.length] = opt; -
branches/1.2/expressoMail1_2/js/main.js
r706 r1342 40 40 cExecute ("$this.functions.get_preferences", save_preferences); 41 41 setTimeout('auto_refresh()', time_refresh); 42 }43 function disable_field(field,condition) {44 var comando = "if ("+condition+") { document.getElementById('"+field.id+"').disabled=true;} else { document.getElementById('"+field.id+"').disabled=false; }";45 eval(comando);46 42 } 47 43 /* … … 240 236 } 241 237 242 function delete_msgs2(folder, msgs_number, border_ID, show_success_msg) { 238 function delete_msgs(folder, msgs_number, border_ID) 239 { 243 240 if (folder == 'null') 244 241 folder = get_current_folder(); 245 242 246 243 if ((parseInt(preferences.save_deleted_msg)) && (folder!='INBOX'+cyrus_delimiter+trashfolder)){ 247 move_msgs 2(folder, msgs_number, border_ID, 'INBOX'+cyrus_delimiter+trashfolder,trashfolder,show_success_msg);244 move_msgs(folder, msgs_number, border_ID, 'INBOX'+cyrus_delimiter+trashfolder,trashfolder ); 248 245 return; 249 246 } … … 274 271 } 275 272 } 276 if (show_success_msg) { 277 if (data.msgs_number.length == 1) 278 write_msg(get_lang("The message was deleted.")); 279 else 280 write_msg(get_lang("The messages were deleted.")); 281 } 273 if (data.msgs_number.length == 1) 274 write_msg(get_lang("The message was deleted.")); 275 else 276 write_msg(get_lang("The messages were deleted.")); 282 277 283 278 if (data.border_ID != 'null'){ … … 298 293 write_msg(get_lang('No selected message.')); 299 294 } 300 function delete_msgs(folder, msgs_number, border_ID)301 {302 delete_msgs2(folder, msgs_number, border_ID, true);303 }304 305 295 306 296 function move_search_msgs(border_id, new_folder, new_folder_name){ 307 297 var selected_messages = ''; 308 var temp_msg;309 298 var main_list = Element("tbody_resultsearch_"+border_id.substr(18)).childNodes; 310 299 for (j = 0; j < main_list.length; j++) { 311 300 var check_box = main_list[j].firstChild.firstChild; 312 301 if(check_box && check_box.checked) { 313 if (proxy_mensagens.is_local_folder(main_list[j].name)) {314 alert(get_lang("You cant manipulate local messages on search"));315 return;316 }317 302 selected_messages += main_list[j].id + ','; 318 303 } … … 375 360 } 376 361 377 function move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,show_success_msg){ 378 362 function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name){ 379 363 if (! folder || folder == 'null') 380 364 folder = Element("input_folder_"+msgs_number+"_r") ? Element("input_folder_"+msgs_number+"_r").value : get_current_folder(); … … 410 394 if( typeof(msgs_number) == 'string' ) 411 395 all_search_msg = msgs_number.split(','); 412 else 396 else if( typeof(msgs_number) == 'number') 413 397 all_search_msg = msgs_number; 414 415 398 for (var i=0; i <= all_search_msg.length; i++) 416 399 { … … 441 424 } 442 425 443 if (show_success_msg) {444 if (data.msgs_number.length == 1)445 write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name));446 else447 write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name));448 }449 426 450 427 if (data.msgs_number.length == 1) … … 480 457 } 481 458 482 function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name) {483 move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,true);484 }485 486 function archive_msgs(folder,folder_dest,id_msgs) {487 if(proxy_mensagens.is_local_folder(folder)) {488 write_msg(get_lang("You cant archive local mails"));489 return;490 }491 var has_local_messages_before = expresso_local_messages.has_local_mails(); //vejo se já tinha mensagens locais492 var handler_arquivar_mensagens = function(data) {493 var sucess = true;494 var temp;495 var msgs_to_remove = new Array();496 var update_tree;497 498 499 for (var i = 0; i < data.length; i++) {500 msg_info = connector.unserialize(data[i]);501 temp = expresso_local_messages.insert_mail(msg_info, msg_info['header'],msg_info['array_attach'],folder_dest );502 Element("check_box_message_" + msg_info.msg_number).checked = false;503 if(!temp)504 sucess = false;505 else506 msgs_to_remove.push(msg_info.msg_number);//As mensagens arquivadas devem ser removidas, caso o usuï¿œrio tenha isso configurado.507 }508 509 if (preferences.keep_archived_messages == 0) { //Remove as mensagens510 delete_msgs2(folder,msgs_to_remove,'null',false);511 }512 update_tree=(!has_local_messages_before) && expresso_local_messages.has_local_mails();513 514 Element('chk_box_select_all_messages').checked = false;515 if(update_tree)516 ttreeBox.update_folder();517 else518 update_menu();519 if(sucess)520 write_msg(get_lang("selected messages have been archived"));521 else522 write_msg(get_lang("at least, one of selected mails is already archived, expresso tried to archive the others, check them later"));523 524 }525 if(!id_msgs)526 id_msgs = get_selected_messages();527 if (parseInt(id_msgs) > 0 || id_msgs.length > 0)528 cExecute("$this.imap_functions.get_info_msgs&folder=" + folder + "&msgs_number=" + id_msgs , handler_arquivar_mensagens);529 else530 write_msg(get_lang('No selected message.'));531 532 }533 534 459 function get_selected_messages(){ 535 460 main = document.getElementById("divScrollMain_"+numBox).firstChild.firstChild; … … 576 501 else 577 502 return selected_messages; 578 }579 580 function replaceAll(string, token, newtoken) {581 while (string.indexOf(token) != -1) {582 string = string.replace(token, newtoken);583 }584 return string;585 503 } 586 504 … … 802 720 break; 803 721 case "forward": 804 data.is_local_message = (document.getElementById("is_local_"+border_ID).value=="1")?true:false;805 722 msg_forward_from = document.createElement('input'); 806 723 msg_forward_from.id = "msg_forward_from_" + new_border_ID; … … 811 728 document.getElementById("subject_" + new_border_ID).value = "Fw: " + data.subject; 812 729 var divFiles = Element("divFiles_"+new_border_ID); 813 var campo_arquivo814 730 if (Element("attachments_" + border_ID)){ 815 731 var attachments = document.getElementById("attachments_" + border_ID).childNodes; 816 732 for (var i = (attachments.length > 1 ? 1 : 0); i < attachments.length; i++){ 817 if((attachments[i].tagName=="SPAN") || (attachments[i].tagName=="IMG") ||818 ((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1)))819 continue;820 733 var link_attachment = document.createElement("A"); 821 734 link_attachment.setAttribute("href", attachments[i].href); 822 735 link_attachment.innerHTML = attachments[i].innerHTML; 823 if (data.is_local_message) {//Local messages 824 document.getElementById("is_local_forward"+new_border_ID).value = "1"; 825 var tmp = link_attachment.href.substring(link_attachment.href.indexOf("(") + 2);//Pula o parenteses e a aspas 826 tmp = tmp.substring(0, tmp.length - 2);//corta a aspas e o parenteses 827 tmp = replaceAll(tmp,"%20"," "); 828 var tempNomeArquivo = tmp.split("/"); 829 var nomeArquivo = tempNomeArquivo[tempNomeArquivo.length-1]; 830 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. 831 campo_arquivo = addForwardedFile(new_border_ID,nomeArquivo,link_attachment.href); 832 833 expresso_local_messages.getInputFileFromAnexo(campo_arquivo, tmp); 834 } 835 else { 836 var tmp = link_attachment.href.replace("javascript:download_attachments(", "").replace(")", ""); 837 var a_tmp = tmp.split(','); 838 tmp = link_attachment.innerHTML.substring(0,link_attachment.innerHTML.lastIndexOf("(")); 839 a_tmp[2] = "'"+tmp.substring(0,tmp.length-1)+"'"; 840 s_tmp = escape(connector.serialize(a_tmp)); 841 842 divFiles.innerHTML += "<input style='border:0' type='CHECKBOX' name='forwarding_attachments[]' checked value=\""+s_tmp+"\"/>"; 843 divFiles.innerHTML += "<link style='border:0' name='file_"+i+"' id='inputFile_"+border_ID+i+"'/>"; 844 divFiles.appendChild(link_attachment); 845 } 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); 846 743 } 847 744 } … … 1595 1492 else 1596 1493 set_message_flag(msgs_number, "unseen"); 1597 proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name);1494 move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 1598 1495 } 1599 1496 … … 1615 1512 // debug 1616 1513 // alert(data); 1617 proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name);1514 move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 1618 1515 } 1619 1516 if(msgs_number == 'selected') -
branches/1.2/expressoMail1_2/js/rich_text_editor.js
r690 r1342 356 356 '<td align="right"><input type="text" readonly="true" id="border" size="2" maxlength="2" value="1"></input></td><td align="left"><img src="templates/default/images/plus.png" onclick="javascript:RichTextEditor.incrementField(\'border\');"></img><br><img src="templates/default/images/minus.png" onclick="javascript:RichTextEditor.decrementField(\'border\');"></img></td>'+ 357 357 '</tr></tbody></table>'+ 358 ' <input title=" '+get_lang('Close')+'" value="' + get_lang('Close') + '" type="button" onclick="win.close()"> '+359 '<input title=" ' + get_lang('Include') + '" value="' + get_lang('Include') + '" type="button" onclick="RichTextEditor.insertTableHtml();win.close();">';358 ' <input title="Close" value="' + get_lang('Close') + '" type="button" onclick="win.close()"> '+ 359 '<input title="Include" value="' + get_lang('Include') + '" type="button" onclick="RichTextEditor.insertTableHtml();win.close();">'; 360 360 form.appendChild(form_table); 361 361 … … 403 403 form_upload.innerHTML = get_lang('Select the desired image file')+':<br>'+ 404 404 '<input name="image_at" maxlength="255" size="50" id="inputFile_img" type="file"><br>' + 405 '<input title=" ' + get_lang('Include') + '" value="' + get_lang('Include') + '"' + 'type="button" onclick="RichTextEditor.addInputFile();"> ' +406 '<input title=" ' + get_lang('Close') + '" value="' + get_lang('Close') + '"' +405 '<input title="Include" value="' + get_lang('Include') + '"' + 'type="button" onclick="RichTextEditor.addInputFile();"> ' + 406 '<input title="Close" value="' + get_lang('Close') + '"' + 407 407 ' type="button" onclick="win.close()">'; 408 408 form.appendChild(form_upload); -
branches/1.2/expressoMail1_2/js/search.js
r689 r1342 101 101 "</tr>"+ 102 102 "<tr>"+ 103 "<td valign='top'><input type='checkBox' id='check_all_msg' name='check_all_msg' ><b>" + get_lang('In all the folders') + "</b></td>"+103 "<td valign='top'><input type='checkBox' id='check_all_msg' name='check_all_msg' onclick='EsearchE.all_mailboxes()'><b>" + get_lang('In all the folders') + "</b></td>"+ 104 104 "</tr>"+ 105 105 "</table>"+ … … 353 353 if(td1 == "INBOX"){ 354 354 var td1 = get_lang("Inbox"); 355 }356 if(proxy_mensagens.is_local_folder(td1)) {357 var td1 = this.aux_local_folder_display(td1);358 355 } 359 356 } … … 497 494 if (span_options) 498 495 span_options.innerHTML = '<span title="'+get_lang("Delete")+'" style="margin-top:3px;margin-left:8px" class="message_options" onclick="javascript:move_search_msgs(\''+content_search.id+'\');">'+get_lang("Delete")+'</span> | '+ 499 '<span title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow New(\"'+content_search.id+'\",\"move_to\",true)>'+get_lang("Move")+'</span>';496 '<span title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow(\"'+content_search.id+'\",\"move_to\")>'+get_lang("Move")+'</span>'; 500 497 div_scroll_result.appendChild(table); 501 498 content_search.appendChild(div_scroll_result); … … 510 507 //set_msg_as_read(msgs_to_set[i], false); 511 508 } 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);*/ 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); 516 512 517 513 } … … 520 516 searchE.prototype.add_mailboxes = function(){ 521 517 var sel = Element("sel_search_nm_box1"); 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_' 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"); 540 526 } 541 527 if( sel.length > 0){ … … 607 593 return false; 608 594 } 609 var local_folders = new Array();610 var temp;611 595 612 596 if(Element("check_all_msg").checked){ 613 this.all_mailboxes();614 597 var nm_box = new Array; 615 598 for(var i=0; i < EsearchE.all_boxes.length; i++){ 616 599 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 }623 600 } 624 601 }else{ … … 635 612 for(var i=0; i < sel_combo.options.length; i++){ 636 613 if(sel_combo.options[i].selected == true){ 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)); 614 nm_box[nm_box.length] = sel_combo.options[i].value + fields; 641 615 } 642 616 } 643 617 } 644 618 var handler = function(data){ 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));} 619 if(data == "none"){alert(get_lang("None result was found."));} 656 620 else if(data == "many results"){alert(get_lang("More than %1 results. Please, try to refine your search.",50));} 657 else{EsearchE.mount_result( (data=='none')?tmp:(countTmp.length==0)?data:data+tmp);}621 else{EsearchE.mount_result(data);} 658 622 } 659 623 var args = "$this.imap_functions.search_msg"; … … 715 679 win.open(); 716 680 } 717 718 searchE.prototype.aux_local_folder_display = function(folder) {719 return "(Local) " + lang_folder(folder.substr(6));720 }721 722 681 // Cria o objeto 723 682 var EsearchE; -
branches/1.2/expressoMail1_2/js/shortcut.js
r689 r1342 262 262 263 263 selected_shortcut_msgs = selected_shortcut_msgs.substring(0,(selected_shortcut_msgs.length-1)); 264 proxy_mensagens.delete_msgs(current_folder, selected_shortcut_msgs, 'null');264 delete_msgs(current_folder, selected_shortcut_msgs, 'null'); 265 265 } 266 266 else -
branches/1.2/expressoMail1_2/js/wfolders.js
r689 r1342 6 6 } 7 7 8 cWFolders.prototype.makeWindow New = function(border_id, type,from_search)9 { //Javascript doesn't seems to have polimorfism8 cWFolders.prototype.makeWindow = function(border_id, type) 9 { 10 10 _this = this; 11 11 … … 60 60 move_search_msgs(border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption); 61 61 else{ 62 proxy_mensagens.proxy_move_messages('null',msg_number, border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption);62 move_msgs('null', msg_number, border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption); 63 63 wfolders.alert = true; 64 64 } … … 87 87 el.appendChild(butt); 88 88 89 wfolders_tree = new dFTree({name: 'wfolders_tree'}); 90 var n_root = new dNode({id:'root', caption:get_lang("My Folders")}); 91 wfolders_tree.add(n_root,'anything'); //Places the root; second argument can be anything. 89 if (!Element('dftree_wfolders_tree')) 90 { 91 wfolders_tree = new dFTree({name: 'wfolders_tree'}); 92 var n_root = new dNode({id:'root', caption:get_lang("My Folders")}); 93 wfolders_tree.add(n_root,'anything'); //Places the root; second argument can be anything. 92 94 93 var folders = tree_folders.getNodesList(cyrus_delimiter);94 for (var i=1; i<folders.length; i++)95 {96 if (proxy_mensagens.is_local_folder(folders[i].id) && from_search) {97 continue;95 var folders = tree_folders.getNodesList(cyrus_delimiter); 96 for (var i=1; i<folders.length; i++) 97 { 98 var nn = new dNode({id:folders[i].id, caption:lang_folder(folders[i].caption), plusSign:folders[i].plusSign}); 99 wfolders_tree.add(nn,folders[i].parent); 98 100 } 99 var nn = new dNode({100 id: folders[i].id,101 caption: lang_folder(folders[i].caption),102 plusSign: folders[i].plusSign103 });104 wfolders_tree.add(nn, folders[i].parent);105 101 102 wfolders_tree.draw(Element('wfolders_content_tree')); 103 n_root.changeState(); 104 wfolders_tree.getNodeById('INBOX')._select(); 106 105 } 107 Element('wfolders_content_tree').innerHTML = ""; //As buscas não podem incluir mover entre pastas locais, pelo menos por enquanto108 wfolders_tree.draw(Element('wfolders_content_tree'));109 n_root.changeState();110 wfolders_tree.getNodeById('INBOX')._select();111 106 _this.showWindow(el, type); 112 }113 114 cWFolders.prototype.makeWindow = function(border_id, type)115 {116 this.makeWindowNew(border_id,type,false);117 107 } 118 108 -
branches/1.2/expressoMail1_2/preferences.php
r689 r1342 133 133 else 134 134 $GLOBALS['phpgw']->template->set_var('font_size_option_11_selected','selected'); 135 $c = CreateObject('phpgwapi.config','expressoMail1_2');136 $c->read_repository();137 $current_config = $c->config_data;138 139 if($current_config['enable_local_messages']!='True') {140 $GLOBALS['phpgw']->template->set_var('open_comment_local_messages_config',"<!--");141 $GLOBALS['phpgw']->template->set_var('close_comment_local_messages_config',"-->");142 }143 else {144 $GLOBALS['phpgw']->template->set_var('open_comment_local_messages_config'," ");145 $GLOBALS['phpgw']->template->set_var('close_comment_local_messages_config'," ");146 }147 148 if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'])149 $GLOBALS['phpgw']->template->set_var('use_local_messages_option_Yes_selected','selected');150 else {151 $GLOBALS['phpgw']->template->set_var('use_local_messages_option_No_selected','');152 $GLOBALS['phpgw']->template->set_var('use_local_messages_option_Yes_selected','');153 }154 155 if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['keep_archived_messages'])156 $GLOBALS['phpgw']->template->set_var('keep_archived_messages_option_Yes_selected','selected');157 else {158 $GLOBALS['phpgw']->template->set_var('keep_archived_messages_option_No_selected','');159 $GLOBALS['phpgw']->template->set_var('keep_archived_messages_option_Yes_selected','');160 }161 162 135 } 163 136 else //Save Config … … 259 232 else 260 233 $GLOBALS['phpgw']->preferences->add('expressoMail','font_size',$_POST['font_size']); 261 if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'])262 $GLOBALS['phpgw']->preferences->change('expressoMail','use_local_messages',$_POST['use_local_messages']);263 else264 $GLOBALS['phpgw']->preferences->add('expressoMail','use_local_messages',$_POST['use_local_messages']);265 266 if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['keep_archived_messages'])267 $GLOBALS['phpgw']->preferences->change('expressoMail','keep_archived_messages',$_POST['keep_archived_messages']);268 else269 $GLOBALS['phpgw']->preferences->add('expressoMail','keep_archived_messages',$_POST['keep_archived_messages']);270 234 271 235 $GLOBALS['phpgw']->preferences->save_repository(); … … 312 276 $GLOBALS['phpgw']->template->set_var('lang_type_signature',lang('Signature type')); 313 277 $GLOBALS['phpgw']->template->set_var('big',lang('Big')); 314 $GLOBALS['phpgw']->template->set_var('lang_Would_you_like_to_keep_archived_messages_?',lang('Would you like to keep archived messages?'));315 $GLOBALS['phpgw']->template->set_var('lang_Yes',lang('Yes'));316 $GLOBALS['phpgw']->template->set_var('lang_No',lang('No'));317 $GLOBALS['phpgw']->template->set_var('lang_Would_you_like_to_use_local_messages_?',lang('Would you like to use local messages?'));318 278 $GLOBALS['phpgw']->template->set_var('lang_use_signature',lang('Insert signature automatically in new messages?')); 319 279 -
branches/1.2/expressoMail1_2/templates/default/config.tpl
r689 r1342 12 12 <tr bgcolor="{row_off}"> 13 13 <td colspan="2"><b>{lang_ExpressoMail_settings}</b></td> 14 </tr>15 <tr class="{row_off}">16 <td>{lang_Would_you_like_to_use_local_messages_?}:</td>17 <td>18 <select name="newsettings[enable_local_messages]">19 <option value="">{lang_No}</option>20 <option value="True"{selected_enable_local_messages_True}>{lang_Yes}</option>21 </select>22 </td>23 14 </tr> 24 15 <tr bgcolor="{row_on}"> -
branches/1.2/expressoMail1_2/templates/default/preferences.tpl
r695 r1342 1 1 2 <script src="js/main.js"></script>3 2 <center> 4 3 … … 40 39 </td> 41 40 </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}62 41 <tr bgcolor="{tr_color2}"> 63 42 <td>{lang_delete_and_show_previous_message}</td> … … 182 161 </center> 183 162 <script language="JavaScript" type="text/javascript"> 184 if(document.getElementById('keep_archived_messages'))185 disable_field(document.getElementById('keep_archived_messages'),'document.getElementById(\'use_local_messages\').value==\'0\'')186 163 var form = document.forms[0]; 187 164 -
branches/1.2/phpgwapi/inc/class.jscalendar.inc.php
r2 r1342 31 31 $this->jscalendar_url = $GLOBALS['phpgw_info']['server']['webserver_url'].'/phpgwapi/js/'.$path; 32 32 $this->dateformat = $GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']; 33 34 if ($do_header && !str str($GLOBALS['phpgw_info']['flags']['java_script'],'jscalendar'))33 34 if ($do_header && !strpos($GLOBALS['phpgw_info']['flags']['java_script'],'jscalendar')) 35 35 { 36 36 $GLOBALS['phpgw_info']['flags']['java_script'] .= -
branches/1.2/phpgwapi/inc/class.preferences.inc.php
r54 r1342 1116 1116 // is it possible to use Trash and Sent folders - i.e. using IMAP server 1117 1117 // if not - force settings to false 1118 if (str istr($prefs['email']['mail_server_type'], 'imap') == False)1118 if (strpos($prefs['email']['mail_server_type'], 'imap') == False) 1119 1119 { 1120 1120 if (isset($prefs['email']['use_trash_folder'])) -
branches/1.2/phpgwapi/js/dftree/dftree.js
r709 r1342 224 224 { 225 225 var captionSpan; 226 if ((this.id != 'root') && (this.id != 'user') && (this.id !='local_root')){226 if ((this.id != 'root') && (this.id != 'user')){ 227 227 captionSpan = getObjectById("l"+this.id+this._myTree.name); 228 228 captionSpan.style.backgroundColor = 'white'; … … 234 234 { 235 235 var captionSpan; 236 if ((this.id != 'root') && (this.id != 'user') && (this.id !='local_root')){236 if ((this.id != 'root') && (this.id != 'user')){ 237 237 captionSpan = getObjectById("l"+this.id+this._myTree.name); 238 238 captionSpan.style.backgroundColor = ''; … … 300 300 else //Nao tem onClick 301 301 { 302 if ((this.id != 'root') && (this.id != 'user') && (this.id !='local_root')) //e nao seja raiz(root) ou pastas compartilhadas(user).302 if ((this.id != 'root') && (this.id != 'user')) //e nao seja raiz(root) ou pastas compartilhadas(user). 303 303 captionEventHandler = function () { _this._select();}; 304 304 }
Note: See TracChangeset
for help on using the changeset viewer.