index.php 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  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. public function room_inviteOp()
  61. {
  62. $room_id = intval($_GET['room_id']);
  63. $relay_id = intval($_GET["relay_id"]);
  64. if(session_helper::need_wechat_author())
  65. {
  66. $_SESSION['client_type'] = 'wap';
  67. $author = new thrid_author\wxauthor();
  68. $url = author_url::room_invite_url($room_id,$relay_id);
  69. $url = $author->enter($url);
  70. Log::record("url:$url",Log::DEBUG);
  71. return self::outsuccess(['direct_uri' => $url],"redirect");
  72. }
  73. $result = room\factory_client::instance()->invite($room_id,$relay_id,[session_helper::memberid()]);
  74. if(session_helper::isapp())
  75. {
  76. $_SESSION['client_type'] = 'ajax';
  77. if($result === false) {
  78. return self::outerr(errcode::ErrRoom,"进入失败");
  79. } else {
  80. $members = member_info::get_members($result['newusers']);
  81. $result['invitees'] = $members;
  82. $result["url"] = BASE_SITE_URL.'/mobile/index.php?act=member_talk&op=room_detail&talk_type=room&talk_id='.$result['room'];
  83. return self::outsuccess($result);
  84. }
  85. }
  86. else {
  87. $_SESSION['client_type'] = 'wap';
  88. return self::outsuccess(null,"talk/share_bonus");
  89. }
  90. }
  91. /**
  92. * 会话详情页 talk_type:room/chatwo talk_id:room_id/user
  93. * 回话详情@ app打开
  94. * 群详情@ 微信扫码进入
  95. */
  96. public function room_indexOp()
  97. {
  98. $talk_type = trim($_GET['talk_type']);
  99. $talk_id = intval($_GET['talk_id']);
  100. $relay_id = intval($_GET['relay_id']);
  101. if($talk_id <= 0) {
  102. return self::outerr(errcode::ErrParamter);
  103. }
  104. $is_app = session_helper::isapp();
  105. $from_wechat = util::from_wechat();
  106. $user = session_helper::memberid();
  107. $param = ["talk_type" => $talk_type, "talk_id" => $talk_id , "member_id" => $user,"room_name"=>"","room_avatar"=>"","relay_id"=>$relay_id,"is_app"=>intval($is_app)];
  108. //app内打开请求授权登录
  109. if(($is_app || !$from_wechat) && $user<= 0)
  110. {
  111. $param['is_app'] = 1;
  112. if($talk_type == "room") {
  113. return self::outsuccess(['tpl' => null,"param" => $param],'talk/homepage_room');
  114. }elseif($talk_type == 'chatwo') {
  115. return self::outsuccess(['tpl' => null,"param" => $param],'talk/homepage_chatwo');
  116. }else {
  117. }
  118. }
  119. //微信内打开使用授权判断
  120. if(session_helper::need_wechat_author()) {
  121. $author = new thrid_author\wxauthor();
  122. $url = url_helper::room_detail_url($talk_type,$talk_id,$relay_id);
  123. $url = $author->enter($url);
  124. return self::outsuccess(['direct_uri' => $url],"redirect");
  125. }
  126. if($talk_type == "room")
  127. {
  128. $room_id = $talk_id;
  129. try {
  130. $tpl = new room\tpl_group_home($user,$talk_id,$relay_id);
  131. $param["room_name"] = $tpl->get_room_info()->name();
  132. $param["room_avatar"] = $tpl->get_room_info()->avatar();
  133. return self::outsuccess(['tpl' => $tpl,"param" => $param],'talk/homepage_room');
  134. } catch (Exception $ex) {
  135. Log::record("member_talk.room_detail error: room_id={$room_id} user={$user}",Log::ERR);
  136. return self::outerr(errcode::ErrParamter);
  137. }
  138. }
  139. elseif($talk_type == 'chatwo')
  140. {
  141. $other = $talk_id;
  142. try {
  143. $tpl = new room\tpl_chatwo_home($user,$other);
  144. return self::outsuccess(['tpl' => $tpl,"param"=>$param],'talk/homepage_chatwo');
  145. } catch (Exception $ex) {
  146. Log::record("member_talk.room_detail error: other={$other} user={$user}",Log::ERR);
  147. return self::outerr(errcode::ErrParamter);
  148. }
  149. }
  150. else
  151. {
  152. return self::outerr(errcode::ErrParamter);
  153. }
  154. }
  155. }