type; $objAnswer = new Answer($objQuestion->iid, 0, $objExercise); $options = []; for ($i = 1; $i <= $objAnswer->nbrAnswers; $i++) { $options[$objAnswer->iid[$i]] = $objAnswer->answer[$i]; } $webCodePath = api_get_path(WEB_CODE_PATH).'exercise/admin.php?'.api_get_cidreq().'&'; $adminUrl = $webCodePath.http_build_query(['exerciseId' => $exerciseId]); $httpRequest = HttpRequest::createFromGlobals(); $submitAnswers = $httpRequest->request->has('submitAnswers'); if ($submitAnswers) { $questionAnswers = array_map( 'intval', (array) $httpRequest->request->get('answer', []) ); $tblQuizAnswer = Database::get_course_table(TABLE_QUIZ_ANSWER); Database::query( "UPDATE $tblQuizAnswer SET correct = 0, ponderation = 0 WHERE question_id = ".$objQuestion->iid ); Database::query( "UPDATE $tblQuizAnswer SET correct = 1 WHERE question_id = {$objQuestion->iid} AND iid IN (".implode(', ', $questionAnswers).")" ); if ($isGlobal) { $questionWeighting = (float) $httpRequest->request->get('weighting', 0); } else { $questionWeighting = 0; $choiceWeighting = array_map( 'intval', (array) $httpRequest->request->get('c_weighting', []) ); foreach ($questionAnswers as $key => $questionAnswer) { if (empty($choiceWeighting[$key])) { continue; } $questionWeighting += $choiceWeighting[$key]; Database::query( "UPDATE $tblQuizAnswer SET ponderation = {$choiceWeighting[$key]} WHERE question_id = {$objQuestion->iid} AND iid = $questionAnswer" ); } } $objQuestion->updateWeighting($questionWeighting); $objQuestion->save($objExercise); echo ''; exit; } if ($questionId) { $answers = []; for ($i = 1; $i <= $objAnswer->nbrAnswers; $i++) { if (false === (bool) $objAnswer->correct[$i]) { continue; } $answers[] = [ $objAnswer->iid[$i], $objAnswer->answer[$i], $objAnswer->weighting[$i], ]; } $selfUrl = $webCodePath.http_build_query(['mad_admin' => $questionId, 'exerciseId' => $exerciseId]); echo Display::page_header( get_lang('Question').': '.$objQuestion->selectTitle() ); ?>