public function actionMarkTest() { $arrQuestion = isset($_REQUEST["arrQuestion"]) ? $_REQUEST["arrQuestion"] : array(); $user_test_id = isset($_REQUEST["user_test_id"]) ? $_REQUEST["user_test_id"] : NULL; $json = array("result" => "true"); if (!empty($arrQuestion)) { $checkSave = TRUE; foreach ($arrQuestion as $itemquestion) { $model = WUserAnswers::model()->find("question_id=" . $itemquestion["idquestion"] . ' AND user_test_id=' . $itemquestion["user_test_id"]); if (!empty($model)) { $model->point_answer_text = $itemquestion["point_answer_text"]; $model->comment_trainer = $itemquestion["comment_question"]; if (!$model->save()) { $checkSave = FALSE; } } } if ($checkSave == TRUE) { $arrPointQuestion = array(); // Lay Point cua cau hoi $db = Yii::app()->db; $comm = $db->createCommand()->select('t.*,t2.test_name')->from('pls_user_test t')->LeftJoin('pls_test_parent t2', 't2.id=t.test_id')->LeftJoin('pls_course t3', 't3.id=t.course_id')->where('t.id=' . $user_test_id . ' AND t3.created_by=' . Yii::app()->user->id); $dataUserTest = $comm->queryRow(); $comm->reset(); $comm = $db->createCommand()->select('t.*')->from('pls_test_user t')->where('t.id_test_parent=' . $dataUserTest["test_id"] . ' AND user_id=' . $dataUserTest["user_id"] . ' AND kind=' . $dataUserTest["test_kind"] . ' AND t.course_id=' . $dataUserTest["course_id"] . ' AND t.lecture_id=' . $dataUserTest["lecture_id"]); $dataTestUser = $comm->queryRow(); if (!empty($dataTestUser)) { if (!empty($dataTestUser["dataquestion"])) { $dataquestion = json_decode($dataTestUser["dataquestion"], true); if (!empty($dataquestion)) { foreach ($dataquestion as $itemdataquestion) { $arrPointQuestion[$itemdataquestion["idquestion"]]["point"] = $itemdataquestion["point"]; $arrPointQuestion[$itemdataquestion["idquestion"]]["answertrue"] = WQuestionAnswerLib::getAnswerTrueQuestion($itemdataquestion["idquestion"]); } } } } // Select Nhung cau tra loi cua hoc vien $comm->reset(); $comm = $db->createCommand()->select('t.*')->from('pls_user_answers t')->where('t.user_test_id=' . $user_test_id); $dataUserAnswer = $comm->queryAll(); if (!empty($dataUserAnswer)) { foreach ($dataUserAnswer as $itemdataUserAnswer) { $arrPointQuestion[$itemdataUserAnswer["question_id"]]["question_type"] = $itemdataUserAnswer["question_type"]; $arrPointQuestion[$itemdataUserAnswer["question_id"]]["question_id"] = $itemdataUserAnswer["question_id"]; $arrPointQuestion[$itemdataUserAnswer["question_id"]]["doing"] = $itemdataUserAnswer["doing"]; if ($itemdataUserAnswer["question_type"] == 1 or $itemdataUserAnswer["question_type"] == 4) { $arrPointQuestion[$itemdataUserAnswer["question_id"]]["useranswer"] = $itemdataUserAnswer["user_answer_id"]; } elseif ($itemdataUserAnswer["question_type"] == 2) { $arrPointQuestion[$itemdataUserAnswer["question_id"]]["useranswer"] = $itemdataUserAnswer["user_answer_text"]; } $arrPointQuestion[$itemdataUserAnswer["question_id"]]["point_answer_text"] = $itemdataUserAnswer["point_answer_text"]; $arrPointQuestion[$itemdataUserAnswer["question_id"]]["comment_trainer"] = $itemdataUserAnswer["comment_trainer"]; } } // Kiem tra nhung cau tra loi dung $dataNew = array(); $total_point = 0; if (!empty($arrPointQuestion)) { foreach ($arrPointQuestion as $key => $itemPointQuestion) { $dataNew[$key] = $itemPointQuestion; if (!empty($itemPointQuestion["answertrue"])) { if ($itemPointQuestion["question_type"] == 4 or $itemPointQuestion["question_type"] == 1) { // Truong hop nhieu dap an $dataAnswer = explode(',', $itemPointQuestion["useranswer"]); $dataAnswerNew = array(); foreach ($dataAnswer as $item) { if (!empty($item)) { $dataAnswerNew[] = $item; } } $check = TRUE; if (count($dataAnswerNew) == count($itemPointQuestion["answertrue"])) { foreach ($dataAnswerNew as $itemdataAnswerNew) { if (!in_array($itemdataAnswerNew, $itemPointQuestion["answertrue"])) { $check = FALSE; } } } else { $check = FALSE; } if ($check == TRUE) { $dataNew[$key]["check"] = "OK"; $total_point += $itemPointQuestion["point"]; } else { $dataNew[$key]["check"] = "NOK"; } } } if ($itemPointQuestion["question_type"] == 2) { if (isset($itemPointQuestion["point_answer_text"])) { $total_point += $itemPointQuestion["point_answer_text"]; } } } } // Luu ket qua vao database $model = WTestUser::model()->find('user_id=' . $dataUserTest["user_id"] . ' AND id_test_parent=' . $dataUserTest["test_id"] . ' AND kind=' . $dataUserTest["test_kind"] . ' AND course_id=' . $dataUserTest["course_id"] . ' AND lecture_id=' . $dataUserTest["lecture_id"]); $model->datafinish = json_encode($dataNew); $model->save(); $modelUserTest = WUserTest::model()->find('id=' . $user_test_id); $modelUserTest->pass_score_point = $total_point; $modelUserTest->success = 2; if ($modelUserTest->save()) { //$testDetails = WTest::model()->find("id=".$test_id); $username = WUser::getFullNameUser($dataUserTest["user_id"]); $trainer = WUser::getFullNameUser(Yii::app()->user->id); $title = "Giáo viên " . $trainer . " đã chấm bài test: " . $dataUserTest["test_name"] . " của bạn"; if (!empty($dataUserTest["success"]) and $dataUserTest["success"] == 2) { $title = "Giáo viên " . $trainer . " đã chấm bài lại test: " . $dataUserTest["test_name"] . " của bạn"; } $content = "Dear <strong>" . $username . "</strong>"; //$content .="<br/>Bài làm Test :".$testDetails->test_name." của bạn đã được Giáo viên: <strong>".$trainer.'</strong> chấm xong'; $content .= "<br/>Giáo viên <strong>" . $trainer . '</strong> đã chấm bài: <strong>"' . $dataUserTest["test_name"] . '"</strong> của bạn'; $url = Yii::app()->createUrl("wCourseLecture/Viewresult", array("user_test_id" => $dataUserTest["id"])); $content .= "<br/><a href='" . $url . "'>Click Để xem kết quả bài test</a>"; WMessage::SendMessage($title, $content, "notifi", Yii::app()->user->id, $dataUserTest["user_id"]); $json = array("result" => "true"); } } else { $json = array("result" => "false", "message" => ""); } } echo json_encode($json); }
} if ($check == TRUE) { $dataNew[$itemquestion["idquestion"]]["check"] = "OK"; $totalpointuser += $dataNew[$itemquestion["idquestion"]]["point"]; } else { $dataNew[$itemquestion["idquestion"]]["check"] = "NOK"; } } } } if ($item["success"] == 2) { $dataUpdateUserTest = WUserTest::model()->find("id=" . $item["user_test_id"]); $dataUpdateUserTest->pass_score_point = $totalpointuser; $dataUpdateUserTest->save(); $datafinish = $dataNew; $modelTestUser = WTestUser::model()->find("user_id=" . $data_user_id . " AND course_id=" . $data_course_id . ' AND lecture_id=' . $data_lecture_id . ' AND kind=' . $data_test_kind . ' AND id_test_parent=' . $data_test_id); $modelTestUser->datafinish = json_encode($datafinish); $modelTestUser->save(); } } $datafinish = WTestUser::GetDataAnswer($datafinish); if (isset($datafinish["total_check"])) { ?> <!-- <p style="margin-bottom: 2px;">Trả lời đúng <strong style="color: #D30C0C">--><?php //echo $datafinish["total_true"] ?> <!--/--><?php //echo $datafinish["total_check"]; ?> <!--</strong> câu hỏi trắc nghiệm</p>--> <p style="margin-bottom: 2px;"> Có <strong style="color: #D30C0C"><?php
public function actionFinishTest() { $user_test_id = isset($_REQUEST["user_test_id"]) ? $_REQUEST["user_test_id"] : NULL; $db = Yii::app()->db; $comm = $db->createCommand()->select('t.*')->from('pls_user_test t')->where('t.id=' . $user_test_id); $dataUserTest = $comm->queryRow(); //data test $arrPointQuestion = array(); // Lay Point cua cau hoi if (!empty($dataUserTest)) { $comm->reset(); $comm = $db->createCommand()->select('t.*')->from('pls_test_user t')->where('t.id_test_parent=' . $dataUserTest["test_id"] . ' AND t.user_id=' . $dataUserTest["user_id"] . ' AND kind=' . $dataUserTest["test_kind"] . ' AND t.course_id=' . $dataUserTest["course_id"] . ' AND t.lecture_id=' . $dataUserTest["lecture_id"]); $dataTestUser = $comm->queryRow(); if (!empty($dataTestUser)) { if (isset($dataTestUser["dataquestion"]) and !empty($dataTestUser["dataquestion"])) { $dataquestion = json_decode($dataTestUser["dataquestion"], true); if (!empty($dataquestion)) { foreach ($dataquestion as $itemdataquestion) { $arrPointQuestion[$itemdataquestion["idquestion"]]["point"] = $itemdataquestion["point"]; $arrPointQuestion[$itemdataquestion["idquestion"]]["answertrue"] = WQuestionAnswerLib::getAnswerTrueQuestion($itemdataquestion["idquestion"]); } } } } // Select Nhung cau tra loi cua hoc vien $comm->reset(); $comm = $db->createCommand()->select('t.*')->from('pls_user_answers t')->where('t.user_test_id=' . $user_test_id); $dataUserAnswer = $comm->queryAll(); if (!empty($dataUserAnswer)) { foreach ($dataUserAnswer as $itemdataUserAnswer) { $arrPointQuestion[$itemdataUserAnswer["question_id"]]["question_type"] = $itemdataUserAnswer["question_type"]; $arrPointQuestion[$itemdataUserAnswer["question_id"]]["question_id"] = $itemdataUserAnswer["question_id"]; $arrPointQuestion[$itemdataUserAnswer["question_id"]]["doing"] = $itemdataUserAnswer["doing"]; if (isset($itemdataUserAnswer["question_type"]) and $itemdataUserAnswer["question_type"] == 1 or $itemdataUserAnswer["question_type"] == 4) { $arrPointQuestion[$itemdataUserAnswer["question_id"]]["useranswer"] = $itemdataUserAnswer["user_answer_id"]; } elseif (isset($itemdataUserAnswer["question_type"]) and $itemdataUserAnswer["question_type"] == 2) { $arrPointQuestion[$itemdataUserAnswer["question_id"]]["useranswer"] = $itemdataUserAnswer["user_answer_text"]; } } } // Kiem tra nhung cau tra loi dung $dataNew = array(); $totalpoint = 0; //Kiem tra xem co question Text hay khong $check_question_type = TRUE; if (!empty($arrPointQuestion)) { foreach ($arrPointQuestion as $key => $itemPointQuestion) { $dataNew[$key] = $itemPointQuestion; if (isset($itemPointQuestion["question_type"]) and $itemPointQuestion["question_type"] == 2) { $check_question_type = FALSE; } if (isset($itemPointQuestion["answertrue"]) and !empty($itemPointQuestion["answertrue"])) { if (isset($itemPointQuestion["question_type"]) and $itemPointQuestion["question_type"] == 4 or $itemPointQuestion["question_type"] == 1) { // Truong hop nhieu dap an $dataAnswer = explode(',', $itemPointQuestion["useranswer"]); $dataAnswerNew = array(); foreach ($dataAnswer as $item) { if (!empty($item)) { $dataAnswerNew[] = $item; } } $check = TRUE; if (count($dataAnswerNew) == count($itemPointQuestion["answertrue"])) { foreach ($dataAnswerNew as $itemdataAnswerNew) { if (!in_array($itemdataAnswerNew, $itemPointQuestion["answertrue"])) { $check = FALSE; } } } else { $check = FALSE; } if ($check == TRUE) { $dataNew[$key]["check"] = "OK"; $totalpoint += $itemPointQuestion["point"]; } else { $dataNew[$key]["check"] = "NOK"; } } } } } // Luu ket qua vao database $model = WTestUser::model()->find('id_test_parent=' . $dataUserTest["test_id"] . ' AND user_id=' . $dataUserTest["user_id"] . ' AND kind=' . $dataUserTest["test_kind"] . ' AND course_id=' . $dataUserTest["course_id"] . ' AND lecture_id=' . $dataUserTest["lecture_id"]); $model->datafinish = json_encode($dataNew); $model->save(); $modelUserTest = WUserTest::model()->find("id=" . $user_test_id); $modelUserTest->status = 1; if ($check_question_type == TRUE) { $modelUserTest->success = 2; } else { $modelUserTest->success = 1; } $modelUserTest->pass_score_point = $totalpoint; $modelUserTest->finish_date = date('Y-m-d H:i:s'); if ($modelUserTest->save()) { echo json_encode(array("result" => "true", "mess" => "Hoàn thành bài kiểm tra")); } else { echo json_encode(array("result" => "false", "mess" => "Lỗi !. Chụp lại màn hình và gửi tới Admin để được hỗ trợ tốt nhất.")); } } else { echo json_encode(array("result" => "false", "mess" => "Lỗi !. Chụp lại màn hình và gửi tới Admin để được hỗ trợ tốt nhất.")); } }
} if ($check == TRUE) { $dataNew[$itemquestion["idquestion"]]["check"] = "OK"; $totalpointuser += $dataNew[$itemquestion["idquestion"]]["point"]; } else { $dataNew[$itemquestion["idquestion"]]["check"] = "NOK"; } } } } if ($data["success"] == 2) { $dataUpdateUserTest = WUserTest::model()->find("id=" . $data["user_test_id"]); $dataUpdateUserTest->pass_score_point = $totalpointuser; $dataUpdateUserTest->save(); $datafinish = $dataNew; $modelTestUser = WTestUser::model()->find("user_id=" . $data["user_id"] . " AND course_id=" . $data["course_id"] . ' AND lecture_id=' . $data["lecture_id"] . ' AND kind=' . $data["test_kind"] . ' AND id_test_parent=' . $data["test_id"]); $modelTestUser->datafinish = json_encode($datafinish); $modelTestUser->save(); } } ?> <h3> <?php if ($data["test_kind"] == 1) { ?> <span class="icon_test_pre">Pre-test</span> <?php } elseif ($data["test_kind"] == 0) { ?> <span class="icon_test">Post-test</span> <?php
public static function totalQuestionLib($test_id) { $data = WTestUser::model()->find("id_test_parent=" . $test_id . ' AND user_id' . Yii::app()->user->id); $totalQuestion = 0; if (!empty($data) and !empty($data->dataquestion)) { $listQuestionId = json_decode($data->dataquestion, true); $totalQuestion = count($listQuestionId); } return $totalQuestion; }