PHP Classes

File: app/modules/users/user_delete.php

Recommend this page to a friend!
  Classes of Laudir Bispo   PHP Real Estate Website   app/modules/users/user_delete.php   Download  
File: app/modules/users/user_delete.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: 5,428 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');

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(empty(
$_GET['user_password']) or !isset($_GET['user_password']))
{
    die(
json_encode($response = array(
       
'status' => 'warning',
       
'message' => 'É necessário informar sua senha para continuar!',
       
'link' => '',
     )));
}
else
{
   
$user_password = $_GET['user_password'];
}

if( empty(
$_GET['actionid']) or !isset($_GET['actionid']) )
{
   
$response = array(
       
'status' => 'error',
       
'message' => 'Usuário que você está tentando deletar não foi encontrado.',
       
'link' => '',
    );
    die(
json_encode($response));
}
else if(
$_GET['actionid'] == $_SESSION['user_id'] )
{
   
$response = array(
       
'status' => 'error',
       
'message' => 'Você não pode excluir sua própria conta.',
       
'link' => '',
    );
    die(
json_encode($response));
}
else
{
   
$actionid = filterString($_GET['actionid'], 'INT');
}

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

$confirm_pass = $con->prepare(" SELECT password, type FROM sec_users WHERE id = ? ");
$confirm_pass->bind_param('i', $_SESSION['user_id']);
$confirm_pass->execute();
$confirm_pass->store_result();
$confirm_pass->bind_result($password_hash, $type);
$confirm_pass->fetch();
$rows = $confirm_pass->affected_rows;
$confirm_pass->free_result();
$confirm_pass->close();

if(
$confirm_pass and $rows > 0)
{
    if(
$type != 'administrador' and $type != 'suporte')
    {
        die(
json_encode($response = array(
           
'status' => 'warning',
           
'message' => 'Você não tem autorização para concluir está ação!',
           
'link' => '',
         )));
    }
     
   
$crypt = new blowfish_crypt();
    if(
$crypt->check($user_password, $password_hash) === false )
    {
        die(
json_encode($response = array(
           
'status' => 'warning',
           
'message' => 'A senha informada está incorreta!',
           
'link' => '',
         )));
    }
   
   
   
$is_suporte = $con->query(" SELECT * FROM sec_users WHERE id = '$actionid' AND type = 'suporte' ");
   
$rows = $is_suporte->num_rows;
   
$is_suporte->close();
   
    if(
$is_suporte and $rows > 0)
    {
        die(
json_encode($response = array(
           
'status' => 'warning',
           
'message' => 'Você não tem autorização para concluir está ação!!!',
           
'link' => '',
         )));
    }
    else
    {
       
$delete_user = $con->prepare(" DELETE sec_users.*, user_perms.*, user_profile.*, login_attempts.*, sessions.*, online_users.* FROM sec_users LEFT JOIN user_perms ON (user_perms.user_id = sec_users.id) LEFT JOIN user_profile ON (user_profile.user_id = sec_users.id) LEFT JOIN login_attempts ON (login_attempts.user_id = sec_users.id) LEFT JOIN sessions ON (sessions.user_id = sec_users.id) LEFT JOIN online_users ON (online_users.user_id = sec_users.id) WHERE sec_users.id = ? ");
       
$delete_user->bind_param('i', $actionid);
       
$delete_user->execute();
       
$delete_user->store_result();
       
$rows_affecteds = $delete_user->affected_rows;
       
$delete_user->free_result();
       
$delete_user->close();
       
        if( !
$delete_user )
        {
         
$response = array(
           
'status' => 'error',
           
'message' => 'O usuário não pode ser deletado. Tente novamente, se o erro percistir entre em contato com o administrador!',
           
'link' => '',
          );
          die(
json_encode($response));
        }
        else if(
$rows_affecteds <= 0 )
        {
         
$response = array(
           
'status' => 'error',
           
'message' => 'Usuário não encontrado.',
           
'link' => '',
          );
          die(
json_encode($response));
        }
        else if(
$rows_affecteds > 0 )
        {
           
$dir_del = $_SERVER['DOCUMENT_ROOT'].'/docs/users/'.$actionid;

            if(
file_exists($dir_del))
            {
               
unlinkRecursive($dir_del, true) ;
            }
           
$response = array(
               
'status' => 'success',
               
'message' => 'Usuário deletado.',
               
'link' => '',
            );
            die(
json_encode($response));

        }
        else
        {
           
$response = array(
               
'status' => 'error',
               
'message' => 'Não entendemos seu pedido. Tente novamente.',
               
'link' => '',
            );
            die(
json_encode($response));
        }
       
    }
//, usuário que está sendo deletado não é suporte
   
   
}
else
{
    die(
json_encode($response = array(
       
'status' => 'warning',
       
'message' => 'Não foi possível autenticar seu pedido!',
       
'link' => '',
    )));
}