/** * Updates a particular model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id the ID of the model to be updated */ public function actionUpdate($id) { self::CheckLogin(); $cs = Yii::app()->getClientScript(); $cs->registerScriptFile(Yii::app()->theme->baseUrl . '/js/ckeditor/ckeditor.js'); $cs->registerCssFile(Yii::app()->theme->baseUrl . '/js/jqueryUpload/jquery.fileupload.css'); $cs->registerScriptFile(Yii::app()->theme->baseUrl . '/js/jqueryUpload/jquery.ui.widget.js', CClientScript::POS_END); $cs->registerScriptFile(Yii::app()->theme->baseUrl . '/js/jqueryUpload/jquery.fileupload.js', CClientScript::POS_END); //$modelQuestion = new WQuestion; //$modelAnswer = new WQuestionAnswer; $model = $this->loadModel($id); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['WTest'])) { $model->attributes = $_POST['WTest']; $model->test_name = $_POST['WTest']['test_name']; $model->test_cat_id = $_POST['WTest']['test_cat_id']; $model->kind_of_test = $_POST['WTest']['kind_of_test']; $model->time_test = $_POST['WTest']['time_test']; $model->introduce = $_POST['WTest']['introduce']; $model->footer = $_POST['WTest']['footer']; $model->created_by = Yii::app()->user->id; $model->created_date = date('Y-m-d H:i:s'); $model->total_point = $_POST['WTest']['total_point']; $model->if_random = $_POST['WTest']['if_random']; if (Yii::app()->session['group_id'] == 2) { $model->company_code = Yii::app()->session['company_code']; } if (!empty($_POST['avatar'])) { $model->avatar = Common::createThumb('avatars/test', $_POST['avatar'], $_POST['WTest']['test_name']); } if ($model->save()) { $count_ques = count($_POST['question_text']); //echo $count_ques;exit(); foreach ($_POST['question_text'] as $key => $value) { //echo $key;exit(); if (isset($_POST['question_id'][$key])) { $arrQues = array('id' => $_POST['question_id'][$key], 'question_text' => $value, 'question_type' => $_POST['question_type'][$key], 'test_id' => $id, 'point' => $_POST['point'][$key], 'created_date' => date('Y-m-d H:i:s'), 'created_by' => Yii::app()->user->id); WQuestion::updateQues($arrQues); } else { //echo $key;exit(); $arrQues = array('question_text' => $value, 'question_type' => $_POST['question_type'][$key], 'test_id' => $id, 'point' => $_POST['point'][$key], 'created_date' => date('Y-m-d H:i:s'), 'created_by' => Yii::app()->user->id); WQuestion::insertQues($arrQues); } } $arrQ = WQuestion::model()->findAll('test_id=:test_id', array(':test_id' => $id)); if (count($arrQ) > 0) { $k = 1; foreach ($arrQ as $q) { if ($q['question_type'] == 2) { if (WQuestionAnswer::checkQuestionAnswerText($q['id'])) { WQuestionAnswer::updateAnswer($q['id']); } else { WQuestionAnswer::insertAnswer($q['id']); } } elseif ($q['question_type'] == 1) { $number_answer = $_POST['numberAnswer' . $k]; for ($i = 1; $i <= $number_answer; $i++) { if (!isset($_POST["answer" . $i][$k])) { break; } if (WQuestionAnswer::checkQuestionAnswerChoice($q['id']) >= 4) { if ($_POST['answer_id' . $i][$k] != '') { $arrQ = array('question_id' => $q['id'], 'answer' => $_POST['answer' . $i][$k], 'is_correct_answer' => isset($_POST["rdOne"][$k]) == true && $_POST["rdOne"][$k] == $i ? 1 : 0, 'id' => $_POST['answer_id' . $i][$k]); WQuestionAnswer::updateAnswerChoice($arrQ); } else { $arrQ = array('question_id' => $q['id'], 'answer' => $_POST['answer' . $i][$k], 'is_correct_answer' => isset($_POST["rdOne"][$k]) == true && $_POST["rdOne"][$k] == $i ? 1 : 0); WQuestionAnswer::insertAnswerChoice($arrQ); } } else { $arrQ = array('question_id' => $q['id'], 'answer' => $_POST['answer' . $i][$k], 'is_correct_answer' => isset($_POST["rdOne"][$k]) == true && $_POST["rdOne"][$k] == $i ? 1 : 0); WQuestionAnswer::insertAnswerChoice($arrQ); } } } elseif ($q['question_type'] == 4) { //$SQL ="INSERT INTO `larapress`.`users_groups` (`user_id` , `group_id`) VALUES ('2', '2'), ('3', '2');"; $numberMulAnswer = $_POST['numberMulAnswer' . $k]; for ($i = 1; $i <= $numberMulAnswer; $i++) { if (!isset($_POST["txtMulti" . $i][$k])) { break; } if (WQuestionAnswer::checkQuestionAnswerChoice($q['id']) >= 4) { if ($_POST['answer_ids' . $i][$k] != '') { $arrQ = array('question_id' => $q['id'], 'answer' => $_POST['txtMulti' . $i][$k], 'is_correct_answer' => isset($_POST["chkMulti" . $i][$k]) == true ? 1 : 0, 'id' => $_POST['answer_ids' . $i][$k]); WQuestionAnswer::updateAnswerChoice($arrQ); } else { $arrQ = array('question_id' => $q['id'], 'answer' => $_POST['txtMulti' . $i][$k], 'is_correct_answer' => isset($_POST["chkMulti" . $i][$k]) == true ? 1 : 0); WQuestionAnswer::insertAnswerChoice($arrQ); } } else { $arrQ = array('question_id' => $q['id'], 'answer' => $_POST['txtMulti' . $i][$k], 'is_correct_answer' => isset($_POST["chkMulti" . $i][$k]) == true ? 1 : 0); WQuestionAnswer::insertAnswerChoice($arrQ); } } } $k++; } } $this->redirect(array('view', 'id' => $model->id)); } } $this->render('update', array('model' => $model)); }