Index.php 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. <?php
  2. namespace app\admin\controller;
  3. use think\Hook;
  4. class Index extends Base
  5. {
  6. public function __construct()
  7. {
  8. parent::__construct();
  9. }
  10. public function login()
  11. {
  12. if(Request()->isPost()) {
  13. $data = input('post.');
  14. $res = model('Admin')->login($data);
  15. if ($res['code'] > 1) {
  16. return $this->error($res['msg']);
  17. }
  18. return $this->success($res['msg']);
  19. }
  20. Hook::listen("admin_login_init", $this->request);
  21. return $this->fetch('admin@index/login');
  22. }
  23. public function logout()
  24. {
  25. $res = model('Admin')->logout();
  26. $this->redirect('index/login');
  27. }
  28. public function index()
  29. {
  30. $menus = @include MAC_ADMIN_COMM . 'auth.php';
  31. foreach($menus as $k1=>$v1){
  32. foreach($v1['sub'] as $k2=>$v2){
  33. if($v2['show'] == 1) {
  34. if(strpos($v2['action'],'javascript')!==false){
  35. $url = $v2['action'];
  36. }
  37. else {
  38. $url = url('admin/' . $v2['controller'] . '/' . $v2['action']);
  39. }
  40. if (!empty($v2['param'])) {
  41. $url .= '?' . $v2['param'];
  42. }
  43. if ($this->check_auth($v2['controller'], $v2['action'])) {
  44. $menus[$k1]['sub'][$k2]['url'] = $url;
  45. } else {
  46. unset($menus[$k1]['sub'][$k2]);
  47. }
  48. }
  49. else{
  50. unset($menus[$k1]['sub'][$k2]);
  51. }
  52. }
  53. if(empty($menus[$k1]['sub'])){
  54. unset($menus[$k1]);
  55. }
  56. }
  57. $quickmenu = config('quickmenu');
  58. if(empty($quickmenu)){
  59. $quickmenu = mac_read_file( APP_PATH.'data/config/quickmenu.txt');
  60. $quickmenu = explode(chr(13),$quickmenu);
  61. }
  62. if(!empty($quickmenu)){
  63. $menus[1]['sub'][13] = ['name'=>lang('admin/index/quick_tit'), 'url'=>'javascript:void(0);return false;','controller'=>'', 'action'=>'' ];
  64. foreach($quickmenu as $k=>$v){
  65. if(empty($v)){
  66. continue;
  67. }
  68. $one = explode(',',trim($v));
  69. if(substr($one[1],0,4)=='http' || substr($one[1],0,2)=='//'){
  70. }
  71. elseif(substr($one[1],0,1) =='/'){
  72. }
  73. elseif(strpos($one[1],'###')!==false || strpos($one[1],'javascript:')!==false){
  74. }
  75. else{
  76. $one[1] = url($one[1]);
  77. }
  78. $menus[1]['sub'][14 + $k] = ['name'=>$one[0], 'url'=>$one[1],'controller'=>'', 'action'=>'' ];
  79. }
  80. }
  81. $this->assign('menus',$menus);
  82. $this->assign('title',lang('admin/index/title'));
  83. return $this->fetch('admin@index/index');
  84. }
  85. public function welcome()
  86. {
  87. $version = config('version');
  88. $update_sql = file_exists('./application/data/update/database.php');
  89. $this->assign('version',$version);
  90. $this->assign('update_sql',$update_sql);
  91. $this->assign('mac_lang',config('default_lang'));
  92. $this->assign('info',$this->_admin);
  93. $this->assign('title',lang('admin/index/welcome/title'));
  94. return $this->fetch('admin@index/welcome');
  95. }
  96. public function quickmenu()
  97. {
  98. if(Request()->isPost()){
  99. $param = input();
  100. $validate = \think\Loader::validate('Token');
  101. if(!$validate->check($param)){
  102. return $this->error($validate->getError());
  103. }
  104. $quickmenu = input('post.quickmenu');
  105. $quickmenu = str_replace(chr(10),'',$quickmenu);
  106. $menu_arr = explode(chr(13),$quickmenu);
  107. $res = mac_arr2file(APP_PATH . 'extra/quickmenu.php', $menu_arr);
  108. if ($res === false) {
  109. return $this->error(lang('save_err'));
  110. }
  111. return $this->success(lang('save_ok'));
  112. }
  113. else{
  114. $config_menu = config('quickmenu');
  115. if(empty($config_menu)){
  116. $quickmenu = mac_read_file(APP_PATH.'data/config/quickmenu.txt');
  117. }
  118. else{
  119. $quickmenu = array_values($config_menu);
  120. $quickmenu = join(chr(13),$quickmenu);
  121. }
  122. $this->assign('quickmenu',$quickmenu);
  123. $this->assign('title',lang('admin/index/quickmenu/title'));
  124. return $this->fetch('admin@index/quickmenu');
  125. }
  126. }
  127. public function clear()
  128. {
  129. $res = $this->_cache_clear();
  130. //运行缓存
  131. if(!$res) {
  132. $this->error(lang('admin/index/clear_err'));
  133. }
  134. return $this->success(lang('admin/index/clear_ok'));
  135. }
  136. public function iframe()
  137. {
  138. $val = input('post.val', 0);
  139. if ($val != 0 && $val != 1) {
  140. return $this->error(lang('admin/index/clear_ok'));
  141. }
  142. if ($val == 1) {
  143. cookie('hisi_iframe', 'yes');
  144. } else {
  145. cookie('hisi_iframe', null);
  146. }
  147. return $this->success(lang('admin/index/iframe'));
  148. }
  149. public function unlocked()
  150. {
  151. $param = input();
  152. $password = $param['password'];
  153. if($this->_admin['admin_pwd'] != md5($password)){
  154. return $this->error(lang('admin/index/pass_err'));
  155. }
  156. return $this->success(lang('admin/index/unlock_ok'));
  157. }
  158. public function check_back_link()
  159. {
  160. $param = input();
  161. $res = mac_check_back_link($param['url']);
  162. return json($res);
  163. }
  164. public function select()
  165. {
  166. $param = input();
  167. $tpl = $param['tpl'];
  168. $tab = $param['tab'];
  169. $col = $param['col'];
  170. $ids = $param['ids'];
  171. $url = $param['url'];
  172. $val = $param['val'];
  173. $refresh = $param['refresh'];
  174. if(empty($tpl) || empty($tab) || empty($col) || empty($ids) || empty($url)){
  175. return $this->error(lang('param_err'));
  176. }
  177. if(is_array($ids)){
  178. $ids = join(',',$ids);
  179. }
  180. if(empty($refresh)){
  181. $refresh = 'yes';
  182. }
  183. $url = url($url);
  184. $mid = 1;
  185. if($tab=='art'){
  186. $mid = 2;
  187. }
  188. elseif($tab=='actor'){
  189. $mid=8;
  190. }
  191. elseif($tab=='website'){
  192. $mid=11;
  193. }
  194. $this->assign('mid',$mid);
  195. if($tpl=='select_type'){
  196. $type_tree = model('Type')->getCache('type_tree');
  197. $this->assign('type_tree',$type_tree);
  198. }
  199. elseif($tpl =='select_level'){
  200. $level_list = [1,2,3,4,5,6,7,8,9];
  201. $this->assign('level_list',$level_list);
  202. }
  203. $this->assign('refresh',$refresh);
  204. $this->assign('url',$url);
  205. $this->assign('tab',$tab);
  206. $this->assign('col',$col);
  207. $this->assign('ids',$ids);
  208. $this->assign('val',$val);
  209. return $this->fetch( 'admin@public/'.$tpl);
  210. }
  211. }