index.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <?php
  2. /**
  3. * cms首页
  4. *
  5. *
  6. *
  7. */
  8. defined('InShopNC') or exit('Access Invalid!');
  9. require_once(BASE_ROOT_PATH . '/helper/goods_helper.php');
  10. require_once(BASE_ROOT_PATH . '/helper/special_helper.php');
  11. require_once(BASE_ROOT_PATH . '/helper/index_tab.php');
  12. require_once(BASE_ROOT_PATH . '/helper/util_helper.php');
  13. require_once(BASE_ROOT_PATH . '/helper/third_author/wxauthor.php');
  14. require_once(BASE_ROOT_PATH . '/mobile/control/special.php');
  15. require_once(BASE_ROOT_PATH . '/helper/third_author/wxauthor.php');
  16. require_once(BASE_ROOT_PATH . '/helper/session_helper.php');
  17. require_once(BASE_ROOT_PATH . '/helper/url_helper.php');
  18. require_once(BASE_ROOT_PATH . '/helper/room/tpl_group_home.php');
  19. require_once(BASE_ROOT_PATH . '/helper/room/tpl_chatwo_home.php');
  20. class indexControl extends specialControl
  21. {
  22. const HomeSpecialID = 0;
  23. public function __construct()
  24. {
  25. parent::__construct();
  26. }
  27. public function tabsOp()
  28. {
  29. $tabs = index_tab::instance()->tabs();
  30. return self::outsuccess(array('tabs' => $tabs));
  31. }
  32. public function splashOp()
  33. {
  34. $sig = $_GET['sig'];
  35. $ret = $this->pub_special($this->splash_id());
  36. if(empty($ret['special_list'])) {
  37. return self::outsuccess(null);
  38. }
  39. $block = $ret['special_list'][0];
  40. if(empty($block) || empty($block['items'])) {
  41. return self::outsuccess(null);
  42. }
  43. $image = $block['items'][0]['image'];
  44. if(empty($sig) || $sig != md5($image)) {
  45. return self::outsuccess(array('sig' => md5($image),'url' => $image));
  46. } else {
  47. return self::outsuccess(null);
  48. }
  49. }
  50. private function splash_id()
  51. {
  52. global $config;
  53. $special_id = $config['splash_page']['special_id'];
  54. return $special_id;
  55. }
  56. public function inoherbOp()
  57. {
  58. return self::outsuccess(['direct_uri' => BASE_SITE_URL . '/hfive/inoherb/index.html?2'],"redirect");
  59. }
  60. /**
  61. * 会话详情页 talk_type:room/chatwo talk_id:room_id/user
  62. * 回话详情@ app打开
  63. * 群详情@ 微信扫码进入
  64. */
  65. public function room_indexOp()
  66. {
  67. $talk_type = trim($_GET['talk_type']);
  68. $talk_id = intval($_GET['talk_id']);
  69. $relay_id = intval($_GET['relay_id']);
  70. if($talk_id <= 0) {
  71. return self::outerr(errcode::ErrParamter);
  72. }
  73. $is_app = intval(session_helper::isapp());
  74. $from_wechat = util::from_wechat();
  75. $user = session_helper::memberid();
  76. $param = ["talk_type" => $talk_type, "talk_id" => $talk_id , "member_id" => $user,"room_name"=>"","room_avatar"=>"","relay_id"=>$relay_id,"is_app"=>$is_app];
  77. //app内打开请求授权登录
  78. if(($is_app || !$from_wechat) && $user<= 0)
  79. {
  80. if($talk_type == "room") {
  81. return self::outsuccess(['tpl' => null,"param" => $param],'talk/homepage_room');
  82. }elseif($talk_type == 'chatwo') {
  83. return self::outsuccess(['tpl' => null,"param" => $param],'talk/homepage_chatwo');
  84. }else {
  85. }
  86. }
  87. //微信内打开使用授权判断
  88. if(session_helper::need_wechat_author()) {
  89. $author = new thrid_author\wxauthor();
  90. $url = url_helper::room_detail_url($talk_type,$talk_id,$relay_id);
  91. $url = $author->enter($url);
  92. return self::outsuccess(['direct_uri' => $url],"redirect");
  93. }
  94. if($talk_type == "room")
  95. {
  96. $room_id = $talk_id;
  97. try {
  98. $tpl = new room\tpl_group_home($user,$talk_id,$relay_id);
  99. $param["room_name"] = $tpl->get_room_info()->name();
  100. $param["room_avatar"] = $tpl->get_room_info()->avatar();
  101. return self::outsuccess(['tpl' => $tpl,"param" => $param],'talk/homepage_room');
  102. } catch (Exception $ex) {
  103. Log::record("member_talk.room_detail error: room_id={$room_id} user={$user}",Log::ERR);
  104. return self::outerr(errcode::ErrParamter);
  105. }
  106. }
  107. elseif($talk_type == 'chatwo')
  108. {
  109. $other = $talk_id;
  110. try {
  111. $tpl = new room\tpl_chatwo_home($user,$other);
  112. return self::outsuccess(['tpl' => $tpl,"param"=>$param],'talk/homepage_chatwo');
  113. } catch (Exception $ex) {
  114. Log::record("member_talk.room_detail error: other={$other} user={$user}",Log::ERR);
  115. return self::outerr(errcode::ErrParamter);
  116. }
  117. }
  118. else
  119. {
  120. return self::outerr(errcode::ErrParamter);
  121. }
  122. }
  123. }