/**
  * Trainee thuc hien 1 bai test
  * @param: $test_id : Test
  * @param: $course_id: Course  
  **/
 public function actionStarttest($test_id, $course_id, $lecture_id)
 {
     self::CheckLogin();
     $this->layout = '//layouts/main_trainer';
     $cs = Yii::app()->getClientScript();
     unset($_SESSION['dataQuestionLis']);
     $cs->registerCssFile(Yii::app()->theme->baseUrl . '/css/jquery-ui.css?ver=' . time());
     $cs->registerCssFile(Yii::app()->theme->baseUrl . '/css/dialog.css?ver=' . time());
     //$cs->registerCssFile(Yii::app()->theme->baseUrl.'/css/jquery.countdown.css?ver='.time());
     $cs->registerScriptFile(Yii::app()->theme->baseUrl . '/js/jquery.simplemodal-1.4.4.js', CClientScript::POS_END);
     $cs->registerScriptFile(Yii::app()->theme->baseUrl . '/js/jquery-ui.js');
     $cs->registerScriptFile(Yii::app()->theme->baseUrl . '/js/jquery.slimscroll.min.js');
     //Check trainee co trong khoa hoc hay khong
     if (WCourseTrainee::CheckTraineeInCourse($course_id) == FALSE) {
         $this->redirect(Yii::app()->CreateUrl("/"));
     }
     $kind = isset($_REQUEST['kind']) ? $_REQUEST['kind'] : '';
     $db = Yii::app()->db;
     $comm = $db->createCommand()->select('t.*,t2.test_cat')->from('pls_test_parent t')->leftJoin('pls_test_cat t2', 't.test_cat_id = t2.id')->where('t.id=' . $test_id);
     $result = $comm->queryRow();
     $dataQuestion = array();
     $dataQuestionLib = array();
     // Luu Data Question vao 1 mang
     $dataTestUser = WTestUser::model()->find("id_test_parent=" . $test_id . ' AND course_id=' . $course_id . ' AND lecture_id=' . $lecture_id . ' AND user_id=' . Yii::app()->user->id);
     if (empty($dataTestUser)) {
         if (!empty($result["dataconfig"])) {
             $dataconfig = json_decode($result["dataconfig"], true);
             $dataQuestionFix = array();
             $totalquestion = 0;
             // Ket noi database
             $db = Yii::app()->db;
             $comm = $db->createCommand();
             if (isset($dataconfig["datafix"]) and !empty($dataconfig["datafix"])) {
                 $totalquestion += count($dataconfig["datafix"]);
                 if (!empty($result["if_random"])) {
                     $dataNew = array();
                     $i = 0;
                     $count = count($dataconfig["datafix"]);
                     while ($i < $count) {
                         $indexrandom = array_rand($dataconfig["datafix"]);
                         $dataNew[$i] = $dataconfig["datafix"][$indexrandom];
                         unset($dataconfig["datafix"][$indexrandom]);
                         $i++;
                     }
                     $dataconfig["datafix"] = $dataNew;
                 }
                 foreach ($dataconfig["datafix"] as $key => $ItemdataquestionFix) {
                     $dataQuestionFix[] = $ItemdataquestionFix["idquestion"];
                     $dataQuestionLib[$key] = $ItemdataquestionFix;
                 }
             }
             /////////////
             if (isset($dataconfig["datarandom"]) and !empty($dataconfig["datarandom"])) {
                 foreach ($dataconfig["datarandom"] as $itemdatarandom) {
                     $totalquestion += $itemdatarandom["number_question"];
                     $point = $itemdatarandom["point_question"] / $itemdatarandom["number_question"];
                     $comm->reset();
                     $comm = $comm->select('*')->from('pls_question_lib t');
                     if (!empty($dataQuestionFix)) {
                         $comm = $comm->where('t.question_cat_id=' . $itemdatarandom["idcate"] . ' AND t.id NOT IN(' . implode(',', $dataQuestionFix) . ')');
                     } else {
                         $comm = $comm->where('t.question_cat_id=' . $itemdatarandom["idcate"]);
                     }
                     $comm = $comm->order('RAND()')->limit($itemdatarandom["number_question"]);
                     $data = $comm->queryAll();
                     $dataNew = array();
                     if (!empty($data)) {
                         foreach ($data as $key => $dataItem) {
                             $dataNew[$key]["idquestion"] = $dataItem["id"];
                             $dataNew[$key]["point"] = $point;
                         }
                         $dataQuestionLib = array_merge($dataQuestionLib, $dataNew);
                     }
                 }
             }
             $dataTestUser = new WTestUser();
             $dataTestUser->id_test_parent = $test_id;
             $dataTestUser->user_id = Yii::app()->user->id;
             $dataTestUser->dataquestion = json_encode($dataQuestionLib);
             $dataTestUser->course_id = $course_id;
             $dataTestUser->lecture_id = $lecture_id;
             $dataTestUser->kind = $kind;
             $dataTestUser->save();
         }
     } else {
         if (!empty($dataTestUser->dataquestion)) {
             $dataQuestionLib = json_decode($dataTestUser->dataquestion, true);
         }
     }
     $total = count($dataQuestionLib);
     $kind = isset($_REQUEST['kind']) ? $_REQUEST['kind'] : '';
     $model = new WUserTest();
     $model->test_id = $test_id;
     $model->course_id = $course_id;
     $model->lecture_id = $lecture_id;
     $model->user_id = Yii::app()->user->id;
     $model->status = 0;
     $model->added_date = date('Y-m-d H:i:s');
     if ($kind == '' or $kind == 1) {
         $model->test_kind = 1;
     } else {
         $model->test_kind = 0;
     }
     //echo $model->test_kind; exit();
     $oneut = WUserTest::model()->find('test_id=:test_id and course_id=:course_id and lecture_id=:lecture_id and user_id=:user_id and test_kind=:test_kind', array(':test_id' => $test_id, ':course_id' => $course_id, ':lecture_id' => $lecture_id, ':user_id' => Yii::app()->user->id, ':test_kind' => $model->test_kind));
     if (is_null($oneut)) {
         $model->save();
         $user_test_id = $model->id;
     } else {
         if ($oneut->status >= 1) {
             $cl = WCourseLecture::model()->find('course_id=' . $course_id . ' AND lecture_id=' . $lecture_id);
             if ($kind == 1) {
                 $this->redirect(Yii::app()->createUrl("wLecture/LectureView", array("course_lecture_id" => $cl->id)));
             } elseif ($kind == 0) {
                 $this->redirect(Yii::app()->createUrl("wCourse/TraineeViewCourse", array("id" => $cl->course_id)));
             }
         }
         $user_test_id = $oneut->id;
     }
     $per_page = 1;
     $page_number = isset($_POST['page']) ? $_POST['page'] : 0;
     $position = $page_number * $per_page;
     if (!empty($total)) {
         $pagination = WFunction::gettab($dataQuestionLib);
     } else {
         $pagination = '';
     }
     $this->render('/wTest/trainee/starttest', array('course_id' => $course_id, 'lecture_id' => $lecture_id, 'test' => $result, 'pagination' => $pagination, 'total' => $total, 'kind' => $model->test_kind, "question" => $dataQuestionLib, "user_test_id" => $user_test_id));
 }