boot.php 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. # place 身份入口
  3. class Place
  4. {
  5. public static $info;
  6. public static $user;
  7. public static $resource;
  8. public static $uid;
  9. public static $code;
  10. public static $system;
  11. public static $sector;
  12. public static $module;
  13. public static $id;
  14. public static function entry($sector_id, $module_id, $user_id, $place_id)
  15. {
  16. $code = \Dever\Helper\Secure::encode($sector_id . '-' . $module_id . '-' . $user_id . '-' . $place_id);
  17. return $code;
  18. }
  19. # 初始化
  20. public static function init()
  21. {
  22. self::$code = Dever::input('p');
  23. $code = Dever\Helper\Secure::decode(self::$code);
  24. if (!$code) {
  25. Dever::error('身份码错误');
  26. }
  27. list($sector_id, $module_id, $user_id, $place_id) = explode('-', $code);
  28. self::$system = Dever::db('system', 'manage')->find(array('key' => 'sector'));
  29. self::$sector = Dever::db(self::$system['info_table'])->find($sector_id);
  30. if (!self::$sector) {
  31. Dever::error('领域信息错误');
  32. }
  33. # 切换数据库
  34. Dever::load('common', 'manage')->setAuth(self::$system['partition'], self::$system['id'], self::$sector['id'], $module_id, $user_id);
  35. # 初始化身份
  36. self::info($user_id, $place_id);
  37. # 切换数据库
  38. self::$module = Dever::db('system_module', 'manage')->find(array('key' => 'sector_place'));
  39. Dever::load('common', 'manage')->setAuth(self::$system['partition'], self::$system['id'], self::$sector['id'], self::$module['id'], $place_id);
  40. # 初始化资源
  41. self::resource();
  42. }
  43. # 身份信息
  44. public static function info($user_id, $place_id)
  45. {
  46. $user = Dever::db('user', 'sector')->find($user_id);
  47. self::$info = Dever::db('info', 'place')->find($place_id, array('col' => 'name,logo,content,score as score_name,score_per,bg,type,vip_name,agent_name,money_id,uid,pay_account'));
  48. if (!self::$info) {
  49. Dever::error('信息有误');
  50. }
  51. if (self::$info['uid'] != $user['id']) {
  52. Dever::error('信息有误');
  53. }
  54. if (!self::$info['vip_name']) {
  55. self::$info['vip_name'] = '会员';
  56. }
  57. if (!self::$info['agent_name']) {
  58. self::$info['agent_name'] = '代理';
  59. }
  60. self::$id = $place_id;
  61. self::$info['channel'] = $user['channel'];
  62. self::$info['content'] = htmlspecialchars_decode(self::$info['content']);
  63. $money = Dever::db('money', 'sector')->find(self::$info['money_id']);
  64. self::$info['money_name'] = $money['sign'];
  65. }
  66. # 资源信息
  67. public static function resource()
  68. {
  69. self::$resource = Dever::db('resource', 'place')->select(['status' => 1], array('col' => 'name,icon,type'));
  70. }
  71. # 用户信息
  72. public static function user($uid)
  73. {
  74. self::$user = Dever::db('member', 'place')->find($uid, array('col' => 'id,name,avatar,cash,score_cash,vip_id,agent_id,client_id'));
  75. if (self::$user) {
  76. self::$uid = $uid;
  77. self::$user['score_cash_name'] = self::$user['score_cash'] . self::$info['score_name'];
  78. self::$user['money_cash_name'] = self::$info['money_name'] . self::$user['cash'];
  79. }
  80. }
  81. public static function result($data)
  82. {
  83. $data['place'] = self::$info;
  84. $data['resource'] = self::$resource;
  85. $data['user'] = self::$user;
  86. return $data;
  87. }
  88. }