rank_list.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 16/7/26
  6. * Time: 上午11:00
  7. */
  8. class rank_listControl extends mobileControl
  9. {
  10. public function __construct() {
  11. parent::__construct();
  12. }
  13. public function indexOp()
  14. {
  15. $list_sn = $_GET['list_sn'];
  16. if(!isset($list_sn) || empty($list_sn)) {
  17. return self::outerr(errcode::ErrParamter,'请输入排行榜序列号.');
  18. }
  19. $items = ranklist_helper::gen_ranklist($list_sn,$userid,$err);
  20. if($items == false) {
  21. return self::outerr($err['code'],$err['msg']);
  22. }
  23. $mids = array();
  24. $list_infos = array();
  25. $rank_num = 1;
  26. $mine = null;
  27. if(!empty($items)) {
  28. $list_date = $items[0]['list_date'];
  29. } else {
  30. $list_date = '';
  31. }
  32. foreach ($items as $item) {
  33. $rank = ranklist::create_by_store($item);
  34. $item = array();
  35. $item['supported'] = $this->supported($rank->list_sn());
  36. $item['list_sn'] = $rank->list_sn();
  37. $item['supports'] = $rank->supports();
  38. $item['list_value'] = $rank->money();
  39. $item['member_id'] = $rank->member_id();
  40. $item['rank'] = $rank_num;
  41. array_push($list_infos,$item);
  42. array_push($mids,$rank->member_id());
  43. if($userid == $rank->member_id()) {
  44. $mine = $item;
  45. }
  46. ++$rank_num;
  47. }
  48. $mine_desc = null;
  49. $mem_desc = array();
  50. $members = Model('member')->getMemberList(array('member_id' => array('in',$mids)));
  51. foreach ($members as $val)
  52. {
  53. $info = new member_info($val);
  54. array_push($mem_desc,$info->filter());
  55. if($val['member_id'] == $mine['member_id']) {
  56. $mine_desc = $info;
  57. }
  58. }
  59. $title = $mine_desc->nickname() . "的" . strftime("熊猫美妆%m月%d日红包风云榜",intval($list_date));
  60. return self::outsuccess(array('mine' => $mine,'list_infos' => $list_infos,'mem_desc' => $mem_desc,'rank_title' => $title),"bonus/ranklist");
  61. }
  62. public function supportOp()
  63. {
  64. $list_sn = $_GET['list_sn'];
  65. if(!isset($list_sn) || empty($list_sn)) {
  66. return self::outerr(errcode::ErrParamter,'请输入排行榜序列号.');
  67. }
  68. $rank = ranklist::create_by_sn($list_sn);
  69. if($rank == false) {
  70. return self::outerr(errcode::ErrParamter,'该排行榜不存在或者已经过期~');
  71. }
  72. if($this->supported($list_sn)) {
  73. $rank->unsupport();
  74. $_SESSION['rank_list'][$list_sn]['supported'] = false;
  75. } else {
  76. $rank->support();
  77. $_SESSION['rank_list'][$list_sn]['supported'] = true;
  78. }
  79. return self::outsuccess(array('supports' => $rank->supports(),'list_sn' => $rank->list_sn()));
  80. }
  81. private function supported($list_sn)
  82. {
  83. if(!isset($_SESSION['rank_list'])) {
  84. $_SESSION['rank_list'] = array();
  85. }
  86. if(array_key_exists($list_sn,$_SESSION['rank_list']) == false) {
  87. $_SESSION['rank_list'][$list_sn] = array();
  88. $_SESSION['rank_list'][$list_sn]['supported'] = false;
  89. }
  90. return boolval($_SESSION['rank_list'][$list_sn]['supported']);
  91. }
  92. }
  93. function bonus_output_meminfo($mid,$mdescs)
  94. {
  95. foreach ($mdescs as $info) {
  96. if($info['member_id'] == $mid) {
  97. return $info;
  98. }
  99. }
  100. return false;
  101. }
  102. function bonus_output_rankitem($item,$mdescs,$mine_id)
  103. {
  104. $mid = $item['member_id'];
  105. $minfo = bonus_output_meminfo($mid,$mdescs);
  106. echo '<div class="list_li overflow">';
  107. echo '<div class="index float_l w-8">' .$item['rank']. '</div>';
  108. echo '<div class="icon_header float_l w-12 margin-r-1">';
  109. echo '<img src="' . $minfo['avatar'] .'" alt=""/>';
  110. echo '</div>';
  111. echo '<div class="msg float_l w-80 relative_li">';
  112. echo '<div class="name text_l w-45 float_l overflow">' . $minfo['nickname'] . '</div>';
  113. echo '<div class="number text_r w-35 float_l">' . $item['list_value'] .'元</div>';
  114. if($item['supported'] == true)
  115. {
  116. if($mid == $mine_id) {
  117. echo '<div class="float_l w-20 concern_box concern_box_active mine">';
  118. } else {
  119. echo '<div class="float_l w-20 concern_box concern_box_active">';
  120. }
  121. }
  122. else
  123. {
  124. if($mid == $mine_id) {
  125. echo '<div class="float_l w-20 concern_box mine">';
  126. } else {
  127. echo '<div class="float_l w-20 concern_box">';
  128. }
  129. }
  130. echo '<div class="concern">' . $item['supports'] .'</div>';
  131. echo '</div>';
  132. echo '<input type="hidden" class="list_sn" value="' . $item['list_sn'] .'"/>';
  133. echo '</div>';
  134. echo '</div>';
  135. }