System.php 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php namespace Manage\Lib;
  2. use Dever;
  3. use Dever\Project;
  4. use Dever\Helper\Str;
  5. class System extends Auth
  6. {
  7. public function getTree()
  8. {
  9. $data = Dever::db('system', 'manage')->select([]);
  10. $result = array();
  11. $result[] = array
  12. (
  13. 'id' => 'root',
  14. 'name' => '全部系统',
  15. 'children' => $data,
  16. );
  17. return $result;
  18. }
  19. # 创建管理员
  20. public function update($system, $db, $data)
  21. {
  22. if (isset($data['mobile']) && $data['mobile']) {
  23. $system = Dever::db('system', 'manage')->find(array('key' => $system));
  24. $data['system_key'] = $system['key'];
  25. $data['system_id'] = $system['id'];
  26. $data['info_id'] = $data['id'];
  27. $data['partition'] = $system['partition'];
  28. $db = Dever::db($system['user_table'], '', true, 'default', Dever::load('common', 'manage')->system($data));
  29. $info = $db->find(array('mobile' => $data['mobile']));
  30. if (!$info) {
  31. $password = '123456';
  32. $insert['name'] = Str::hide($data['mobile']);
  33. $insert['mobile'] = $data['mobile'];
  34. $insert['role'] = 1;
  35. $insert += Dever::load('common', 'manage')->createPwd($password);
  36. $db->insert($insert);
  37. }
  38. $db = Dever::db($system['role_table'], '', true, 'default', Dever::load('common', 'manage')->system($data));
  39. $info = $db->find(array('id' => 1));
  40. if (!$info) {
  41. $insert = array();
  42. $insert['name'] = '超级管理员';
  43. $db->insert($insert);
  44. }
  45. }
  46. }
  47. # 创建账户
  48. public function createUser($data, $state = true)
  49. {
  50. if (isset($data['mobile']) && $data['mobile'] && isset($data['password']) && $data['password']) {
  51. $info = Dever::db($data['table'])->find($data['id']);
  52. if ($info) {
  53. $system = Dever::db('system', 'manage')->find(array('key' => $data['system']));
  54. $set['system_key'] = $system['key'];
  55. $set['system_id'] = $system['id'];
  56. $set['info_id'] = 1;
  57. $set['partition'] = $system['partition'];
  58. $db = Dever::db($system['user_table'], '', 'default', Dever::load('common', 'manage')->system($set));
  59. $user = $db->find(array('mobile' => $data['mobile']));
  60. if ($state && $user) {
  61. Dever::error('手机号' . $data['mobile'] . '已存在,请更换手机号');
  62. }
  63. $module = Dever::db('system_module', 'manage')->find(array('key' => $data['module'], 'system' => 'group'));
  64. $insert['name'] = $info['name'];
  65. $insert['mobile'] = $data['mobile'];
  66. $insert['role'] = 2;
  67. $insert['module_data'] = $module['id'] . '-' . $info['id'];
  68. $insert += Dever::load('common', 'manage')->createPwd($data['password']);
  69. if (!$user) {
  70. $db->insert($insert);
  71. } else {
  72. $module_data = $insert['module_data'];
  73. unset($insert['module_data']);
  74. if (!strstr($user['module_data'], $module_data)) {
  75. $insert['module_data'] = $module_data . ',' . $user['module_data'];
  76. }
  77. $db->update($user['id'], $insert);
  78. }
  79. }
  80. }
  81. return $data;
  82. }
  83. }