PHP Classes

File: app/modules/slides/insert_slide_image.php

Recommend this page to a friend!
  Classes of Laudir Bispo   PHP Real Estate Website   app/modules/slides/insert_slide_image.php   Download  
File: app/modules/slides/insert_slide_image.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,171 bytes
 

Contents

Class file image Download
<?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/config.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;

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

if( empty(
$_POST['form-token']) or !isset($_POST['form-token']) )
{
    
$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( empty(
$_POST['user_id']) or !isset($_POST['user_id']) or (int)$_POST['user_id'] !== (int)$_SESSION['user_id'] )
{
   
$response = array(
       
'status' => 'error',
       
'message' => 'É necessário estar logado para completar está ação.',
       
'link' => '',
     );
     die(
json_encode($response));
}
else
{
 
$user_id = filterString($_POST['user_id'], 'INT');
}
//****************************************************************************

$error_message = '';

if( !isset(
$_SESSION['config']) )
{
   
$response = array(
       
'status' => 'error',
       
'message' => 'Algumas configurações não foram carregadas adequadamente. Tente novamente, se o erro persistir entre em contato com o suporte técnico.',
       
'link' => '',
     );
     die(
json_encode($response));
}

if( empty(
$_FILES['images']) or !isset($_FILES['images']) )
{
   
$response = array(
       
'status' => 'warning',
       
'message' => 'Uma imagem é obrigatória.',
       
'link' => '',
     );
     die(
json_encode($response));
}

if( empty(
$_POST['slide-identificacao']) or !isset($_POST['slide-identificacao']) )
{
   
$error_message .= '<p>Forneça uma identificação para o banner.</p>';
}
else
{
   
$slide_identificacao = filterString($_POST['slide-identificacao'], 'CHAR');
}

if( empty(
$_POST['slide-link']) or !isset($_POST['slide-link']) )
{
   
$slide_link = '';
}
else
{
   
$slide_link = filter_var($_POST['slide-link'], FILTER_SANITIZE_URL);
    if(
valideuRl($slide_link) === false)
    {
       
$error_message .= '<p>Forneça um endereço de url válido para o campo link.</p>';
    }
}

if( empty(
$_POST['slide-texto']) or !isset($_POST['slide-texto']) )
{
   
$slide_texto = '';
}
else
{
   
$slide_texto = $_POST['slide-texto'];
}

if( !empty(
$error_message) )
{
   
$response = array(
       
'status' => 'warning',
       
'message' => $error_message,
       
'link' => '',
     );
     die(
json_encode($response));
}

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

$image_name = $_FILES['images']['name'];
$image_type = $_FILES['images']['type'];
$image_tmpName = $_FILES['images']['tmp_name'];
$image_size = $_FILES['images']['size'];
$image_ext = strtolower(pathinfo($image_name, PATHINFO_EXTENSION));

if(
$image_size > 5242880)
{
   
$response = array(
       
'status' => 'warning',
       
'message' => 'A imagem não pode ser maior que 5MB.'.$image_size,
       
'link' => '',
     );
     die(
json_encode($response));
}

if(
$image_size >= 0 and mb_strlen($image_name, 'utf8') < 1 )
{
   
$response = array(
       
'status' => 'warning',
       
'message' => 'Uma imagem é obrigatória.',
       
'link' => '',
     );
     die(
json_encode($response));
}

if ( !
in_array($image_ext, $allowed_types) )
{
   
$response = array(
       
'status' => 'warning',
       
'message' => 'A imagem '.$image_name.' possui um formato não permitido! ',
       
'link' => '',
     );
     die(
json_encode($response));
}

$image_new_name = date("Ymdhis").time().mt_rand(0, 999999).'.'.$image_ext;
$type = 'image';

$con_db = new config\connect_db();
$con = $con_db->connect();

$insert_image = $con->prepare("INSERT INTO `slides` (type, name, image, link, text, autor_post, date_post) VALUES (?, ?, ?, ?, ?, ?, ?) ") ;
$insert_image->bind_param('sssssis', $type, $slide_identificacao, $image_new_name, $slide_link, $slide_texto, $user_id, $date_time);
$insert_image->execute() ;
$rows_insert_image = $insert_image->affected_rows;
$last_id = $insert_image->insert_id;
$insert_image->close();

if(
$insert_image and $rows_insert_image > 0 )
{
   
$patch = $_SERVER['DOCUMENT_ROOT'].'/docs/slides/';
   
   
$image_lg = $patch.'lg/'.$image_new_name;
   
$image_md = $patch.'md/'.$image_new_name;
   
$image_sm = $patch.'sm/'.$image_new_name;
   
$image_xs = $patch.'xs/'.$image_new_name;
   
   
$tmp = $patch.'tmp/'.$image_new_name;
  
    if( !
file_exists($patch.'tmp') )
    {
       
mkdir($tmp, 0777, true);
    }

    if(
move_uploaded_file($image_tmpName, $tmp) )
    {
       
$lg = explode('x', $_SESSION['config']['slide-lg']);
       
$md = explode('x', $_SESSION['config']['slide-md']);
       
$sm = explode('x', $_SESSION['config']['slide-sm']);
       
$xs = explode('x', $_SESSION['config']['slide-xs']);
       
       
$image_wide = new WideImage();
       
$image_wide = WideImage::load($tmp);
        
        if(
$image_ext === 'jpg' or $image_ext === 'jpeg' )
        {
           
$image_wide = $image_wide->resize($lg[0], $lg[1], 'inside', 'down');
           
$image_wide->saveToFile($image_lg, 70);
           
           
$image_wide = $image_wide->resize($md[0], $md[1], 'inside', 'down');
           
$image_wide->saveToFile($image_md, 70);
           
           
$image_wide = $image_wide->resize($sm[0], $sm[1], 'inside', 'down');
           
$image_wide->saveToFile($image_sm, 70);
           
           
$image_wide = $image_wide->resize($xs[0], $xs[1], 'inside', 'down');
           
$image_wide->saveToFile($image_xs, 70);
        }
        else if(
$image_ext == 'png' )
        {
           
$image_wide = $image_wide->resize($lg[0], $lg[1], 'inside', 'down');
           
$image_wide->saveToFile($image_lg, 9);
           
           
$image_wide = $image_wide->resize($md[0], $md[1], 'inside', 'down');
           
$image_wide->saveToFile($image_md, 9);
           
           
$image_wide = $image_wide->resize($sm[0], $sm[1], 'inside', 'down');
           
$image_wide->saveToFile($image_sm, 9);
           
           
$image_wide = $image_wide->resize($xs[0], $xs[1], 'inside', 'down');
           
$image_wide->saveToFile($image_xs, 9);
        }
        else
        {
           
$image_wide->saveToFile($image_lg);
           
$image_wide->saveToFile($image_md);
           
$image_wide->saveToFile($image_sm);
           
$image_wide->saveToFile($image_xs);
        }
//. if tipo de salvamento
       
       
$image_wide->destroy();
       
       
//elimina a temporária
        
if(file_exists($tmp))
         {
           
unlink($tmp);
         }
        
        
$response = array(
           
'status' => 'success',
           
'message' => 'Slide adicionado',
           
'link' => '',
         );
         die(
json_encode($response));
        
    }
    else
    {
       
$del = $con->query(" DELETE FROM `slides` WHERE `id` = '$last_id' ");
       
$response = array(
           
'status' => 'error',
           
'message' => 'Upload não pode ser concluído. Tente novamente se o erro persistir entre em contato com suporte técnico.',
           
'link' => '',
         );
         die(
json_encode($response));
        
    }
// if move_uploaded
   
}
else
{
   
   
$response = array(
       
'status' => 'error',
       
'message' => 'Ocorreu um problema ao salva o slide. Tente novamente se o erro persistir entre em contato com suporte técnico.',
       
'link' => '',
     );
     die(
json_encode($response));
    
}
//if insert slide