Manage.php 5.2 KB

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