/** * Validates email + token provcided in query string and returns simpleResponse object with status (OK, ERROR, EXCEPTION) and a message * * @return \simpleResponse */ function validate() { $response = new simpleResponse(); $account_id = filter_input(INPUT_GET, "account_id"); $token = filter_input(INPUT_GET, "token"); try { if ($account_id == 0 || $account_id == "" || $account_id == NULL || $token == "" || $token == NULL) { $response->status = "ERROR"; $response->message = "La sesión no es válida. Por favor autentíquese nuevamente"; } else { $session = da_session::GetAndValidateSession($account_id, $token); if ($session->account_id == $account_id && $session->token == $token) { $response->status = "OK"; $response->message = "Sesión válida"; } else { $response->status = "ERROR"; $response->message = "La sesión no es válida. Por favor autentíquese nuevamente"; } } } catch (Exception $ex) { $response->status = "EXCEPTION"; $response->message = $ex->getMessage(); } return $response; }
/** * * @param be_account $account * @return be_session * @throws Exception */ private static function getValidSession($account) { $session = da_session::CreateSession($account->account_id); if (LoginWebService::sessionIsValid($session)) { return $session; } else { throw new Exception("Ocurrió un error al crear su sesión"); } }
private static function executeLogout($parameters) { $session = da_session::Logout($parameters->account_id, $parameters->token); if (LogoutWebService::resultIsValid($session, $parameters)) { $response->status = "OK"; $response->message = "LOGOUT OK"; } else { $response->status = "ERROR"; $response->message = "El proceso de Logout falló"; } }
public static function SaveContent() { $postdata = file_get_contents("php://input"); $request = json_decode($postdata); // echo "input post " . $postdata; $response = new simpleResponse(); $account_id = $request->account_id; $token = $request->token; $session = da_session::GetAndValidateSession($account_id, $token); if ($session == NULL) { die("Invalid Session"); } try { $parameters = SaveContentWebService::collectParameters($request); $parametersErrors = 0; //PageAddWebService::validateParameters($parameters); $savedContent = SaveContentWebService::saveNewContent($parameters); if ($savedContent > 0) { $response->message = "Contenido guardada satisfactoriamente"; $response->status = "OK"; $response->data = $savedContent; } /*if (count($parametersErrors) == 0) { $savedContent = SaveContentWebService::saveContent($parameters); if ($savedPage->page_id > 0) { $response->message = "Contenido guardada satisfactoriamente"; $response->status = "OK"; $response->data = $savedContent; } } else { $response->message = "Parámetros Inválidos"; $response->status = "ERROR"; $response->data = $parametersErrors; }*/ } catch (Exception $ex) { $response->status = "EXCEPTION"; $response->message = $ex->getMessage(); $response->data = $content; } return $response; }
<?php $account_id = filter_input(INPUT_GET, "account_id"); $token = filter_input(INPUT_GET, "token"); $session = da_session::GetAndValidateSession($account_id, $token); if ($session == NULL) { die("Invalid Session"); }
public static function test_da_session() { ReportInfo("Initiating Session Test"); ReportInfo("creating session on jose.a.nunez@gmail.com"); $session = da_session::CreateSession(1); print_r($session); if ($session->token != '') { ReportSuccess("Session seems to be Correct!"); } else { ReportError("Session seems to be BAD"); } ReportInfo("Loging out..."); $loggedOffSession = da_session::Logout($session->account_id, $session->token); ReportInfo("Session after Logout begins here..-------------------"); print_r($loggedOffSession); ReportInfo("Session after Logout ends here..-------------------"); if ($loggedOffSession->account_id == $session->account_id && $loggedOffSession->token == $session->token && $loggedOffSession->expiration_datetime != $session->expiration_datetime) { ReportSuccess("Seems to be OK after logoff."); } else { ReportError("IT seems result is NOT OK. Is that a good session value for Logout?"); } ReportInfo("Session Tests Complete!"); }
private static function refreshSessionExpirationDatetime($account_id, $token) { $sqlCommand = "UPDATE sessions " . " SET expiration_datetime = DATE_ADD(NOW(), INTERVAL 1 HOUR) " . " WHERE account_id = ? AND token = ?"; $paramTypeSpec = "is"; $mysqli = DA_Helper::mysqli_connect(); if ($mysqli->connect_errno) { $msg = "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; throw new Exception($msg, $mysqli->errno); } if (!($stmt = $mysqli->prepare($sqlCommand))) { $msg = "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error; throw new Exception($msg, $stmt->errno); } if (!$stmt->bind_param($paramTypeSpec, $account_id, $token)) { $msg = "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error; throw new Exception($msg, $stmt->errno); } if (!$stmt->execute()) { $msg = "Execute failed: (" . $stmt->errno . ") " . $stmt->error; throw new Exception($msg, $stmt->errno); } $stmt->close(); $retrievedSession = da_session::getValidSession($account_id, $token); return $retrievedSession; }