Esempio n. 1
0
 public function actionIndex()
 {
     $session = Yii::$app->session;
     $user = $session->get('user');
     $examTemplates = ExamTemplate::findByMajorJobAndProvince($user['majorJobId'], $user['provinceId']);
     $totalNumber = count($examTemplates);
     if ($totalNumber == 0) {
         $url = Url::to(['site/test-library-not-found']);
         header("Location:{$url}");
         exit;
     }
     $rand = rand(1, $totalNumber);
     $examTemplate = $examTemplates[$rand - 1];
     $session->set('examTemplate', $examTemplate);
     //存入session,在考试结束后计算分数要用到
     $examTemplateDetails = ExamTemplateDetail::findByExamTemplate($examTemplate['examTemplateId']);
     $examTemplateDetails = ExamTemplateDetail::remakeArray($examTemplateDetails);
     $testLibraries = TestLibrary::findByTemplateDetails($examTemplateDetails, $user);
     $majorJob = MajorJob::findNameByMajorJobId($user['majorJobId']);
     //将一些必要参数存入session,方便后续页面调用
     $session->set('testLibraries', $testLibraries);
     //所有同类型题目
     $session->set('totalNumber', count($testLibraries));
     //总题数
     $session->set('testTitle', "模拟考试");
     //测试标题
     $session->set('majorJob', $majorJob);
     //测试岗位
     return $this->render('index', ['testLibraries' => $testLibraries]);
 }
 public function actionChangeState()
 {
     $request = Yii::$app->request;
     if ($request->isAjax) {
         $newState = $request->post('newState');
         $examTemplateId = intval($request->post('id'));
         if ($newState == 'open') {
             $newState = ExamTemplate::STATE_ABLE;
             ExamTemplate::updateState($examTemplateId, $newState);
             return 'open';
         } elseif ($newState == 'close') {
             $newState = ExamTemplate::STATE_DISABLE;
             ExamTemplate::updateState($examTemplateId, $newState);
             return 'close';
         } else {
             return '状态非法';
         }
     } else {
         throw new Exception('非ajax提交');
     }
 }
Esempio n. 3
0
 public static function updateState($examTemplateId, $newState)
 {
     $examTemplate = ExamTemplate::findOne($examTemplateId);
     if (!$examTemplate) {
         throw new Exception("ExamTemplate id not exist");
     }
     $examTemplate->state = $newState;
     if (!$examTemplate->update()) {
         throw new Exception("ExamTemplate update error");
     }
 }