File: /var/www/selfanalyse/emu-aptitude-test/test_save.php
<?php
include_once '../wp-config.php';
global $wpdb;
$PSY_SP_QUESTION = $wpdb->prefix . PSY_SP_QUESTION;
$PSY_TEST_GEN_TEST_TAKEN = $wpdb->prefix . PSY_TEST_GEN_TEST_TAKEN;
$PSY_TEST_GEN_TEST_TAKEN_QUESTION_ANSWER = $wpdb->prefix . PSY_TEST_GEN_TEST_TAKEN_QUESTION_ANSWER;
$type = $_REQUEST['type'];
$time_taken_in_seconds = $_REQUEST['time_taken_in_seconds'];
$jsonDecodeQues = $_REQUEST['param'];
//$decoded = json_decode($jsonDecodeQues);
$testID = $jsonDecodeQues[1]['test_taken_id'];
$examid = $jsonDecodeQues[1]['exam_id'];
$app_status = $jsonDecodeQues[1]['app_status'];
$statusArray = array();
$checkTestExist = $wpdb->get_var("SELECT count(*) from $PSY_TEST_GEN_TEST_TAKEN_QUESTION_ANSWER where test_taken_id='$testID'");
if($checkTestExist>0){
foreach($jsonDecodeQues as $quesAr){
$q_no = $quesAr['q_no'];
$question_id = $quesAr['question_id'];
$test_taken_id = $quesAr['test_taken_id'];
$subject_id = $quesAr['subject_id'];
$module_id = $quesAr['module_id'];
$answer = $quesAr['answer'];
$entered_time = $quesAr['entered_time'];
$time_taken = $quesAr['time_taken'];
$tag_status = $quesAr['tag_status'];
if($entered_time=='0'){$e_time='NULL';
$subquery = "ques_start_time=$e_time";
}else{$e_time=$entered_time;
$subquery = "ques_start_time='$e_time'";
}
if($time_taken=='0'){$t_time='NULL';
$subquery2 = "ques_end_time=$t_time";
}else{$t_time=$time_taken;
$subquery2 = "ques_end_time='$t_time'";
}
$updateTestQuestion = $wpdb->query("UPDATE $PSY_TEST_GEN_TEST_TAKEN_QUESTION_ANSWER set answer='$answer', ques_status='$tag_status', $subquery, $subquery2 where test_taken_id='$test_taken_id' and test_question_id='$question_id'");
}
if($type=='complete')
{
$curDate = date('Y-m-d H:i:s');
$getTestSummary = $wpdb->get_row("SELECT count(case when ttqt.correct_answer=ttqat.answer then 1 end) as correctQn, count(case when ttqt.correct_answer!=ttqat.answer and ttqat.answer!=0 then 1 end) as inCorrectQn, count(case when ttqat.answer=0 then 1 end) as unAttemptQn from $PSY_TEST_GEN_TEST_TAKEN_QUESTION_ANSWER as ttqat Inner join $PSY_SP_QUESTION as ttqt on ttqt.question_id = ttqat.test_question_id where ttqat.test_taken_id='$testID' ");
$correctQn = $getTestSummary->correctQn;
$inCorrectQn = $getTestSummary->inCorrectQn;
$unAttemptQn = $getTestSummary->unAttemptQn;
$answerSelect = ($correctQn+$inCorrectQn);
$wpdb->query("UPDATE $PSY_TEST_GEN_TEST_TAKEN set answer_selected='$answerSelect', correct_answer='$correctQn', wrong_answer='$inCorrectQn', unattempt_answer='$unAttemptQn', time_taken_in_seconds='$time_taken_in_seconds', status='Y', finish_date='$curDate' where test_taken_id='$testID'");
$get_subject = $wpdb->get_results("SELECT count(test_question_id) as total_mark,subject_id from $PSY_TEST_GEN_TEST_TAKEN_QUESTION_ANSWER where test_taken_id='$testID' group by subject_id");
} else if($type!='complete')
{
$getTestSummary = $wpdb->get_row("SELECT count(case when ttqt.correct_answer=ttqat.answer then 1 end) as correctQn, count(case when ttqt.correct_answer!=ttqat.answer and ttqat.answer!=0 then 1 end) as inCorrectQn, count(case when ttqat.answer=0 then 1 end) as unAttemptQn from $PSY_TEST_GEN_TEST_TAKEN_QUESTION_ANSWER as ttqat Inner join $PSY_SP_QUESTION as ttqt on ttqt.question_id = ttqat.test_question_id where ttqat.test_taken_id='$testID' ");
$correctQn = $getTestSummary->correctQn;
$inCorrectQn = $getTestSummary->inCorrectQn;
$unAttemptQn = $getTestSummary->unAttemptQn;
$answerSelect = ($correctQn+$inCorrectQn);
$updateTimeTaken = $wpdb->query("UPDATE $PSY_TEST_GEN_TEST_TAKEN set answer_selected='$answerSelect',correct_answer='$correctQn', wrong_answer='$inCorrectQn', unattempt_answer='$unAttemptQn', time_taken_in_seconds='$time_taken_in_seconds',status='N' where test_taken_id='$testID'");
}
$statusArray[] = array('type_test'=>$type, 'status' =>'success', 'test_taken_id' => $testID);
}
else{
$statusArray[] = array('type_test'=>$type, 'status' =>'fail', 'test_taken_id' => $testID);
}
echo json_encode($statusArray);