room_parts.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 2018/8/13
  6. * Time: 下午9:39
  7. */
  8. namespace room;
  9. class part_info
  10. {
  11. private $mParams;
  12. public function __construct($params)
  13. {
  14. $this->mParams = $params;
  15. }
  16. public function inviter() {
  17. return intval($this->mParams['inviter']);
  18. }
  19. public function member_id() {
  20. return intval($this->mParams['member_id']);
  21. }
  22. public function room_nick() {
  23. return intval($this->mParams['member_nick']);
  24. }
  25. public function room_id() {
  26. return intval($this->mParams['room_id']);
  27. }
  28. public function format()
  29. {
  30. $ret['inviter'] = $this->inviter();
  31. $ret['member_id'] = $this->member_id();
  32. $ret['room_nick'] = $this->room_nick();
  33. $ret['room_id'] = $this->room_id();
  34. return $ret;
  35. }
  36. }
  37. class room_parts
  38. {
  39. private $mRoomID;
  40. private $mModRoom;
  41. public function __construct($roomid)
  42. {
  43. $this->mRoomID = $roomid;
  44. $this->mModRoom = Model('room');
  45. }
  46. public function top_users($count)
  47. {
  48. $result = [];
  49. $items = $this->mModRoom->getRoomParts(['room_id' => $this->mRoomID,'state' => 0],'*',$count);
  50. foreach ($items as $part) {
  51. $result[] = new part_info($part);
  52. }
  53. return $result;
  54. }
  55. public function users()
  56. {
  57. $count = $this->mModRoom->countParts(['room_id' => $this->mRoomID]);
  58. return intval($count);
  59. }
  60. public function allparts($filter=[])
  61. {
  62. $uids = [];
  63. $items = $this->mModRoom->getRoomParts(["room_id" => $this->mRoomID, 'state' => 0], 'member_id', false);
  64. if(empty($filter))
  65. {
  66. foreach ($items as $item) {
  67. $uids[] = intval($item['member_id']);
  68. }
  69. }
  70. else
  71. {
  72. foreach ($items as $item) {
  73. if(in_array($item['member_id'],$filter)) continue;
  74. $uids[] = intval($item['member_id']);
  75. }
  76. }
  77. return $uids;
  78. }
  79. }