Changeset 673


Ignore:
Timestamp:
02/06/09 16:53:27 (15 years ago)
Author:
niltonneto
Message:

Revisão 670 revertida para versionar 1.233 em TAGS.

Location:
trunk/expressoMail1_2
Files:
1 added
19 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/inc/class.db_functions.inc.php

    r525 r673  
    337337                $this->db->delete('phpgw_expressomail_contacts',$where,$line,$file);     
    338338        } 
     339         
     340        function import_vcard($params){ 
     341                         
     342                include_once('class.imap_functions.inc.php'); 
     343                $objImap = new imap_functions(); 
     344                $msg_number = $params['msg_number']; 
     345                $idx_file = $params['idx_file']; 
     346                $msg_part = $params['msg_part']; 
     347                $msg_folder = $params['msg_folder']; 
     348                $encoding = strtolower($params['encoding']); 
     349                $fileContent = ""; 
     350 
     351                if($msg_number && $msg_part && $msg_folder && (intval($idx_file == '0' ? '1' : $idx_file))) { 
     352                        $mbox_stream = $objImap->open_mbox($msg_folder);         
     353                        $fileContent = imap_fetchbody($mbox_stream, $msg_number, $msg_part, FT_UID); 
     354                        include_once('class.imap_attachment.inc.php'); 
     355                        $imap_attachment = new imap_attachment(); 
     356                        $a = $imap_attachment->download_attachment($mbox_stream, $msg_number); 
     357                        $filename = $a[$idx_file]['name']; 
     358                } 
     359                else 
     360                        $filename = $idx_file; 
     361                                         
     362                if($fileContent) { 
     363                        if($encoding == 'base64') 
     364                                $calendar = imap_base64($fileContent); 
     365                        else if($encoding == 'quoted-printable') 
     366                                $calendar = quoted_printable_decode($fileContent); 
     367                        else 
     368                                $calendar = $fileContent; 
     369                } 
     370                         
     371                $uiicalendar = CreateObject("calendar.uiicalendar"); 
     372                return $uiicalendar = $uiicalendar->import_from_mail($calendar); 
     373        } 
     374         
    339375} 
    340376?> 
  • trunk/expressoMail1_2/inc/class.exporteml.inc.php

    r670 r673  
    186186        } 
    187187 
    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  
    213188        function remove_accents($string) { 
    214189                /* 
     
    220195                        "áàâãäéèêëíìîïóòôõöúùûüç?\"!@#$%š&*()-=+Ž`[]{}~^,<>;:/?\\|¹²³£¢¬§ªº°ÁÀÂÃÄÉÈÊËÍÌÎÏÓÒÔÕÖÚÙÛÜÇ", 
    221196                        "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; 
    380197        } 
    381198         
  • trunk/expressoMail1_2/inc/class.imap_functions.inc.php

    r670 r673  
    1010                'get_range_msgs'                                => True, 
    1111                'get_info_msg'                                  => True, 
    12                 'get_info_msgs'                                 => True, 
    1312                'get_folders_list'                              => True, 
    1413                'import_msgs'                                   => True 
     
    7170        function get_range_msgs2($params) 
    7271        { 
     72                include("class.imap_attachment.inc.php"); 
     73                $imap_attachment = new imap_attachment(); 
    7374                $folder = $params['folder']; 
    7475                $msg_range_begin = $params['msg_range_begin']; 
     
    8485                if($num_msgs) {  
    8586                        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', 
    117101                                        imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)) 
    118102                                        ,$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); 
    123107                        if (!is_object($header)) 
    124                                 return false; 
    125                 $head_array['Recent'] = $header->Recent; 
    126                 $head_array['Unseen'] = $header->Unseen; 
    127                 if($header->Answered =='A' && $header->Draft == 'X'){ 
    128                         $head_array['Forwarded'] = 'F'; 
    129                 } 
    130                 else { 
    131                         $head_array['Answered'] = $header->Answered; 
    132                         $head_array['Draft']    = $header->Draft;        
    133                 } 
    134                 $head_array['Deleted'] = $header->Deleted; 
    135                 $head_array['Flagged'] = $header->Flagged; 
    136                  
    137                 $head_array['msg_number'] = $msg_number; 
    138                 //$return[$i]['msg_folder'] = $folder; 
    139                  
    140                 $date_msg = date("d/m/Y",$header->udate); 
    141                 if (date("d/m/Y") == $date_msg) 
    142                         $head_array['udate'] = date("H:i",$header->udate); 
    143                 else 
    144                         $head_array['udate'] = $date_msg; 
    145                  
    146                 $head_array['aux_date'] = $date_msg; //Auxiliar apenas para mensagens locais. 
    147                  
    148                 $from = $header->from; 
    149                 $head_array['from'] = array(); 
    150                 $tmp = imap_mime_header_decode($from[0]->personal); 
    151                 $head_array['from']['name'] = $this->decode_string($tmp[0]->text); 
    152                 $head_array['from']['email'] = $this->decode_string($from[0]->mailbox) . "@" . $from[0]->host; 
    153                 if(!$head_array['from']['name']) 
    154                         $head_array['from']['name'] = $head_array['from']['email']; 
    155                 $to = $header->to; 
    156                 $head_array['to'] = array(); 
    157                 $tmp = imap_mime_header_decode($to[0]->personal); 
    158                 $head_array['to']['name'] = $this->decode_string($this->decode_string($tmp[0]->text)); 
    159                 $head_array['to']['email'] = $this->decode_string($to[0]->mailbox) . "@" . $to[0]->host; 
    160                 if(!$head_array['to']['name']) 
    161                         $head_array['to']['name'] = $head_array['to']['email']; 
    162                 $head_array['subject'] = $this->decode_string($header->fetchsubject); 
    163                  
    164                 $head_array['Size'] = $header->Size; 
    165                  
    166                 $head_array['attachment'] = array(); 
    167                 $head_array['attachment'] = $imap_attachment->get_attachment_headerinfo($this->mbox, $msg_number); 
    168                  
    169                 return $head_array; 
     108                                return false;                    
     109                         
     110                        $return[$i]['Recent'] = $header->Recent; 
     111                        $return[$i]['Unseen'] = $header->Unseen; 
     112                        if($header->Answered =='A' && $header->Draft == 'X'){ 
     113                                $return[$i]['Forwarded'] = 'F'; 
     114                        } 
     115                        else { 
     116                                $return[$i]['Answered'] = $header->Answered; 
     117                                $return[$i]['Draft']    = $header->Draft;        
     118                        } 
     119                        $return[$i]['Deleted'] = $header->Deleted; 
     120                        $return[$i]['Flagged'] = $header->Flagged; 
     121                         
     122                        $return[$i]['msg_number'] = $msg_number; 
     123                        //$return[$i]['msg_folder'] = $folder; 
     124                         
     125                        $date_msg = gmdate("d/m/Y",$header->udate); 
     126                        if (gmdate("d/m/Y") == $date_msg) 
     127                                $return[$i]['udate'] = gmdate("H:i",$header->udate); 
     128                        else 
     129                                $return[$i]['udate'] = $date_msg; 
     130                         
     131                        $from = $header->from; 
     132                        $return[$i]['from'] = array(); 
     133                        $tmp = imap_mime_header_decode($from[0]->personal); 
     134                        $return[$i]['from']['name'] = $this->decode_string($tmp[0]->text); 
     135                        $return[$i]['from']['email'] = $this->decode_string($from[0]->mailbox) . "@" . $from[0]->host; 
     136                        if(!$return[$i]['from']['name']) 
     137                                $return[$i]['from']['name'] = $return[$i]['from']['email']; 
     138                        $to = $header->to; 
     139                        $return[$i]['to'] = array(); 
     140                        $tmp = imap_mime_header_decode($to[0]->personal); 
     141                        $return[$i]['to']['name'] = $this->decode_string($this->decode_string($tmp[0]->text)); 
     142                        $return[$i]['to']['email'] = $this->decode_string($to[0]->mailbox) . "@" . $to[0]->host; 
     143                        if(!$return[$i]['to']['name']) 
     144                                $return[$i]['to']['name'] = $return[$i]['to']['email']; 
     145                        $return[$i]['subject'] = $this->decode_string($header->fetchsubject); 
     146 
     147                        $return[$i]['Size'] = $header->Size; 
     148                         
     149                        $return[$i]['attachment'] = array(); 
     150                        $return[$i]['attachment'] = $imap_attachment->get_attachment_headerinfo($this->mbox, $msg_number);                       
     151                        $i++; 
     152                } 
     153                } 
     154                $return['num_msgs'] = $num_msgs;                 
     155                 
     156                return $return; 
    170157        } 
    171158         
     
    310297        } 
    311298 
    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  
    348299        function get_info_msg($params) 
    349300        { 
     
    366317                //Substituição de links em email para abrir no próprio expresso 
    367318                $body = ereg_replace("<a[^>]*href=[\'\"]mailto:([^\"\']+)[\'\"]>([^<]+)</a>","<a href=\"javascript:new_message_to('\\1')\">\\2</a>",$return_get_body['body']); 
    368                  
     319                         
    369320                $return['body']                 = $body; 
    370321                $return['attachments']  = $return_get_body['attachments']; 
     
    599550                $return['Size'] = $header->Size; 
    600551                $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                  
    607552                return $return; 
    608553        } 
     
    10721017        function refresh($params) 
    10731018        { 
    1074                 include_once("class.imap_attachment.inc.php"); 
     1019                include("class.imap_attachment.inc.php"); 
    10751020                $imap_attachment = new imap_attachment();                
    10761021                $folder = $params['folder']; 
     
    11521097                                        imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)) 
    11531098                                        ,$importance);           
    1154                         $return[$i]['Importance'] = $flag==0?"Normal":$importance[1]; 
     1099                        $return[$i]['Importance'] = $flag==0?"":$importance[1]; 
    11551100                         
    11561101                        $header = $this->get_header($msg_number); 
     
    14031348                $attachments = $params['FILES']; 
    14041349                $forwarding_attachments = $params['forwarding_attachments']; 
    1405                 $local_attachments = $params['local_attachments']; 
    14061350                  
    14071351                $folder =$params['folder']; 
     
    14871431//////////////////////////////////////////////////////////////////////////////////////////////////// 
    14881432                //      Build Uploading Attachments!!! 
    1489                 if ((count($attachments)) && ($params['is_local_forward']!="1")) //Caso seja forward normal... 
     1433                if (count($attachments)) 
    14901434                { 
    14911435                        $total_uploaded_size = 0; 
     
    14991443                                return $this->parse_error("message file too big");                       
    15001444                }                        
    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                 } 
    15171445//////////////////////////////////////////////////////////////////////////////////////////////////// 
    15181446                //      Build Forwarding Attachments!!! 
     
    16751603                                continue; 
    16761604                        } 
    1677                                                  
    1678                          
     1605                                                                         
    16791606                        if($sort_box_type=='SORTFROM') { 
    16801607                                if (($header->from[0]->mailbox . "@" . $header->from[0]->host) == $_SESSION['phpgw_info']['expressomail']['user']['email'])                              
     
    17161643        } 
    17171644         
    1718         /** 
    1719          * Deprecated 
    1720          *  
    1721          * Replaced for the method messages_sort 
    1722          */ 
    1723         function imap_sortfrom($sort_box_reverse, $search_box_type) 
    1724         { 
    1725                 $sortfrom = array(); 
    1726                 $sortfrom_uid = array(); 
    1727                  
    1728                 $num_msgs = imap_num_msg($this->mbox); 
    1729                 for ($i=1; $i<=$num_msgs; $i++) 
    1730                 { 
    1731                         $header = $this->get_header(imap_uid($this->mbox,$i)); 
    1732                         // List UNSEEN messages. 
    1733                         if($search_box_type == "UNSEEN" &&  (!trim($header->Recent) && !trim($header->Unseen))){ 
    1734                                 continue; 
    1735                         } 
    1736                         // List SEEN messages. 
    1737                         elseif($search_box_type == "SEEN" && (trim($header->Recent) || trim($header->Unseen))){ 
    1738                                 continue; 
    1739                         } 
    1740                         // List ANSWERED messages.                       
    1741                         elseif($search_box_type == "ANSWERED" && !trim($header->Answered)){ 
    1742                                 continue;                                
    1743                         } 
    1744                         // List FLAGGED messages.                        
    1745                         elseif($search_box_type == "FLAGGED" && !trim($header->Flagged)){ 
    1746                                 continue; 
    1747                         } 
    1748                                                  
    1749                         if (($header->from[0]->mailbox . "@" . $header->from[0]->host) == $_SESSION['phpgw_info']['expressomail']['user']['email'])                              
    1750                                 $from = $header->to; 
    1751                         else 
    1752                                 $from = $header->from; 
    1753                          
    1754                         $tmp = imap_mime_header_decode($from[0]->personal);                      
    1755                          
    1756                         if ($tmp[0]->text != "") 
    1757                                 $sortfrom[$i] = $tmp[0]->text; 
    1758                         else 
    1759                                 $sortfrom[$i] = $from[0]->mailbox . "@" . $from[0]->host; 
    1760                 } 
    1761                  
    1762                 natcasesort($sortfrom); 
    1763                  
    1764                 foreach($sortfrom as $index => $header_msg) 
    1765                 {        
    1766                         $sortfrom_uid[] = imap_uid($this->mbox, $index); 
    1767                 } 
    1768                  
    1769                 if ($sort_box_reverse) 
    1770                         $sortfrom_uid = array_reverse($sortfrom_uid); 
    1771                  
    1772                 return $sortfrom_uid; 
    1773         } 
    1774  
    17751645        function move_search_messages($params){          
    17761646                $params['selected_messages'] = urldecode($params['selected_messages']);  
     
    20831953                if($mbox_stream) 
    20841954                        imap_close($mbox_stream); 
    2085                                  
     1955                if (is_array($return_files))               
    20861956                foreach ($return_files as $index => $_attachment) { 
    20871957                        if (array_key_exists("name",$_attachment)){ 
     
    20971967                 
    20981968                $return['files'] = serialize($return_files); 
     1969                $return["subject"] = $subject; 
    20991970                                 
    21001971                if (!$return['append']) 
     
    21362007                                        imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)) 
    21372008                                        ,$importance);           
    2138                                 if(strtolower($importance[1])=="high") { 
     2009                                if(strtolower($importance[1])=="high" && $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_important_flag']) { 
    21392010                                        $flag_importance=true; 
    21402011                                } 
     
    21522023                        } 
    21532024 
    2154                         if($flag_importance) { 
     2025                        if($flag_importance && $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_important_flag']) { 
    21552026                                $return["status"] = false; 
    21562027                                $return["msg"] = $this->functions->getLang("At least one of selected message cant be marked as normal"); 
     
    24412312        function search($params) 
    24422313        { 
    2443                 include_once("class.imap_attachment.inc.php"); 
     2314                include("class.imap_attachment.inc.php"); 
    24442315                $imap_attachment = new imap_attachment();                                
    24452316                $criteria = $params['criteria']; 
     
    25612432                $retorno = ""; 
    25622433                $mbox_stream = ""; 
    2563                 if(strpos($params['condition'],"#")===false) { //local messages 
    2564                         $search=false; 
    2565                 } 
    2566                 else { 
    2567                         $search = explode(",",$params['condition']);                     
    2568                 } 
    2569  
     2434                $search = explode(",",$params['condition']); 
    25702435                if($search){ 
    25712436                        $search_criteria = ''; 
    2572                         foreach($search as $tmp){ 
     2437                        foreach($search as $tmp) 
     2438                        { 
    25732439                                $tmp1 = explode("##",$tmp); 
    25742440                                $name_box = $tmp1[0]; 
     
    28272693                $array_parts_attachments = array();              
    28282694                $array_parts_attachments['names'] = ''; 
    2829                 include_once("class.imap_attachment.inc.php"); 
     2695                include("class.imap_attachment.inc.php"); 
    28302696                $imap_attachment = new imap_attachment();                
    28312697                 
     
    28942760                $header->udate +=  $pdate['zone']*(-60); 
    28952761                 
    2896                 if($header->Flagged!="F") { 
     2762                if($header->Flagged != "F" && $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_important_flag']) { 
    28972763                        $flag = preg_match('/importance *: *(.*)\r/i', 
    28982764                                                imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)) 
  • trunk/expressoMail1_2/index.php

    r670 r673  
    5858        } 
    5959 
    60  
    61         //Local messages 
    62         $_SESSION['phpgw_info']['server']['expressomail']['enable_local_messages'] = $current_config['enable_local_messages']; 
    63  
    6460        // Get Data from ldap_manager and emailadmin. 
    6561        $ldap_manager = CreateObject('contactcenter.bo_ldap_manager'); 
     
    7773        $_SESSION['phpgw_info']['expressomail']['user']['email'] = $GLOBALS['phpgw']->preferences->values['email']; 
    7874         
    79         if($current_config['enable_local_messages']!='True')  { 
    80                 $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'] = 0; 
    81         } 
    82  
     75         
    8376        $_SESSION['phpgw_info']['user']['preferences']['expressoMail'] = array( 
    8477                        'voip_enabled'                                          => $voip_enabled, 
     
    9588                'type_signature'                                        => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['type_signature'], 
    9689                'use_signature'                                         => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_signature'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_signature'] : "0", 
    97                         'hide_folders'                                          => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['hide_folders'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['hide_folders'] : "0",                  
     90                'hide_folders'                                          => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['hide_folders'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['hide_folders'] : "0",                  
    9891                'save_in_folder'                                        => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['save_in_folder'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['save_in_folder'] : "-1", 
    9992                'line_height'                                           => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['line_height'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['line_height'] : "30", 
     
    10194                'use_shortcuts'                                         => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_shortcuts'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_shortcuts'] : "0", 
    10295                'auto_save_draft'                                       => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['auto_save_draft'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['auto_save_draft'] : "0", 
    103                         'use_dynamic_contacts'                          => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_dynamic_contacts'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_dynamic_contacts'] : "0", 
    104                         'number_of_contacts'                            => $current_config['expressoMail_Number_of_dynamic_contacts'] ? $current_config['expressoMail_Number_of_dynamic_contacts'] : "0", 
    105                         'use_cache'                                             => $current_config['expressoMail_enable_cache'], 
    106                         'notification_domains'                  => $current_config['expressoMail_notification_domains'], 
    107                 'use_local_messages'                            => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'] : "0",                      
    108                 'keep_archived_messages'                        => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['keep_archived_messages'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['keep_archived_messages'] : "0" 
     96                'use_dynamic_contacts'                                  => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_dynamic_contacts'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_dynamic_contacts'] : "0", 
     97                'number_of_contacts'                                    => $current_config['expressoMail_Number_of_dynamic_contacts'] ? $current_config['expressoMail_Number_of_dynamic_contacts'] : "0", 
     98                'use_cache'                                             => $current_config['expressoMail_enable_cache'], 
     99                'notification_domains'                                  => $current_config['expressoMail_notification_domains'], 
     100                'remove_attachments_function'                           => $current_config['expressoMail_remove_attachments_function'], 
     101                'use_important_flag'                                    => $current_config['expressoMail_enable_important_flag'] 
     102 
     103 
    109104                 
    110105        ); 
     
    167162 
    168163    // End Set Imap Folder names options 
    169         //User info 
    170         echo "<script language='javascript'> var account_id = ".$GLOBALS['phpgw_info']['user']['account_id'].";</script>"; 
    171164 
    172165        $obj = createobject("expressoMail1_2.functions"); 
     
    181174                                                        "js/InfoContact.js," . 
    182175                                                        "js/main.js," . 
    183                                                         "js/gears_init.js," . 
    184                                                         "js/local_messages.js," . 
    185                                                         "js/messages_proxy.js," . 
    186176                                                        "js/rich_text_editor.js," . 
    187177                                                        "js/wfolders.js,", 
  • trunk/expressoMail1_2/js/TreeS.js

    r670 r673  
    3636                div_buttons.innerHTML = "<table border='0' cellpading='0' cellspacing='0'>"+ 
    3737                                                            "<tr>"+ 
    38                                                             "<td><input type='button' style='padding:0 .25em 0 .25em;width:auto;overflow:visible;' value='"+get_lang('New folder')+"' onclick='proxy_mensagens.proxy_create_folder()'></td>"+ 
     38                                                            "<td><input type='button' value='"+get_lang('New folder')+"' onclick='ttreeBox.validate(\"newpast\")'></td>"+ 
    3939                                                            "</tr>"+ 
    4040                                                            "<tr>"+ 
    41                                                             "<td><input type='button' style='padding:0 .25em 0 .25em;width:auto;overflow:visible;' value='"+get_lang('Delete folder')+"' onclick='proxy_mensagens.proxy_remove_folder()'></td>"+ 
     41                                                            "<td><input type='button' value='"+get_lang('Delete folder')+"' onclick='ttreeBox.del()'></td>"+ 
    4242                                                            "</tr>"+ 
    4343                                                            "<tr>"+ 
    44                                                             "<td><input type='button' style='padding:0 .25em 0 .25em;width:auto;overflow:visible;' value='"+get_lang('Rename folder')+"' onclick='proxy_mensagens.proxy_rename_folder()'></td>"+ 
     44                                                            "<td><input type='button' value='"+get_lang('Rename folder')+"' onclick='ttreeBox.validate(\"rename\")'></td>"+ 
    4545                                                            "</tr>"+ 
    4646                                                            "<tr>"+ 
    47                                                             "<td><input type='button' style='padding:0 .25em 0 .25em;width:auto;overflow:visible;' value='"+get_lang('Export messages')+"' onclick='ttreeBox.export_all_msg()'></td>"+ 
     47                                                            "<td><input type='button' value='"+get_lang('Export messages')+"' onclick='ttreeBox.export_all_msg()'></td>"+ 
    4848                                                            "</tr>"+ 
    4949                                                            "<tr><td><br><br><br><br><br></td></tr>"+ 
    50                                                             "<tr><td><input type='button' style='padding:0 .25em 0 .25em;width:auto;overflow:visible;' value='"+get_lang('Close')+"' onclick='ttree.close_win()'></td></tr>"+ 
     50                                                            "<tr><td><input type='button' value='"+get_lang('Close')+"' onclick='ttree.close_win()'></td></tr>"+ 
    5151                                                            "</table>"; 
    5252                tree.appendChild(div_buttons);           
     
    161161                        folders_tree.add(nn,data[i].folder_parent); 
    162162                } 
    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>&nbsp(</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                 
    189164                folders_tree.draw(Element(destination)); 
    190165                n_root.changeState(); 
  • trunk/expressoMail1_2/js/TreeShow.js

    r670 r673  
    9898                                if(func == "newpast"){ 
    9999                    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  
    106100                                        if(trim(button) == "" || trim(button) == null){ 
    107101                                                return false; 
     
    120114                                        } 
    121115                    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                                         } 
    126116                                        if(trim(button1) == "" || trim(button1) == null){ 
    127117                                                return false; 
  • trunk/expressoMail1_2/js/common_functions.js

    r670 r673  
    178178} 
    179179 
    180 function download_local_attachment(url) { 
     180function 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         
    181184        if (div_attachment == null){ 
    182185                var div_attachment = document.createElement("DIV"); 
     
    184187                document.body.appendChild(div_attachment); 
    185188        } 
    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         } 
    198189        if(new_file_name) 
    199190                params = "&newfilename="+new_file_name; 
     
    210201        cExecute("$this.exporteml.download_all_attachments",handler_source,"folder="+msg_folder+"&num_msg="+msg_number); 
    211202} 
    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  
    286203// Add Input File Dynamically. 
    287204function addFile(id_border){ 
     
    322239        divFile.id = "divFile_"+id_border+"_"+countDivFiles;     
    323240        divFiles.appendChild(divFile); 
    324  
    325         return inputFile; 
    326241} 
    327242//      Remove Input File Dynamically. 
     
    762677 
    763678 function lang_folder(fn) { 
    764         if (fn.toUpperCase() == "INBOX") return get_lang("Inbox"); 
     679        if (fn == "Inbox") return get_lang("Inbox"); 
    765680        if (special_folders[fn] && typeof(special_folders[fn]) == 'string') { 
    766681                return get_lang(special_folders[fn]); 
    767         }        
     682        } 
    768683        return fn; 
    769684 } 
  • trunk/expressoMail1_2/js/doiMenuData.js

    r670 r673  
    152152                var _sep = "<hr>"; 
    153153                var optionsMenu = new Array(  
    154                         _tab + get_lang("Mark as")+"&nbsp;"+get_lang('seen')+'|'+"proxy_mensagens.proxy_set_messages_flag('seen','get_selected_messages')", 
    155                         _tab + get_lang("Mark as")+"&nbsp;"+get_lang('unseen')+'|'+"proxy_mensagens.proxy_set_messages_flag('unseen','get_selected_messages')", 
    156                         _tab + get_lang("Mark as")+"&nbsp;"+get_lang('important')+'|'+"proxy_mensagens.proxy_set_messages_flag('flagged','get_selected_messages')", 
    157                         _tab + get_lang("Mark as")+"&nbsp;"+get_lang('normal')+'|'+"proxy_mensagens.proxy_set_messages_flag('unflagged','get_selected_messages')", 
     154                        _tab + get_lang("Mark as")+"&nbsp;"+get_lang('seen')+'|'+"set_messages_flag('seen','get_selected_messages')", 
     155                        _tab + get_lang("Mark as")+"&nbsp;"+get_lang('unseen')+'|'+"set_messages_flag('unseen','get_selected_messages')", 
     156                        _tab + get_lang("Mark as")+"&nbsp;"+get_lang('important')+'|'+"set_messages_flag('flagged','get_selected_messages')", 
     157                        _tab + get_lang("Mark as")+"&nbsp;"+get_lang('normal')+'|'+"set_messages_flag('unflagged','get_selected_messages')", 
    158158                        _sep, 
    159159                        _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')", 
    161161                        _tab + get_lang("Export")+"|"+"export_all_selected_msgs()" 
    162162                ); 
  • trunk/expressoMail1_2/js/drag_area.js

    r670 r673  
    216216                        if(new_folder_name == 'INBOX') 
    217217                                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) 
    220221                                        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); 
    227228                        } 
    228229                } 
  • trunk/expressoMail1_2/js/draw_api.js

    r670 r673  
    5353                        } 
    5454                } 
    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>&nbsp(</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); 
    10056                return; 
    10157        } 
     
    12783                        tree_folders.add(nn,folders[i].folder_parent); 
    12884                } 
    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>&nbsp(</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                  
    17385                tree_folders.draw(Element('content_folders')); 
    17486                n_root.changeState(); 
     
    271183                        return true; 
    272184                } 
    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 
    277187                alternate_border(0); 
    278188} 
     
    336246        if(current_page != 1) { 
    337247                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());})"); 
    339249        } 
    340250        else { 
     
    375285                        msg_range_begin = ((i*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); 
    376286                        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());})"); 
    378288                } 
    379289                 
     
    392302                msg_range_begin = ((total_pages*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); 
    393303                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());})"); 
    395305        } 
    396306        else { 
     
    437347                        { 
    438348                                if ((window.event.keyCode) == 46) 
    439                                         proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     349                                        delete_msgs(get_current_folder(),'selected','null'); 
    440350                        } 
    441351                        else 
    442352                        { 
    443353                                if ((e.keyCode) == 46) 
    444                                         proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     354                                        delete_msgs(get_current_folder(),'selected','null'); 
    445355                        } 
    446356                }; 
     
    506416                        { 
    507417                                //delete_all_selected_msgs_imap(); 
    508                                 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     418                                delete_msgs(get_current_folder(),'selected','null'); 
    509419                        } 
    510420                } 
     
    514424                        { 
    515425                                //delete_all_selected_msgs_imap(); 
    516                                 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     426                                delete_msgs(get_current_folder(),'selected','null'); 
    517427                        } 
    518428                } 
     
    619529        } 
    620530} 
     531function change_tr_properties(tr_element, newUid, newSubject){ 
     532       var td_who = document.getElementById('td_who_'+tr_element.id); 
     533       td_who.nextSibling.innerHTML = newSubject; 
     534       tr_element.id = newUid; 
     535       for (var i=2; i < 6; i++) 
     536               tr_element.childNodes[i].id = tr_element.childNodes[i].id.replace(message_id,newUid); 
     537       tr_element.onclick = function () {   cExecute("$this.imap_functions.get_info_msg&msg_number="+newUid+"&msg_folder="+current_folder,show_msg); }; 
     538} 
    621539 
    622540function make_tr_message(headers_msgs, msg_folder){ 
     
    627545 
    628546                if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')){ 
    629                         if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1)) 
     547                        if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 && preferences.use_important_flag == 'True')) 
    630548                                add_className(tr_element, 'flagged_msg'); 
    631549                        add_className(tr_element, 'tr_msg_unread'); 
    632550                } 
    633551                else{ 
    634                         if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1)) 
     552                        if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 && preferences.use_important_flag == 'True')) 
    635553                                add_className(tr_element,'flagged_msg'); 
    636554                        add_className(tr_element, 'tr_msg_read'); 
     
    677595                // preload image 
    678596                var _img_important = new Image(); 
    679                 _img_important.src = "templates/default/images/important.gif"; 
    680  
    681                 if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1)) 
     597                _img_important.src = "templates/default/images/important.gif" 
     598                if (headers_msgs.Flagged == 'F' || (headers_msgs.Importance.toLowerCase().indexOf("high") != -1 && preferences.use_important_flag == 'True')){ 
    682599                        td_element22.innerHTML += "<img src ='templates/default/images/important.gif' title='"+get_lang('Important')+"'>"; 
     600                        } 
    683601                else 
    684602                        td_element22.innerHTML += "&nbsp;&nbsp;&nbsp;"; 
     
    696614                td_element3.id = "td_who_"+ headers_msgs.msg_number; 
    697615                td_element3.setAttribute("width", "30%"); 
    698                 var _onclick = function(){InfoContact.hide();proxy_mensagens.get_msg(headers_msgs.msg_number, msg_folder,true, show_msg);}; 
     616                var _onclick = function(){InfoContact.hide();cExecute("$this.imap_functions.get_info_msg&msg_number="+ headers_msgs.msg_number + "&msg_folder=" + msg_folder, show_msg);}; 
    699617                td_element3.onclick = _onclick; 
    700618                td_element3.innerHTML = '&nbsp;'; 
     
    816734        search_box_type = search; 
    817735 
    818         proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort,search,sort_box_reverse,handler_draw_box); 
    819 //      cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&search_box_type="+search+"&sort_box_type="+sort+"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); 
     736        cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+sort+"&search_box_type="+search+"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); 
    820737        current_page = 1; 
    821738        //Comentado para nao sobrepor o numero de msgs nao lidas ao utilizar os filtros 
     
    1043960        option_delete.id = 'msg_opt_delete_'+ID; 
    1044961        option_delete.className = 'message_options'; 
    1045         option_delete.onclick = function(){proxy_mensagens.delete_msgs(info_msg.msg_folder, info_msg.msg_number, ID);}; 
     962        option_delete.onclick = function(){delete_msgs(info_msg.msg_folder, info_msg.msg_number, ID);}; 
    1046963        option_delete.innerHTML = get_lang('Delete'); 
    1047964        options.appendChild(space3); 
     
    1065982 
    1066983        var option_mark_as                                              = '<span>'+get_lang("Mark as")+'</span>: '; 
    1067         var option_mark_as_unseen                               = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'unseen\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Unseen")+'.\');">'+get_lang("Unseen")+'</span>, '; 
    1068         var option_mark_as_important                    = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'flagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Important")+'.\');">'+get_lang("Important")+'</span>, '; 
    1069         var option_mark_as_normal                               = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'unflagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Normal")+'.\');">'+get_lang("Normal")+'</span> | '; 
     984        var option_mark_as_unseen                               = '<span class="message_options" onclick="set_messages_flag(\'unseen\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Unseen")+'.\');">'+get_lang("Unseen")+'</span>, '; 
     985        var option_mark_as_important                    = '<span class="message_options" onclick="set_messages_flag(\'flagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Important")+'.\');">'+get_lang("Important")+'</span>, '; 
     986        var option_mark_as_normal                               = '<span class="message_options" onclick="set_messages_flag(\'unflagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Normal")+'.\');">'+get_lang("Normal")+'</span> | '; 
    1070987         
    1071988        var option_move                                                 = '<span class="message_options" onclick=wfolders.makeWindow("'+ID+'","move_to");>'+get_lang("Move")+'</span> | '; 
     
    1073990        var option_reply_without_history                = '<span class="message_options" onclick=new_message("reply_without_history","'+ID+'");>'+get_lang("Reply without history")+'</span> | '; 
    1074991        var option_reply_to_all_without_history = '<span class="message_options" onclick=new_message("reply_to_all_without_history","'+ID+'");>'+get_lang("Reply to all without history")+'</span> | '; 
    1075         var option_source_msg                                   = '<span class="message_options" onclick=proxy_mensagens.proxy_source_msg("'+ID+'","'+url_encode(info_msg.msg_folder)+'");>'+get_lang("Message Font")+'</span>';         
     992        var option_source_msg                                   = '<span class="message_options" onclick=source_msg("'+ID+'","'+url_encode(info_msg.msg_folder)+'");>'+get_lang("Message Font")+'</span>';       
    1076993 
    1077994        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; 
     
    11021019                var option_edit   = '<span class="message_options" onclick="new_message(\'edit\',\''+ID+'\');">'+get_lang('Edit')+'</span> | '; 
    11031020                var option_print = '<span class="message_options" onclick="print_msg(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Print')+'</span> | '; 
    1104                 var option_delete = '<span class="message_options" onclick="proxy_mensagens.delete_msgs(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Delete')+'</span> | ';                 
     1021                var option_delete = '<span class="message_options" onclick="delete_msgs(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Delete')+'</span> | ';                 
    11051022                var option_hide_more = document.createElement("SPAN"); 
    11061023                option_hide_more.className = 'message_options'; 
     
    11881105        from_values.type = "HIDDEN"; 
    11891106        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          
    11971107        tr1.appendChild(td1); 
    11981108        tr1.appendChild(from); 
    11991109        tr1.appendChild(from_values); 
    1200         tr1.appendChild(local_message); 
    1201          
    1202  
    1203          
    12041110        if (info_msg.reply_to){ 
    12051111                var tr11 = document.createElement("TR"); 
     
    13881294                var td6 = document.createElement("TD"); 
    13891295                td6.innerHTML = get_lang("Attachments: "); 
    1390                  
     1296 
    13911297                var attachments = document.createElement("TD"); 
    13921298                td6.vAlign = "top"; 
    13931299                attachments.align='left'; 
    13941300                var zipped_attachments = ''; 
    1395                 if(info_msg.attachments.length >= 1){ 
    1396                         var zipped_attachments  = document.createElement("TABLE"); 
     1301                if(info_msg.attachments.length >= 1) { 
     1302                        var zipped_attachments  = document.createElement("TABLE"); 
    13971303                        zipped_attachments.style.marginBottom = "4px"; 
    13981304                        zipped_attachments.cellPadding="0"; 
    13991305                        zipped_attachments.cellSpacing="0"; 
     1306                        var td = document.createElement("TD"); 
     1307                        if(info_msg.attachments.length > 1) { 
     1308                                var link_attachment     = document.createElement("A"); 
     1309                                link_attachment.setAttribute("href", "javascript:download_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); 
     1310                                link_attachment.innerHTML = " "+info_msg.attachments.length+' '+get_lang('files')+' :: '+get_lang('Download all atachments'); 
     1311                                link_attachment.innerHTML += '<BR>'; 
     1312                                td.appendChild(link_attachment); 
     1313                        } 
    14001314                        var tr = document.createElement("TR"); 
    1401                         var td = document.createElement("TD");                   
    1402                         if(info_msg.attachments.length != 1) { 
    1403                         var link_attachment     = document.createElement("A"); 
    1404                         link_attachment.setAttribute("href", "javascript:download_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); 
    1405                         link_attachment.innerHTML = " "+info_msg.attachments.length+' '+get_lang('files')+' :: '+get_lang('Download all atachments'); 
    1406                         link_attachment.innerHTML += '<BR>'; 
    1407                         td.appendChild(link_attachment); 
    1408                         } 
    1409                         var del_attachments = document.createElement("A"); 
    1410                         del_attachments.setAttribute("href", "javascript:remove_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')");                  
    1411                         del_attachments.innerHTML = get_lang('remove all attachments'); 
    1412                  
    1413                         td.appendChild(del_attachments); 
     1315                        if(preferences.remove_attachments_function) 
     1316                        { 
     1317                                var del_attachments = document.createElement("A"); 
     1318                                del_attachments.setAttribute("href", "javascript:remove_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); 
     1319                                del_attachments.innerHTML = get_lang('remove all attachments'); 
     1320                                del_attachments.appendChild(document.createElement('BR')); 
     1321                                td.appendChild(del_attachments); 
     1322                                tr.appendChild(td); 
     1323                        } 
    14141324                        tr.appendChild(td); 
    14151325                        zipped_attachments.appendChild(tr); 
    1416                 } 
    1417                 if(zipped_attachments) 
    14181326                        attachments.appendChild(zipped_attachments); 
     1327                } 
    14191328                attachments.id = "attachments_" + ID; 
    14201329                for (var i=0; i<info_msg.attachments.length; i++){ 
    14211330                        var link_attachment = document.createElement("A"); 
    1422                         link_attachment.setAttribute("href", proxy_mensagens.link_anexo(info_msg,i)); 
    1423 //                      link_attachment.setAttribute("href", "javascript:download_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"',"+i+",'"+info_msg.attachments[i].pid+"','"+info_msg.attachments[i].encoding+"')"); 
     1331                        link_attachment.setAttribute("href", "javascript:download_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"',"+i+",'"+info_msg.attachments[i].pid+"','"+info_msg.attachments[i].encoding+"')"); 
    14241332                        link_attachment.innerHTML = url_decode(info_msg.attachments[i].name); 
    14251333                        msg_size = info_msg.attachments[i].fsize; 
     
    14321340                        if((url_decode(info_msg.attachments[i].name).indexOf(".ics")!=-1) || (url_decode(info_msg.attachments[i].name).indexOf(".vcard")!=-1)){ 
    14331341                                //Link para importar calendário 
    1434                                 var link_import_attachment = document.createElement("A"); 
    1435                                 link_import_attachment.setAttribute("href","../index.php?menuaction=calendar.uiicalendar.import_from_mail&msg_folder="+info_msg.msg_folder+"&msg_number="+info_msg.msg_number+"&msg_part="+info_msg.attachments[i].pid+"&idx_file="+i+"&encoding="+info_msg.attachments[i].encoding); 
    1436                                 link_import_attachment.innerHTML=get_lang("Import to calendar")+"<br>"; 
     1342                                var link_import_attachment = new Image(); 
     1343                                link_import_attachment.src = "templates/default/images/new.png"; 
     1344                                link_import_attachment.setAttribute("onclick","javascript:import_calendar('"+info_msg.msg_folder+"&msg_number="+info_msg.msg_number+"&msg_part="+info_msg.attachments[i].pid+"&idx_file="+i+"&encoding="+info_msg.attachments[i].encoding+"');"); 
     1345                                link_import_attachment.title = get_lang("Import to calendar"); 
     1346                                link_import_attachment.align = "top";                            
     1347                                link_import_attachment.style.cursor = "pointer"; 
    14371348                                var space = document.createElement("span"); 
    1438                                 space.innerHTML = "&nbsp;&nbsp;&nbsp;&nbsp;"; 
     1349                                space.innerHTML = "&nbsp;"; 
    14391350                                attachments.appendChild(link_attachment); 
    14401351                                attachments.appendChild(space); 
     
    15361447        ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    15371448} 
    1538  
    15391449function draw_new_message(border_ID){ 
    15401450        var ID = create_border("",border_ID); 
     
    16761586        } 
    16771587        } 
    1678          
    16791588        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); 
    16871589         
    16881590        var img_search = document.createElement("IMG"); 
     
    19311833        tr5.appendChild(td_return_receipt); 
    19321834        tbody_message.appendChild(tr5); 
    1933 ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    1934         var trn = document.createElement("TR"); 
    1935         var tdn = document.createElement("TD"); 
    1936         tdn.innerHTML = "&nbsp;"; 
    1937         var td_important_msg = document.createElement("TD"); 
    1938         td_important_msg.setAttribute("noWrap","true"); 
    1939         td_important_msg.innerHTML = get_lang("Important message")+":"; 
    1940         var input_important_message = document.createElement('input'); 
    1941         input_important_message.type = "checkbox"; 
    1942         input_important_message.className = "checkbox"; 
    1943         input_important_message.id = "important_message_"+ID; 
    1944         input_important_message.name = "input_important_message"; 
    1945         input_important_message.setAttribute("tabIndex","-1"); 
    1946         td_important_msg.appendChild(input_important_message);   
    1947         trn.appendChild(tdn); 
    1948         trn.appendChild(td_important_msg); 
    1949         tbody_message.appendChild(trn); 
    1950  
    1951 ////////////////////////////////////////////////////////////////////////////////////////////////////// 
     1835        if (preferences.use_important_flag) 
     1836        { 
     1837                var trn = document.createElement("TR"); 
     1838                var tdn = document.createElement("TD"); 
     1839                tdn.innerHTML = "&nbsp;"; 
     1840                var td_important_msg = document.createElement("TD"); 
     1841                td_important_msg.setAttribute("noWrap","true"); 
     1842                td_important_msg.innerHTML = get_lang("Important message")+":"; 
     1843                var input_important_message = document.createElement('input'); 
     1844                input_important_message.type = "checkbox"; 
     1845                input_important_message.className = "checkbox"; 
     1846                input_important_message.id = "important_message_"+ID; 
     1847                input_important_message.name = "input_important_message"; 
     1848                input_important_message.setAttribute("tabIndex","-1"); 
     1849                td_important_msg.appendChild(input_important_message);   
     1850                trn.appendChild(tdn); 
     1851                trn.appendChild(td_important_msg); 
     1852                tbody_message.appendChild(trn); 
     1853        } 
    19521854        var add_files = document.createElement("A"); 
    19531855        add_files.setAttribute("href", "javascript:void(0)"); 
     
    22482150                        { 
    22492151                                //delete_all_selected_msgs_imap(); 
    2250                                 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     2152                                delete_msgs(get_current_folder(),'selected','null'); 
    22512153                        } 
    22522154                } 
     
    22562158                        { 
    22572159                                //delete_all_selected_msgs_imap(); 
    2258                                 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     2160                                delete_msgs(get_current_folder(),'selected','null'); 
    22592161                        } 
    22602162                } 
     
    23552257                        { 
    23562258                                //delete_all_selected_msgs_imap(); 
    2357                                 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     2259                                delete_msgs(get_current_folder(),'selected','null'); 
    23582260                        } 
    23592261                } 
     
    23632265                        { 
    23642266                                //delete_all_selected_msgs_imap(); 
    2365                                 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     2267                                delete_msgs(get_current_folder(),'selected','null'); 
    23662268                        } 
    23672269                } 
     
    24482350} 
    24492351function draw_footer_box(num_msgs){ 
    2450         folder = get_current_folder(); 
    24512352        var span_R = Element("table_message");   
    24522353        var span_options = Element("span_options");      
     
    24592360 
    24602361        span_options.innerHTML =  
    2461                 '<span title="'+get_lang("Delete")+'" style="margin-left:8px" class="message_options" onclick=proxy_mensagens.delete_msgs(\'null\',\'selected\',\'null\')>'+get_lang("Delete")+'</span> | '+ 
     2362                '<span title="'+get_lang("Delete")+'" style="margin-left:8px" class="message_options" onclick=delete_msgs(\'null\',\'selected\',\'null\')>'+get_lang("Delete")+'</span> | '+ 
    24622363                '<span title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow(\"\",\"move_to\")>'+get_lang("Move")+'</span> | '+ 
    24632364                '<span title="'+get_lang("Print")+'" class="message_options" onclick=print_all()>'+get_lang("Print")+'</span> | '+ 
    24642365                '<span title="'+get_lang("Export")+'" class="message_options" onclick="export_all_selected_msgs()">'+get_lang("Export")+'</span> | ' +  
    24652366                '<span title="'+get_lang("Import")+'" class="message_options" onclick="import_window()">'+get_lang("Import")+'</span>'; 
    2466         if(preferences.use_local_messages==1) 
    2467                 span_options.innerHTML += ' | <span title="'+get_lang("Archive")+'" class="message_options" onclick="archive_msgs(\''+folder+'\',null)">'+get_lang("Archive")+'</span>'; 
     2367         
    24682368        if (use_spam_filter) { 
    24692369                if ( get_current_folder() == 'INBOX'+cyrus_delimiter+'Spam' )   { 
  • trunk/expressoMail1_2/js/filter.js

    r670 r673  
    128128                                } 
    129129                        } 
    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                                { 
    132134                                        var opt = new Option(nm_folders[i].caption,nm_folders[i].id,false,true); 
    133135                                        sel_nm[sel_nm.length] = opt; 
  • trunk/expressoMail1_2/js/main.js

    r670 r673  
    4040        cExecute ("$this.functions.get_preferences", save_preferences); 
    4141        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); 
    4642} 
    4743/* 
     
    240236} 
    241237 
    242 function delete_msgs2(folder, msgs_number, border_ID, show_success_msg) { 
     238function delete_msgs(folder, msgs_number, border_ID) 
     239{ 
    243240        if (folder == 'null') 
    244241                folder = get_current_folder(); 
    245242 
    246243        if ((parseInt(preferences.save_deleted_msg)) && (folder!='INBOX'+cyrus_delimiter+trashfolder)){ 
    247                 move_msgs2(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 ); 
    248245                return; 
    249246        } 
     
    274271                        } 
    275272                } 
    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.")); 
    282277 
    283278                if (data.border_ID != 'null'){ 
     
    298293                write_msg(get_lang('No selected message.'));             
    299294} 
    300 function delete_msgs(folder, msgs_number, border_ID) 
    301 {  
    302         delete_msgs2(folder, msgs_number, border_ID, true); 
    303 } 
    304  
    305295 
    306296function move_search_msgs(border_id, new_folder, new_folder_name){ 
    307297        var selected_messages = ''; 
    308         var temp_msg; 
    309298        var main_list = Element("tbody_resultsearch_"+border_id.substr(18)).childNodes;  
    310299        for (j = 0; j < main_list.length; j++)  { 
    311300                var check_box = main_list[j].firstChild.firstChild;  
    312301                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                         } 
    317302                        selected_messages += main_list[j].id + ','; 
    318303                } 
    319304        } 
    320  
    321305        selected_messages = selected_messages.substring(0,(selected_messages.length-1)); 
    322306        var handler_move_search_msgs = function(data){ 
     
    350334                        for (i = 0; i < selected_msg_array.length; i++){ 
    351335                                var tr = Element(selected_msg_array[i]); 
    352                             selected_param += ','+tr.name+';'+tr.id; 
     336                                selected_param += ','+tr.name+';'+tr.id; 
    353337                        } 
    354338                } 
     
    356340                { 
    357341                        var tr=Element(selected_messages); 
    358                         alert(tr.name); 
    359342                        selected_param=tr.name+';'+tr.id; 
    360343                } 
     
    365348                        params = "&delete=true"; 
    366349                }                        
     350                 
    367351                params += "&selected_messages="+url_encode(selected_param); 
    368352                if(new_folder) { 
     
    370354                        params += "&new_folder_name="+url_encode(new_folder_name); 
    371355                } 
    372  
    373356                cExecute ("$this.imap_functions.move_search_messages", handler_move_search_msgs, params); 
    374357        } 
     
    377360} 
    378361 
    379 function move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,show_success_msg){ 
    380  
     362function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name){ 
    381363        if (! folder || folder == 'null') 
    382364                folder = Element("input_folder_"+msgs_number+"_r") ? Element("input_folder_"+msgs_number+"_r").value : get_current_folder(); 
     
    442424                } 
    443425                 
    444                 if (show_success_msg) { 
    445                         if (data.msgs_number.length == 1) 
    446                                 write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 
    447                         else  
    448                                 write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 
    449                 } 
    450  
     426 
     427                if (data.msgs_number.length == 1) 
     428                        write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 
     429                else 
     430                        write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 
    451431                if (data.border_ID.indexOf('r') != -1){ 
    452432                        if (parseInt(preferences.delete_and_show_previous_message) && folder == get_current_folder()){ 
     
    475455                write_msg(get_lang('No selected message.'));             
    476456                 
    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          
    529457} 
    530458 
     
    573501        else 
    574502                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; 
    582503} 
    583504 
     
    799720                        break; 
    800721                case "forward": 
    801                         data.is_local_message = (document.getElementById("is_local_"+border_ID).value=="1")?true:false; 
    802722                        msg_forward_from = document.createElement('input'); 
    803723                        msg_forward_from.id = "msg_forward_from_" + new_border_ID; 
     
    808728                        document.getElementById("subject_" + new_border_ID).value = "Fw: " + data.subject; 
    809729                        var divFiles = Element("divFiles_"+new_border_ID); 
    810                         var campo_arquivo 
    811730                        if (Element("attachments_" + border_ID)){ 
    812731                                var attachments = document.getElementById("attachments_" + border_ID).childNodes; 
    813732                                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;  
    821733                                        var link_attachment = document.createElement("A"); 
    822734                                        link_attachment.setAttribute("href", attachments[i].href); 
    823735                                        link_attachment.innerHTML = attachments[i].innerHTML; 
    824                                         if (data.is_local_message) {//Local messages 
    825                                                 document.getElementById("is_local_forward"+new_border_ID).value = "1"; 
    826                                                 var tmp = link_attachment.href.substring(link_attachment.href.indexOf("(") + 2);//Pula o parenteses e a aspas 
    827                                                 tmp = tmp.substring(0, tmp.length - 2);//corta a aspas e o parenteses 
    828                                                 tmp = replaceAll(tmp,"%20"," "); 
    829                                                 var tempNomeArquivo = tmp.split("/"); 
    830                                                 var nomeArquivo = tempNomeArquivo[tempNomeArquivo.length-1]; 
    831                                                 nomeArquivo = nomeArquivo.substring(0,nomeArquivo.length - 4); //Anexos no gears são todos com extensão .php. tenho que tirar a extensão para ficar o nome real do arquivo. 
    832                                                 campo_arquivo = addForwardedFile(new_border_ID,nomeArquivo,link_attachment.href); 
    833                                                  
    834                                                 expresso_local_messages.getInputFileFromAnexo(campo_arquivo, tmp); 
    835                                         } 
    836                                         else { 
    837                                                 var tmp = link_attachment.href.replace("javascript:download_attachments(", "").replace(")", ""); 
    838                                                 var a_tmp = tmp.split(','); 
    839                                                 tmp = link_attachment.innerHTML.substring(0,link_attachment.innerHTML.lastIndexOf("(")); 
    840                                                 a_tmp[2] = "'"+tmp.substring(0,tmp.length-1)+"'"; 
    841                                                 s_tmp = escape(connector.serialize(a_tmp));                      
    842  
    843                                                 divFiles.innerHTML += "<input style='border:0' type='CHECKBOX' name='forwarding_attachments[]' checked value=\""+s_tmp+"\"/>"; 
    844                                                 divFiles.innerHTML += "<link style='border:0' name='file_"+i+"' id='inputFile_"+border_ID+i+"'/>"; 
    845                                                 divFiles.appendChild(link_attachment); 
    846                                         }        
     736                                        var tmp = link_attachment.href.replace("javascript:download_attachments(", "").replace(")", ""); 
     737                                        var a_tmp = tmp.split(','); 
     738                                        tmp = link_attachment.innerHTML.substring(0,link_attachment.innerHTML.lastIndexOf("(")); 
     739                                        a_tmp[2] = "'"+tmp.substring(0,tmp.length-1)+"'"; 
     740                                        s_tmp = escape(connector.serialize(a_tmp)); 
     741                                        divFiles.innerHTML += "<input style='border:0' type='CHECKBOX' name='forwarding_attachments[]' checked value=\""+s_tmp+"\"/>"; 
     742                                        divFiles.appendChild(link_attachment); 
    847743                                } 
    848744                        } 
     
    12081104        } 
    12091105                if (message_id) 
     1106                { 
    12101107                        cExecute ("$this.imap_functions.delete_msgs&folder="+openTab.imapBox[border_id]+"&msgs_number="+message_id,handler_delete_msg); 
    1211                  
     1108                        if (openTab.imapBox[0] == "INBOX/"+draftsfolder) 
     1109                        { 
     1110                                //Update mailbox 
     1111                                var tr_msg = document.getElementById(message_id); 
     1112                                change_tr_properties(tr_msg, data.msg_no, data.subject); 
     1113                        } 
     1114                 
     1115                } 
    12121116                var save_link = Element("save_message_options_"+border_id); 
    12131117                save_link.onclick = ''; 
     
    15881492                else 
    15891493                        set_message_flag(msgs_number, "unseen"); 
    1590             proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name); 
     1494            move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 
    15911495        } 
    15921496 
     
    16081512                // debug 
    16091513                // alert(data); 
    1610                 proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name); 
     1514                move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 
    16111515        } 
    16121516    if(msgs_number == 'selected') 
     
    17361640        wfolders.makeWindow('null','import'); 
    17371641} 
     1642function import_calendar(data){ 
     1643        function handler_import_calendar(data){ 
     1644                if(data === true){ 
     1645                        write_msg(get_lang("The event was imported successfully.")); 
     1646                } 
     1647        } 
     1648        if(confirm(get_lang("Do you confirm this import to your Calendar?"))){ 
     1649                        cExecute('$this.db_functions.import_vcard&msg_folder='+data,handler_import_calendar); 
     1650        } 
     1651} 
  • trunk/expressoMail1_2/js/search.js

    r670 r673  
    101101                                                     "</tr>"+ 
    102102                                                     "<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>"+ 
    104104                                                     "</tr>"+ 
    105105                                                     "</table>"+ 
     
    310310                        tr.id = uid_msg; 
    311311                        tr.name = mailbox; 
    312                          
     312 
    313313                        for(var j=0 ; j <= 10 ; j++) 
    314314                        { 
     
    353353                                        if(td1 == "INBOX"){ 
    354354                                                var td1  = get_lang("Inbox"); 
    355                                         } 
    356                                                 if(proxy_mensagens.is_local_folder(td1)) { 
    357                                                         var td1 = this.aux_local_folder_display(td1); 
    358355                                        } 
    359356                                } 
     
    497494                if (span_options) 
    498495                        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.makeWindowNew(\"'+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>'; 
    500497                div_scroll_result.appendChild(table); 
    501498                content_search.appendChild(div_scroll_result);   
     
    508505                        if(Element("border_id_" + uid_msg + "_r")){alert(get_lang("This message is already opened!"));} 
    509506                        else{draw_message(data,create_border(url_decode(subject), uid_msg + "_r"));} 
    510                 } 
    511                 proxy_mensagens.get_msg(uid_msg,mailbox,false,handler_get_msg); 
    512                 /*var args   = "$this.imap_functions.get_info_msg"; 
    513                 var params = "msg_number=" + uid_msg + "&msg_folder=" + mailbox; 
    514                 cExecute(args,handler_get_msg,params);*/ 
     507                        //set_msg_as_read(msgs_to_set[i], false); 
     508                } 
     509                var args   = "$this.imap_functions.get_info_msg"; 
     510                var params = "&msg_number=" + uid_msg + "&msg_folder=" + mailbox; 
     511                cExecute(args+params,handler_get_msg); 
    515512 
    516513        } 
     
    519516        searchE.prototype.add_mailboxes = function(){ 
    520517                var sel = Element("sel_search_nm_box1"); 
    521                 if (!proxy_mensagens.is_local_folder(this.name_box_search)) { 
    522                         var name_box     = this.name_box_search.split(cyrus_delimiter); 
    523                         if(this.name_box_search == "") 
    524                                 return false; 
    525                         var name_box_def = ""; 
    526                         if(name_box.length != 1){ 
    527                                 name_box_def = name_box[(name_box.length-1)]; 
    528                         }else{ 
    529                                 name_box_def = get_lang("Inbox");                
    530                         } 
    531                 } 
    532                 else { 
    533                         if(this.name_box_search=='local_root') 
    534                                 return; 
    535                         if(this.name_box_search=='local_Inbox') 
    536                                 name_box_def = get_lang("Inbox"); 
    537                         else 
    538                                 name_box_def = this.name_box_search.substr(6);//Retira o 'local_' 
     518                var name_box     = this.name_box_search.split(cyrus_delimiter); 
     519                if(this.name_box_search == "") 
     520                        return false; 
     521                var name_box_def = ""; 
     522                if(name_box.length != 1){ 
     523                        name_box_def = name_box[(name_box.length-1)]; 
     524                }else{ 
     525                        name_box_def = get_lang("Inbox");                
    539526                } 
    540527                if( sel.length > 0){ 
     
    606593                        return false; 
    607594                } 
    608                 var local_folders = new Array(); 
    609                 var temp; 
    610595                 
    611596                if(Element("check_all_msg").checked){ 
    612                         this.all_mailboxes(); 
    613597                        var nm_box = new Array; 
    614598                        for(var i=0; i < EsearchE.all_boxes.length; i++){ 
    615599                                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                                 } 
    622600                        } 
    623601                }else{ 
     
    634612                        for(var i=0; i < sel_combo.options.length; i++){ 
    635613                                if(sel_combo.options[i].selected == true){ 
    636                                         if(!proxy_mensagens.is_local_folder(sel_combo.options[i].value)) 
    637                                                 nm_box[nm_box.length] = sel_combo.options[i].value + fields; 
    638                                         else 
    639                                                 local_folders.push(sel_combo.options[i].value.substr(6)); 
     614                                        nm_box[nm_box.length] = sel_combo.options[i].value + fields; 
    640615                                } 
    641616                        } 
    642617                } 
    643618                var handler = function(data){ 
    644                         var tmp; 
    645                         var countTmp= new Array(); 
    646                         if (local_folders.length > 0) { 
    647                                 tmp = expresso_local_messages.search(local_folders, fields); 
    648                                 if (tmp!=false) { 
    649                                         var tmp2 = tmp.substr(2, data.length - 4); 
    650                                         countTmp = tmp.split('####'); 
    651                                 } 
    652                         } 
    653                         if((data == "none") && (countTmp.length==0)){alert(get_lang("None result was found."));} 
    654                         else if(countTmp.length > 50){alert(get_lang("More than %1 results. Please, try to refine your search.",50));} 
     619                        if(data == "none"){alert(get_lang("None result was found."));} 
    655620                        else if(data == "many results"){alert(get_lang("More than %1 results. Please, try to refine your search.",50));} 
    656                         else{EsearchE.mount_result((data=='none')?tmp:(countTmp.length==0)?data:data+tmp);} 
     621                        else{EsearchE.mount_result(data);} 
    657622                } 
    658623                var args   = "$this.imap_functions.search_msg"; 
     
    714679                win.open();      
    715680        } 
    716          
    717         searchE.prototype.aux_local_folder_display = function(folder) { 
    718                 return "(Local) " + lang_folder(folder.substr(6)); 
    719         } 
    720          
    721681// Cria o objeto 
    722682        var EsearchE; 
  • trunk/expressoMail1_2/js/shortcut.js

    r670 r673  
    262262                 
    263263                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'); 
    265265        } 
    266266        else 
  • trunk/expressoMail1_2/js/wfolders.js

    r670 r673  
    66        } 
    77 
    8         cWFolders.prototype.makeWindowNew = function(border_id, type,from_search) 
    9         { //Infelizmente javascript não parece suportar o polimorfismo... 
     8        cWFolders.prototype.makeWindow = function(border_id, type) 
     9        { 
    1010                _this = this; 
    1111         
     
    6060                                        move_search_msgs(border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption);        
    6161                                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); 
    6363                                        wfolders.alert = true; 
    6464                                } 
     
    8787                el.appendChild(butt); 
    8888 
    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. 
    9294 
    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); 
    98100                        } 
    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); 
    105101                         
     102                        wfolders_tree.draw(Element('wfolders_content_tree')); 
     103                        n_root.changeState(); 
     104                        wfolders_tree.getNodeById('INBOX')._select(); 
    106105                } 
    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(); 
    111106                _this.showWindow(el, type); 
    112         } 
    113  
    114         cWFolders.prototype.makeWindow = function(border_id, type) 
    115         { 
    116                 this.makeWindowNew(border_id,type,false); 
    117107        } 
    118108         
  • trunk/expressoMail1_2/preferences.php

    r670 r673  
    133133                else 
    134134                        $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                  
    162135        } 
    163136        else //Save Config 
     
    259232                else 
    260233                        $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']);                   
    270234 
    271235                $GLOBALS['phpgw']->preferences->save_repository(); 
     
    312276        $GLOBALS['phpgw']->template->set_var('lang_type_signature',lang('Signature type')); 
    313277        $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?')); 
    318278        $GLOBALS['phpgw']->template->set_var('lang_use_signature',lang('Insert signature automatically in new messages?')); 
    319279 
  • trunk/expressoMail1_2/templates/default/config.tpl

    r670 r673  
    1212   <tr bgcolor="{row_off}"> 
    1313    <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> 
    2314   </tr> 
    2415   <tr bgcolor="{row_on}"> 
     
    4132   </tr> 
    4233   <tr bgcolor="{row_on}"> 
    43     <td>{lang_Do_you_want_to_use_the_spam_filter?}</td> 
    44     <td> 
    45      <select name="newsettings[expressoMail_use_spam_filter]"> 
    46       <option value=""{selected_expressoMail_use_spam_filter_False}>{lang_No}</option> 
    47       <option value="True"{selected_expressoMail_use_spam_filter_True}>{lang_Yes}</option> 
    48      </select> 
     34   <td>{lang_Do_you_want_to_use_important_flag_in_email_editor?}</td> 
     35   <td> 
     36   <select name="newsettings[expressoMail_enable_important_flag]"> 
     37   <option value=""{selected_expressoMail_enable_important_flag_False}>{lang_No}</option>   
     38   <option value="True"{selected_expressoMail_enable_important_flag_True}>{lang_Yes}</option> 
     39   </select> 
     40   </td> 
     41   </tr> 
     42   <tr bgcolor="{row_off}"> 
     43   <td>{lang_Do_you_want_to_use_remove_attachments_function?}</td> 
     44   <td> 
     45   <select name="newsettings[expressoMail_remove_attachments_function]"> 
     46   <option value=""{selected_expressoMail_remove_attachments_function_False}>{lang_No}</option> 
     47   <option value="True"{selected_expressoMail_remove_attachments_function_True}>{lang_Yes}</option> 
     48   </select> 
     49   </td> 
     50   </tr> 
     51   <tr bgcolor="{row_on}"> 
     52   <td>{lang_Do_you_want_to_use_the_spam_filter?}</td> 
     53   <td> 
     54   <select name="newsettings[expressoMail_use_spam_filter]"> 
     55   <option value=""{selected_expressoMail_use_spam_filter_False}>{lang_No}</option> 
     56   <option value="True"{selected_expressoMail_use_spam_filter_True}>{lang_Yes}</option> 
     57   </select> 
    4958    </td> 
    5059   </tr> 
  • trunk/expressoMail1_2/templates/default/preferences.tpl

    r670 r673  
    1 <script src="js/main.js"></script> 
     1 
    22<center> 
    33 
     
    3939        </td> 
    4040    </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} 
    6141    <tr bgcolor="{tr_color2}"> 
    6242        <td>{lang_delete_and_show_previous_message}</td> 
     
    181161</center> 
    182162<script language="JavaScript" type="text/javascript"> 
    183         disable_field(document.getElementById('keep_archived_messages'),'document.getElementById(\'use_local_messages\').value==\'0\'') 
    184163        var form =      document.forms[0]; 
    185164 
Note: See TracChangeset for help on using the changeset viewer.