PHP Classes

File: app/modules/properties/upload_logo.php

Recommend this page to a friend!
  Classes of Laudir Bispo   PHP Real Estate Website   app/modules/properties/upload_logo.php   Download  
File: app/modules/properties/upload_logo.php
Role: Example script
Content type: text/plain
Description: Example script
Class: PHP Real Estate Website
Manage the properties of a real estate business
Author: By
Last change:
Date: 3 years ago
Size: 8,065 bytes
 

Contents

Class file image Download
<?php
require_once ($_SERVER['DOCUMENT_ROOT'].'/config/config.php');
session_name(SESSION_NAME);
session_start();
header('Content-Type: application/json');
require_once (
$_SERVER['DOCUMENT_ROOT'].'/config/autoload.php');
require_once (
$_SERVER['DOCUMENT_ROOT'].'/config/public_functions.php');
require_once (
$_SERVER['DOCUMENT_ROOT'].'/app/controls/adminFunctions.php');
require_once (
$_SERVER['DOCUMENT_ROOT'].'/libs/WideImage/WideImage.php');

use
config\connect_db;
use
app\controls\blowfish_crypt;

if(
$_SESSION['user_type'] != 'administrador' and $_SESSION['user_type'] != 'suporte' )
{
   
$response = array(
      
'status' => 'error',
      
'message' => 'Você não tem permissão para realizar está ação.',
      
'link' => '',
    );
    die(
json_encode($response));
}

if(
$_POST['form-token'] != md5(SECRET_FORM_TOKEN.$_SESSION['user_id'].$_SESSION['user']) )
{
    
$response = array(
       
'status' => 'error',
       
'message' => 'A origem de alguns dados nos parece duvidosa! Por isso bloqueamos está ação.',
       
'link' => '',
      );
     die(
json_encode($response));
}

if( !isset(
$_POST['user_id']) or (int)$_POST['user_id'] !== (int)$_SESSION['user_id'] )
{
   
$response = array(
       
'status' => 'warning',
       
'message' => 'Você não pode fazer isso!',
       
'link' => '',
     );
     die(
json_encode($response));
}
 
//--------------------------------------------------------------------------

$error_message = NULL;

if( empty(
$_FILES['logo']) or !isset($_FILES['logo']) )
{
    die(
'<div class="ajax-file-upload-error alert alert-danger" role="alert">Arquivo não reconhecido ou inexistente!</div>');
}

// Cria os diretórios necessários

// diretório temporário para upload
$dir_upload = $_SERVER['DOCUMENT_ROOT'].'/tmp';
if( !
file_exists($dir_upload) ) mkdir($dir_upload, 0777, true);

//diretório do imóvel
$patch_company = $_SERVER['DOCUMENT_ROOT'].'/docs/company/logomarca';
if( !
file_exists($patch_company) ) mkdir($patch_company, 0777, true);

// imagem lg
if( !file_exists($patch_company.'/lg') ) mkdir($patch_company.'/lg', 0777, true);
// imagem md
if( !file_exists($patch_company.'/md') ) mkdir($patch_company.'/md', 0777, true);
// imagem sm
if( !file_exists($patch_company.'/sm') ) mkdir($patch_company.'/sm', 0777, true);
// imagem xs
if( !file_exists($patch_company.'/xs') ) mkdir($patch_company.'/xs', 0777, true);

$images = $_FILES['logo'];
$count = sizeof($_FILES['logo']['tmp_name']);
$allowed_types = array('jpg', 'png', 'gif', 'jpeg', 'JPG', 'PNG', 'GIF', 'JPEG');

$images_name = $images['name'];
$images_type = $images['type'];
$images_tmpName = $images['tmp_name'];
$images_size = $images['size'];
$images_error = $images["error"];
$images_ext = strtolower(pathinfo($images_name, PATHINFO_EXTENSION));

switch (
$images_error) {
    case
UPLOAD_ERR_INI_SIZE:
       
$upload_error = "<p>O arquivo enviado excede o tamanho máximo permitido pelo servidor.</p>";
        break;
    case
UPLOAD_ERR_FORM_SIZE:
       
$upload_error = "<p>O arquivo enviado excede o tamanho máximo permitido pelo sistema.</p>";
        break;
    case
UPLOAD_ERR_PARTIAL:
       
$upload_error = "<p>O arquivo enviado não foi carregado completamente. Tente novamente.</p>";
        break;
    case
UPLOAD_ERR_NO_FILE:
       
$upload_error = "<p>Nenhum arquivo foi enviado.</p>";
        break;
    case
UPLOAD_ERR_NO_TMP_DIR:
       
$upload_error = "Não é possível salvar na pasta temporária.";
        break;
    case
UPLOAD_ERR_CANT_WRITE:
       
$upload_error = "<p>Falha ao gravar o arquivo no disco. Verefique se você tem permissão para escrita no disco.</p>";
        break;
    case
UPLOAD_ERR_EXTENSION:
       
$upload_error = "<p>Algo de errado aconteceu. Tente novamente.</p>";
        break;

    default:
       
$upload_error = '';
        break;
}

