Manage.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <?php
  2. namespace Passport\Lib;
  3. use Dever;
  4. class Manage
  5. {
  6. # 更新地区
  7. # 同步将其他地方的分类更新为system
  8. public function updateSystem($id, $name, $param)
  9. {
  10. $name = Dever::param('name', $param);
  11. $appid = Dever::param('appid', $param);
  12. $appsecret = Dever::param('appsecret', $param);
  13. $data['name'] = $name;
  14. if ($appid && $appsecret) {
  15. $data['appid'] = $appid;
  16. $data['secret'] = $appsecret;
  17. }
  18. $info = Dever::db('passport/system')->one($id);
  19. if (!$info) {
  20. Dever::db('passport/system')->insert($data);
  21. } else {
  22. $data['where_id'] = $info['id'];
  23. $data['state'] = Dever::param('state', $param);
  24. if (!$name) {
  25. unset($data['name']);
  26. };
  27. Dever::db('passport/system')->update($data);
  28. }
  29. return $info;
  30. }
  31. public function show($id)
  32. {
  33. $db = Dever::db('passport/user');
  34. $user = $db->one($id);
  35. $config = $db->config;
  36. if ($user['avatar']) {
  37. $table['头像'] = '<img src="'.$user['avatar'].'" width="150" />';
  38. } elseif ($user['avatar_id'] > 0) {
  39. $avatar = Dever::db('passport/avatar')->one($user['avatar_id']);
  40. $table['头像'] = '<img src="'.$avatar['avatar'].'" width="150" />';
  41. }
  42. if ($user['area']) {
  43. $table['地区'] = $user['area'];
  44. }
  45. if (isset($user['address']) && $user['address']) {
  46. $table['详细地址'] = $user['address'];
  47. }
  48. if ($user['system_source']) {
  49. $table['来源'] = $config['system_source'][$user['system_source']];
  50. } elseif ($user['source_type']) {
  51. $table['来源'] = $config['source_type'][$user['source_type']];
  52. }
  53. if ($user['profession']) {
  54. $profession = Dever::db('passport/profession')->one($user['profession']);
  55. if ($profession) {
  56. $table['职业'] = $profession['name'];
  57. }
  58. }
  59. if ($user['sex']) {
  60. $table['性别'] = $config['sex'][$user['sex']];
  61. }
  62. if ($user['wechat']) {
  63. $table['微信号'] = $user['wechat'];
  64. }
  65. if ($user['email']) {
  66. $table['邮箱'] = $user['email'];
  67. }
  68. if (Dever::project('invite')) {
  69. $invite = Dever::db('invite/code')->one(array('uid' => $user['id']));
  70. if ($invite) {
  71. $table['邀请码'] = $invite['value'];
  72. }
  73. }
  74. return Dever::table($table);
  75. }
  76. public function showAvatar($id)
  77. {
  78. $db = Dever::db('passport/avatar');
  79. $user = $db->one($id);
  80. if ($user['avatar']) {
  81. $table['头像'] = '<img src="'.$user['avatar'].'" width="150" />';
  82. }
  83. return Dever::table($table);
  84. }
  85. public function search_api()
  86. {
  87. $table = 'passport/user';
  88. $keyword = Dever::input('keyword');
  89. $yes = Dever::input('yes');
  90. $where = array();
  91. $cate = Dever::input('cate');
  92. if ($cate) {
  93. $where['cate_id'] = $cate;
  94. }
  95. if ($yes) {
  96. $yes = Dever::db($table)->search(array('ids' => $yes));
  97. }
  98. if (!$keyword) {
  99. $where['limit'] = '0,10';
  100. $data = Dever::db($table)->search($where);
  101. } else {
  102. $where['username'] = $keyword;
  103. $data = Dever::db($table)->search($where);
  104. }
  105. $result = array();
  106. if ($yes) {
  107. foreach ($yes as $k => $v) {
  108. if (isset($data[$k])) {
  109. unset($data[$k]);
  110. }
  111. $yes[$k]['selected'] = 'selected';
  112. }
  113. $data = $yes + $data;
  114. $data = array_merge($data, array());
  115. } else {
  116. $data = array_merge($data, array());
  117. }
  118. if (!$data) {
  119. Dever::alert('暂无数据');
  120. }
  121. return $data;
  122. }
  123. # 获取环比增长
  124. public function getHb($user, $day)
  125. {
  126. $where = array('day' => Dever::maketime($day));
  127. $search = Dever::search_button();
  128. if ($search) {
  129. $where['config']['group'] = $search[0];
  130. $where['config']['col'] = str_replace('|id', '', $search[1]);
  131. }
  132. $prev = Dever::db('passport/stat')->prev($where);
  133. if ($prev) {
  134. $hb = round(($user-$prev['user'])/$prev['user'], 2)*100;
  135. } else {
  136. $hb = 0;
  137. }
  138. return $hb . '%';
  139. }
  140. }