index.class.php的记录存档,为了后续优化内容,该文件也适时更新优化。
<?php
defined('IN_LYSPHP') or exit();
lys_base::load_controller('common', ROUTE_M, 0);
class index extends common
{
// 初始化后台首页
public function init()
{
$total = D('guestbook')->field('id')->where(['replyid'=>'0','siteid'=>self::$siteid,'isread'=>'0'])->total();
include $this->admin_tpl('index');
}
// 登录处理
public function login()
{
if(is_post())
{
// 验证码校验
if(empty($_SESSION['code']) || strtolower($_POST['code'])!=$_SESSION['code'])
return_json(['status'=>0,'message'=>L('code_error')]);
// 用户名格式校验
$_POST['username'] = trim($_POST['username']);
if(!is_username($_POST['username'])) return_json(['status'=>0,'message'=>L('user_name_format_error')]);
// 管理员身份验证
$res = M('admin')->check_admin($_POST['username'], password($_POST['password']));
return_json($res['status'] ?
['status'=>1,'message'=>L('login_success'),'url'=>U('init')] : $res);
}
$this->_login(); // 显示登录页面
}
// 退出登录
public function public_logout()
{
unset($_SESSION['adminid'], $_SESSION['adminname'], $_SESSION['roleid'], $_SESSION['admininfo']);
showmsg(L('you_have_safe_exit'), U('login'), 1);
}
// 后台首页统计信息
public function public_home()
{
$tpl = APP_PATH.LYS_ADMIN.'/view/public_home.html';
if(!is_file($tpl)) $this->_force_logout();
// 获取各类统计数量
$count = [
D('all_content')->where(['siteid'=>self::$siteid])->total(), // 内容总数
D('module')->total(), // 模块总数
D('member')->total(), // 会员总数
D('admin')->total() // 管理员总数
];
ob_start();
include $this->admin_tpl('public_home');
echo ob_get_clean();
}
// 清除错误日志(仅限超级管理员)
public function public_clear_log()
{
if($_SESSION['roleid'] != 1) return_json(['status'=>0,'message'=>'此操作仅限于超级管理员!']);
if(is_file(LYSPHP_PATH.'cache/error_log.php') && !@unlink(LYSPHP_PATH.'cache/error_log.php'))
return_json(['status'=>0,'message'=>L('operation_failure')]);
return_json(['status'=>1,'message'=>L('operation_success')]);
}
// 锁屏功能
public function public_lock_screen()
{
$_SESSION['lys_lock_screen'] = 1;
return_json(['status'=>1,'message'=>L('operation_success')]);
}
// 解锁屏幕
public function public_unlock_screen()
{
$res = M('admin')->check_admin($_SESSION['adminname'], password($_POST['password']));
if(!$res['status']) return_json($res);
$_SESSION['lys_lock_screen'] = 0;
return_json(['status'=>1,'message'=>L('login_success')]);
}
// 强制退出(私有方法)
private function _force_logout()
{
session_destroy();
echo '<script>window.top.location="'.U('login').'"</script>';
exit;
}
// 显示登录页面(私有方法)
private function _login()
{
ob_start();
include $this->admin_tpl('login');
echo ob_get_clean();
}
}