Changeset 1342


Ignore:
Timestamp:
08/19/09 11:10:14 (15 years ago)
Author:
niltonneto
Message:

Ticket #561 - Correção das diferenças entre versão publicada e branch 1.2

Location:
branches/1.2
Files:
25 edited

Legend:

Unmodified
Added
Removed
  • branches/1.2/expressoMail1_2/inc/class.exporteml.inc.php

    r711 r1342  
    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 = dirname( __FILE__ ) . '/../tmpLclAtt'; 
    192                  
    193                 $phpheader = "<?php header('Content-Type: text/plain'); 
    194                                 header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
    195                                 header('Pragma: public'); 
    196                                 header('Expires: 0'); // set expiration 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 = dirname( __FILE__ ) . '/../tmpLclAtt'; 
    231 //              $tempDir = $_SERVER["DOCUMENT_ROOT"]."tmpLclAtt"; 
    232                 $tempSubDir = md5(microtime()); 
    233                 exec('mkdir ' . $tempDir . '/'.$tempSubDir.'; cd ' . $tempDir . '/'.$tempSubDir); 
    234                  
    235                 $this-> folder = $params['folder']; 
    236                 $this->folder = mb_convert_encoding($this->folder, "UTF7-IMAP","UTF-8"); 
    237                 $this->connectImap(); 
    238  
    239                 include_once("class.imap_attachment.inc.php"); 
    240  
    241                 $imap_attachment = new imap_attachment(); 
    242                 $attachments = $imap_attachment->download_attachment($this->mbox_stream, $id_number); 
    243                  
    244  
    245                  
    246                 foreach($attachments as $i => $attachment){ 
    247                         if($i && $i == 'names') 
    248                                 continue; 
    249                         $fileNameReal = $this->remove_accents($attachment['name']); 
    250                         $ContentType = $this->getFileType($fileNameReal); 
    251                         $fileName = $fileNameReal . ".php"; 
    252                         $f = fopen($tempDir . '/'.$tempSubDir.'/'.$fileName,"wb"); 
    253                         if(!$f) 
    254                                 return $tempDir . '/'.$tempSubDir.'/'.$fileName;                         
    255  
    256                         $fileContent = imap_fetchbody($this->mbox_stream, $id_number,$attachment['pid'], FT_UID); 
    257                         $urlPath = 'tmpLclAtt/'.$tempSubDir.'/'.$fileName; 
    258                          
    259                         $headers = "<?php header('Content-Type: ".$ContentType."'); 
    260                                 header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
    261                                 header('Pragma: public'); 
    262                                 header('Expires: 0'); // set expiration time 
    263                                 header('Content-Disposition: attachment; filename=\"". addslashes($fileNameReal) ."\"');\n echo "; 
    264                          
    265                         if($attachment['encoding'] == 'base64') { 
    266                                 $headers.=" imap_base64('".$fileContent."');?>"; 
    267                         } 
    268                         else if($attachment['encoding'] == 'quoted_printable_decode') { 
    269                                 $headers.=" quoted_printable_decode('".$fileContent."');?>"; 
    270                         } 
    271                         else { 
    272                                 $headers.=" '".$fileContent."';?>"; 
    273                         } 
    274                          
    275                         fputs($f,$headers); 
    276  
    277                         array_push($return_attachments,array('name' => $fileName,'url' => $urlPath,'pid' =>$attachment['pid'])); 
    278                         fclose($f); 
    279                 } 
    280                 imap_close($this->mbox_stream); 
    281                 return $return_attachments; 
    282         } 
    283          
    284         private function getFileType($nameFile) { 
    285                 $strFileType = strrev(substr(strrev(strtolower($nameFile)),0,4)); 
    286                 $ContentType = "application/octet-stream"; 
    287                 if ($strFileType == ".asf")  
    288                         $ContentType = "video/x-ms-asf"; 
    289                 if ($strFileType == ".avi") 
    290                         $ContentType = "video/avi"; 
    291                 if ($strFileType == ".doc") 
    292                         $ContentType = "application/msword"; 
    293                 if ($strFileType == ".zip") 
    294                         $ContentType = "application/zip"; 
    295                 if ($strFileType == ".xls") 
    296                         $ContentType = "application/vnd.ms-excel"; 
    297                 if ($strFileType == ".gif") 
    298                         $ContentType = "image/gif"; 
    299                 if ($strFileType == ".jpg" || $strFileType == "jpeg") 
    300                         $ContentType = "image/jpeg"; 
    301                 if ($strFileType == ".wav") 
    302                         $ContentType = "audio/wav"; 
    303                 if ($strFileType == ".mp3") 
    304                         $ContentType = "audio/mpeg3"; 
    305                 if ($strFileType == ".mpg" || $strFileType == "mpeg") 
    306                         $ContentType = "video/mpeg"; 
    307                 if ($strFileType == ".rtf") 
    308                         $ContentType = "application/rtf"; 
    309                 if ($strFileType == ".htm" || $strFileType == "html") 
    310                         $ContentType = "text/html"; 
    311                 if ($strFileType == ".xml")  
    312                         $ContentType = "text/xml"; 
    313                 if ($strFileType == ".xsl")  
    314                         $ContentType = "text/xsl"; 
    315                 if ($strFileType == ".css")  
    316                         $ContentType = "text/css"; 
    317                 if ($strFileType == ".php")  
    318                         $ContentType = "text/php"; 
    319                 if ($strFileType == ".asp")  
    320                         $ContentType = "text/asp"; 
    321                 if ($strFileType == ".pdf") 
    322                         $ContentType = "application/pdf"; 
    323                 if ($strFileType == ".txt") 
    324                         $ContentType = "text/plain"; 
    325                 if ($strFileType == ".log") 
    326                         $ContentType = "text/plain"; 
    327                 if ($strFileType == ".wmv") 
    328                         $ContentType = "video/x-ms-wmv"; 
    329                 if ($strFileType == ".sxc") 
    330                         $ContentType = "application/vnd.sun.xml.calc"; 
    331                 if ($strFileType == ".odt") 
    332                         $ContentType = "application/vnd.oasis.opendocument.text"; 
    333                 if ($strFileType == ".stc") 
    334                         $ContentType = "application/vnd.sun.xml.calc.template"; 
    335                 if ($strFileType == ".sxd") 
    336                         $ContentType = "application/vnd.sun.xml.draw"; 
    337                 if ($strFileType == ".std") 
    338                         $ContentType = "application/vnd.sun.xml.draw.template"; 
    339                 if ($strFileType == ".sxi") 
    340                         $ContentType = "application/vnd.sun.xml.impress"; 
    341                 if ($strFileType == ".sti") 
    342                         $ContentType = "application/vnd.sun.xml.impress.template"; 
    343                 if ($strFileType == ".sxm") 
    344                         $ContentType = "application/vnd.sun.xml.math"; 
    345                 if ($strFileType == ".sxw") 
    346                         $ContentType = "application/vnd.sun.xml.writer"; 
    347                 if ($strFileType == ".sxq") 
    348                         $ContentType = "application/vnd.sun.xml.writer.global"; 
    349                 if ($strFileType == ".stw") 
    350                         $ContentType = "application/vnd.sun.xml.writer.template"; 
    351                 if ($strFileType == ".ps") 
    352                         $ContentType = "application/postscript"; 
    353                 if ($strFileType == ".pps") 
    354                         $ContentType = "application/vnd.ms-powerpoint"; 
    355                 if ($strFileType == ".odt") 
    356                         $ContentType = "application/vnd.oasis.opendocument.text"; 
    357                 if ($strFileType == ".ott") 
    358                         $ContentType = "application/vnd.oasis.opendocument.text-template"; 
    359                 if ($strFileType == ".oth") 
    360                         $ContentType = "application/vnd.oasis.opendocument.text-web"; 
    361                 if ($strFileType == ".odm") 
    362                         $ContentType = "application/vnd.oasis.opendocument.text-master"; 
    363                 if ($strFileType == ".odg") 
    364                         $ContentType = "application/vnd.oasis.opendocument.graphics"; 
    365                 if ($strFileType == ".otg") 
    366                         $ContentType = "application/vnd.oasis.opendocument.graphics-template"; 
    367                 if ($strFileType == ".odp") 
    368                         $ContentType = "application/vnd.oasis.opendocument.presentation"; 
    369                 if ($strFileType == ".otp") 
    370                         $ContentType = "application/vnd.oasis.opendocument.presentation-template"; 
    371                 if ($strFileType == ".ods") 
    372                         $ContentType = "application/vnd.oasis.opendocument.spreadsheet"; 
    373                 if ($strFileType == ".ots") 
    374                         $ContentType = "application/vnd.oasis.opendocument.spreadsheet-template"; 
    375                 if ($strFileType == ".odc") 
    376                         $ContentType = "application/vnd.oasis.opendocument.chart"; 
    377                 if ($strFileType == ".odf") 
    378                         $ContentType = "application/vnd.oasis.opendocument.formula"; 
    379                 if ($strFileType == ".odi") 
    380                         $ContentType = "application/vnd.oasis.opendocument.image"; 
    381                 if ($strFileType == ".ndl") 
    382                         $ContentType = "application/vnd.lotus-notes"; 
    383                 return $ContentType; 
    384197        } 
    385198         
  • branches/1.2/expressoMail1_2/inc/class.imap_functions.inc.php

    r708 r1342  
    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 = gmdate("d/m/Y",$header->udate); 
    141                 if (date("d/m/Y") == $date_msg) 
    142                         $head_array['udate'] = gmdate("H:i",$header->udate); 
    143                 else 
    144                         $head_array['udate'] = $date_msg; 
    145                  
    146                 $head_array['aux_date'] = $date_msg; //Auxiliar apenas para mensagens locais. 
    147                  
    148                 $from = $header->from; 
    149                 $head_array['from'] = array(); 
    150                 $tmp = imap_mime_header_decode($from[0]->personal); 
    151                 $head_array['from']['name'] = $this->decode_string($tmp[0]->text); 
    152                 $head_array['from']['email'] = $this->decode_string($from[0]->mailbox) . "@" . $from[0]->host; 
    153                 if(!$head_array['from']['name']) 
    154                         $head_array['from']['name'] = $head_array['from']['email']; 
    155                 $to = $header->to; 
    156                 $head_array['to'] = array(); 
    157                 $tmp = imap_mime_header_decode($to[0]->personal); 
    158                 $head_array['to']['name'] = $this->decode_string($this->decode_string($tmp[0]->text)); 
    159                 $head_array['to']['email'] = $this->decode_string($to[0]->mailbox) . "@" . $to[0]->host; 
    160                 if(!$head_array['to']['name']) 
    161                         $head_array['to']['name'] = $head_array['to']['email']; 
    162                 $head_array['subject'] = $this->decode_string($header->fetchsubject); 
    163                  
    164                 $head_array['Size'] = $header->Size; 
    165                  
    166                 $head_array['attachment'] = array(); 
    167                 $head_array['attachment'] = $imap_attachment->get_attachment_headerinfo($this->mbox, $msg_number); 
    168                  
    169                 return $head_array; 
     108                                return false;                    
     109                         
     110                        $return[$i]['Recent'] = $header->Recent; 
     111                        $return[$i]['Unseen'] = $header->Unseen; 
     112                        if($header->Answered =='A' && $header->Draft == 'X'){ 
     113                                $return[$i]['Forwarded'] = 'F'; 
     114                        } 
     115                        else { 
     116                                $return[$i]['Answered'] = $header->Answered; 
     117                                $return[$i]['Draft']    = $header->Draft;        
     118                        } 
     119                        $return[$i]['Deleted'] = $header->Deleted; 
     120                        $return[$i]['Flagged'] = $header->Flagged; 
     121                         
     122                        $return[$i]['msg_number'] = $msg_number; 
     123                        //$return[$i]['msg_folder'] = $folder; 
     124                         
     125                        $date_msg = gmdate("d/m/Y",$header->udate); 
     126                        if (gmdate("d/m/Y") == $date_msg) 
     127                                $return[$i]['udate'] = gmdate("H:i",$header->udate); 
     128                        else 
     129                                $return[$i]['udate'] = $date_msg; 
     130                         
     131                        $from = $header->from; 
     132                        $return[$i]['from'] = array(); 
     133                        $tmp = imap_mime_header_decode($from[0]->personal); 
     134                        $return[$i]['from']['name'] = $this->decode_string($tmp[0]->text); 
     135                        $return[$i]['from']['email'] = $this->decode_string($from[0]->mailbox) . "@" . $from[0]->host; 
     136                        if(!$return[$i]['from']['name']) 
     137                                $return[$i]['from']['name'] = $return[$i]['from']['email']; 
     138                        $to = $header->to; 
     139                        $return[$i]['to'] = array(); 
     140                        $tmp = imap_mime_header_decode($to[0]->personal); 
     141                        $return[$i]['to']['name'] = $this->decode_string($this->decode_string($tmp[0]->text)); 
     142                        $return[$i]['to']['email'] = $this->decode_string($to[0]->mailbox) . "@" . $to[0]->host; 
     143                        if(!$return[$i]['to']['name']) 
     144                                $return[$i]['to']['name'] = $return[$i]['to']['email']; 
     145                        $return[$i]['subject'] = $this->decode_string($header->fetchsubject); 
     146 
     147                        $return[$i]['Size'] = $header->Size; 
     148                         
     149                        $return[$i]['attachment'] = array(); 
     150                        $return[$i]['attachment'] = $imap_attachment->get_attachment_headerinfo($this->mbox, $msg_number);                       
     151                        $i++; 
     152                } 
     153                } 
     154                $return['num_msgs'] = $num_msgs;                 
     155                 
     156                return $return; 
    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']; 
     
    598549                $return['subject'] = $this->decode_string($header->fetchsubject); 
    599550                $return['Size'] = $header->Size; 
    600                 $return['reply_toaddress'] = $header->reply_toaddress;   
    601          
    602                 //All this is to help in local messages 
    603                 $return['timestamp'] = $header->udate; 
    604                 $return['login'] = $_SESSION['phpgw_info']['expressomail']['user']['account_id'];//$GLOBALS['phpgw_info']['user']['account_id']; 
    605                 $return['reply_toaddress'] = $header->reply_toaddress; 
    606                  
     551                $return['reply_toaddress'] = $header->reply_toaddress;           
    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); 
     
    13921337                                return "The server denied your request to send a mail, you cannot use this mail address."; 
    13931338                } 
    1394                  
    1395                 //new_message_to backs to mailto: pattern 
    1396                 $params['body'] = eregi_replace("<a href=\"javascript:new_message_to\('([^>]+)'\)\">[^>]+</a>","<a href='mailto:\\1'>\\1</a>",$params['body']); 
    1397                  
    13981339                $toaddress = implode(',',$db->getAddrs(explode(',',$params['input_to']))); 
    13991340                $ccaddress = implode(',',$db->getAddrs(explode(',',$params['input_cc']))); 
     
    14071348                $attachments = $params['FILES']; 
    14081349                $forwarding_attachments = $params['forwarding_attachments']; 
    1409                 $local_attachments = $params['local_attachments']; 
    14101350                  
    14111351                $folder =$params['folder']; 
     
    14911431//////////////////////////////////////////////////////////////////////////////////////////////////// 
    14921432                //      Build Uploading Attachments!!! 
    1493                 if ((count($attachments)) && ($params['is_local_forward']!="1")) //Caso seja forward normal... 
     1433                if (count($attachments)) 
    14941434                { 
    14951435                        $total_uploaded_size = 0; 
     
    15031443                                return $this->parse_error("message file too big");                       
    15041444                }                        
    1505                 else if(($params['is_local_forward']=="1") && (count($local_attachments))) { //Caso seja forward de mensagens locais 
    1506                          
    1507                         $total_uploaded_size = 0; 
    1508                         $upload_max_filesize = str_replace("M","",ini_get('upload_max_filesize')) * 1024 * 1024;                         
    1509                         foreach($local_attachments as $local_attachment) { 
    1510                                 $file_description = unserialize(rawurldecode($local_attachment)); 
    1511                                 $tmp = array_values($file_description); 
    1512                                 foreach($file_description as $i => $descriptor){                                 
    1513                                         $tmp[$i]  = eregi_replace('\'*\'','',$descriptor); 
    1514                                 } 
    1515                                 $mail->AddAttachment($_FILES[$tmp[1]]['tmp_name'], $tmp[2], "base64", $this->get_file_type($tmp[2]));  // optional name 
    1516                                 $total_uploaded_size = $total_uploaded_size + $_FILES[$tmp[1]]['size']; 
    1517                         } 
    1518                         if( $total_uploaded_size > $upload_max_filesize) 
    1519                                 return 'false';  
    1520                 } 
    15211445//////////////////////////////////////////////////////////////////////////////////////////////////// 
    15221446                //      Build Forwarding Attachments!!! 
     
    17191643        } 
    17201644         
    1721         /** 
    1722          * Deprecated 
    1723          *  
    1724          * Replaced for the method messages_sort 
    1725          */ 
    1726         function imap_sortfrom($sort_box_reverse, $search_box_type) 
    1727         { 
    1728                 $sortfrom = array(); 
    1729                 $sortfrom_uid = array(); 
    1730                  
    1731                 $num_msgs = imap_num_msg($this->mbox); 
    1732                 for ($i=1; $i<=$num_msgs; $i++) 
    1733                 { 
    1734                         $header = $this->get_header(imap_uid($this->mbox,$i)); 
    1735                         // List UNSEEN messages. 
    1736                         if($search_box_type == "UNSEEN" &&  (!trim($header->Recent) && !trim($header->Unseen))){ 
    1737                                 continue; 
    1738                         } 
    1739                         // List SEEN messages. 
    1740                         elseif($search_box_type == "SEEN" && (trim($header->Recent) || trim($header->Unseen))){ 
    1741                                 continue; 
    1742                         } 
    1743                         // List ANSWERED messages.                       
    1744                         elseif($search_box_type == "ANSWERED" && !trim($header->Answered)){ 
    1745                                 continue;                                
    1746                         } 
    1747                         // List FLAGGED messages.                        
    1748                         elseif($search_box_type == "FLAGGED" && !trim($header->Flagged)){ 
    1749                                 continue; 
    1750                         } 
    1751                                                  
    1752                         if (($header->from[0]->mailbox . "@" . $header->from[0]->host) == $_SESSION['phpgw_info']['expressomail']['user']['email'])                              
    1753                                 $from = $header->to; 
    1754                         else 
    1755                                 $from = $header->from; 
    1756                          
    1757                         $tmp = imap_mime_header_decode($from[0]->personal);                      
    1758                          
    1759                         if ($tmp[0]->text != "") 
    1760                                 $sortfrom[$i] = $tmp[0]->text; 
    1761                         else 
    1762                                 $sortfrom[$i] = $from[0]->mailbox . "@" . $from[0]->host; 
    1763                 } 
    1764                  
    1765                 natcasesort($sortfrom); 
    1766                  
    1767                 foreach($sortfrom as $index => $header_msg) 
    1768                 {        
    1769                         $sortfrom_uid[] = imap_uid($this->mbox, $index); 
    1770                 } 
    1771                  
    1772                 if ($sort_box_reverse) 
    1773                         $sortfrom_uid = array_reverse($sortfrom_uid); 
    1774                  
    1775                 return $sortfrom_uid; 
    1776         } 
    1777  
    17781645        function move_search_messages($params){          
    17791646                $params['selected_messages'] = urldecode($params['selected_messages']);  
     
    25652432                $retorno = ""; 
    25662433                $mbox_stream = ""; 
    2567                 if(strpos($params['condition'],"#")===false) { //local messages 
    2568                         $search=false; 
    2569                 } 
    2570                 else { 
    2571                         $search = explode(",",$params['condition']);                     
    2572                 } 
    2573  
     2434                $search = explode(",",$params['condition']); 
    25742435                if($search){ 
    25752436                        $search_criteria = ''; 
     
    28322693                $array_parts_attachments = array();              
    28332694                $array_parts_attachments['names'] = ''; 
    2834                 include_once("class.imap_attachment.inc.php"); 
     2695                include("class.imap_attachment.inc.php"); 
    28352696                $imap_attachment = new imap_attachment();                
    28362697                 
  • branches/1.2/expressoMail1_2/index.php

    r689 r1342  
    5858        } 
    5959 
    60         //Local messages 
    61         $_SESSION['phpgw_info']['server']['expressomail']['enable_local_messages'] = $current_config['enable_local_messages']; 
    62  
    6360        // Get Data from ldap_manager and emailadmin. 
    6461        $ldap_manager = CreateObject('contactcenter.bo_ldap_manager'); 
     
    7673        $_SESSION['phpgw_info']['expressomail']['user']['email'] = $GLOBALS['phpgw']->preferences->values['email']; 
    7774         
    78         if($current_config['enable_local_messages']!='True')  { 
    79                 $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'] = 0; 
    80         } 
    81  
     75         
    8276        $_SESSION['phpgw_info']['user']['preferences']['expressoMail'] = array( 
    8377                        'voip_enabled'                                          => $voip_enabled, 
     
    10599                'notification_domains'                                  => $current_config['expressoMail_notification_domains'], 
    106100                'remove_attachments_function'                           => $current_config['expressoMail_remove_attachments_function'], 
    107                 'use_important_flag'                                    => $current_config['expressoMail_enable_important_flag'], 
    108                 'use_local_messages'                            => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_local_messages'] : "0",                      
    109                 'keep_archived_messages'                        => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['keep_archived_messages'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['keep_archived_messages'] : "0" 
    110  
     101                'use_important_flag'                                    => $current_config['expressoMail_enable_important_flag'] 
    111102 
    112103 
     
    171162 
    172163    // End Set Imap Folder names options 
    173         //User info 
    174         echo "<script language='javascript'> var account_id = ".$GLOBALS['phpgw_info']['user']['account_id'].";</script>"; 
    175164 
    176165        $obj = createobject("expressoMail1_2.functions"); 
     
    185174                                                        "js/InfoContact.js," . 
    186175                                                        "js/main.js," . 
    187                                                         "js/gears_init.js," . 
    188                                                         "js/local_messages.js," . 
    189                                                         "js/messages_proxy.js," . 
    190176                                                        "js/rich_text_editor.js," . 
    191177                                                        "js/wfolders.js,", 
  • branches/1.2/expressoMail1_2/js/TreeS.js

    r689 r1342  
    3636                div_buttons.innerHTML = "<table border='0' cellpading='0' cellspacing='0'>"+ 
    3737                                                            "<tr>"+ 
    38                                                             "<td><input type='button' value='"+get_lang('New folder')+"' onclick='proxy_mensagens.proxy_create_folder()'></td>"+ 
     38                                                            "<td><input type='button' value='"+get_lang('New folder')+"' onclick='ttreeBox.validate(\"newpast\")'></td>"+ 
    3939                                                            "</tr>"+ 
    4040                                                            "<tr>"+ 
    41                                                             "<td><input type='button' value='"+get_lang('Delete folder')+"' onclick='proxy_mensagens.proxy_remove_folder()'></td>"+ 
     41                                                            "<td><input type='button' value='"+get_lang('Delete folder')+"' onclick='ttreeBox.del()'></td>"+ 
    4242                                                            "</tr>"+ 
    4343                                                            "<tr>"+ 
    44                                                             "<td><input type='button' value='"+get_lang('Rename folder')+"' onclick='proxy_mensagens.proxy_rename_folder()'></td>"+ 
     44                                                            "<td><input type='button' value='"+get_lang('Rename folder')+"' onclick='ttreeBox.validate(\"rename\")'></td>"+ 
    4545                                                            "</tr>"+ 
    4646                                                            "<tr>"+ 
     
    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(); 
  • branches/1.2/expressoMail1_2/js/TreeShow.js

    r689 r1342  
    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; 
  • branches/1.2/expressoMail1_2/js/common_functions.js

    r689 r1342  
    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]); 
  • branches/1.2/expressoMail1_2/js/doiMenuData.js

    r689 r1342  
    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                ); 
  • branches/1.2/expressoMail1_2/js/drag_area.js

    r689 r1342  
    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                } 
  • branches/1.2/expressoMail1_2/js/draw_api.js

    r710 r1342  
    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 folders') 
    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                } 
     
    704614                td_element3.id = "td_who_"+ headers_msgs.msg_number; 
    705615                td_element3.setAttribute("width", "30%"); 
    706                 var _onclick = function(){InfoContact.hide();proxy_mensagens.get_msg(headers_msgs.msg_number, msg_folder,true, show_msg);}; 
     616                var _onclick = function(){InfoContact.hide();cExecute("$this.imap_functions.get_info_msg&msg_number="+ headers_msgs.msg_number + "&msg_folder=" + msg_folder, show_msg);}; 
    707617                td_element3.onclick = _onclick; 
    708618                td_element3.innerHTML = '&nbsp;'; 
     
    824734        search_box_type = search; 
    825735 
    826         proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort,search,sort_box_reverse,handler_draw_box); 
    827 //      cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&search_box_type="+search+"&sort_box_type="+sort+"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); 
     736        cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+sort+"&search_box_type="+search+"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); 
    828737        current_page = 1; 
    829738        //Comentado para nao sobrepor o numero de msgs nao lidas ao utilizar os filtros 
     
    1051960        option_delete.id = 'msg_opt_delete_'+ID; 
    1052961        option_delete.className = 'message_options'; 
    1053         option_delete.onclick = function(){proxy_mensagens.delete_msgs(info_msg.msg_folder, info_msg.msg_number, ID);}; 
     962        option_delete.onclick = function(){delete_msgs(info_msg.msg_folder, info_msg.msg_number, ID);}; 
    1054963        option_delete.innerHTML = get_lang('Delete'); 
    1055964        options.appendChild(space3); 
     
    1073982 
    1074983        var option_mark_as                                              = '<span>'+get_lang("Mark as")+'</span>: '; 
    1075         var option_mark_as_unseen                               = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'unseen\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Unseen")+'.\');">'+get_lang("Unseen")+'</span>, '; 
    1076         var option_mark_as_important                    = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'flagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Important")+'.\');">'+get_lang("Important")+'</span>, '; 
    1077         var option_mark_as_normal                               = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'unflagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Normal")+'.\');">'+get_lang("Normal")+'</span> | '; 
     984        var option_mark_as_unseen                               = '<span class="message_options" onclick="set_messages_flag(\'unseen\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Unseen")+'.\');">'+get_lang("Unseen")+'</span>, '; 
     985        var option_mark_as_important                    = '<span class="message_options" onclick="set_messages_flag(\'flagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Important")+'.\');">'+get_lang("Important")+'</span>, '; 
     986        var option_mark_as_normal                               = '<span class="message_options" onclick="set_messages_flag(\'unflagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Normal")+'.\');">'+get_lang("Normal")+'</span> | '; 
    1078987         
    1079988        var option_move                                                 = '<span class="message_options" onclick=wfolders.makeWindow("'+ID+'","move_to");>'+get_lang("Move")+'</span> | '; 
     
    1081990        var option_reply_without_history                = '<span class="message_options" onclick=new_message("reply_without_history","'+ID+'");>'+get_lang("Reply without history")+'</span> | '; 
    1082991        var option_reply_to_all_without_history = '<span class="message_options" onclick=new_message("reply_to_all_without_history","'+ID+'");>'+get_lang("Reply to all without history")+'</span> | '; 
    1083         var option_source_msg                                   = '<span class="message_options" onclick=proxy_mensagens.proxy_source_msg("'+ID+'","'+url_encode(info_msg.msg_folder)+'");>'+get_lang("Message Font")+'</span>';         
     992        var option_source_msg                                   = '<span class="message_options" onclick=source_msg("'+ID+'","'+url_encode(info_msg.msg_folder)+'");>'+get_lang("Message Font")+'</span>';       
    1084993 
    1085994        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; 
     
    11101019                var option_edit   = '<span class="message_options" onclick="new_message(\'edit\',\''+ID+'\');">'+get_lang('Edit')+'</span> | '; 
    11111020                var option_print = '<span class="message_options" onclick="print_msg(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Print')+'</span> | '; 
    1112                 var option_delete = '<span class="message_options" onclick="proxy_mensagens.delete_msgs(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Delete')+'</span> | ';                 
     1021                var option_delete = '<span class="message_options" onclick="delete_msgs(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Delete')+'</span> | ';                 
    11131022                var option_hide_more = document.createElement("SPAN"); 
    11141023                option_hide_more.className = 'message_options'; 
     
    11961105        from_values.type = "HIDDEN"; 
    11971106        from_values.value = info_msg.from.full; //Veio do IMAP, sem images nem links. 
    1198          
    1199         var local_message = document.createElement("INPUT"); 
    1200         local_message.id = "is_local_"+ID; 
    1201         local_message.name = "is_local"; 
    1202         local_message.type = "HIDDEN"; 
    1203         local_message.value = (info_msg.local_message)?"1":"0"; 
    1204          
    12051107        tr1.appendChild(td1); 
    12061108        tr1.appendChild(from); 
    12071109        tr1.appendChild(from_values); 
    1208         tr1.appendChild(local_message); 
    1209          
    1210  
    1211          
    12121110        if (info_msg.reply_to){ 
    12131111                var tr11 = document.createElement("TR"); 
     
    14311329                for (var i=0; i<info_msg.attachments.length; i++){ 
    14321330                        var link_attachment = document.createElement("A"); 
    1433                         link_attachment.setAttribute("href", proxy_mensagens.link_anexo(info_msg,i)); 
    1434 //                      link_attachment.setAttribute("href", "javascript:download_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"',"+i+",'"+info_msg.attachments[i].pid+"','"+info_msg.attachments[i].encoding+"')"); 
     1331                        link_attachment.setAttribute("href", "javascript:download_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"',"+i+",'"+info_msg.attachments[i].pid+"','"+info_msg.attachments[i].encoding+"')"); 
    14351332                        link_attachment.innerHTML = url_decode(info_msg.attachments[i].name); 
    14361333                        msg_size = info_msg.attachments[i].fsize; 
     
    16901587        } 
    16911588        td_to.appendChild(input_to); 
    1692          
    1693         var forwarded_local_message = document.createElement("INPUT"); //Hidden para indicar se é um forward de uma mensagem local 
    1694         forwarded_local_message.id = "is_local_forward"+ID; 
    1695         forwarded_local_message.name = "is_local_forward"; 
    1696         forwarded_local_message.type = "HIDDEN"; 
    1697         forwarded_local_message.value = "0"; 
    1698         td_to.appendChild(forwarded_local_message); 
    16991589         
    17001590        var img_search = document.createElement("IMG"); 
     
    22602150                        { 
    22612151                                //delete_all_selected_msgs_imap(); 
    2262                                 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     2152                                delete_msgs(get_current_folder(),'selected','null'); 
    22632153                        } 
    22642154                } 
     
    22682158                        { 
    22692159                                //delete_all_selected_msgs_imap(); 
    2270                                 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     2160                                delete_msgs(get_current_folder(),'selected','null'); 
    22712161                        } 
    22722162                } 
     
    23672257                        { 
    23682258                                //delete_all_selected_msgs_imap(); 
    2369                                 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     2259                                delete_msgs(get_current_folder(),'selected','null'); 
    23702260                        } 
    23712261                } 
     
    23752265                        { 
    23762266                                //delete_all_selected_msgs_imap(); 
    2377                                 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     2267                                delete_msgs(get_current_folder(),'selected','null'); 
    23782268                        } 
    23792269                } 
     
    24602350} 
    24612351function draw_footer_box(num_msgs){ 
    2462         folder = get_current_folder(); 
    24632352        var span_R = Element("table_message");   
    24642353        var span_options = Element("span_options");      
     
    24712360 
    24722361        span_options.innerHTML =  
    2473                 '<span title="'+get_lang("Delete")+'" style="margin-left:8px" class="message_options" onclick=proxy_mensagens.delete_msgs(\'null\',\'selected\',\'null\')>'+get_lang("Delete")+'</span> | '+ 
     2362                '<span title="'+get_lang("Delete")+'" style="margin-left:8px" class="message_options" onclick=delete_msgs(\'null\',\'selected\',\'null\')>'+get_lang("Delete")+'</span> | '+ 
    24742363                '<span title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow(\"\",\"move_to\")>'+get_lang("Move")+'</span> | '+ 
    24752364                '<span title="'+get_lang("Print")+'" class="message_options" onclick=print_all()>'+get_lang("Print")+'</span> | '+ 
    24762365                '<span title="'+get_lang("Export")+'" class="message_options" onclick="export_all_selected_msgs()">'+get_lang("Export")+'</span> | ' +  
    24772366                '<span title="'+get_lang("Import")+'" class="message_options" onclick="import_window()">'+get_lang("Import")+'</span>'; 
    2478         if(preferences.use_local_messages==1) 
    2479                 span_options.innerHTML += ' | <span title="'+get_lang("Archive")+'" class="message_options" onclick="archive_msgs(\''+folder+'\',null)">'+get_lang("Archive")+'</span>'; 
     2367         
    24802368        if (use_spam_filter) { 
    24812369                if ( get_current_folder() == 'INBOX'+cyrus_delimiter+'Spam' )   { 
  • branches/1.2/expressoMail1_2/js/filter.js

    r689 r1342  
    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; 
  • branches/1.2/expressoMail1_2/js/main.js

    r706 r1342  
    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                } 
     
    375360} 
    376361 
    377 function move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,show_success_msg){ 
    378  
     362function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name){ 
    379363        if (! folder || folder == 'null') 
    380364                folder = Element("input_folder_"+msgs_number+"_r") ? Element("input_folder_"+msgs_number+"_r").value : get_current_folder(); 
     
    410394                if( typeof(msgs_number) == 'string' ) 
    411395                        all_search_msg = msgs_number.split(','); 
    412                 else 
     396                else if( typeof(msgs_number) == 'number') 
    413397                        all_search_msg = msgs_number; 
    414  
    415398                for (var i=0; i <= all_search_msg.length; i++) 
    416399                { 
     
    441424                } 
    442425                 
    443                 if (show_success_msg) { 
    444                         if (data.msgs_number.length == 1) 
    445                                 write_msg(get_lang("The message was moved to folder ") + lang_folder(data.new_folder_name)); 
    446                         else  
    447                                 write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 
    448                 } 
    449426 
    450427                if (data.msgs_number.length == 1) 
     
    480457} 
    481458 
    482 function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name) { 
    483         move_msgs2(folder, msgs_number, border_ID, new_folder, new_folder_name,true); 
    484 } 
    485  
    486 function archive_msgs(folder,folder_dest,id_msgs) { 
    487         if(proxy_mensagens.is_local_folder(folder)) { 
    488                 write_msg(get_lang("You cant archive local mails")); 
    489                 return; 
    490         } 
    491         var has_local_messages_before = expresso_local_messages.has_local_mails(); //vejo se já tinha mensagens locais 
    492         var handler_arquivar_mensagens = function(data) { 
    493                 var sucess = true; 
    494                 var temp; 
    495                 var msgs_to_remove = new Array(); 
    496                 var update_tree; 
    497  
    498  
    499                 for (var i = 0; i < data.length; i++) { 
    500                         msg_info = connector.unserialize(data[i]); 
    501                         temp = expresso_local_messages.insert_mail(msg_info, msg_info['header'],msg_info['array_attach'],folder_dest ); 
    502                         Element("check_box_message_" + msg_info.msg_number).checked = false; 
    503                         if(!temp) 
    504                                 sucess = false; 
    505                         else 
    506                                 msgs_to_remove.push(msg_info.msg_number);//As mensagens arquivadas devem ser removidas, caso o usuï¿œrio tenha isso configurado. 
    507                 } 
    508                  
    509                 if (preferences.keep_archived_messages == 0) { //Remove as mensagens 
    510                                 delete_msgs2(folder,msgs_to_remove,'null',false); 
    511                 } 
    512                 update_tree=(!has_local_messages_before) && expresso_local_messages.has_local_mails(); 
    513                  
    514                 Element('chk_box_select_all_messages').checked = false; 
    515                 if(update_tree) 
    516                         ttreeBox.update_folder(); 
    517                 else 
    518                         update_menu(); 
    519                 if(sucess)  
    520                         write_msg(get_lang("selected messages have been archived")); 
    521                 else 
    522                         write_msg(get_lang("at least, one of selected mails is already archived, expresso tried to archive the others, check them later")); 
    523  
    524         }        
    525         if(!id_msgs) 
    526                 id_msgs = get_selected_messages(); 
    527         if (parseInt(id_msgs) > 0 || id_msgs.length > 0)  
    528                 cExecute("$this.imap_functions.get_info_msgs&folder=" + folder + "&msgs_number=" + id_msgs , handler_arquivar_mensagens); 
    529         else  
    530                 write_msg(get_lang('No selected message.')); 
    531          
    532 } 
    533  
    534459function get_selected_messages(){ 
    535460        main = document.getElementById("divScrollMain_"+numBox).firstChild.firstChild; 
     
    576501        else 
    577502                return selected_messages; 
    578 } 
    579  
    580 function replaceAll(string, token, newtoken) { 
    581         while (string.indexOf(token) != -1) { 
    582                 string = string.replace(token, newtoken); 
    583         } 
    584         return string; 
    585503} 
    586504 
     
    802720                        break; 
    803721                case "forward": 
    804                         data.is_local_message = (document.getElementById("is_local_"+border_ID).value=="1")?true:false; 
    805722                        msg_forward_from = document.createElement('input'); 
    806723                        msg_forward_from.id = "msg_forward_from_" + new_border_ID; 
     
    811728                        document.getElementById("subject_" + new_border_ID).value = "Fw: " + data.subject; 
    812729                        var divFiles = Element("divFiles_"+new_border_ID); 
    813                         var campo_arquivo 
    814730                        if (Element("attachments_" + border_ID)){ 
    815731                                var attachments = document.getElementById("attachments_" + border_ID).childNodes; 
    816732                                for (var i = (attachments.length > 1 ? 1 : 0); i < attachments.length; i++){ 
    817                                         if((attachments[i].tagName=="SPAN") || (attachments[i].tagName=="IMG") || 
    818                                                         ((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1))) 
    819                                                 continue;  
    820733                                        var link_attachment = document.createElement("A"); 
    821734                                        link_attachment.setAttribute("href", attachments[i].href); 
    822735                                        link_attachment.innerHTML = attachments[i].innerHTML; 
    823                                         if (data.is_local_message) {//Local messages 
    824                                                 document.getElementById("is_local_forward"+new_border_ID).value = "1"; 
    825                                                 var tmp = link_attachment.href.substring(link_attachment.href.indexOf("(") + 2);//Pula o parenteses e a aspas 
    826                                                 tmp = tmp.substring(0, tmp.length - 2);//corta a aspas e o parenteses 
    827                                                 tmp = replaceAll(tmp,"%20"," "); 
    828                                                 var tempNomeArquivo = tmp.split("/"); 
    829                                                 var nomeArquivo = tempNomeArquivo[tempNomeArquivo.length-1]; 
    830                                                 nomeArquivo = nomeArquivo.substring(0,nomeArquivo.length - 4); //Anexos no gears são todos com extensão .php. tenho que tirar a extensão para ficar o nome real do arquivo. 
    831                                                 campo_arquivo = addForwardedFile(new_border_ID,nomeArquivo,link_attachment.href); 
    832                                                  
    833                                                 expresso_local_messages.getInputFileFromAnexo(campo_arquivo, tmp); 
    834                                         } 
    835                                         else { 
    836                                                 var tmp = link_attachment.href.replace("javascript:download_attachments(", "").replace(")", ""); 
    837                                                 var a_tmp = tmp.split(','); 
    838                                                 tmp = link_attachment.innerHTML.substring(0,link_attachment.innerHTML.lastIndexOf("(")); 
    839                                                 a_tmp[2] = "'"+tmp.substring(0,tmp.length-1)+"'"; 
    840                                                 s_tmp = escape(connector.serialize(a_tmp));                      
    841  
    842                                                 divFiles.innerHTML += "<input style='border:0' type='CHECKBOX' name='forwarding_attachments[]' checked value=\""+s_tmp+"\"/>"; 
    843                                                 divFiles.innerHTML += "<link style='border:0' name='file_"+i+"' id='inputFile_"+border_ID+i+"'/>"; 
    844                                                 divFiles.appendChild(link_attachment); 
    845                                         }        
     736                                        var tmp = link_attachment.href.replace("javascript:download_attachments(", "").replace(")", ""); 
     737                                        var a_tmp = tmp.split(','); 
     738                                        tmp = link_attachment.innerHTML.substring(0,link_attachment.innerHTML.lastIndexOf("(")); 
     739                                        a_tmp[2] = "'"+tmp.substring(0,tmp.length-1)+"'"; 
     740                                        s_tmp = escape(connector.serialize(a_tmp)); 
     741                                        divFiles.innerHTML += "<input style='border:0' type='CHECKBOX' name='forwarding_attachments[]' checked value=\""+s_tmp+"\"/>"; 
     742                                        divFiles.appendChild(link_attachment); 
    846743                                } 
    847744                        } 
     
    15951492                else 
    15961493                        set_message_flag(msgs_number, "unseen"); 
    1597             proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name); 
     1494            move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 
    15981495        } 
    15991496 
     
    16151512                // debug 
    16161513                // alert(data); 
    1617                 proxy_mensagens.proxy_move_messages(folder, msgs_number, border_ID, new_folder, new_folder_name); 
     1514                move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name); 
    16181515        } 
    16191516    if(msgs_number == 'selected') 
  • branches/1.2/expressoMail1_2/js/rich_text_editor.js

    r690 r1342  
    356356                                                                        '<td align="right"><input type="text" readonly="true" id="border" size="2" maxlength="2" value="1"></input></td><td align="left"><img src="templates/default/images/plus.png" onclick="javascript:RichTextEditor.incrementField(\'border\');"></img><br><img src="templates/default/images/minus.png" onclick="javascript:RichTextEditor.decrementField(\'border\');"></img></td>'+ 
    357357                                                                        '</tr></tbody></table>'+ 
    358                                                                         '&nbsp;&nbsp;&nbsp;<input title="'+get_lang('Close')+'"  value="' + get_lang('Close') + '" type="button" onclick="win.close()">&nbsp;'+ 
    359                                                                         '<input title="' + get_lang('Include') + '"  value="' + get_lang('Include') + '" type="button" onclick="RichTextEditor.insertTableHtml();win.close();">';        
     358                                                                        '&nbsp;&nbsp;&nbsp;<input title="Close"  value="' + get_lang('Close') + '" type="button" onclick="win.close()">&nbsp;'+ 
     359                                                                        '<input title="Include"  value="' + get_lang('Include') + '" type="button" onclick="RichTextEditor.insertTableHtml();win.close();">';    
    360360                form.appendChild(form_table); 
    361361                 
     
    403403                form_upload.innerHTML = get_lang('Select the desired image file')+':<br>'+ 
    404404                                                                '<input name="image_at" maxlength="255" size="50" id="inputFile_img" type="file"><br>' + 
    405                                                                 '<input title="' + get_lang('Include') + '"  value="' + get_lang('Include') + '"' + 'type="button" onclick="RichTextEditor.addInputFile();">&nbsp;' + 
    406                                                                 '<input title="' + get_lang('Close') + '"  value="' + get_lang('Close') + '"' + 
     405                                                                '<input title="Include"  value="' + get_lang('Include') + '"' + 'type="button" onclick="RichTextEditor.addInputFile();">&nbsp;' + 
     406                                                                '<input title="Close"  value="' + get_lang('Close') + '"' + 
    407407                                                                ' type="button" onclick="win.close()">'; 
    408408                form.appendChild(form_upload); 
  • branches/1.2/expressoMail1_2/js/search.js

    r689 r1342  
    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>"+ 
     
    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);   
     
    510507                        //set_msg_as_read(msgs_to_set[i], false); 
    511508                } 
    512                 proxy_mensagens.get_msg(uid_msg,mailbox,false,handler_get_msg); 
    513                 /*var args   = "$this.imap_functions.get_info_msg"; 
    514                 var params = "msg_number=" + uid_msg + "&msg_folder=" + mailbox; 
    515                 cExecute(args,handler_get_msg,params);*/ 
     509                var args   = "$this.imap_functions.get_info_msg"; 
     510                var params = "&msg_number=" + uid_msg + "&msg_folder=" + mailbox; 
     511                cExecute(args+params,handler_get_msg); 
    516512 
    517513        } 
     
    520516        searchE.prototype.add_mailboxes = function(){ 
    521517                var sel = Element("sel_search_nm_box1"); 
    522                 if (!proxy_mensagens.is_local_folder(this.name_box_search)) { 
    523                         var name_box     = this.name_box_search.split(cyrus_delimiter); 
    524                         if(this.name_box_search == "") 
    525                                 return false; 
    526                         var name_box_def = ""; 
    527                         if(name_box.length != 1){ 
    528                                 name_box_def = name_box[(name_box.length-1)]; 
    529                         }else{ 
    530                                 name_box_def = get_lang("Inbox");                
    531                         } 
    532                 } 
    533                 else { 
    534                         if(this.name_box_search=='local_root') 
    535                                 return; 
    536                         if(this.name_box_search=='local_Inbox') 
    537                                 name_box_def = get_lang("Inbox"); 
    538                         else 
    539                                 name_box_def = this.name_box_search.substr(6);//Retira o 'local_' 
     518                var name_box     = this.name_box_search.split(cyrus_delimiter); 
     519                if(this.name_box_search == "") 
     520                        return false; 
     521                var name_box_def = ""; 
     522                if(name_box.length != 1){ 
     523                        name_box_def = name_box[(name_box.length-1)]; 
     524                }else{ 
     525                        name_box_def = get_lang("Inbox");                
    540526                } 
    541527                if( sel.length > 0){ 
     
    607593                        return false; 
    608594                } 
    609                 var local_folders = new Array(); 
    610                 var temp; 
    611595                 
    612596                if(Element("check_all_msg").checked){ 
    613                         this.all_mailboxes(); 
    614597                        var nm_box = new Array; 
    615598                        for(var i=0; i < EsearchE.all_boxes.length; i++){ 
    616599                                nm_box[i] = EsearchE.all_boxes[i] + fields; 
    617                         } 
    618                         if (preferences.use_local_messages == 1) { 
    619                                 temp = expresso_local_messages.list_local_folders(); 
    620                                 for (var x in temp) { 
    621                                         local_folders.push(temp[x][0]); 
    622                                 } 
    623600                        } 
    624601                }else{ 
     
    635612                        for(var i=0; i < sel_combo.options.length; i++){ 
    636613                                if(sel_combo.options[i].selected == true){ 
    637                                         if(!proxy_mensagens.is_local_folder(sel_combo.options[i].value)) 
    638                                                 nm_box[nm_box.length] = sel_combo.options[i].value + fields; 
    639                                         else 
    640                                                 local_folders.push(sel_combo.options[i].value.substr(6)); 
     614                                        nm_box[nm_box.length] = sel_combo.options[i].value + fields; 
    641615                                } 
    642616                        } 
    643617                } 
    644618                var handler = function(data){ 
    645                         var tmp; 
    646                         var countTmp= new Array(); 
    647                         if (local_folders.length > 0) { 
    648                                 tmp = expresso_local_messages.search(local_folders, fields); 
    649                                 if (tmp!=false) { 
    650                                         var tmp2 = tmp.substr(2, data.length - 4); 
    651                                         countTmp = tmp.split('####'); 
    652                                 } 
    653                         } 
    654                         if((data == "none") && (countTmp.length==0)){alert(get_lang("None result was found."));} 
    655                         else if(countTmp.length > 50){alert(get_lang("More than %1 results. Please, try to refine your search.",50));} 
     619                        if(data == "none"){alert(get_lang("None result was found."));} 
    656620                        else if(data == "many results"){alert(get_lang("More than %1 results. Please, try to refine your search.",50));} 
    657                         else{EsearchE.mount_result((data=='none')?tmp:(countTmp.length==0)?data:data+tmp);} 
     621                        else{EsearchE.mount_result(data);} 
    658622                } 
    659623                var args   = "$this.imap_functions.search_msg"; 
     
    715679                win.open();      
    716680        } 
    717          
    718         searchE.prototype.aux_local_folder_display = function(folder) { 
    719                 return "(Local) " + lang_folder(folder.substr(6)); 
    720         } 
    721          
    722681// Cria o objeto 
    723682        var EsearchE; 
  • branches/1.2/expressoMail1_2/js/shortcut.js

    r689 r1342  
    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 
  • branches/1.2/expressoMail1_2/js/wfolders.js

    r689 r1342  
    66        } 
    77 
    8         cWFolders.prototype.makeWindowNew = function(border_id, type,from_search) 
    9         { //Javascript doesn't seems to have polimorfism 
     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         
  • branches/1.2/expressoMail1_2/preferences.php

    r689 r1342  
    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 
  • branches/1.2/expressoMail1_2/templates/default/config.tpl

    r689 r1342  
    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}"> 
  • branches/1.2/expressoMail1_2/templates/default/preferences.tpl

    r695 r1342  
    11 
    2 <script src="js/main.js"></script> 
    32<center> 
    43 
     
    4039        </td> 
    4140    </tr> 
    42     {open_comment_local_messages_config} 
    43         <tr bgcolor="{tr_color2}"> 
    44         <td>{lang_Would_you_like_to_use_local_messages_?}</td> 
    45         <td align="center"> 
    46                 <select name="use_local_messages" id="use_local_messages" onchange="disable_field(document.getElementById('keep_archived_messages'),'document.getElementById(\'use_local_messages\').value==\'0\'')"> 
    47                                 <option {use_local_messages_option_No_selected} value="0">{lang_No}</option> 
    48                                 <option {use_local_messages_option_Yes_selected} value="1">{lang_Yes}</option> 
    49                         </select> 
    50         </td> 
    51     </tr> 
    52         <tr bgcolor="{tr_color1}"> 
    53         <td>{lang_Would_you_like_to_keep_archived_messages_?}</td> 
    54         <td align="center"> 
    55                 <select name="keep_archived_messages" id="keep_archived_messages">                               
    56                                 <option {keep_archived_messages_option_No_selected} value="0">{lang_No}</option> 
    57                                 <option {keep_archived_messages_option_Yes_selected} value="1">{lang_Yes}</option> 
    58                         </select> 
    59         </td> 
    60     </tr> 
    61     {close_comment_local_messages_config} 
    6241    <tr bgcolor="{tr_color2}"> 
    6342        <td>{lang_delete_and_show_previous_message}</td> 
     
    182161</center> 
    183162<script language="JavaScript" type="text/javascript"> 
    184         if(document.getElementById('keep_archived_messages')) 
    185                 disable_field(document.getElementById('keep_archived_messages'),'document.getElementById(\'use_local_messages\').value==\'0\'') 
    186163        var form =      document.forms[0]; 
    187164 
  • branches/1.2/phpgwapi/inc/class.jscalendar.inc.php

    r2 r1342  
    3131                        $this->jscalendar_url = $GLOBALS['phpgw_info']['server']['webserver_url'].'/phpgwapi/js/'.$path; 
    3232                        $this->dateformat = $GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']; 
    33  
    34                         if ($do_header && !strstr($GLOBALS['phpgw_info']['flags']['java_script'],'jscalendar')) 
     33                         
     34                        if ($do_header && !strpos($GLOBALS['phpgw_info']['flags']['java_script'],'jscalendar')) 
    3535                        { 
    3636                                $GLOBALS['phpgw_info']['flags']['java_script'] .= 
  • branches/1.2/phpgwapi/inc/class.preferences.inc.php

    r54 r1342  
    11161116                        // is it possible to use Trash and Sent folders - i.e. using IMAP server 
    11171117                        // if not - force settings to false 
    1118                         if (stristr($prefs['email']['mail_server_type'], 'imap') == False) 
     1118                        if (strpos($prefs['email']['mail_server_type'], 'imap') == False) 
    11191119                        { 
    11201120                                if (isset($prefs['email']['use_trash_folder'])) 
  • branches/1.2/phpgwapi/js/dftree/dftree.js

    r709 r1342  
    224224{ 
    225225        var captionSpan; 
    226         if ((this.id != 'root') && (this.id != 'user') && (this.id !='local_root')){ 
     226        if ((this.id != 'root') && (this.id != 'user')){ 
    227227                captionSpan = getObjectById("l"+this.id+this._myTree.name); 
    228228                captionSpan.style.backgroundColor = 'white'; 
     
    234234{ 
    235235        var captionSpan; 
    236         if ((this.id != 'root') && (this.id != 'user') && (this.id !='local_root')){ 
     236        if ((this.id != 'root') && (this.id != 'user')){ 
    237237                captionSpan = getObjectById("l"+this.id+this._myTree.name); 
    238238                captionSpan.style.backgroundColor = ''; 
     
    300300        else //Nao tem onClick 
    301301        { 
    302                 if ((this.id != 'root') && (this.id != 'user') && (this.id !='local_root')) //e nao seja raiz(root) ou pastas compartilhadas(user). 
     302                if ((this.id != 'root') && (this.id != 'user')) //e nao seja raiz(root) ou pastas compartilhadas(user). 
    303303                        captionEventHandler = function () { _this._select();}; 
    304304        } 
Note: See TracChangeset for help on using the changeset viewer.