Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. /**
  3. * This file contains global settings and things that should be loaded at the
  4. * top of each file.
  5. */
  6. header("Access-Control-Allow-Origin: *");
  7. header('Content-Type: application/json; charset=utf-8');
  8. // Composer
  9. require 'vendor/autoload.php';
  10. // API response formatters
  11. require 'response.php';
  12. // Settings file
  13. require 'settings.php';
  14. // Init database and stuff
  15. $database;
  16. try {
  17. $database = new medoo([
  18. 'database_type' => DB_TYPE,
  19. 'database_name' => DB_NAME,
  20. 'server' => DB_SERVER,
  21. 'username' => DB_USER,
  22. 'password' => DB_PASS,
  23. 'charset' => DB_CHARSET
  24. ]);
  25. } catch (Exception $ex) {
  26. header('HTTP/1.1 500 Internal Server Error');
  27. sendError('Database error. Try again later.', true);
  28. }
  29. if (!DEBUG) {
  30. error_reporting(0);
  31. } else {
  32. error_reporting(E_ALL);
  33. ini_set('display_errors', 'On');
  34. }
  35. $VARS;
  36. if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  37. $VARS = $_POST;
  38. define("GET", false);
  39. } else {
  40. $VARS = $_GET;
  41. define("GET", true);
  42. }
  43. /**
  44. * Checks if a string or whatever is empty.
  45. * @param $str The thingy to check
  46. * @return boolean True if it's empty or whatever.
  47. */
  48. function is_empty($str) {
  49. return (!isset($str) || $str == '' || $str == null);
  50. }
  51. if (is_empty($VARS['key'])) {
  52. sendError('Please supply an API key (?key=abc)', true);
  53. }
  54. if (!$database->has('apikeys', ["AND" => ['apikey' => $VARS['key'], "active" => 1]])) {
  55. sendError('Invalid or inactive API key.', true);
  56. }