PHP Classes

File: app/modules/users/reset_password.php

Recommend this page to a friend!
  Classes of Laudir Bispo   PHP Real Estate Website   app/modules/users/reset_password.php   Download  
File: app/modules/users/reset_password.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: 4,682 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(
$_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));
}

if(!isset(
$_POST['actionid']) or empty($_POST['actionid']))
{
    die(
json_encode($response = array(
       
'status' => 'warning',
       
'message' => 'Escolha um usuário para alterar as permissões.',
       
'link' => '',
     )));
}
else
{
   
$actionid = filterString($_POST['actionid'], 'INT');
    if(
$actionid == $_SESSION['user_id'])
    {
        die(
json_encode($response = array(
           
'status' => 'error',
           
'message' => 'Você não pode alterar sua senha por aqui!<br>Caso queirá alterar sua senha <a href="/app/admin/my_account#box-password">clique aqui</a>.',
           
'link' => '',
         )));
    }
}

if(!isset(
$_POST['user_confirm']))
{
    die(
json_encode($response = array(
       
'status' => 'warning',
       
'message' => 'Por favor, confirme o usuário para continuar!',
       
'link' => '',
     )));
}

//****************************************************************************

if( empty($_POST['user-password']) or !isset($_POST['user-password']) )
{
   
$response = array(
       
'status' => 'warning',
       
'message' => 'Digite uma nova senha ou clique no botão gerar senha.',
       
'link' => '',
     );
     die(
json_encode($response));
}
else
{
   
$user_password = filterString($_POST['user-password'], 'CHAR');
}

//--------------------------------------------------------------------------

if( empty($_POST['user-confirm-password']) or !isset($_POST['user-confirm-password']) )
{
   
$response = array(
       
'status' => 'warning',
       
'message' => 'É necessário confirmar a nova senha.',
       
'link' => '',
     );
     die(
json_encode($response));
}
else
{
   
$user_confirm_password = filterString($_POST['user-confirm-password'], 'CHAR');
}

//--------------------------------------------------------------------------

if( $_POST['user-password'] !== $_POST['user-confirm-password'] )
{
   
$response = array(
       
'status' => 'error',
       
'message' => 'As senhas não conferem.',
       
'link' => '',
     );
     die(
json_encode($response));
}

//*********************************************************************************************

$pattern_password = '/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[^a-zA-Z0-9]).{8,16}/';

if( !
preg_match($pattern_password, $user_password) )
{
   
$response = array(
       
'status' => 'error',
       
'message' => 'A senha não satisfaz os requisitos necessários.',
       
'link' => '',
     );
     die(
json_encode($response));
}

$crypt = new blowfish_crypt;
$password = $crypt->generateHash($user_password);

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

$update_password = $con->prepare(" UPDATE sec_users SET password = ?, last_change_password = ? WHERE id = ?");
$update_password->bind_param('ssi', $password, $date_time, $actionid);
$update_password->execute();
$update_password->store_result();
$affected_rows = $update_password->affected_rows;
$update_password->free_result();
$update_password->close();

if(
$update_password )
{
   
$response = array(
       
'status' => 'success',
       
'message' => 'Senha alterada',
       
'link' => '',
     );
     die(
json_encode($response));
}
else
{
   
$response = array(
       
'status' => 'error',
       
'message' => 'O servidor não está respondendo.',
       
'link' => '',
     );
     die(
json_encode($response));
}

?>