Index.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. namespace app\admin\controller;
  3. use think\facade\View;
  4. use think\facade\Lang;
  5. use think\facade\Cache;
  6. /**
  7. * ============================================================================
  8. *
  9. * ============================================================================
  10. * 版权所有 2014-2028 浙江惠利玛产业互联网有限公司,并保留所有权利。
  11. * 网站地址: https://www.valimart.net/
  12. * ----------------------------------------------------------------------------
  13. *
  14. * ============================================================================
  15. * 控制器
  16. */
  17. class Index extends AdminControl {
  18. public function initialize() {
  19. parent::initialize();
  20. Lang::load(base_path() . 'admin/lang/'.config('lang.default_lang').'/index.lang.php');
  21. }
  22. public function index() {
  23. View::assign('admin_info', $this->getAdminInfo());
  24. return View::fetch();
  25. }
  26. /**
  27. * 修改密码
  28. */
  29. public function modifypw() {
  30. if (request()->isPost()) {
  31. $new_pw = trim(input('post.new_pw'));
  32. $new_pw2 = trim(input('post.new_pw2'));
  33. $old_pw = trim(input('post.old_pw'));
  34. if ($new_pw !== $new_pw2) {
  35. $this->error(lang('index_modifypw_repeat_error'));
  36. }
  37. $admininfo = $this->getAdminInfo();
  38. //查询管理员信息
  39. $admin_model = model('admin');
  40. $admininfo = $admin_model->getOneAdmin(array('admin_id'=>$admininfo['admin_id']));
  41. if (!is_array($admininfo) || count($admininfo) <= 0) {
  42. $this->error(lang('index_modifypw_admin_error'));
  43. }
  44. //旧密码是否正确
  45. if ($admininfo['admin_password'] != md5($old_pw)) {
  46. $this->error(lang('index_modifypw_oldpw_error'));
  47. }
  48. $new_pw = md5($new_pw);
  49. $result = $admin_model->editAdmin(array('admin_password' => $new_pw),$admininfo['admin_id']);
  50. if ($result) {
  51. session(null);
  52. echo "<script>parent.location.href='".(string)url('Login/index')."'</script>";
  53. } else {
  54. $this->error(lang('index_modifypw_fail'));
  55. }
  56. } else {
  57. return View::fetch();
  58. }
  59. }
  60. /**
  61. * 删除缓存
  62. */
  63. function clear() {
  64. $this->delCacheFile('admin/temp');
  65. $this->delCacheFile('admin/cache');
  66. $this->delCacheFile('home/temp');
  67. $this->delCacheFile('home/cache');
  68. $this->delCacheFile('api/temp');
  69. $this->delCacheFile('api/cache');
  70. Cache::clear();
  71. ds_json_encode(10000, lang('ds_common_op_succ'));
  72. exit();
  73. }
  74. /**
  75. * 删除缓存目录下的文件或子目录文件
  76. *
  77. * @param string $dir 目录名或文件名
  78. * @return boolean
  79. */
  80. function delCacheFile($dir) {
  81. //防止删除cache以外的文件
  82. if (strpos($dir, '..') !== false)
  83. return false;
  84. $path = root_path() . 'runtime/' . $dir;
  85. if (is_dir($path)) {
  86. $file_list = array();
  87. read_file_list($path, $file_list);
  88. if (!empty($file_list)) {
  89. foreach ($file_list as $v) {
  90. if (basename($v) != 'index.html')
  91. @unlink($v);
  92. }
  93. }
  94. }
  95. else {
  96. if (basename($path) != 'index.html')
  97. @unlink($path);
  98. }
  99. return true;
  100. }
  101. }