IndexAction.class.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. <?php
  2. /**
  3. *
  4. * IndexAction.class.php(后台首页)
  5. *
  6. */
  7. if(!defined("Ainaphp")) exit("Access Denied");
  8. class IndexAction extends AdminbaseAction
  9. {
  10. protected $cache_model;
  11. function _initialize()
  12. {
  13. parent::_initialize();
  14. unset($_POST['status']);
  15. unset($_POST['groupid']);
  16. unset($_POST['amount']);
  17. unset($_POST['point']);
  18. }
  19. public function index()
  20. {
  21. $role = F("Role");
  22. $this->assign('usergroup',$role[$_SESSION['groupid']]['name']);
  23. foreach((array)$_SESSION['_ACCESS_LIST']['ADMIN'] as $key=>$r){$modules[]=ucwords(strtolower($key));}
  24. $modules=implode("','",$modules);
  25. $alltopnode= M('Node')->field('groupid')->where("name in('$modules') and level=2")->group('groupid')->select();
  26. foreach((array)$alltopnode as $key=>$r){$GroupAccessids[]=$r['groupid'];}
  27. foreach($this->menudata as $key=>$module) {
  28. if($module['parentid'] != 0 || $module['status']==0) continue;
  29. if(in_array($key,$GroupAccessids) || $_SESSION[C('ADMIN_AUTH_KEY')]) {
  30. if(empty($module['action'])) $module['action']='index';
  31. $nav[$key] = $module;
  32. if($isnav){
  33. $array=array('menuid'=> $nav[$key]['parentid']);
  34. cookie('menuid',$nav[$key]['parentid']);
  35. //$_SESSION['menuid'] = $nav[$key]['parentid'];
  36. }else{
  37. $array=array('menuid'=> $nav[$key]['id']);
  38. }
  39. if(empty($menuid) && empty($isnav)) $array=array();
  40. $c=array();
  41. parse_str($nav[$key]['data'],$c);
  42. $nav[$key]['data'] = $c + $array;
  43. }
  44. }
  45. $this->assign('menuGroupList',$nav);
  46. $this->assign($this->Config);
  47. foreach($nav as $key=>$r){
  48. $menu[$r['id']] = $this->getnav($r['id']);
  49. }
  50. $this->assign('menu',$menu);
  51. $this->display();
  52. }
  53. public function cache() {
  54. dir_delete(RUNTIME_PATH.'Html/');
  55. dir_delete(RUNTIME_PATH.'Cache/');
  56. if(is_file(RUNTIME_PATH.'~runtime.php'))@unlink(RUNTIME_PATH.'~runtime.php');
  57. if(is_file(RUNTIME_PATH.'~allinone.php'))@unlink(RUNTIME_PATH.'~allinone.php');
  58. R('Admin/Category/repair');
  59. R('Admin/Category/repair');
  60. foreach($this->cache_model as $r){
  61. savecache($r);
  62. }
  63. $forward = $_GET['forward'] ? $_GET['forward'] : U('Index/main');
  64. $this->assign ( 'jumpUrl', $forward );
  65. $this->success(L('do_success'));
  66. }
  67. public function main() {
  68. $db=D('');
  69. $db = DB::getInstance();
  70. $tables = $db->getTables();
  71. $info = array(
  72. 'SERVER_SOFTWARE'=>PHP_OS.' '.$_SERVER["SERVER_SOFTWARE"],
  73. 'mysql_get_server_info'=>php_sapi_name(),
  74. 'MYSQL_VERSION' => mysql_get_server_info(),
  75. 'upload_max_filesize'=> ini_get('upload_max_filesize'),
  76. 'max_execution_time'=>ini_get('max_execution_time').L('miao'),
  77. 'disk_free_space'=>round((@disk_free_space(".")/(1024*1024)),2).'M',
  78. );
  79. $yourphp_info=array(
  80. 'ainaphp_VERSION'=> VERSION.' '.UPDATETIME.'',
  81. 'license'=> '<b></b>',
  82. 'SN'=> '<b></b>',
  83. 'update'=> ' <b></b>',
  84. );
  85. $this->assign('ainaphp_info',$ainaphp_info);
  86. $this->assign('server_info',$info);
  87. foreach ((array)$this->module as $rw){
  88. if($rw['type']==1){
  89. $molule= M($rw['name']);
  90. $rw['counts'] = $molule->count();;
  91. $mdata['moduledata'][] = $rw;
  92. }
  93. }
  94. $molule= M('User');
  95. $counts = $molule->count();
  96. $userinfos = $molule->find($_SESSION['adminid']);
  97. $mdata['moduledata'][]=array('title'=>L('user_counts'),'counts'=>$counts);
  98. $molule= M('Category');$counts = $molule->count();
  99. $mdata['moduledata'][]=array('title'=>L('Category_counts'),'counts'=>$counts);
  100. $this->assign($mdata);
  101. $role =F('Role');
  102. $userinfo=array(
  103. 'username'=>$userinfos['username'],
  104. 'groupname'=>$role[$userinfos['groupid']]['name'],
  105. 'logintime'=>toDate($userinfos['last_logintime']),
  106. 'last_ip'=>$userinfos['last_ip'],
  107. 'login_count'=>$userinfos['login_count'].L('ci'),
  108. );
  109. $this->assign('userinfo',$userinfo);
  110. $this->display();
  111. }
  112. // 更换密码
  113. public function password(){
  114. if($_POST['dosubmit']){
  115. if(md5($_POST['verify']) != $_SESSION['verify']) {
  116. $this->error(L('error_verify'));
  117. }
  118. if($_POST['password'] != $_POST['repassword']){
  119. $this->error(L('password_repassword'));
  120. }
  121. $map = array();
  122. $map['password']= sysmd5($_POST['oldpassword']);
  123. if(isset($_POST['username'])) {
  124. $map['username'] = $_POST['username'];
  125. }elseif(isset($_SESSION['adminid'])) {
  126. $map['id'] = $_SESSION['adminid'];
  127. }
  128. //检查用户
  129. $User = M("user");
  130. if(!$User->where($map)->field('id')->find()) {
  131. $this->error(L('error_oldpassword'));
  132. }else {
  133. $User->updatetime = time();
  134. $User->password = sysmd5($_POST['password']);
  135. $User->save();
  136. $this->success(L('do_success'));
  137. }
  138. }else{
  139. $this->display();
  140. }
  141. }
  142. // 修改资料
  143. public function profile() {
  144. if($_REQUEST['dosubmit']){
  145. $User = M("User");
  146. if(!$User->create()) {
  147. $this->error($User->getError());
  148. }
  149. $User->update_time = time();
  150. $User->last_ip = get_client_ip();
  151. $result = $User->save();
  152. if(false !== $result) {
  153. $this->success(L('do_success'));
  154. }else{
  155. $this->error(L('do_error'));
  156. }
  157. }else{
  158. $User = M("user");
  159. $vo = $User->getById($_SESSION['adminid']);
  160. $this->assign('vo',$vo);
  161. $this->display();
  162. }
  163. }
  164. }
  165. ?>