Info.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?php
  2. namespace User\Lib;
  3. use Dever;
  4. class Info
  5. {
  6. private $user = array();
  7. # 保存用户信息
  8. public function up($uid, $info_id, $username, $title, $info)
  9. {
  10. $update['username'] = $username;
  11. if (!$update['username']) {
  12. Dever::alert('昵称不能为空');
  13. }
  14. $update['title'] = $title;
  15. $update['info'] = $info;
  16. $update['info_id'] = $info_id;
  17. $user = Dever::db('user/info')->one(array('uid' => $uid));
  18. if (!$user) {
  19. $update['uid'] = $uid;
  20. Dever::db('user/info')->insert($update);
  21. } else {
  22. $update['where_id'] = $user['id'];
  23. Dever::db('user/info')->update($update);
  24. }
  25. return true;
  26. }
  27. # 保存头像
  28. public function upAvatar($uid, $info_id, $avatar)
  29. {
  30. $update['avatar'] = $avatar;
  31. if (!$update['avatar']) {
  32. Dever::alert('头像不能为空');
  33. }
  34. $update['info_id'] = $info_id;
  35. $user = Dever::db('user/info')->one(array('uid' => $this->uid));
  36. if (!$user) {
  37. $update['uid'] = $uid;
  38. Dever::db('user/info')->insert($update);
  39. } else {
  40. $update['where_id'] = $user['id'];
  41. Dever::db('user/info')->update($update);
  42. }
  43. return 'ok';
  44. }
  45. # 获取用户信息
  46. public function get($user, $id, $author = false)
  47. {
  48. if (is_array($user)) {
  49. $uid = $user['id'];
  50. } else {
  51. $uid = $user;
  52. }
  53. $key = 'user_' . $uid . '_' . $id . '_' . $author;
  54. if (isset($this->user[$key])) {
  55. return $this->user[$key];
  56. }
  57. if (is_numeric($user)) {
  58. $user = Dever::load('passport/api')->info($user);
  59. }
  60. $result = array();
  61. if ($user) {
  62. if ($id) {
  63. # 获取合集扩展信息
  64. $result = Dever::db('user/info')->one(array('uid' => $user['id'], 'info_id' => $id));
  65. if (!$result) {
  66. $result['uid'] = $user['id'];
  67. $result['username'] = $user['username'];
  68. $result['avatar'] = $user['avatar'];
  69. $result['info'] = $user['info'];
  70. $result['sex'] = $user['sex'];
  71. $result['title'] = '';
  72. } else {
  73. !$result['username'] && $result['username'] = $user['username'];
  74. !$result['avatar'] && $result['avatar'] = $user['avatar'];
  75. !$result['info'] && $result['info'] = $user['info'];
  76. !$result['sex'] && $result['sex'] = $user['sex'];
  77. }
  78. } else {
  79. $result = $user;
  80. }
  81. }
  82. $result['mobile'] = $user['mobile'];
  83. $result['area_id'] = $user['area_id'];
  84. $result['address'] = $user['address'];
  85. $result['address_contact'] = $user['address_contact'] ? $user['address_contact'] : $user['username'];
  86. $result['address_mobile'] = $user['address_mobile'] ? $user['address_mobile'] : $user['mobile'];
  87. $result['author'] = '';
  88. $result['username_text'] = $result['username'];
  89. if ($author) {
  90. $collection = Dever::load('collection/lib/info')->get($id);
  91. if ($collection && $collection['uid'] > 0 && $collection['uid'] == $user['id']) {
  92. $result['author'] = $collection['author_name'];
  93. }
  94. }
  95. if ($result['author']) {
  96. $result['username_text'] = '<span style="padding-right:4px;color: #00B3FF;">[' . $result['author'] . ']</span>' . $result['username'];
  97. }
  98. $this->user[$key] = $result;
  99. return $result;
  100. }
  101. }