Código de: api/upload.php


<?

## Variáveis POST
$ID $_POST['ID'];

$acao $_POST['acao'];

$path $_POST['path'];

## Diretório
$ds '/';

//var_dump($_POST, $_FILES, $_REQUEST);

##################
##### UPLOAD #####
##################
if ( $ID ) {

    
// Pasta Arquivos Enviados pelo Usuário
    
$path HD.$S->tag.$ds.$AUTH->entidade->id.$ds.$ID.$ds;
    
$path_min $path.'min'.$ds;
    if (!
is_dir($path_min)) { @mkdir($path_min0777true);}

    
## Nome Arquivo (MT)
    
$o = array (' ''.'); $n = array ('''');
    
$mt str_replace($o$nmicrotime());
    
$arquivo $mt.'.jpg';

    
#CORE WIDEIMAGE ;)
    
require('app/core/WideImage/WideImage.php');

    if ( 
$imagem $_FILES['cropped_image'] ) {
        
$x $_POST['x'] ?? 0;
        
$y $_POST['y'] ?? 0;
        
$w $_POST['w'] ?? 0;
        
$h $_POST['h'] ?? 0;

        
$image $image2 WideImage::load($imagem['tmp_name']);

        
$image $image->crop($x$y$w$h);
        
//$image = $image->resize(800, 400, 'outside');
        
$upload $image->saveToFile($path.$arquivo80);

        
//$image = $image->crop($x, $y, $w, $h);
        
$image $image->crop(50%-12550%-125550400);
        
$upload_min $image->saveToFile($path_min.$arquivo80);

        
$data = array(
            
'path' => $path,
            
'arquivo' => $arquivo,
        );

        if ( 
$IMAGEM->atualizarImagem($ID$data) ) {            
            
$return = array (
                
'success' => true,
                
'ID' => $capa,
                
'arquivo' => DIR.$path.$arquivo,
                
'msg' => 'Imagem atualizada.',
                
'mtipo' => 'info'
            
);

        } else {
            
$return = array (
                
'success' => false,
                
'error' => 0,
                
'msg' => 'Arquivo inexistente ou inválido.',
                
'mtipo' => 'error'
            
);
        }

    } else {
        
$return = array (
            
'success' => false,
            
'error' => 0,
            
'msg' => 'Esta imagem é muito grande ou não pode ser procesado.',
            
'mtipo' => 'error'
            
);
    }
} else {
    
$return = array (
        
'success' => false,
        
'error' => 0,
        
'titulo' => 'Esta Imagem é muito Grande!',
        
'msg' => 'Esta imagem ultrapassa as medidas permitidas (1600x1600px).',
        
'mtipo' => 'error'
    
);
}

##### RESPOSTA GLOBAL
header("Content-Type: application/json; charset=utf-8");
echo 
json_encode($return);