$val) { if(is_string($val)) { $_POST[$key]=stripslashes($val); } elseif(is_array($val)) { foreach($val as $key2=>$val2) { $_POST[$key][$key2]=stripslashes($val2); } } $GLOBALS[$key]=$_POST[$key]; } } // get vars from GET if ( empty ( $exerciseId ) ) { $exerciseId = mysql_real_escape_string($_GET['exerciseId']); } if ( empty ( $newQuestion ) ) { $newQuestion = $_GET['newQuestion']; } if ( empty ( $modifyAnswers ) ) { $modifyAnswers = $_GET['modifyAnswers']; } if ( empty ( $editQuestion ) ) { $editQuestion = $_GET['editQuestion']; } if ( empty ( $modifyQuestion ) ) { $modifyQuestion = $_GET['modifyQuestion']; } if ( empty ( $deleteQuestion ) ) { $deleteQuestion = $_GET['deleteQuestion']; } if ( empty ( $questionId ) ) { $questionId = $_SESSION['questionId']; } if ( empty ( $modifyExercise ) ) { $modifyExercise = $_GET['modifyExercise']; } // get from session $objExercise = $_SESSION['objExercise']; $objQuestion = $_SESSION['objQuestion']; $objAnswer = $_SESSION['objAnswer']; // answer types define(UNIQUE_ANSWER, 1); define(MULTIPLE_ANSWER, 2); define(FILL_IN_BLANKS, 3); define(MATCHING, 4); define(FREE_ANSWER, 5); define(HOT_SPOT, 6); define(HOT_SPOT_ORDER, 7); // allows script inclusions define(ALLOWED_TO_INCLUDE,1); $is_allowedToEdit=$is_courseAdmin; // document path $documentPath=api_get_path(SYS_COURSE_PATH).$_course['path'].'/document'; // picture path $picturePath=$documentPath.'/images'; // audio path $audioPath=$documentPath.'/audio'; // the 5 types of answers $aType=array(get_lang('langUniqueSelect'),get_lang('langMultipleSelect'),get_lang('langFillBlanks'),get_lang('langMatching'),get_lang('freeAnswer')); // tables used in the exercise tool $TBL_EXERCICE_QUESTION = $_course['dbNameGlu'].'quiz_rel_question'; $TBL_EXERCICES = $_course['dbNameGlu'].'quiz'; $TBL_QUESTIONS = $_course['dbNameGlu'].'quiz_question'; $TBL_REPONSES = $_course['dbNameGlu'].'quiz_answer'; $TBL_DOCUMENT = $_course['dbNameGlu']."document"; if(!$is_allowedToEdit) { api_not_allowed(); } // intializes the Exercise object if(!is_object($objExercise)) { // construction of the Exercise object $objExercise=new Exercise(); // creation of a new exercise if wrong or not specified exercise ID if($exerciseId) { $objExercise->read($exerciseId); } // saves the object into the session api_session_register('objExercise'); } // doesn't select the exercise ID if we come from the question pool if(!$fromExercise) { // gets the right exercise ID, and if 0 creates a new exercise if(!$exerciseId=$objExercise->selectId()) { $modifyExercise='yes'; } } $nbrQuestions=$objExercise->selectNbrQuestions(); // intializes the Question object if($editQuestion || $newQuestion || $modifyQuestion || $modifyAnswers) { if($editQuestion || $newQuestion) { // construction of the Question object $objQuestion=new Question(); // saves the object into the session api_session_register('objQuestion'); // reads question data if($editQuestion) { // question not found if(!$objQuestion->read($editQuestion)) { die(get_lang('QuestionNotFound')); } } } // checks if the object exists if(is_object($objQuestion)) { // gets the question ID $questionId=$objQuestion->selectId(); } // question not found else { die(get_lang('QuestionNotFound')); } } // if cancelling an exercise if($cancelExercise) { // existing exercise if($exerciseId) { unset($modifyExercise); } // new exercise else { // goes back to the exercise list header('Location: exercice.php'); exit(); } } // if cancelling question creation/modification if($cancelQuestion) { // if we are creating a new question from the question pool if(!$exerciseId && !$questionId) { // goes back to the question pool header('Location: question_pool.php'); exit(); } else { // goes back to the question viewing $editQuestion=$modifyQuestion; unset($newQuestion,$modifyQuestion); } } // if cancelling answer creation/modification if($cancelAnswers) { // goes back to the question viewing $editQuestion=$modifyAnswers; unset($modifyAnswers); } // modifies the query string that is used in the link of tool name if($editQuestion || $modifyQuestion || $newQuestion || $modifyAnswers) { $nameTools=get_lang('QuestionManagement'); } else { $nameTools=get_lang('ExerciseManagement'); } $interbreadcrump[]=array("url" => "exercice.php","name" => get_lang('Exercices')); // shows a link to go back to the question pool if(!$exerciseId && $nameTools != get_lang('ExerciseManagement')) { $interbreadcrump[]=array("url" => "question_pool.php?fromExercise=$fromExercise","name" => get_lang('QuestionPool')); } // if the question is duplicated, disable the link of tool name if($modifyIn == 'thisExercise') { if($buttonBack) { $modifyIn='allExercises'; } else { $noPHP_SELF=true; } } $htmlHeadXtra[] = " "; Display::display_header($nameTools,"Exercise"); ?>