/** * 管理员操作日志 * * @param $f3 */ public function ListLog($f3) { // 权限检查 $this->requirePrivilege('manage_account_admin_listlog'); global $smarty; // 参数验证 $validator = new Validator($f3->get('GET')); $pageNo = $validator->digits()->min(0)->validate('pageNo'); $pageSize = $validator->digits()->min(0)->validate('pageSize'); //查询条件 $formQuery = array(); $formQuery['user_id'] = $validator->filter('ValidatorIntValue')->validate('user_id'); $formQuery['operate'] = $validator->validate('operate'); $formQuery['operate_desc'] = $validator->validate('operate_desc'); //操作时间 $operateTimeStartStr = $validator->validate('operate_time_start'); $operateTimeStart = Time::gmStrToTime($operateTimeStartStr) ?: null; $operateTimeEndStr = $validator->validate('operate_time_end'); $operateTimeEnd = Time::gmStrToTime($operateTimeEndStr) ?: null; $formQuery['operate_time'] = array($operateTimeStart, $operateTimeEnd); // 设置缺省值 $pageNo = isset($pageNo) && $pageNo > 0 ? $pageNo : 0; $pageSize = isset($pageSize) && $pageSize > 0 ? $pageSize : 20; if (!$this->validate($validator)) { goto out_display; } // 建立查询条件 $condArray = QueryBuilder::buildQueryCondArray($formQuery); // 查询管理员列表 $adminLogService = new AdminLogService(); $totalCount = $adminLogService->countAdminLogArray($condArray); if ($totalCount <= 0) { // 没数据,可以直接退出了 goto out_display; } // 页数超过最大值,返回第一页 if ($pageNo * $pageSize >= $totalCount) { RouteHelper::reRoute($this, '/Account/Admin/ListLog'); } // 管理员列表 $adminLogArray = $adminLogService->fetchAdminLogArray($condArray, $pageNo * $pageSize, $pageSize); // 给模板赋值 $smarty->assign('totalCount', $totalCount); $smarty->assign('pageNo', $pageNo); $smarty->assign('pageSize', $pageSize); $smarty->assign('adminLogArray', $adminLogArray); out_display: $smarty->display('account_admin_listlog.tpl'); }