db = $db; $this->headers = $headers; } // public function isValid() // { // if (array_key_exists('Authorization', $this->headers) && preg_match('/Bearer\s(\S+)/', $this->headers['Authorization'], $matches)) { // $data = $this->jwtDecodeData($matches[1]); // if ( // isset($data['data']->user_id) && // $user = $this->fetchUser($data['data']->user_id) // ) : // return [ // "success" => 1, // "user" => $user // ]; // else : // return [ // "success" => 0, // "message" => $data['message'], // ]; // endif; // } else { // return [ // "success" => 0, // "message" => "Token not found in request" // ]; // } // } public function isValid() { if(isset($_SESSION['user'])) { $data = $_SESSION['user']; if ( isset($data['data']->id) && $user = $this->fetchUser($data['data']->id) ) : $retVal = new CMsg(1, 200, "User found", null, $user); return $retVal->jsonarray(); else : $retVal = new CMsg(0, 422, $data['message'], null, null); return $retVal->jsonarray(); endif; } else { $retVal = new CMsg(0, 422, "User not found in request", null, null); return $retVal->jsonarray(); } } protected function fetchUser($user_id) { try { $fetch_user_by_id = "SELECT id, email, qr_id FROM dogs WHERE id=:id"; $query_stmt = $this->db->prepare($fetch_user_by_id); $query_stmt->bindValue(':id', $user_id, PDO::PARAM_INT); $query_stmt->execute(); if ($query_stmt->rowCount()) : $returnVal = $query_stmt->fetch(PDO::FETCH_ASSOC); return $returnVal; else : return null; endif; } catch (PDOException $e) { return null; } } }