示例#1
0
<?php

use App\Utility\Helper;
require_once "vendor/autoload.php";
$getModel = new \App\Models\UserModel();
$results['error'] = false;
$results['message'] = "";
if (!empty($_POST)) {
    if (isset($_POST['id'], $_POST['email'], $_POST['_token'])) {
        if (!empty($_POST['id']) && !empty($_POST['email']) && !empty($_POST['_token'])) {
            $validator = new \App\Validator();
            if ($validator->isTokenValid($_POST['_token'], $_POST['id'])) {
                $user = $getModel->findById($_POST['id'], "id, email, validation_key");
                if ($user) {
                    Helper::sendValidationEmail($user->id, $user->email, $user->validation_key);
                }
            }
        }
    }
}
示例#2
0
 /**
  * Fonction permettant de rafraichir le token
  * @param string $field
  * @param string $id
  * @param null $oldToken
  * @return bool|string
  */
 public function refreshToken($field, $id, $oldToken = null)
 {
     $token = Helper::generateToken();
     //Je check si c'est un refresh token apres expiration
     if ($oldToken != null) {
         $sql = $this->db->prepare("UPDATE users SET token = ? WHERE {$field} = ? AND token = ?");
         $sql->execute([$token, $id, $oldToken]);
         if ($sql->rowCount() > 0) {
             return $token;
         } else {
             return false;
         }
     } else {
         $sql = $this->db->prepare("UPDATE users SET token = ? WHERE {$field} = ?");
         $sql->execute([$token, $id]);
         if ($sql->rowCount() > 0) {
             return $token;
         } else {
             return false;
         }
     }
 }