invite_friend.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  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['relay_id']);
  25. if(session_helper::need_wechat_author())
  26. {
  27. $author = new thrid_author\wxauthor();
  28. $url = "/mobile/index.php?act=invite_friend&op=index&relay_id={$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=\"total\"><span class=\"bag_icon\"></span><span class=\"price\">{$minfo->reward_amount()}</span>元</div>
  100. <div class=\"bonus_label\">累计获得100%红包</div>
  101. <div class=\"more_btn\">
  102. <a href=\"javascript:void(0)\">查看更多余额>></a>
  103. </div>
  104. <span class=\"rules\" id=\"rules\">查看规则>></span>
  105. </div>
  106. </div>";
  107. echo $str;
  108. }
  109. private function show_bonus()
  110. {
  111. $url = url_helper::bonus_grab_url($this->mTypesn);
  112. }
  113. private function show_invitees()
  114. {
  115. echo "<div class=\"bonus_list\">";
  116. foreach ($this->mInvitees as $minfo)
  117. {
  118. $str = "<div class=\"item\">
  119. <div class=\"user_img\">
  120. <img src=\"{$minfo->avatar()}\">
  121. </div>
  122. <div class=\"user_name text-overflow\">
  123. {$minfo->nickname()}
  124. </div>
  125. <div class=\"bonus_pro text-overflow\">
  126. </div>
  127. <div class=\"bonus_price text-overflow\">
  128. <span>{$minfo->reward_amount()}</span>元
  129. </div>
  130. </div>";
  131. echo $str;
  132. }
  133. echo "</div>";
  134. }
  135. public function share_url()
  136. {
  137. return url_helper::inviter_url();
  138. }
  139. public function share_title()
  140. {
  141. return $this->mShareInfo['title'];
  142. }
  143. public function share_image()
  144. {
  145. return $this->mShareInfo['img'];;
  146. }
  147. public function share_subtitle()
  148. {
  149. return $this->mShareInfo['sub_title'];;
  150. }
  151. }