[svn r11105] Fix multiple bugs in exercices

skala
Julian Prud'homme 19 years ago
parent 94174fb37c
commit be70bb3581
  1. 4
      main/exercice/exercice.php
  2. 52
      main/exercice/exercise.class.php
  3. 2
      main/exercice/exercise_show.php
  4. 10
      main/exercice/question.class.php

@ -24,7 +24,7 @@
* @author Olivier Brouckaert, original author
* @author Denes Nagy, HotPotatoes integration
* @author Wolfgang Schneider, code/html cleanup
* @version $Id: exercice.php 11066 2007-02-07 09:39:47Z elixir_julian $
* @version $Id: exercice.php 11105 2007-02-14 08:33:43Z elixir_julian $
*/
@ -286,7 +286,7 @@ if($is_allowedToEdit)
if($show == 'test')
{
$sql="SELECT id,title,type,active,description FROM $TBL_EXERCICES ORDER BY title LIMIT $from,".($limitExPage+1);
$sql="SELECT id,title,type,active,description FROM $TBL_EXERCICES WHERE active<>'-1' ORDER BY title LIMIT $from,".($limitExPage+1);
$result=api_sql_query($sql,__FILE__,__LINE__);
}
}

@ -22,7 +22,7 @@
* Exercise class: This class allows to instantiate an object of type Exercise
* @package dokeos.exercise
* @author Olivier Brouckaert
* @version $Id: exercise.class.php 11058 2007-02-05 13:25:41Z elixir_julian $
* @version $Id: exercise.class.php 11105 2007-02-14 08:33:43Z elixir_julian $
*/
@ -585,54 +585,10 @@ class Exercise
*
* @author - Olivier Brouckaert
*/
function delete()
{
global $_user;
global $_course;
$TBL_EXERCICE_TEST_QUESTIONS = Database::get_course_table(TABLE_QUIZ_TEST_QUESTION);
$TBL_EXERCICE_ANSWERS = Database::get_course_table(TABLE_QUIZ_ANSWER);
$TBL_EXERCICE_QUESTIONS = Database::get_course_table(TABLE_QUIZ_QUESTION);
function delete(){
$TBL_EXERCICES = Database::get_course_table(TABLE_QUIZ_TEST);
$TBL_EXERCICES_RESULTS = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_EXERCICES);
$TBL_EXERCICES_ATTEMPTS = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_ATTEMPT);
$id=$this->id;
//COURSE TABLES
$sql="DELETE FROM $TBL_EXERCICES WHERE id='$id'";
api_sql_query($sql,__FILE__,__LINE__);
$sql="SELECT question_id FROM $TBL_EXERCICE_TEST_QUESTIONS WHERE exercice_id='$id'";
$result=api_sql_query($sql,__FILE__,__LINE__);
while($a_test_questions=mysql_fetch_array($result)){
$question_id=$a_test_questions["question_id"];
$sql="DELETE FROM $TBL_EXERCICE_QUESTIONS WHERE id='$question_id'";
api_sql_query($sql,__FILE__,__LINE__);
$sql="DELETE FROM $TBL_EXERCICE_ANSWERS WHERE question_id='$question_id'";
api_sql_query($sql,__FILE__,__LINE__);
}
$sql="DELETE FROM $TBL_EXERCICE_TEST_QUESTIONS WHERE exercice_id='$id'";
api_sql_query($sql,__FILE__,__LINE__);
//STATS TABLE
$sql="SELECT exe_id FROM $TBL_EXERCICES_RESULTS WHERE exe_exo_id='$id' and exe_cours_id='".$_course["official_code"]."'";
$result=api_sql_query($sql,__FILE__,__LINE__);
$exercice_id=mysql_result($result,0,'exe_id');
$sql="DELETE FROM $TBL_EXERCICES_ATTEMPTS WHERE exe_id='$exercice_id' AND question_id='$question_id'";
api_sql_query($sql,__FILE__,__LINE__);
$sql="DELETE FROM $TBL_EXERCICES_RESULTS WHERE exe_exo_id='$id' AND exe_cours_id='".$_course["official_code"]."'";
api_sql_query($sql,__FILE__,__LINE__);
$sql="UPDATE $TBL_EXERCICES SET active='-1' WHERE id='".$this->id."'";
api_sql_query($sql);
}
/**

@ -292,7 +292,7 @@ function display_hotspot_answer($answerId, $answer, $studentChoice, $answerComme
$query = "select * from `".$TABLETRACK_ATTEMPT."` where exe_id='$id' group by question_id";
$result =api_sql_query($query, __FILE__, __LINE__);
?>
<h3><?php echo $test ?>: <?php echo get_lang("Result"); ?></h3>
<h3><?php echo stripslashes($test)?>: <?php echo get_lang("Result"); ?></h3>
</td>
</tr>

@ -22,7 +22,7 @@
* File containing the Question class.
* @package dokeos.exercise
* @author Olivier Brouckaert
* @version $Id: question.class.php 11087 2007-02-09 12:57:27Z elixir_julian $
* @version $Id: question.class.php 11105 2007-02-14 08:33:43Z elixir_julian $
*/
@ -533,7 +533,7 @@ abstract class Question
*/
function save($exerciseId=0)
{
global $TBL_QUESTIONS, $_course;
global $TBL_QUESTIONS, $TBL_EXERCICE_QUESTION, $_course;
$id=$this->id;
$question=addslashes($this->question);
@ -552,6 +552,12 @@ abstract class Question
// creates a new question
else
{
$sql="SELECT max(position) FROM $TBL_QUESTIONS as question, $TBL_EXERCICE_QUESTION as test_question WHERE question.id=test_question.question_id AND test_question.exercice_id='$exerciseId'";
$result=api_sql_query($sql);
$current_position=mysql_result($result,0,0);
$this -> updatePosition($current_position+1);
$position = $this -> position;
$sql="INSERT INTO $TBL_QUESTIONS(question,description,ponderation,position,type,picture) VALUES('$question','$description','$weighting','$position','$type','$picture')";
api_sql_query($sql,__FILE__,__LINE__);

Loading…
Cancel
Save