Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // API: index.php, entry point
- // mostrar errores
- ini_set('display_errors', 1);
- ini_set('display_startup_errors', 1);
- error_reporting(E_ALL | E_STRICT);
- // ensure session
- session_start();
- $session_user = isset($_SESSION['user']) ? $_SESSION['user'] : null;
- // get/post query
- $api_query = null;
- if ($_SERVER['REQUEST_METHOD'] === 'POST') {
- $api_query = $_POST;
- }
- else {
- $api_query = $_GET;
- }
- // execute query if valid
- check_actions($api_query);
- // ---------------------------------------------------- HELPERS
- // check action
- function check_actions($api_query) {
- $api_action = isset($api_query['action']) ? $api_query['action'] : null;
- $valid_actions = array('login','logout','private1','public1', 'oracle1');
- if (in_array( $api_action, $valid_actions )) {
- call_user_func('action_' . $api_action, $api_query);
- }
- else {
- return_results( 'unknown action: ' . $api_action , null);
- }
- }
- function return_results( $ret_error, $ret_obj ) {
- $ret = array(
- 'error' => $ret_error,
- 'result' => $ret_obj
- );
- header('Content-Type: application/json');
- echo json_encode($ret);
- }
- // --------------------------------- ACTIONS
- function action_logout() {
- session_destroy();
- return_results(null,"logged out");
- }
- function action_login($api_query) {
- session_destroy();
- $login_user = isset($api_query['user']) ? $api_query['user'] : '';
- $login_pass = isset($api_query['pass']) ? $api_query['pass'] : '';
- if ($login_pass === 'ok') {
- // login ok
- session_start();
- $_SESSION["user"] = $login_user;
- return_results(null, $login_user . ' logged successfully');
- }
- else {
- // login failed
- return_results('login error: ' . $login_user, null);
- }
- }
- function action_oracle1() {
- global $session_user; // pick external variable
- if (!isset($session_user)) {
- return_results('sorry, you are not logged', null);
- }
- else {
- require('apilib/cons_simple.php');
- }
- }
- ?>
Add Comment
Please, Sign In to add comment