Manage.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  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. if ($avatar) {
  41. $table['头像'] = '<img src="'.$avatar['avatar'].'" width="150" />';
  42. }
  43. }
  44. if ($user['area']) {
  45. $table['地区'] = $user['area'];
  46. }
  47. if (isset($user['address']) && $user['address']) {
  48. $table['详细地址'] = $user['address'];
  49. }
  50. if ($user['system_source']) {
  51. $table['来源'] = $config['system_source'][$user['system_source']];
  52. } elseif ($user['source_type']) {
  53. $table['来源'] = $config['source_type'][$user['source_type']];
  54. }
  55. if ($user['profession']) {
  56. $profession = Dever::db('passport/profession')->one($user['profession']);
  57. if ($profession) {
  58. $table['职业'] = $profession['name'];
  59. }
  60. }
  61. if ($user['sex']) {
  62. $table['性别'] = $config['sex'][$user['sex']];
  63. }
  64. if ($user['wechat']) {
  65. $table['微信号'] = $user['wechat'];
  66. }
  67. if ($user['email']) {
  68. $table['邮箱'] = $user['email'];
  69. }
  70. if (Dever::project('invite')) {
  71. $invite = Dever::db('invite/code')->one(array('uid' => $user['id']));
  72. if ($invite) {
  73. $table['邀请码'] = $invite['value'];
  74. }
  75. }
  76. return Dever::table($table);
  77. }
  78. public function showAvatar($id)
  79. {
  80. $db = Dever::db('passport/avatar');
  81. $user = $db->one($id);
  82. if ($user['avatar']) {
  83. $table['头像'] = '<img src="'.$user['avatar'].'" width="150" />';
  84. }
  85. return Dever::table($table);
  86. }
  87. public function search_api()
  88. {
  89. $table = 'passport/user';
  90. $keyword = Dever::input('keyword');
  91. $yes = Dever::input('yes');
  92. $where = array();
  93. $cate = Dever::input('cate');
  94. if ($cate) {
  95. $where['cate_id'] = $cate;
  96. }
  97. if ($yes) {
  98. $yes = Dever::db($table)->search(array('ids' => $yes));
  99. }
  100. if (!$keyword) {
  101. $where['limit'] = '0,10';
  102. $data = Dever::db($table)->search($where);
  103. } else {
  104. $where['username'] = $keyword;
  105. $data = Dever::db($table)->search($where);
  106. }
  107. $result = array();
  108. if ($yes) {
  109. foreach ($yes as $k => $v) {
  110. if (isset($data[$k])) {
  111. unset($data[$k]);
  112. }
  113. $yes[$k]['selected'] = 'selected';
  114. }
  115. $data = $yes + $data;
  116. $data = array_merge($data, array());
  117. } else {
  118. $data = array_merge($data, array());
  119. }
  120. if (!$data) {
  121. Dever::alert('暂无数据');
  122. }
  123. return $data;
  124. }
  125. # 获取环比增长
  126. public function getHb($user, $day)
  127. {
  128. $where = array('day' => Dever::maketime($day));
  129. $search = Dever::search_button();
  130. if ($search) {
  131. $where['config']['group'] = $search[0];
  132. $where['config']['col'] = str_replace('|id', '', $search[1]);
  133. }
  134. $prev = Dever::db('passport/stat')->prev($where);
  135. if ($prev) {
  136. $hb = round(($user-$prev['user'])/$prev['user'], 2)*100;
  137. } else {
  138. $hb = 0;
  139. }
  140. return $hb . '%';
  141. }
  142. }