User.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. namespace Passport\Src;
  3. use Dever;
  4. use Passport\Src\Lib\Base;
  5. class User extends Base
  6. {
  7. private $user;
  8. public function __construct()
  9. {
  10. parent::__construct();
  11. $this->init();
  12. }
  13. public function init()
  14. {
  15. if (!$this->user) {
  16. $this->user = $this->info();
  17. }
  18. return $this->user;
  19. }
  20. public function data()
  21. {
  22. if ($this->user) {
  23. $this->user['link'] = Dever::url('user/info', 'main');
  24. $this->user['link'] = Dever::url('forum/list?uid=' . $this->user['id'], 'main');
  25. }
  26. return $this->user;
  27. }
  28. public function checkLogin()
  29. {
  30. if (!$this->user) {
  31. Dever::alert('请先登录', true);
  32. }
  33. }
  34. public function updateInfo()
  35. {
  36. $this->checkLogin();
  37. //$update['set_mobile'] = Dever::input('mobile');
  38. $update['set_username'] = Dever::input('username');
  39. $update['set_avatar'] = Dever::input('avatar') ? Dever::input('avatar') . '?v=' . time() : false;
  40. $update['where_id'] = $this->user['id'];
  41. $sex = Dever::input('sex', 0);
  42. $update['set_sex'] = $this->saveSex($sex);
  43. $update['set_avatar'] = $this->saveAvatar($update['set_avatar']);
  44. Dever::load('passport/user-update', $update);
  45. $this->user = $this->save($this->user['id']);
  46. return true;
  47. }
  48. public function updateAvatar()
  49. {
  50. $this->checkLogin();
  51. $update['set_avatar'] = Dever::input('avatar') ? Dever::input('avatar') . '?v=' . time() : false;
  52. $update['where_id'] = $this->user['id'];
  53. if ($update['set_avatar']) {
  54. $update['set_avatar'] = $this->saveAvatar($update['set_avatar']);
  55. Dever::load('passport/user-update', $update);
  56. $this->user = $this->save($this->user['id']);
  57. }
  58. return true;
  59. }
  60. public function updateWeixin()
  61. {
  62. $this->checkLogin();
  63. Dever::load('passport/user-update', array('where_id' => $this->user['id'], 'set_weixin' => 1));
  64. return true;
  65. }
  66. }