public function check_if_valid($controller)
{
//First we will ensure there is a token in the request
$request = Router::getRequest();
$token = false;
if (isset($request->data['token'])) {
$token = $request->data['token'];
} elseif (isset($request->query['token'])) {
$token = $request->query['token'];
}
if ($token != false) {
if (strlen($token) != 36) {
$result = array('success' => false, 'message' => array('message' => __('Token in wrong format')));
} else {
//Find the owner of the token
$result = $this->find_token_owner($token);
}
} else {
$result = array('success' => false, 'message' => array('message' => __('Token missing')));
}
//If it failed - set the controller up
if ($result['success'] == false) {
$controller->set(array('success' => $result['success'], 'message' => $result['message'], '_serialize' => array('success', 'message')));
return false;
} else {
return $result['user'];
//Return the user detail
}
}