|
|
|
|
@ -65,6 +65,9 @@ if(isset($_GET['exerciseId'])){ |
|
|
|
|
if(isset($_GET['exerciseLevel'])){ |
|
|
|
|
$exerciseLevel = intval($_GET['exerciseLevel']); |
|
|
|
|
} |
|
|
|
|
if(isset($_GET['answerType'])){ |
|
|
|
|
$answerType = intval($_GET['answerType']); |
|
|
|
|
} |
|
|
|
|
if(!empty($_GET['page'])){ |
|
|
|
|
$page = intval($_GET['page']); |
|
|
|
|
} |
|
|
|
|
@ -205,8 +208,8 @@ if($is_allowedToEdit) |
|
|
|
|
|
|
|
|
|
<?php echo get_lang('Filter'); ?> :
|
|
|
|
|
<select name="exerciseId"> |
|
|
|
|
<option value="0">-- <?php echo get_lang('AllExercises'); ?> --</option>
|
|
|
|
|
<option value="-1" <?php if($exerciseId == -1) echo 'selected="selected"'; ?>>-- <?php echo get_lang('OrphanQuestions'); ?> --</option>
|
|
|
|
|
<option value="0"><?php echo get_lang('AllExercises'); ?></option>
|
|
|
|
|
<option value="-1" <?php if($exerciseId == -1) echo 'selected="selected"'; ?>><?php echo get_lang('OrphanQuestions'); ?></option>
|
|
|
|
|
<?php |
|
|
|
|
$sql="SELECT id,title FROM $TBL_EXERCICES WHERE id<>'".Database::escape_string($fromExercise)."' AND active<>'-1' ORDER BY id"; |
|
|
|
|
$result=Database::query($sql,__FILE__,__LINE__); |
|
|
|
|
@ -233,14 +236,40 @@ if($is_allowedToEdit) |
|
|
|
|
if ($exerciseLevel == $level) |
|
|
|
|
$selected = ' selected="selected" '; |
|
|
|
|
if ($level==-1) { |
|
|
|
|
echo '<option value="'.$level.'" '.$selected.'>-- '.get_lang('AllExercises').' --</option>'; |
|
|
|
|
echo '<option value="'.$level.'" '.$selected.'>'.get_lang('Any').'</option>'; |
|
|
|
|
} else { |
|
|
|
|
echo '<option value="'.$level.'" '.$selected.'>'.$level.'</option>'; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
echo '</select> '; |
|
|
|
|
|
|
|
|
|
// |
|
|
|
|
echo get_lang('AnswerType'); |
|
|
|
|
echo ' : <select name="answerType">'; |
|
|
|
|
//answer type |
|
|
|
|
if (!isset($answerType)) $answerType = -1; |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for ($answer_type = -1; $answer_type <=6; $answer_type++) { |
|
|
|
|
$selected =''; |
|
|
|
|
if ($answer_type!=0) { |
|
|
|
|
if ($answerType == $answer_type) |
|
|
|
|
$selected = ' selected="selected" '; |
|
|
|
|
if ($answer_type==-1) {echo '<option value="-1" '.$selected.'>'.get_lang('Any').'</option>'; } // check 0 or -1 |
|
|
|
|
elseif ($answer_type==1) {echo '<option value="'.$answer_type.'" '.$selected.'>'.get_lang('UniqueAnswer').'</option>'; } |
|
|
|
|
elseif ($answer_type==2) {echo '<option value="'.$answer_type.'" '.$selected.'>'.get_lang('MultipleAnswer').'</option>'; } |
|
|
|
|
elseif ($answer_type==3) {echo '<option value="'.$answer_type.'" '.$selected.'>'.get_lang('langFillBlanks').'</option>'; } |
|
|
|
|
elseif ($answer_type==4) {echo '<option value="'.$answer_type.'" '.$selected.'>'.get_lang('langMatching').'</option>'; } |
|
|
|
|
elseif ($answer_type==5) {echo '<option value="'.$answer_type.'" '.$selected.'>'.get_lang('FreeAnswer').'</option>'; } |
|
|
|
|
elseif ($answer_type==6) {echo '<option value="'.$answer_type.'" '.$selected.'>'.get_lang('HotSpot').'</option>'; } |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
echo '</select> '; |
|
|
|
|
?> |
|
|
|
|
|
|
|
|
|
<button class="save" type="submit" name="name" value="<?php echo get_lang('Ok') ?>"><?php echo get_lang('Ok') ?></button>
|
|
|
|
|
</form> |
|
|
|
|
</div> |
|
|
|
|
@ -260,11 +289,18 @@ if($is_allowedToEdit) |
|
|
|
|
$where .= ' level='.$exerciseLevel.' AND '; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($answerType) && $answerType != -1) { |
|
|
|
|
$where .= ' type='.$answerType.' AND '; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$sql="SELECT id,question,type,level |
|
|
|
|
FROM $TBL_EXERCICE_QUESTION,$TBL_QUESTIONS |
|
|
|
|
WHERE $where question_id=id AND exercice_id='".Database::escape_string($exerciseId)."' |
|
|
|
|
ORDER BY question_order"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} elseif($exerciseId == -1) { |
|
|
|
|
|
|
|
|
|
// if we have selected the option 'Orphan questions' in the list-box 'Filter' |
|
|
|
|
|
|
|
|
|
// 1. Old logic: When a test is deleted, the correspondent records in 'quiz' and 'quiz_rel_question' tables are deleted. |
|
|
|
|
@ -299,11 +335,17 @@ if($is_allowedToEdit) |
|
|
|
|
if (isset($exerciseLevel) && $exerciseLevel!= -1 ) { |
|
|
|
|
$level_where = ' level='.$exerciseLevel.' AND '; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$answer_where = ''; |
|
|
|
|
if (isset($answerType) && $answerType!= -1 ) { |
|
|
|
|
$answer_where = ' questions.type='.$answerType.' AND '; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$sql='SELECT questions.id, questions.question, questions.type, quizz_questions.exercice_id , level |
|
|
|
|
FROM '.$TBL_QUESTIONS.' as questions LEFT JOIN '.$TBL_EXERCICE_QUESTION.' as quizz_questions |
|
|
|
|
ON questions.id=quizz_questions.question_id LEFT JOIN '.$TBL_EXERCICES.' as exercices |
|
|
|
|
ON exercice_id=exercices.id |
|
|
|
|
WHERE '.$level_where.' (quizz_questions.exercice_id IS NULL OR exercices.active = -1 ) '.$type_where.' |
|
|
|
|
WHERE '.$answer_where.' '.$level_where.' (quizz_questions.exercice_id IS NULL OR exercices.active = -1 ) '.$type_where.' |
|
|
|
|
LIMIT '.$from.', '.($limitQuestPage + 1); |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
@ -316,12 +358,21 @@ if($is_allowedToEdit) |
|
|
|
|
$where = ' WHERE type = 1 '; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (isset($exerciseLevel) && $exerciseLevel != -1) { |
|
|
|
|
if (strlen($where)>0) |
|
|
|
|
$where .= ' AND level='.$exerciseLevel.' '; |
|
|
|
|
else |
|
|
|
|
$where = ' WHERE level='.$exerciseLevel.' '; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($answerType) && $answerType != -1) { |
|
|
|
|
if (strlen($where)>0) |
|
|
|
|
$where .= ' AND type='.$answerType.' '; |
|
|
|
|
else |
|
|
|
|
$where = ' WHERE type='.$answerType.' '; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$sql="SELECT id,question,type,level FROM $TBL_QUESTIONS $where "; |
|
|
|
|
|
|
|
|
|
// forces the value to 0 |
|
|
|
|
|