mainmenu.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?php
  2. include_once __DIR__ . '/../../Amfphp/Util/HttpUtil.php';
  3. include_once __DIR__ . '/debug.php';
  4. use loyalsoft\RenderTime;
  5. /**
  6. * Description of MainMenu
  7. * 后台主界面
  8. * @author gwang (mail@wanggangzero.cn)
  9. */
  10. class MainMenu extends core {
  11. //put your code here
  12. public static function index() {
  13. if (self::_checkGrant()) {
  14. self::view('mainmenu.tpl');
  15. } else {
  16. self::login();
  17. }
  18. }
  19. public static function login() {
  20. // 访问授权控制
  21. $accessManager = new Amfphp_BackOffice_AccessManager();
  22. $isAccessGranted = $accessManager->isAccessGranted();
  23. $name = "91bfa85e5204b5806d536a098caacd31";
  24. $pwd = "a08dd655a04c8c4cd541c92c6d5d1350";
  25. $errorMessage = '';
  26. $redirectToHome = false;
  27. try {
  28. if ($isAccessGranted) {
  29. $redirectToHome = true;
  30. } else if (isset($_POST['username'])) {
  31. //user is logging in.
  32. $username = $_POST['username'];
  33. $password = $_POST['password'];
  34. if (md5($username) == $name && md5($password) == $pwd) {
  35. if (session_id() == '') {
  36. session_start();
  37. }
  38. if (!isset($_SESSION[$name])) {
  39. $_SESSION[$name] = array();
  40. }
  41. $_SESSION[$name][$pwd] = true; # 设置授权
  42. $redirectToHome = true;
  43. } else {
  44. throw new Exception('Invalid username/password');
  45. }
  46. }
  47. if ($redirectToHome) {
  48. echo "<script> window.location = './index.php'; </script>";
  49. return;
  50. }
  51. } catch (Exception $e) {
  52. $errorMessage = $e->getMessage();
  53. }
  54. self::view('login.tpl', compact('redirectToHome', 'errorMessage'));
  55. }
  56. public static function debug() {
  57. if (self::_checkGrant()) {
  58. self::view(__FUNCTION__ . ".tpl");
  59. } else {
  60. self::login();
  61. }
  62. }
  63. public static function monitor() {
  64. if (self::_checkGrant()) {
  65. self::view(__FUNCTION__ . ".tpl");
  66. } else {
  67. self::login();
  68. }
  69. }
  70. public static function call() {
  71. if (self::_checkGrant()) {
  72. $params = loyalsoft\query_paras();
  73. $className = $params['className'];
  74. $mname = $params['method'];
  75. if ($className && $mname) {
  76. include_once __DIR__ . '/../../Amfphp/Services/' . str_replace("loyalsoft", "", $className) . '.php';
  77. # 直接向客户端输出返回值
  78. $rt = new RenderTime();
  79. ob_start();
  80. $result = call_user_func_array(array($className, $mname), array_values($_POST));
  81. $content = ob_end_flush();
  82. $rt->end();
  83. if (strlen($content) > 0) {
  84. echo("输出: " . $content);
  85. }
  86. echo "<hr/><hr/>";
  87. echo("返回值: " . json_encode($result));
  88. echo "<hr/><hr/>";
  89. echo("耗时:" . $rt->getRenderTime());
  90. }
  91. } else {
  92. self::login();
  93. }
  94. }
  95. /**
  96. * 查验授权
  97. * @return boolean
  98. */
  99. private static function _checkGrant() { // 访问授权控制
  100. $accessManager = new Amfphp_BackOffice_AccessManager();
  101. return $accessManager->isAccessGranted();
  102. }
  103. }