PageRenderTime 27ms CodeModel.GetById 5ms RepoModel.GetById 0ms app.codeStats 0ms

/webroot/controller.php

https://bitbucket.org/delpho/tickhub
PHP | 48 lines | 42 code | 5 blank | 1 comment | 6 complexity | 7ebff1bd9fbf74e639e41784a106fb5f MD5 | raw file
  1. <?php
  2. require('../configs/config.php');
  3. if(!defined('TICKHUB') || strpos($_SERVER['REQUEST_URI'], basename(__FILE__)) ) {
  4. header("Location: ".SERVER_URL, 301);
  5. exit;
  6. }
  7. $uri = $_SERVER['REQUEST_URI'];
  8. $controller = '';
  9. if ( strpos($uri, '/tickspot') === 0 ) {
  10. $controller = 'tickspot.php';
  11. } elseif( strpos($uri, '/cron') === 0 ) {
  12. //check referrer: must be LOCALHOST
  13. Log::getInstance()->log("Executing cron job from " .$_SERVER['REMOTE_ADDR']);
  14. if ( !in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1','184.106.151.152')) ) {
  15. header('HTTP/1.0 404 Not Found');
  16. require CONTROLLER_DIR.'404.php';
  17. exit;
  18. }
  19. $controller = 'cron.php';
  20. } elseif( strpos($uri, '/github') === 0 ) {
  21. $controller = 'github.php';
  22. } elseif( strpos($uri, '/login') === 0 ) {
  23. $controller = 'login.php';
  24. } elseif( strpos($uri, '/logout') === 0 ) {
  25. $controller = 'logout.php';
  26. } elseif( strpos($uri, '/dashboard') === 0 ) {
  27. $controller = 'dashboard.php';
  28. } elseif( strpos($uri, '/settings') === 0 ) {
  29. $controller = 'settings.php';
  30. } elseif( strpos($uri, '/login') === 0 ) {
  31. $controller = 'login.php';
  32. } elseif( strpos($uri, '/signup') === 0 ) {
  33. $controller = 'signup.php';
  34. } elseif( strpos($uri, '/ajax') === 0 ) {
  35. $controller = 'ajax.php';
  36. }
  37. unset ($uri);
  38. if ( strlen($controller) > 0 ) {
  39. require_once CONTROLLER_DIR.$controller;
  40. } else {
  41. header('HTTP/1.0 404 Not Found');
  42. require CONTROLLER_DIR.'404.php';
  43. }