invite_friend.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 2017/11/9
  6. * Time: 上午11:42
  7. */
  8. require_once(BASE_ROOT_PATH . '/helper/algorithm.php');
  9. require_once(BASE_ROOT_PATH . '/helper/login_helper.php');
  10. require_once(BASE_ROOT_PATH . '/helper/session_helper.php');
  11. require_once(BASE_ROOT_PATH . '/helper/sms_helper.php');
  12. require_once(BASE_ROOT_PATH . '/helper/url_helper.php');
  13. require_once(BASE_ROOT_PATH . '/helper/model_helper.php');
  14. require_once(BASE_ROOT_PATH . '/helper/invite_helper.php');
  15. require_once(BASE_ROOT_PATH . '/helper/third_author/wxauthor.php');
  16. class invite_friendControl extends mobileControl
  17. {
  18. public function __construct()
  19. {
  20. parent::__construct();
  21. }
  22. public function indexOp()
  23. {
  24. $user = intval($_GET['curuser']);
  25. if(session_helper::need_wechat_author())
  26. {
  27. $author = new thrid_author\wxauthor();
  28. $url = author_url::inviter_url($user);
  29. $url = $author->enter($url);
  30. return self::outsuccess(['direct_uri' => $url],"redirect");
  31. }
  32. if($user <= 0)
  33. {
  34. if(session_helper::logined()) {
  35. $user = session_helper::memberid();
  36. }
  37. }
  38. if(session_helper::logined()) {
  39. $type_sn = "";
  40. } else {
  41. $type_sn = account_helper::invite_bonus($user);
  42. }
  43. if($user > 0) {
  44. return self::outsuccess(['tpl' => new tpl_invite_friend($user,$type_sn)],"invite_friend/invite",'wap');
  45. }
  46. else {
  47. return self::outerr(errcode::ErrParamter);
  48. }
  49. }
  50. }
  51. class tpl_invite_friend
  52. {
  53. private $mUser;
  54. private $mInvitees;
  55. private $mUserInfo;
  56. private $mShareInfo;
  57. private $mTypesn;
  58. public function __construct($user,$type_sn)
  59. {
  60. $this->mUser = $user;
  61. $this->mInvitees = [];
  62. $this->init($user);
  63. $this->mShareInfo = invite_helper::share_info(session_helper::share_id());
  64. $this->mTypesn = $type_sn;
  65. }
  66. private function init($user)
  67. {
  68. if($user <= 0) return false;
  69. $mod_member = Model('member');
  70. $items = $mod_member->getMemberList(['member_id|inviter_id' => ['_multi' => true,$user,$user]]);
  71. foreach ($items as $item)
  72. {
  73. $user_info = new member_info($item);
  74. $uid = $user_info->member_id();
  75. if($uid == $user) {
  76. $this->mUserInfo = $user_info;
  77. } else {
  78. $this->mInvitees[] = $user_info;
  79. }
  80. }
  81. }
  82. public function show()
  83. {
  84. $this->show_relay();
  85. if(!empty($this->mTypesn)) {
  86. $this->show_bonus();
  87. }
  88. $this->show_invitees();
  89. }
  90. private function show_relay()
  91. {
  92. $minfo = $this->mUserInfo;
  93. $str = "<div class=\"user_msg\">
  94. <div class=\"user\">
  95. <div class=\"user_img\"><img src=\"{$minfo->avatar()}\"></div>
  96. <div class=\"user_name\">{$minfo->nickname()}</div>
  97. </div>
  98. <div class=\"get_bonus\">
  99. <div class=\"bonus_label\">邀请累计收益</div>
  100. <div class=\"total\"><span class=\"bag_icon\"></span><span class=\"price\">{$minfo->reward_amount()}</span>元</div>
  101. </div>
  102. </div>";
  103. echo $str;
  104. }
  105. private function show_bonus()
  106. {
  107. echo "<div class=\"open_bouns_link\">
  108. <span id=\"coin\" class=\"open_bouns\"></span>
  109. </div>";
  110. }
  111. private function show_invitees()
  112. {
  113. echo "<div class=\"bonus_list\">";
  114. echo "<div class=\"bonus_pro\">已邀请{$this->mUserInfo->invitees()}人</div>
  115. <span class=\"rules\" id=\"rules\">查看规则>></span>";
  116. foreach ($this->mInvitees as $minfo)
  117. {
  118. $user = $minfo->member_id();
  119. $url = BASE_SITE_URL . "/mobile/index.php?act=invite_friend&op=index&client_type=wap&curuser={$user}";
  120. $str = "<div class=\"item\">
  121. <a href=\"{$url}\">
  122. <div class=\"user_img\">
  123. <img src=\"{$minfo->avatar()}\">
  124. </div>
  125. <div class=\"user_name text-overflow\">
  126. <p class=\"text-overflow\"> {$minfo->nickname()}</p>
  127. <p class=\"invite_msg\">已邀请{$minfo->invitees()}人,收益<span class=\"price\">{$minfo->reward_amount()}</span>元</p>
  128. </div>
  129. <div class=\"look_btn\">
  130. <span class=\"arrow\"></span>
  131. </div>
  132. </a>
  133. </div>";
  134. echo $str;
  135. }
  136. echo "</div>";
  137. }
  138. public function show_open()
  139. {
  140. if(!session_helper::isapp())
  141. {
  142. echo "<div class=\"fixed_bottom\">
  143. <span class=\"logo\"></span>
  144. <a href=\"#\" class=\"download_app_btn\" id=\"download_app\">打开APP</a>
  145. <a href=\"#\" class=\"h5_shop_btn\" id=\"h5_mshop\">进入商城</a>
  146. </div>";
  147. }
  148. }
  149. public function bonus_url() {
  150. $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=grab&client_type=wap&type_sn={$this->mTypesn}";
  151. return $url;
  152. }
  153. public function share_url()
  154. {
  155. return url_helper::inviter_url();
  156. }
  157. public function share_title()
  158. {
  159. return $this->mShareInfo['title'];
  160. }
  161. public function share_image()
  162. {
  163. return $this->mShareInfo['img'];;
  164. }
  165. public function share_subtitle()
  166. {
  167. return $this->mShareInfo['sub_title'];;
  168. }
  169. }