Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- error_reporting(-1);
- ini_set('display_errors', 'On');
- require_once '../include/Config.php';
- require_once '../include/DbHandler.php';
- require_once '../include/AppPassHash.php';
- require_once '../include/DBParsers.php';
- require '.././libs/Slim/Slim.php';
- SlimSlim::registerAutoloader();
- $app = new SlimSlim();
- //Slim routes for each db tables
- require 'login_router.php';
- require 'sync_router.php';
- require 'user_router.php';
- require 'notes_router.php';
- // User id from db - Global Variable
- $user_id = NULL;
- function getConnection() {
- $host = 'localhost';
- $db = 'myproject';
- $user = 'myproject';
- $pass = 'myproject';
- $charset = 'utf8';
- $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
- $opt = [
- PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
- PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
- PDO::ATTR_EMULATE_PREPARES => false,
- ];
- $pdo = new PDO($dsn, DB_USERNAME, DB_PASSWORD, $opt);
- return $pdo;
- }
- /**
- * Adding Middle Layer to authenticate every request
- * Checking if the request has valid api key in the 'Authorization' header
- */
- function authenticate(SlimRoute $route) {
- // Getting request headers
- $headers = apache_request_headers();
- $response = array();
- $app = SlimSlim::getInstance();
- // Verifying Authorization Header
- if (isset($headers['Authorization'])) {
- $db = new DbHandler();
- // get the api key
- $api_key = $headers['Authorization'];
- // validating api key
- if (!$db->isValidApiKey($api_key)) {
- // api key is not present in users table
- $response["error"] = true;
- $response["message"] = "Access Denied. Invalid Api key";
- echoRespnse(401, $response);
- $app->stop();
- } else {
- global $user_id;
- // get user primary key id
- $user_id = $db->getUserId($api_key);
- }
- } else {
- // api key is missing in header
- $response["error"] = true;
- $response["message"] = "Api key is misssing";
- echoRespnse(400, $response);
- $app->stop();
- }
- }
- /**
- * Verifying required params posted or not
- */
- function verifyRequiredParams($required_fields) {
- $error = false;
- $error_fields = "";
- $request_params = array();
- $request_params = $_REQUEST;
- // Handling PUT request params
- if ($_SERVER['REQUEST_METHOD'] == 'PUT') {
- $app = SlimSlim::getInstance();
- parse_str($app->request()->getBody(), $request_params);
- }
- foreach ($required_fields as $field) {
- if (!isset($request_params[$field]) || strlen(trim($request_params[$field])) <= 0) {
- $error = true;
- $error_fields .= $field . ', ';
- }
- }
- if ($error) {
- $response["error"] = true;
- $response["message"] = 'Required field empty';
- echoRespnse(400, $response);
- $app->stop();
- }
- }
- $app->run();
- ?>
- <form id="loginForm" method="post" action="../MyAPIRoot/v1/login">
- <input name="email" type="text" class="form-control input-lg" />
- <input name="email" type="text" class="form-control input-lg" />
- </form>
- <script type="text/javascript">
- $(document).ready(function(){
- $("#loginForm").submit(function(event){
- event.preventDefault();
- // Serialize the form data.
- var form = $('#loginForm');
- var formData = $(form).serialize();
- //alert("formData: "+formData);
- // Submit the form using AJAX.
- $.ajax({
- type: 'POST',
- dataType: 'json',
- url: $(form).attr('action'),
- data: formData
- }).done(function(response) {
- alert("Res: ");
- // NO RESPONSE HERE
- $("#resultMsg").html(response.message);
- })
- });
- });
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement