Changeset 6071 for trunk/prototype


Ignore:
Timestamp:
05/02/12 16:30:34 (12 years ago)
Author:
gustavo
Message:

Ticket #2676 - Falha ao anexar arquivo no expresso mail

Location:
trunk/prototype
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/prototype/modules/mail/interceptors/Attachments.php

    r5637 r6071  
    55        public function encodeCreateAttachment( &$uri , &$params , &$criteria , $original ){             
    66            if(!isset($params['source'])) return false; 
     7                         
    78 
    89            if(isset($_FILES[$params['source']])) 
    910                $params =  $_FILES[$params['source']]; 
    10  
     11                                 
     12                                if($params['error'] !== 0){ 
     13                                        switch ($params['error']){ 
     14                                                case 1: 
     15                                                        throw  new Exception('Tamanho de arquivo nao permitido!!! (php.ini)');  
     16                                                case 2: 
     17                                                        throw  new Exception('Tamanho de arquivo nao permitido!!!');  
     18                                                case 3: 
     19                                                        throw  new Exception('Ocorreu um erro durante o upload');  
     20                                                case 4: 
     21                                                        throw  new Exception('Nao e um arquivo valido');  
     22                                        } 
     23                                } 
     24                                 
    1125                $params['owner'] = Config::me('uidNumber');  
    1226 
  • trunk/prototype/modules/mail/templates/attachment.ejs

    r5785 r6071  
    1 <form id="fileupload_msg<%=data.ID%>" class="fileupload" action="mailAttachment:detail" method="POST"> 
     1<div id="fileupload_msg<%=data.ID%>" class="fileupload" style="margin : 15px 0px -15px -10px;"> 
    22  <div class="row fileupload-buttonbar"> 
    33      <div class="button-files-upload"> 
     
    1717         </div> 
    1818        <br /> 
    19 </form> 
     19</div> 
  • trunk/prototype/post.php

    r5811 r6071  
    33 * com o source em base64 melhoria na performace. 
    44 */ 
     5 
    56$data = $_POST; 
     7         
    68if( count($_FILES) ) 
    79{ 
     
    1416                                $counter = count($files); 
    1517                                $files[$name.$counter] = array('name' => $file['name'][$counter],  
    16                                                                                                 'type' => $file['type'][$counter], 
    17                                                                                                 'source' => base64_encode(file_get_contents( $file['tmp_name'][$counter], $file['size'][$counter])), 
    18                                                                                                 'size' => $file['size'][$counter]); 
     18                                        'type' => $file['type'][$counter], 
     19                                        'source' => base64_encode(file_get_contents( $file['tmp_name'][$counter], $file['size'][$counter])), 
     20                                        'size' => $file['size'][$counter], 
     21                                        'error' => $file['error'][$counter] 
     22                                ); 
    1923                        } 
    2024                }else 
     
    2529} 
    2630 
     31if(isset($data['MAX_FILE_SIZE'])) 
     32        unset($data['MAX_FILE_SIZE']); 
     33         
    2734require_once "api/controller.php"; 
     35 
     36Controller::addFallbackHandler( 0, function($e){ throw $e; } ); 
    2837 
    2938$result = array(); 
     
    3342                $content = array($content); 
    3443                 
    35         foreach($content as $key => $value) 
    36                 $result[$concept][] =  isset($data['criteria']) ?  Controller::put( array( 'concept' => $concept ), $value, isset($data['criteria'])) : Controller::put( array( 'concept' => $concept ), $value); 
     44        foreach($content as $key => $value){ 
     45                try{ 
     46                        $result[$concept][] = Controller::put( array( 'concept' => $concept ), $value ); 
     47                }catch(Exception $e){ 
     48                        $result[$concept]['error'] = $e->getMessage();                   
     49                }  
     50        } 
    3751}        
    3852echo json_encode( $result ); 
Note: See TracChangeset for help on using the changeset viewer.