<?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); } } } } }
/** * 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; } } }