if(!empty(
$upload_error)) die($upload_error);
   
   
if(
$images_size > 0 and mb_strlen($images_name, 'utf8') < 1 )
{
    die(
'<div class="ajax-file-upload-error alert alert-danger" role="alert">'.$images_name.' não parece ser uma imagem!</div><br>');
}
else if ( !
in_array($images_ext, $allowed_types) )
{
    die(
'<div class="ajax-file-upload-error alert alert-danger" role="alert"> A imagem '.$images_name.' possui o formato não permitido! </div><br>');
}
else
{
   
$images_newName = date("Ymdhis").time().mt_rand(0, 999999).'.'.$images_ext;
   
$file_tmp = $dir_upload.'/'.$images_newName;
   
   
$image_lg = $patch_company.'/lg/'.$images_newName;
   
$image_md = $patch_company.'/md/'.$images_newName;
   
$image_sm = $patch_company.'/sm/'.$images_newName;
   
$image_xs = $patch_company.'/xs/'.$images_newName;
   
    if(
move_uploaded_file($images_tmpName, $file_tmp) )
    {
       
$con_db = new config\connect_db();
       
$con = $con_db->connect();
       
       
$system_id = SYSTEM_ID;
       
       
$update_logo = $con->prepare("UPDATE settings_properties SET company_logo = ? WHERE unique_id = ?");
       
$update_logo->bind_param('ss', $images_newName, $system_id);
       
$update_logo->execute();
   
       if (
$update_logo)
       {
          
$image_wide = new WideImage();
          
$image_wide = WideImage::load($file_tmp);
     
           if (
$images_ext === 'jpg' or $images_ext === 'jpeg')
           {
              
$image_wide = $image_wide->resize(400, 110, 'inside', 'down');
              
$image_wide->saveToFile($image_lg, 70);
              
$image_wide = $image_wide->resize(273, 75, 'inside', 'down');
              
$image_wide->saveToFile($image_md, 70);
              
$image_wide = $image_wide->resize(204, 56, 'inside', 'down');
              
$image_wide->saveToFile($image_sm, 70);
              
$image_wide = $image_wide->resize(138, 38, 'inside', 'down');
              
$image_wide->saveToFile($image_xs, 70);
           }
           else if (
$images_ext === 'png')
           {
              
$image_wide = $image_wide->resize(400, 110, 'inside', 'down');
              
$image_wide->saveToFile($image_lg, 9);
              
$image_wide = $image_wide->resize(273, 75, 'inside', 'down');
              
$image_wide->saveToFile($image_md, 9);
              
$image_wide = $image_wide->resize(204, 56, 'inside', 'down');
              
$image_wide->saveToFile($image_sm, 9);
              
$image_wide = $image_wide->resize(138, 38, 'inside', 'down');
              
$image_wide->saveToFile($image_xs, 9);
           }
           else
           {
              
$image_wide = $image_wide->resize(400, 110, 'inside', 'down');
              
$image_wide->saveToFile($image_lg);
              
$image_wide = $image_wide->resize(273, 75, 'inside', 'down');
              
$image_wide->saveToFile($image_md);
              
$image_wide = $image_wide->resize(204, 56, 'inside', 'down');
              
$image_wide->saveToFile($image_sm);
              
$image_wide = $image_wide->resize(138, 38, 'inside', 'down');
              
$image_wide->saveToFile($image_xs);
           }
//. if tipo de salvamento
          
          
if(file_exists($file_tmp)) unlink($file_tmp);
          
           
$response = array(
               
'status' => 'success',
               
'message' => 'Logomarca alterada',
               
'link' => '',
             );
             die(
json_encode($response));
          
       }
       else
       {
           if(
file_exists($file_tmp)) unlink($file_tmp);

          
$response = array(
               
'status' => 'warning',
               
'message' => $images_name.' não pode ser salva!',
               
'link' => '',
             );
             die(
json_encode($response));
     
       }
//,if insert---
   
   
}//. if upload---
   
else
    {
       
$response = array(
           
'status' => 'warning',
           
'message' => 'Ocorreu um problema ao carregar a imagem '.$images_name.'. Tente novamente.',
           
'link' => '',
         );
         die(
json_encode($response));
    }
 
}
//.if tamanho, name ou type não permitido