MobileServer.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 16/3/10
  6. * Time: 下午9:08
  7. */
  8. namespace fcgisrv;
  9. require_once(BASE_ROOT_PATH . '/helper/area_helper.php');
  10. require_once(BASE_CORE_PATH . '/framework/function/http.php');
  11. require_once(BASE_ROOT_PATH . '/mobile/index.php');
  12. require_once(BASE_ROOT_PATH . '/helper/session_helper.php');
  13. require_once(BASE_ROOT_PATH . '/helper/sensitive_word/dfa.php');
  14. require_once(BASE_ROOT_PATH . '/helper/exceptionex.php');
  15. require_once(BASE_ROOT_PATH . '/helper/session_helper.php');
  16. require_once(BASE_HELPER_PATH . '/fcgisrv/BaseServer.php');
  17. require_once(BASE_HELPER_PATH . '/session.php');
  18. use DFAFilter;
  19. use area_helper;
  20. use Log;
  21. use session;
  22. use session_helper;
  23. use Base;
  24. use UnloginException;
  25. use Exception;
  26. use errcode;
  27. class MobileServer extends BaseServer
  28. {
  29. static private $stInstance = NULL;
  30. static public function instance()
  31. {
  32. if(self::$stInstance == NULL) {
  33. self::$stInstance = new MobileServer();
  34. }
  35. return self::$stInstance;
  36. }
  37. public function __construct()
  38. {
  39. parent::__construct();
  40. $exfiles = [
  41. ];
  42. $this->setExFiles($exfiles);
  43. }
  44. protected function preLooper()
  45. {
  46. parent::preLooper();
  47. DFAFilter::instance();
  48. area_helper::instance();
  49. }
  50. public function handle_request($file)
  51. {
  52. session::instance()->start();
  53. try
  54. {
  55. fcgi_header("Content-Type: text/html; charset=UTF-8");
  56. if(file_exists($file))
  57. {
  58. if ($this->isIndex($file))
  59. {
  60. if(!isset($_GET['act'])) {
  61. $_GET['act'] = 'index';
  62. }
  63. if(!isset($_GET['op'])) {
  64. $_GET['op'] = 'index';
  65. }
  66. if(!isset($_POST['act'])) {
  67. $_POST['act'] = 'index';
  68. }
  69. if(!isset($_POST['op'])) {
  70. $_POST['op'] = 'index';
  71. }
  72. Base::mobile_control();
  73. }
  74. elseif ($this->is_exclude($file)) {
  75. include $file;
  76. }
  77. else {
  78. echo "You cannot access this file.";
  79. }
  80. }
  81. else
  82. {
  83. Log::record("handle_request $file is not exist.",Log::DEBUG);
  84. echo "no such file.";
  85. }
  86. }
  87. catch (UnloginException $ex) {
  88. joutput_error(errcode::ErrUnLogin, errcode::msg(errcode::ErrUnLogin));
  89. }
  90. catch (Exception $ex) {
  91. joutput_error($ex->getCode(),$ex->getMessage());
  92. Log::record("run_looper exception catch code={$ex->getCode()} msg={$ex->getMessage()} trace={$ex->getTraceAsString()}",Log::ERR);
  93. }
  94. session::instance()->end();
  95. }
  96. }