api.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. if (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != 'on') {
  3. header("Location: https://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}");
  4. exit();
  5. }
  6. define('DS', DIRECTORY_SEPARATOR);
  7. define('APP_PATH_ROOT', dirname(__FILE__));
  8. define('APP_PATH_LIB', APP_PATH_ROOT . '/se-lib');
  9. define('APP_PATH_WWW', APP_PATH_ROOT);
  10. define('APP_PATH_CONFIG', APP_PATH_ROOT . DS . 'config');
  11. define('APP_PATH_SCHEMA', APP_PATH_ROOT . DS . 'schema');
  12. date_default_timezone_set('Europe/Warsaw');// PHP 5 >= 5.1.0 required by date functions
  13. $errorReportingLevel = E_ALL & ~E_NOTICE;
  14. error_reporting($errorReportingLevel);
  15. ini_set('error_reporting', $errorReportingLevel);
  16. if (file_exists(APP_PATH_ROOT . "/config/.config_{$_SERVER['SERVER_NAME']}.php")) {
  17. require APP_PATH_ROOT . "/config/.config_{$_SERVER['SERVER_NAME']}.php";
  18. }
  19. if (file_exists(APP_PATH_ROOT . "/.config.php")) include APP_PATH_ROOT . "/.config.php";
  20. require_once APP_PATH_ROOT . "/superedit-SEF.php";
  21. SEF('DEBUG_S');
  22. require_once APP_PATH_LIB . '/' . 'Lib.php';
  23. Lib::loadClass('V');
  24. Lib::loadClass('DB');
  25. Lib::loadClass('User');
  26. Lib::loadClass('SE_Layout');
  27. Lib::loadClass('S');
  28. Lib::loadClass('Http');
  29. Lib::loadClass('HttpException');
  30. Lib::loadClass('ApiUser');
  31. Lib::loadClass('Api');
  32. session_start();
  33. session_write_close();
  34. $apiUser = new ApiUser();
  35. // ?LOGIN=LOGOUT
  36. if ('LOGOUT' == V::get('LOGIN', '', $_GET)) {
  37. $apiUser->logout();
  38. } else {
  39. $apiUser->auth();
  40. }
  41. $reqUri = V::get('REQUEST_URI', '', $_SERVER);
  42. $reqScript = V::get('SCRIPT_NAME', '', $_SERVER);
  43. $taskPath = str_replace($reqScript, '', $reqUri);
  44. IF(V::get('DBG','',$_GET)){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">taskPath (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($taskPath);echo'</pre>';}
  45. $api = new Api();
  46. $api->setUser($apiUser);
  47. try {
  48. $api->execute($taskPath);
  49. }
  50. catch (HttpException $e) {
  51. Http::sendHeaderByCode($e->getCode());
  52. echo $e->getMessage();
  53. }
  54. catch (Exception $e) {
  55. Http::sendHeaderByCode(500);
  56. echo $e->getMessage();
  57. }
  58. IF(V::get('DBG','',$_GET)){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">PHP_AUTH_USER (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($_SERVER['PHP_AUTH_USER']);echo'</pre>';}
  59. IF(V::get('DBG','',$_GET)){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">REQUEST_URI (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($_SERVER['REQUEST_URI']);echo'</pre>';}
  60. IF(V::get('DBG','',$_GET)){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">SCRIPT_NAME (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($_SERVER['SCRIPT_NAME']);echo'</pre>';}
  61. IF(V::get('DBG','',$_GET)){die("\nEOF L." . __LINE__);}
  62. ?>