Exemple #1
0
 /**
  * 试卷列表
  *
  * @return void
  **/
 public function index()
 {
     /* 搜索 */
     $param = array();
     $search = array();
     /* 搜索条件 */
     if (isset($_GET['begin_time']) && !empty($_GET['begin_time'])) {
         $param['addtime >='] = strtotime($_GET['begin_time'] . '00:00:59');
         $search['begin_time'] = $_GET['begin_time'];
     }
     if (isset($_GET['end_time']) && !empty($_GET['end_time'])) {
         $param['addtime <='] = strtotime($_GET['end_time'] . '23:59:59');
         $search['end_time'] = $_GET['end_time'];
     }
     if (isset($_GET['keyword']) && !empty($_GET['keyword'])) {
         $param['paper_name like'] = "%" . $_GET['keyword'] . "%";
         $search['keyword'] = $_GET['keyword'];
     }
     /* 如果存在试卷ID 清除其他条件 */
     if (isset($_GET['paper_id']) && !empty($_GET['paper_id'])) {
         $param = array();
         $param['paper_id'] = intval($_GET['paper_id']);
         $search['paper_id'] = $_GET['paper_id'];
     }
     /* 如果存在试卷ID 清除其他条件 */
     if (isset($_GET['subject_id']) && !empty($_GET['subject_id'])) {
         $param['subject_id'] = intval($_GET['subject_id']);
         $search['subject_id'] = $_GET['subject_id'];
     }
     /* 默认过滤条件 只能看到自己的试卷 */
     if (!$this->session->userdata('is_super')) {
         $admin_info = $this->session->all_userdata();
         if (empty($admin_info['admin_id'])) {
             message('获取管理员数据失败,请从新登陆后重试!');
         }
         $param['admin_id'] = $admin_info['admin_id'];
     } else {
         $param['admin_id >'] = '0';
     }
     /* 分页 */
     $number = 15;
     $total = PaperModel::count_papers($param);
     $page = isset($_GET['page']) && intval($_GET['page']) > 1 ? intval($_GET['page']) : 1;
     $start = ($page - 1) * $number;
     $purl = site_url('admin/paper_diy/index') . ($param ? '?' . implode('&', $param) : '');
     /* 试卷数据 */
     $papers = PaperModel::get_papers('paper_id,exam_id,paper_name,addtime,admin_id,ques_num,exam_id,subject_id', $param, $start, $number);
     foreach ($papers as $key => $paper) {
         if ($exam_pid = ExamModel::get_exam($paper['exam_id'], 'exam_pid')) {
             $papers[$key]['is_mini_test'] = ExamModel::is_mini_test($exam_pid);
         }
         $papers[$key]['has_tested'] = $this->is_super_user() ? false : ExamPlaceSubjectModel::exam_subject_has_test_action($paper['exam_id']);
         if ($paper['admin_id'] > 0) {
             $sql = "select admin_id,admin_user,realname from {pre}admin where admin_id={$paper['admin_id']}";
             $papers[$key]['admin_info'] = $this->db->query($sql)->row_array();
         } else {
             $papers[$key]['admin_info']['realname'] = '系统';
         }
     }
     $subject_type = CpUserModel::get_allowed_subjects();
     $data = array();
     $data['papers'] = $papers;
     $data['pagination'] = multipage($total, $number, $page, $purl);
     $data['search'] = $search;
     $data['subject_type'] = $subject_type;
     $this->load->view('paper_diy/list', $data);
 }