123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308 |
- <?php
- /**
- * cms首页
- *
- *
- *
- */
- use bonus\account;
- defined('InShopNC') or exit('Access Invalid!');
- require_once(BASE_ROOT_PATH . '/helper/goods_helper.php');
- require_once(BASE_ROOT_PATH . '/helper/special_helper.php');
- require_once(BASE_ROOT_PATH . '/helper/index_tab.php');
- require_once(BASE_ROOT_PATH . '/helper/util_helper.php');
- require_once(BASE_ROOT_PATH . '/helper/third_author/wxauthor.php');
- require_once(BASE_ROOT_PATH . '/mobile/control/special.php');
- require_once(BASE_ROOT_PATH . '/helper/third_author/wxauthor.php');
- require_once(BASE_ROOT_PATH . '/helper/session_helper.php');
- require_once(BASE_ROOT_PATH . '/helper/url_helper.php');
- class indexControl extends specialControl
- {
- const HomeSpecialID = 0;
- public function __construct()
- {
- parent::__construct();
- }
- public function tabsOp()
- {
- $tabs = index_tab::instance()->tabs();
- return self::outsuccess(array('tabs' => $tabs));
- }
- public function splashOp()
- {
- $sig = $_GET['sig'];
- $ret = $this->pub_special($this->splash_id());
- if(empty($ret['special_list'])) {
- return self::outsuccess(null);
- }
- $block = $ret['special_list'][0];
- if(empty($block) || empty($block['items'])) {
- return self::outsuccess(null);
- }
- $image = $block['items'][0]['image'];
- if(empty($sig) || $sig != md5($image)) {
- return self::outsuccess(array('sig' => md5($image),'url' => $image));
- } else {
- return self::outsuccess(null);
- }
- }
- private function splash_id()
- {
- global $config;
- $special_id = $config['splash_page']['special_id'];
- return $special_id;
- }
- public function inoherbOp()
- {
- return self::outsuccess(['direct_uri' => BASE_SITE_URL . '/hfive/inoherb/index.html?2'],"redirect");
- }
- public function memberOp()
- {
- $idol = $_GET['member_id'];
- if(empty($idol)) {
- return self::outerr(errcode::ErrParamter);
- }
- $memkey = urldecode($idol);
- $relay_id = intval(util::decrypt_data($memkey));
- if(session_helper::need_wechat_author()) {
- $author = new thrid_author\wxauthor();
- $url = BASE_SITE_URL . "/mobile/index.php?act=index&op=member&member_id={$idol}&relay_id={$relay_id}";
- $url = $author->enter($url);
- return self::outsuccess(['direct_uri' => $url],"redirect");
- }
- if(session_helper::logined() == false || wechat_helper::invite_bonus_tag())
- {
- if(wechat_helper::invite_bonus_tag()) {
- wechat_helper::clear_invite_bonus();
- }
- $type_sn = account_helper::invite_bonus($relay_id);
- if($type_sn == false) {
- return self::outerr(errcode::ErrBonus,"生成邀请红包失败.");
- }
- else {
- $ref_url = url_helper::bonus_open_url($type_sn);
- return self::outsuccess(['direct_uri' => $ref_url],"redirect");
- }
- }
- else {
- $myself = session_helper::memberid();
- $relateion = new \relation\mem_relation($myself);
- $isfriend = $relateion->is_follower($relay_id);
- return self::outsuccess(array('info' => new member_info($relay_id),'is_friend' => $isfriend),"member/index",'wap');
- }
- }
- public function room_inviteOp()
- {
- $room_id = intval($_GET['room_id']);
- $relay_id = intval($_GET["relay_id"]);
- if(session_helper::need_wechat_author())
- {
- $_SESSION['client_type'] = 'wap';
- $author = new thrid_author\wxauthor();
- $url = author_url::room_invite_url($room_id,$relay_id);
- $url = $author->enter($url);
- Log::record("url:$url",Log::DEBUG);
- return self::outsuccess(['direct_uri' => $url],"redirect");
- }
- $result = room\factory_client::instance()->invite($room_id,$relay_id,[session_helper::memberid()]);
- if(session_helper::isapp())
- {
- $_SESSION['client_type'] = 'ajax';
- if($result === false) {
- return self::outerr(errcode::ErrRoom,"进入失败");
- } else {
- $members = member_info::get_members($result['newusers']);
- $result['invitees'] = $members;
- $result["url"] = BASE_SITE_URL.'/mobile/index.php?act=member_talk&op=room_detail&talk_type=room&talk_id='.$result['room'];
- return self::outsuccess($result);
- }
- }
- else {
- $_SESSION['client_type'] = 'wap';
- return self::outsuccess(null,"talk/share_bonus");
- }
- }
- public function room_detailOp()
- {
- $talk_type = trim($_GET['talk_type']);
- $talk_id = intval($_GET["talk_id"]);
- $relay_id = intval($_GET['relay_id']);
- if(session_helper::need_wechat_author())
- {
- $author = new thrid_author\wxauthor();
- $url = author_url::room_detail_url($talk_type,$talk_id,$relay_id);
- $url = $author->enter($url);
- Log::record("url:$url",Log::DEBUG);
- return self::outsuccess(['direct_uri' => $url],"redirect");
- }
- $url = url_helper::room_detail_url($talk_type,$talk_id,$relay_id);
- return self::outsuccess(['direct_uri' => $url],"redirect");
- }
- public function member_detailOp()
- {
- $type = 3;
- $apply_id = intval($_GET['apply_id']);
- if($apply_id >0) {
- $type = 2;
- $member_id = "";
- }else{
- $type = 1;
- }
- $visitor_id = intval($_GET['visitor_id']);
- $from_type = intval($_GET['from_type']);
- if(!isset($visitor_id) || empty($visitor_id)){
- return self::outerr("参数有误");
- }
- if(!isset($from_type) || empty($from_type)){
- return self::outerr("参数有误");
- }
- $from_type = $from_type == 1?"room":"qrcode";
- $member_id = session_helper::memberid();
- $talks_helper = new room\talks_helper();
- $mine_friends = $talks_helper->friends($member_id);
- $is_friend = in_array($visitor_id ,$mine_friends);
- $member_info = [];
- $visitor_info = [];
- $items = member_info::get_members([$visitor_id,$member_id]);
- if (count($items) == 2)
- {
- foreach ($items as $item){
- if($item['member_id'] == $member_id){
- $member_info = $item;
- }elseif($item['member_id'] == $visitor_id){
- $visitor_info = $item;
- }
- }
- } elseif( count($items) == 1) {
- $member_info = $visitor_info = $items[0];
- } else {
- }
- $items = Model('room')->getRoomParts(["member_id"=>$visitor_id,'state' => 0],'room_id',false);
- $xroomids = [];
- if(!empty($items)) {
- foreach ($items as $item){
- $xroomids[] = $item['room_id'];
- }
- }
- $items = Model('room')->getRoomParts(["member_id"=>$member_id ,'state' => 0],'room_id',false);
- $yroomids = [];
- if(!empty($items)) {
- foreach ($items as $item){
- $yroomids[] = $item['room_id'];
- }
- }
- $intersect = array_intersect($xroomids,$yroomids);
- return self::outsuccess(["type"=>1,"common_rooms"=>count($intersect),"is_friend"=>$is_friend,"from_type"=>$from_type,"visitor_info"=>$visitor_info,"member_info"=>$member_info],"/talk/member_detail");
- }
- }
- class tpl_member
- {
- private $mOutput;
- private $mInfo;
- private $mIsFriend;
- private $mPred;
- public function __construct($output)
- {
- $this->mOutput = $output;
- $this->mInfo = $this->mOutput['info'];
- $this->mIsFriend = $this->mOutput['is_friend'];
- $userid = $this->mInfo->member_id();
- $this->mPred = new account($userid);
- }
- public function output_group()
- {
- $amount = $this->mPred->total_bonus();
- $amount = intval($amount * 100 + 0.5) / 100;
- $discount = $this->mInfo->discount_self();
- $discount = intval($discount * 100 + 0.5) / 100;
- $result = "<div class=\"cell\">
- <span class=\"cell_label\">红包余额</span><span class=\"cell_content\"><span class=\"letter_pro\">$amount</span>元</span>
- </div>
- <div class=\"cell\">
- <span class=\"cell_label\">累计节省</span><span class=\"cell_content\"><span class=\"letter_pro\">$discount</span>元</span>
- </div>";
- if(!session_helper::isapp()) {
- $from = '<div class="cell">
- <span class="cell_label">信息来源</span><span class="cell_content">来自扫一扫</span>
- </div>';
- $result .= $from;
- }
- return $result;
- }
- public function output_btn()
- {
- $is_friend = $this->mOutput['is_friend'];
- if(!session_helper::isapp())
- {
- $result = '<div class="submit">';
- if($is_friend) {
- $result .= '<p class="cell_label">你已经是他的粉丝了</p>';
- } else {
- $result .= '<button type="button" id="btn_add_friend" class="add_friend_btn">关注</button>';
- }
- $result .= '</div>';
- }
- else
- {
- $result = '<div class="submit">
- <button type="button" id="btn_thief_bonus" class="add_friend_btn">偷一点</button>
- </div>
- <div class="submit">
- <button type="button" id="btn_send_bonus" class="send_bonus_btn">发红包</button>
- </div>';
- if(!$is_friend) {
- $result .= '<div class="submit">';
- $result .= '<button type="button" id="btn_add_friend" class="add_friend_btn">关注</button>';
- $result .= '</div>';
- }
- }
- return $result;
- }
- }
|