diff --git a/main/exercise/Annotation.php b/main/exercise/Annotation.php
index 3804336f1a..49c91690a3 100644
--- a/main/exercise/Annotation.php
+++ b/main/exercise/Annotation.php
@@ -34,7 +34,12 @@ class Annotation extends Question
{
parent::createForm($form, $fck_config);
- $form->addElement('number', 'weighting', get_lang('Weighting'), ['step' => '0.1']);
+ $form->addElement(
+ 'number',
+ 'weighting',
+ get_lang('Weighting'),
+ ['step' => '0.1']
+ );
if (!empty($this->id)) {
$form->setDefaults(array('weighting' => float_format($this->weighting, 1)));
@@ -55,14 +60,26 @@ class Annotation extends Question
'imageUpload',
array(
Display::img(
- Display::return_icon('annotation.png', null, null, ICON_SIZE_BIG, false, true)
+ Display::return_icon(
+ 'annotation.png',
+ null,
+ null,
+ ICON_SIZE_BIG,
+ false,
+ true
+ )
),
get_lang('UploadJpgPicture'),
)
);
$form->addButtonSave(get_lang('GoToQuestion'), 'submitQuestion');
- $form->addRule('imageUpload', get_lang('OnlyImagesAllowed'), 'filetype', array('jpg', 'jpeg', 'png', 'gif'));
+ $form->addRule(
+ 'imageUpload',
+ get_lang('OnlyImagesAllowed'),
+ 'filetype',
+ array('jpg', 'jpeg', 'png', 'gif')
+ );
$form->addRule('imageUpload', get_lang('NoImage'), 'uploadedfile');
}
@@ -92,7 +109,7 @@ class Annotation extends Question
/**
* @param FormValidator $form
*/
- function createAnswersForm($form)
+ public function createAnswersForm($form)
{
// nothing
}
@@ -100,7 +117,7 @@ class Annotation extends Question
/**
* @param FormValidator $form
*/
- function processAnswersCreation($form)
+ public function processAnswersCreation($form)
{
$this->weighting = $form->getSubmitValue('weighting');
$this->save();
diff --git a/main/exercise/Draggable.php b/main/exercise/Draggable.php
index c1eeb99b9a..1c19295a21 100644
--- a/main/exercise/Draggable.php
+++ b/main/exercise/Draggable.php
@@ -57,7 +57,6 @@ class Draggable extends Question
if (count($answer->nbrAnswers) > 0) {
$nb_matches = $nb_options = 0;
-
for ($i = 1; $i <= $answer->nbrAnswers; $i++) {
if ($answer->isCorrect($i)) {
$nb_matches++;
@@ -107,7 +106,6 @@ class Draggable extends Question
for ($i = 1; $i <= $nb_matches; ++$i) {
$renderer = &$form->defaultRenderer();
-
$renderer->setElementTemplate(
'
{error}{element} | ',
"answer[$i]"
diff --git a/main/exercise/adminhp.php b/main/exercise/adminhp.php
index 6aaf5a5a2d..2ccb191b32 100755
--- a/main/exercise/adminhp.php
+++ b/main/exercise/adminhp.php
@@ -2,9 +2,9 @@
/* For licensing terms, see /license.txt */
/**
-* HotPotatoes administration.
-* @package chamilo.exercise
-* @author Istvan Mandak
+ * HotPotatoes administration.
+ * @package chamilo.exercise
+ * @author Istvan Mandak
*/
require_once __DIR__.'/../inc/global.inc.php';
@@ -27,10 +27,10 @@ $is_allowedToEdit = api_is_allowed_to_edit(null, true);
$documentPath=api_get_path(SYS_COURSE_PATH).$_course['path'].'/document';
// picture path
-$picturePath=$documentPath.'/images';
+$picturePath = $documentPath.'/images';
// audio path
-$audioPath=$documentPath.'/audio';
+$audioPath = $documentPath.'/audio';
// Database table definitions
if (!$is_allowedToEdit) {
@@ -56,13 +56,10 @@ Display::display_header($nameTools,"Exercise");
/** @todo probably wrong !!!! */
require_once api_get_path(SYS_CODE_PATH).'/exercise/hotpotatoes.lib.php';
-
?>
-
-
array_shift($parts)
];
-
$data['answers']['texts'][] = $text + Geometry::decodePoint($parts[0]);
break;
}
diff --git a/main/exercise/answer.class.php b/main/exercise/answer.class.php
index a7878fc5f0..635fdfe67f 100755
--- a/main/exercise/answer.class.php
+++ b/main/exercise/answer.class.php
@@ -39,8 +39,8 @@ class Answer
public $new_destination; // id of the next question if feedback option is set to Directfeedback
public $course; //Course information
public $iid;
- public $questionJSId;
- public $standalone;
+ public $questionJSId;
+ public $standalone;
/**
* constructor of the class
@@ -186,34 +186,34 @@ class Answer
}
return $id;
- }
+ }
/**
* Reads answer information from the data base ordered by parameter
- * @param string Field we want to order by
- * @param string DESC or ASC
- * @param string $field
- * @author Frederic Vauthier
+ * @param string $field Field we want to order by
+ * @param string $order DESC or ASC
+ *
+ * @author Frederic Vauthier
*/
public function readOrderedBy($field, $order = 'ASC')
{
- $field = Database::escape_string($field);
- if (empty($field)) {
- $field = 'position';
- }
+ $field = Database::escape_string($field);
+ if (empty($field)) {
+ $field = 'position';
+ }
- if ($order != 'ASC' && $order != 'DESC') {
- $order = 'ASC';
- }
+ if ($order != 'ASC' && $order != 'DESC') {
+ $order = 'ASC';
+ }
- $TBL_ANSWER = Database::get_course_table(TABLE_QUIZ_ANSWER);
- $TBL_QUIZ = Database::get_course_table(TABLE_QUIZ_QUESTION);
- $questionId = intval($this->questionId);
+ $TBL_ANSWER = Database::get_course_table(TABLE_QUIZ_ANSWER);
+ $TBL_QUIZ = Database::get_course_table(TABLE_QUIZ_QUESTION);
+ $questionId = intval($this->questionId);
- $sql = "SELECT type FROM $TBL_QUIZ
- WHERE c_id = {$this->course_id} AND id = $questionId";
- $result_question = Database::query($sql);
- $questionType = Database::fetch_array($result_question);
+ $sql = "SELECT type FROM $TBL_QUIZ
+ WHERE c_id = {$this->course_id} AND id = $questionId";
+ $result_question = Database::query($sql);
+ $questionType = Database::fetch_array($result_question);
if ($questionType['type'] == DRAGGABLE) {
// Random is done by submit.js.tpl
@@ -222,32 +222,32 @@ class Answer
return true;
}
- $sql = "SELECT
- answer,
- correct,
- comment,
- ponderation,
- position,
- hotspot_coordinates,
- hotspot_type,
- destination,
- id_auto,
+ $sql = "SELECT
+ answer,
+ correct,
+ comment,
+ ponderation,
+ position,
+ hotspot_coordinates,
+ hotspot_type,
+ destination,
+ id_auto,
iid
FROM $TBL_ANSWER
WHERE
c_id = {$this->course_id} AND
question_id='".$questionId."'
ORDER BY $field $order";
- $result = Database::query($sql);
-
- $i = 1;
- // while a record is found
- $doubt_data = null;
- while ($object = Database::fetch_object($result)) {
- if ($questionType['type'] == UNIQUE_ANSWER_NO_OPTION && $object->position == 666) {
- $doubt_data = $object;
+ $result = Database::query($sql);
+
+ $i = 1;
+ // while a record is found
+ $doubt_data = null;
+ while ($object = Database::fetch_object($result)) {
+ if ($questionType['type'] == UNIQUE_ANSWER_NO_OPTION && $object->position == 666) {
+ $doubt_data = $object;
continue;
- }
+ }
$this->answer[$i] = $object->answer;
$this->correct[$i] = $object->correct;
$this->comment[$i] = $object->comment;
@@ -259,9 +259,9 @@ class Answer
$this->autoId[$i] = $object->id_auto;
$this->iid[$i] = $object->iid;
$i++;
- }
+ }
- if ($questionType['type'] == UNIQUE_ANSWER_NO_OPTION && !empty($doubt_data)) {
+ if ($questionType['type'] == UNIQUE_ANSWER_NO_OPTION && !empty($doubt_data)) {
$this->answer[$i] = $doubt_data->answer;
$this->correct[$i] = $doubt_data->correct;
$this->comment[$i] = $doubt_data->comment;
@@ -273,88 +273,88 @@ class Answer
$this->autoId[$i] = $doubt_data->id_auto;
$this->iid[$i] = $doubt_data->iid;
$i++;
- }
+ }
$this->nbrAnswers = $i - 1;
- }
-
- /**
- * returns the autoincrement id identificator
- *
- * @author Juan Carlos Ra�a
- * @return integer - answer num
- */
+ }
+
+ /**
+ * returns the autoincrement id identificator
+ *
+ * @author Juan Carlos Ra�a
+ * @return integer - answer num
+ */
public function selectAutoId($id)
{
- return isset($this->autoId[$id]) ? $this->autoId[$id] : 0;
- }
-
- /**
- * returns the number of answers in this question
- *
- * @author Olivier Brouckaert
- * @return integer - number of answers
- */
- public function selectNbrAnswers()
+ return isset($this->autoId[$id]) ? $this->autoId[$id] : 0;
+ }
+
+ /**
+ * returns the number of answers in this question
+ *
+ * @author Olivier Brouckaert
+ * @return integer - number of answers
+ */
+ public function selectNbrAnswers()
{
- return $this->nbrAnswers;
- }
-
- /**
- * returns the question ID which the answers belong to
- *
- * @author Olivier Brouckaert
- * @return integer - the question ID
- */
- public function selectQuestionId()
+ return $this->nbrAnswers;
+ }
+
+ /**
+ * returns the question ID which the answers belong to
+ *
+ * @author Olivier Brouckaert
+ * @return integer - the question ID
+ */
+ public function selectQuestionId()
{
- return $this->questionId;
- }
-
- /**
- * returns the question ID of the destination question
- *
- * @author Julio Montoya
- * @param integer $id
- * @return integer - the question ID
- */
- public function selectDestination($id)
+ return $this->questionId;
+ }
+
+ /**
+ * returns the question ID of the destination question
+ *
+ * @author Julio Montoya
+ * @param integer $id
+ * @return integer - the question ID
+ */
+ public function selectDestination($id)
+ {
+ return isset($this->destination[$id]) ? $this->destination[$id] : null;
+ }
+
+ /**
+ * returns the answer title
+ *
+ * @author Olivier Brouckaert
+ * @param - integer $id - answer ID
+ * @return string - answer title
+ */
+ public function selectAnswer($id)
{
- return isset($this->destination[$id]) ? $this->destination[$id] : null;
- }
+ return isset($this->answer[$id]) ? $this->answer[$id] : null;
+ }
/**
- * returns the answer title
- *
- * @author Olivier Brouckaert
- * @param - integer $id - answer ID
- * @return string - answer title
- */
- public function selectAnswer($id)
- {
- return isset($this->answer[$id]) ? $this->answer[$id] : null;
- }
-
- /**
- * return array answer by id else return a bool
- * @param integer $auto_id
- */
- public function selectAnswerByAutoId($auto_id)
- {
- $TBL_ANSWER = Database::get_course_table(TABLE_QUIZ_ANSWER);
-
- $auto_id = intval($auto_id);
- $sql = "SELECT id, answer, id_auto FROM $TBL_ANSWER
- WHERE c_id = {$this->course_id} AND id_auto='$auto_id'";
- $rs = Database::query($sql);
-
- if (Database::num_rows($rs) > 0) {
- $row = Database::fetch_array($rs, 'ASSOC');
-
- return $row;
- }
-
- return false;
- }
+ * return array answer by id else return a bool
+ * @param integer $auto_id
+ */
+ public function selectAnswerByAutoId($auto_id)
+ {
+ $TBL_ANSWER = Database::get_course_table(TABLE_QUIZ_ANSWER);
+
+ $auto_id = intval($auto_id);
+ $sql = "SELECT id, answer, id_auto FROM $TBL_ANSWER
+ WHERE c_id = {$this->course_id} AND id_auto='$auto_id'";
+ $rs = Database::query($sql);
+
+ if (Database::num_rows($rs) > 0) {
+ $row = Database::fetch_array($rs, 'ASSOC');
+
+ return $row;
+ }
+
+ return false;
+ }
/**
* returns the answer title from an answer's position
@@ -363,18 +363,18 @@ class Answer
* @param - integer $id - answer ID
* @return bool - answer title
*/
- public function selectAnswerIdByPosition($pos)
- {
- foreach ($this->position as $k => $v) {
- if ($v != $pos) {
- continue;
- }
+ public function selectAnswerIdByPosition($pos)
+ {
+ foreach ($this->position as $k => $v) {
+ if ($v != $pos) {
+ continue;
+ }
- return $k;
- }
+ return $k;
+ }
- return false;
- }
+ return false;
+ }
/**
* Returns a list of answers
@@ -383,18 +383,25 @@ class Answer
* of (id, answer, comment, grade) and grade=weighting
*/
public function getAnswersList($decode = false)
- {
- $list = array();
- for ($i = 1; $i <= $this->nbrAnswers; $i++) {
- if (!empty($this->answer[$i])) {
-
- //Avoid problems when parsing elements with accents
- if ($decode) {
- $this->answer[$i] = api_html_entity_decode($this->answer[$i], ENT_QUOTES, api_get_system_encoding());
- $this->comment[$i] = api_html_entity_decode($this->comment[$i], ENT_QUOTES, api_get_system_encoding());
- }
-
- $list[] = array(
+ {
+ $list = array();
+ for ($i = 1; $i <= $this->nbrAnswers; $i++) {
+ if (!empty($this->answer[$i])) {
+ //Avoid problems when parsing elements with accents
+ if ($decode) {
+ $this->answer[$i] = api_html_entity_decode(
+ $this->answer[$i],
+ ENT_QUOTES,
+ api_get_system_encoding()
+ );
+ $this->comment[$i] = api_html_entity_decode(
+ $this->comment[$i],
+ ENT_QUOTES,
+ api_get_system_encoding()
+ );
+ }
+
+ $list[] = array(
'id' => $i,
'answer' => $this->answer[$i],
'comment' => $this->comment[$i],
@@ -402,138 +409,137 @@ class Answer
'hotspot_coord' => $this->hotspot_coordinates[$i],
'hotspot_type' => $this->hotspot_type[$i],
'correct' => $this->correct[$i],
- 'destination' => $this->destination[$i]
- );
+ 'destination' => $this->destination[$i],
+ );
}
- }
+ }
- return $list;
- }
+ return $list;
+ }
- /**
- * Returns a list of grades
- * @author Yannick Warnier
- * @return array List of grades where grade=weighting (?)
- */
+ /**
+ * Returns a list of grades
+ * @author Yannick Warnier
+ * @return array List of grades where grade=weighting (?)
+ */
public function getGradesList()
- {
- $list = array();
- for ($i = 0; $i < $this->nbrAnswers; $i++) {
- if (!empty($this->answer[$i])) {
- $list[$i] = $this->weighting[$i];
- }
- }
- return $list;
- }
-
- /**
- * Returns the question type
- * @author Yannick Warnier
- * @return integer The type of the question this answer is bound to
- */
+ {
+ $list = array();
+ for ($i = 0; $i < $this->nbrAnswers; $i++) {
+ if (!empty($this->answer[$i])) {
+ $list[$i] = $this->weighting[$i];
+ }
+ }
+
+ return $list;
+ }
+
+ /**
+ * Returns the question type
+ * @author Yannick Warnier
+ * @return integer The type of the question this answer is bound to
+ */
public function getQuestionType()
- {
- $TBL_QUESTIONS = Database::get_course_table(TABLE_QUIZ_QUESTION);
- $sql = "SELECT type FROM $TBL_QUESTIONS
- WHERE c_id = {$this->course_id} AND id = '".$this->questionId."'";
- $res = Database::query($sql);
- if (Database::num_rows($res) <= 0) {
- return null;
- }
- $row = Database::fetch_array($res);
-
- return $row['type'];
- }
-
-
- /**
- * tells if answer is correct or not
- *
- * @author Olivier Brouckaert
- * @param - integer $id - answer ID
- * @return integer - 0 if bad answer, not 0 if good answer
- */
+ {
+ $TBL_QUESTIONS = Database::get_course_table(TABLE_QUIZ_QUESTION);
+ $sql = "SELECT type FROM $TBL_QUESTIONS
+ WHERE c_id = {$this->course_id} AND id = '".$this->questionId."'";
+ $res = Database::query($sql);
+ if (Database::num_rows($res) <= 0) {
+ return null;
+ }
+ $row = Database::fetch_array($res);
+
+ return $row['type'];
+ }
+
+
+ /**
+ * tells if answer is correct or not
+ *
+ * @author Olivier Brouckaert
+ * @param - integer $id - answer ID
+ * @return integer - 0 if bad answer, not 0 if good answer
+ */
public function isCorrect($id)
- {
- return isset($this->correct[$id]) ? $this->correct[$id] : null;
- }
-
- /**
- * returns answer comment
- *
- * @author Olivier Brouckaert
- * @param - integer $id - answer ID
- * @return string - answer comment
- */
+ {
+ return isset($this->correct[$id]) ? $this->correct[$id] : null;
+ }
+
+ /**
+ * returns answer comment
+ *
+ * @author Olivier Brouckaert
+ * @param - integer $id - answer ID
+ * @return string - answer comment
+ */
public function selectComment($id)
- {
+ {
return isset($this->comment[$id]) ? $this->comment[$id] : null;
- }
-
- /**
- * returns answer weighting
- *
- * @author Olivier Brouckaert
- * @param - integer $id - answer ID
- * @param integer $id
- * @return integer - answer weighting
- */
+ }
+
+ /**
+ * returns answer weighting
+ *
+ * @author Olivier Brouckaert
+ * @param - integer $id - answer ID
+ * @param integer $id
+ * @return integer - answer weighting
+ */
public function selectWeighting($id)
- {
- return isset($this->weighting[$id]) ? $this->weighting[$id] : null;
- }
-
- /**
- * returns answer position
- *
- * @author Olivier Brouckaert
- * @param - integer $id - answer ID
- * @return integer - answer position
- */
- function selectPosition($id)
- {
- return isset($this->position[$id]) ? $this->position[$id] : null;
- }
-
- /**
- * returns answer hotspot coordinates
- *
- * @author Olivier Brouckaert
- * @param integer Answer ID
- * @param integer $id
- * @return integer Answer position
- */
+ {
+ return isset($this->weighting[$id]) ? $this->weighting[$id] : null;
+ }
+
+ /**
+ * returns answer position
+ *
+ * @author Olivier Brouckaert
+ * @param - integer $id - answer ID
+ * @return integer - answer position
+ */
+ function selectPosition($id)
+ {
+ return isset($this->position[$id]) ? $this->position[$id] : null;
+ }
+
+ /**
+ * returns answer hotspot coordinates
+ *
+ * @author Olivier Brouckaert
+ * @param integer $id Answer ID
+ * @return integer Answer position
+ */
public function selectHotspotCoordinates($id)
- {
- return isset($this->hotspot_coordinates[$id]) ? $this->hotspot_coordinates[$id] : null;
- }
-
- /**
- * returns answer hotspot type
- *
- * @author Toon Keppens
- * @param integer Answer ID
- * @param integer $id
- * @return integer Answer position
- */
+ {
+ return isset($this->hotspot_coordinates[$id]) ? $this->hotspot_coordinates[$id] : null;
+ }
+
+ /**
+ * returns answer hotspot type
+ *
+ * @author Toon Keppens
+ * @param integer $id Answer ID
+ * @return integer Answer position
+ */
public function selectHotspotType($id)
- {
- return isset($this->hotspot_type[$id]) ? $this->hotspot_type[$id] : null;
- }
-
- /**
- * Creates a new answer
- *
- * @author Olivier Brouckaert
- * @param string $answer answer title
- * @param integer $correct 0 if bad answer, not 0 if good answer
- * @param string $comment answer comment
- * @param integer $weighting answer weighting
- * @param integer $position answer position
- * @param array $new_hotspot_coordinates Coordinates for hotspot exercises (optional)
- * @param integer $new_hotspot_type Type for hotspot exercises (optional)
+ {
+ return isset($this->hotspot_type[$id]) ? $this->hotspot_type[$id] : null;
+ }
+
+ /**
+ * Creates a new answer
+ *
+ * @author Olivier Brouckaert
+ * @param string $answer answer title
+ * @param integer $correct 0 if bad answer, not 0 if good answer
+ * @param string $comment answer comment
+ * @param integer $weighting answer weighting
+ * @param integer $position answer position
+ * @param array $new_hotspot_coordinates Coordinates for hotspot exercises (optional)
+ * @param integer $new_hotspot_type Type for hotspot exercises (optional)
* @param string $destination
- */
+ */
public function createAnswer(
$answer,
$correct,
@@ -544,7 +550,7 @@ class Answer
$new_hotspot_type = null,
$destination = ''
) {
- $this->new_nbrAnswers++;
+ $this->new_nbrAnswers++;
$id = $this->new_nbrAnswers;
$this->new_answer[$id] = $answer;
$this->new_correct[$id] = $correct;
@@ -554,7 +560,7 @@ class Answer
$this->new_hotspot_coordinates[$id] = $new_hotspot_coordinates;
$this->new_hotspot_type[$id] = $new_hotspot_type;
$this->new_destination[$id] = $destination;
- }
+ }
/**
* Updates an answer
@@ -597,32 +603,32 @@ class Answer
$em->merge($quizAnswer);
$em->flush();
- }
+ }
- /**
- * Records answers into the data base
- *
- * @author Olivier Brouckaert
- */
+ /**
+ * Records answers into the data base
+ *
+ * @author Olivier Brouckaert
+ */
public function save()
{
- $answerTable = Database::get_course_table(TABLE_QUIZ_ANSWER);
+ $answerTable = Database::get_course_table(TABLE_QUIZ_ANSWER);
$em = Database::getManager();
- $questionId = intval($this->questionId);
+ $questionId = intval($this->questionId);
- $c_id = $this->course['real_id'];
+ $c_id = $this->course['real_id'];
$correctList = [];
$answerList = [];
- for ($i = 1; $i <= $this->new_nbrAnswers; $i++) {
- $answer = $this->new_answer[$i];
- $correct = isset($this->new_correct[$i]) ? $this->new_correct[$i] : '';
- $comment = isset($this->new_comment[$i]) ? $this->new_comment[$i] : '';
- $weighting = isset($this->new_weighting[$i]) ? $this->new_weighting[$i] : '';
- $position = isset($this->new_position[$i]) ? $this->new_position[$i] : '';
- $hotspot_coordinates = isset($this->new_hotspot_coordinates[$i]) ? $this->new_hotspot_coordinates[$i] : '';
- $hotspot_type = isset($this->new_hotspot_type[$i]) ? $this->new_hotspot_type[$i] : '';
- $destination = isset($this->new_destination[$i]) ? $this->new_destination[$i] : '';
+ for ($i = 1; $i <= $this->new_nbrAnswers; $i++) {
+ $answer = $this->new_answer[$i];
+ $correct = isset($this->new_correct[$i]) ? $this->new_correct[$i] : '';
+ $comment = isset($this->new_comment[$i]) ? $this->new_comment[$i] : '';
+ $weighting = isset($this->new_weighting[$i]) ? $this->new_weighting[$i] : '';
+ $position = isset($this->new_position[$i]) ? $this->new_position[$i] : '';
+ $hotspot_coordinates = isset($this->new_hotspot_coordinates[$i]) ? $this->new_hotspot_coordinates[$i] : '';
+ $hotspot_type = isset($this->new_hotspot_type[$i]) ? $this->new_hotspot_type[$i] : '';
+ $destination = isset($this->new_destination[$i]) ? $this->new_destination[$i] : '';
$autoId = $this->selectAutoId($i);
$iid = isset($this->iid[$i]) ? $this->iid[$i] : 0;
@@ -664,11 +670,11 @@ class Answer
$answer->read();
$correctAnswerId = $answer->selectAnswerIdByPosition($correct);
- // Continue to avoid matching question bug if $correctAnswerId returns false
- // See : https://support.chamilo.org/issues/8334
- if ($questionType == MATCHING && !$correctAnswerId) {
- continue;
- }
+ // Continue to avoid matching question bug if $correctAnswerId returns false
+ // See : https://support.chamilo.org/issues/8334
+ if ($questionType == MATCHING && !$correctAnswerId) {
+ continue;
+ }
$correctAnswerAutoId = $answer->selectAutoId($correct);
$quizAnswer->setCorrect($correctAnswerAutoId ? $correctAnswerAutoId : 0);
@@ -725,36 +731,36 @@ class Answer
while ($this->position[$i]) {
$position = $this->position[$i];
$sql = "DELETE FROM $answerTable
- WHERE
- c_id = {$this->course_id} AND
- question_id = '".$questionId."' AND
- position ='$position'";
+ WHERE
+ c_id = {$this->course_id} AND
+ question_id = '".$questionId."' AND
+ position ='$position'";
Database::query($sql);
$i++;
}
}
- // moves $new_* arrays
- $this->answer = $this->new_answer;
- $this->correct = $this->new_correct;
- $this->comment = $this->new_comment;
- $this->weighting = $this->new_weighting;
- $this->position = $this->new_position;
- $this->hotspot_coordinates = $this->new_hotspot_coordinates;
- $this->hotspot_type = $this->new_hotspot_type;
- $this->nbrAnswers = $this->new_nbrAnswers;
- $this->destination = $this->new_destination;
-
- $this->cancel();
- }
-
- /**
- * Duplicates answers by copying them into another question
- *
- * @author Olivier Brouckaert
- * @param Question $newQuestion
+ // moves $new_* arrays
+ $this->answer = $this->new_answer;
+ $this->correct = $this->new_correct;
+ $this->comment = $this->new_comment;
+ $this->weighting = $this->new_weighting;
+ $this->position = $this->new_position;
+ $this->hotspot_coordinates = $this->new_hotspot_coordinates;
+ $this->hotspot_type = $this->new_hotspot_type;
+ $this->nbrAnswers = $this->new_nbrAnswers;
+ $this->destination = $this->new_destination;
+
+ $this->cancel();
+ }
+
+ /**
+ * Duplicates answers by copying them into another question
+ *
+ * @author Olivier Brouckaert
+ * @param Question $newQuestion
* @param array $course_info destination course info (result of the function api_get_course_info() )
- */
+ */
public function duplicate($newQuestion, $course_info = null)
{
$newQuestionId = $newQuestion->id;
@@ -777,7 +783,7 @@ class Answer
if (!empty($origin_options)) {
foreach ($origin_options as $item) {
- $new_option_list[] = $item['id'];
+ $new_option_list[] = $item['id'];
}
}
@@ -794,15 +800,15 @@ class Answer
}
}
- // if at least one answer
- if ($this->nbrAnswers) {
- // inserts new answers into data base
- $courseId = $course_info['real_id'];
- $correctAnswers = [];
- $onlyAnswers = [];
- $allAnswers = [];
+ // if at least one answer
+ if ($this->nbrAnswers) {
+ // inserts new answers into data base
+ $courseId = $course_info['real_id'];
+ $correctAnswers = [];
+ $onlyAnswers = [];
+ $allAnswers = [];
- $em = Database::getManager();
+ $em = Database::getManager();
if (in_array($newQuestion->type, [MATCHING, MATCHING_DRAGGABLE])) {
$temp = array();
@@ -868,7 +874,7 @@ class Answer
$correctAnswers[$answerId] = $answer['correct'];
$onlyAnswers[$answerId] = $answer['answer'];
}
- }
+ }
} else {
for ($i = 1; $i <= $this->nbrAnswers; $i++) {
if ($this->course['id'] != $course_info['id']) {
@@ -945,7 +951,7 @@ class Answer
}
}
}
- }
+ }
/**
* Get the necessary JavaScript for some answers
@@ -963,25 +969,24 @@ class Answer
";
}
- /**
- * Check if a answer is correct by an answer auto id
- * @param $needle int The answer auto id
- * @return bool
- */
- public function isCorrectByAutoId($needle)
- {
- $key = 0;
-
- foreach ($this->autoId as $autoIdKey => $autoId) {
- if ($autoId == $needle) {
- $key = $autoIdKey;
- }
- }
-
- if (!$key) {
- return false;
- }
-
- return $this->isCorrect($key) ? true : false;
- }
+ /**
+ * Check if a answer is correct by an answer auto id
+ * @param $needle int The answer auto id
+ * @return bool
+ */
+ public function isCorrectByAutoId($needle)
+ {
+ $key = 0;
+ foreach ($this->autoId as $autoIdKey => $autoId) {
+ if ($autoId == $needle) {
+ $key = $autoIdKey;
+ }
+ }
+
+ if (!$key) {
+ return false;
+ }
+
+ return $this->isCorrect($key) ? true : false;
+ }
}
diff --git a/main/exercise/calculated_answer.class.php b/main/exercise/calculated_answer.class.php
index bfc7c514ca..f2c3dd0baf 100644
--- a/main/exercise/calculated_answer.class.php
+++ b/main/exercise/calculated_answer.class.php
@@ -31,7 +31,6 @@ class CalculatedAnswer extends Question
public function createAnswersForm($form)
{
$defaults = array();
-
if (!empty($this->id)) {
$objAnswer = new Answer($this->id);
$preArray = explode('@@', $objAnswer->selectAnswer(1));
@@ -125,9 +124,14 @@ class CalculatedAnswer extends Question
Display::return_icon('fill_field.png'),
array(
'id' => 'answer',
- 'onkeyup' => 'javascript: updateBlanks(this);'
+ 'onkeyup' => 'javascript: updateBlanks(this);',
),
- array('ToolbarSet' => 'TestQuestionDescription', 'Width' => '100%', 'Height' => '350'));
+ array(
+ 'ToolbarSet' => 'TestQuestionDescription',
+ 'Width' => '100%',
+ 'Height' => '350',
+ )
+ );
$form->addRule('answer', get_lang('GiveText'), 'required');
$form->addRule('answer', get_lang('DefineBlanks'), 'regex', '/\[.*\]/');
diff --git a/main/exercise/exercise_admin.php b/main/exercise/exercise_admin.php
index 35526cb62a..8243846ffe 100755
--- a/main/exercise/exercise_admin.php
+++ b/main/exercise/exercise_admin.php
@@ -109,11 +109,8 @@ $htmlHeadXtra[] = '';
// to correct #4029 Random and number of attempt menu empty added window.onload=advanced_parameters;
@@ -153,9 +150,13 @@ $objExercise->createForm($form);
if ($form->validate()) {
$objExercise->processCreation($form);
if ($form->getSubmitValue('edit') == 'true') {
- Display::addFlash(Display::return_message(get_lang('ExerciseEdited')));
+ Display::addFlash(
+ Display::return_message(get_lang('ExerciseEdited'), 'success')
+ );
} else {
- Display::addFlash(Display::return_message(get_lang('ExerciseAdded')));
+ Display::addFlash(
+ Display::return_message(get_lang('ExerciseAdded'), 'success')
+ );
}
$exercise_id = $objExercise->id;
Session::erase('objExercise');
@@ -168,7 +169,7 @@ if ($form->validate()) {
}
if (!empty($gradebook) && $gradebook=='view') {
- $interbreadcrumb[]= array (
+ $interbreadcrumb[]= array(
'url' => '../gradebook/'.$_SESSION['gradebook_dest'],
'name' => get_lang('ToolGradebook')
);
@@ -191,8 +192,8 @@ if ($form->validate()) {
echo '' .
Display :: return_icon('back.png', get_lang('GoBackToQuestionList'), '', ICON_SIZE_MEDIUM).'';
} else {
- if (!empty($_GET['lp_id']) || !empty($_POST['lp_id'])){
- if (!empty($_POST['lp_id'])){
+ if (!empty($_GET['lp_id']) || !empty($_POST['lp_id'])) {
+ if (!empty($_POST['lp_id'])) {
$lp_id = intval($_POST['lp_id']);
//TODO:this remains to be implemented after press the first post
} else {
@@ -207,12 +208,15 @@ if ($form->validate()) {
}
echo '';
- if ($objExercise->feedback_type == 1)
+ if ($objExercise->feedback_type == 1) {
Display::display_normal_message(
get_lang('DirectFeedbackCantModifyTypeQuestion')
);
+ }
- if (api_get_setting('search_enabled')=='true' && !extension_loaded('xapian')) {
+ if (api_get_setting('search_enabled')=='true' &&
+ !extension_loaded('xapian')
+ ) {
Display::display_error_message(get_lang('SearchXapianModuleNotInstalled'));
}
diff --git a/main/exercise/exercise_history.php b/main/exercise/exercise_history.php
index dfb14406cc..30cd81934d 100755
--- a/main/exercise/exercise_history.php
+++ b/main/exercise/exercise_history.php
@@ -2,13 +2,12 @@
/* For licensing terms, see /license.txt */
/**
- * Exercise list: This script shows the list of exercises for administrators and students.
- * @package chamilo.exercise
- * @author Olivier Brouckaert, original author
- * @author Denes Nagy, HotPotatoes integration
- * @author Wolfgang Schneider, code/html cleanup
+ * Exercise list: This script shows the list of exercises for administrators and students.
+ * @package chamilo.exercise
+ * @author Olivier Brouckaert, original author
+ * @author Denes Nagy, HotPotatoes integration
+ * @author Wolfgang Schneider, code/html cleanup
*/
-
require_once __DIR__.'/../inc/global.inc.php';
$this_section = SECTION_COURSES;
api_protect_course_script(true);
@@ -25,9 +24,18 @@ if (!$is_allowedToEdit) {
exit;
}
-$interbreadcrumb[] = array('url' => 'exercise_report.php?'.api_get_cidreq(), 'name' => get_lang('Exercises'));
-$interbreadcrumb[] = array('url' => 'exercise_report.php?filter=2&'.api_get_cidreq(), 'name' => get_lang('StudentScore'));
-$interbreadcrumb[] = array('url' => 'exercise_history.php?exe_id='.intval($_GET['exe_id']).'&'.api_get_cidreq(), 'name' => get_lang('Details'));
+$interbreadcrumb[] = array(
+ 'url' => 'exercise_report.php?'.api_get_cidreq(),
+ 'name' => get_lang('Exercises'),
+);
+$interbreadcrumb[] = array(
+ 'url' => 'exercise_report.php?filter=2&'.api_get_cidreq(),
+ 'name' => get_lang('StudentScore'),
+);
+$interbreadcrumb[] = array(
+ 'url' => 'exercise_history.php?exe_id='.intval($_GET['exe_id']).'&'.api_get_cidreq(),
+ 'name' => get_lang('Details'),
+);
$TBL_USER = Database::get_main_table(TABLE_MAIN_USER);
$TBL_EXERCISES = Database::get_course_table(TABLE_QUIZ_TEST);
@@ -86,6 +94,6 @@ while ($row = Database::fetch_array($query)) {
echo ''.(empty($row['firstname']) && empty($row['lastname']) ? ''.get_lang('OriginalValue').'' : api_get_person_name($row['firstname'], $row['lastname'])).' | ';
echo ''.api_convert_and_format_date($row['insert_date'], DATE_TIME_FORMAT_LONG).' | ';
echo '';
- }
+}
echo '';
Display::display_footer();
diff --git a/main/exercise/exercise_reminder.php b/main/exercise/exercise_reminder.php
index e1712ae555..8408d1a2ff 100755
--- a/main/exercise/exercise_reminder.php
+++ b/main/exercise/exercise_reminder.php
@@ -1,7 +1,7 @@
0) {
}
// general parameters passed via POST/GET
-if (empty ($origin)) {
+if (empty($origin)) {
if (!empty($_REQUEST['origin'])) {
$origin = Security::remove_XSS($_REQUEST['origin']);
} else {
@@ -71,19 +71,23 @@ if (empty($objExercise)) {
if (!$objExercise) {
//Redirect to the exercise overview
//Check if the exe_id exists
- header("Location: overview.php?exerciseId=".$exerciseId);
+ header("Location: overview.php?exerciseId=".$exerciseId.'&'.api_get_cidreq());
exit;
}
$time_control = false;
-$clock_expired_time = ExerciseLib::get_session_time_control_key($objExercise->id, $learnpath_id, $learnpath_item_id);
+$clock_expired_time = ExerciseLib::get_session_time_control_key(
+ $objExercise->id,
+ $learnpath_id,
+ $learnpath_item_id
+);
if ($objExercise->expired_time != 0 && !empty($clock_expired_time)) {
$time_control = true;
}
if ($time_control) {
- // Get time left for exipiring time
+ // Get time left for expiring time
$time_left = api_strtotime($clock_expired_time, 'UTC') - time();
$htmlHeadXtra[] = api_get_css(api_get_path(WEB_LIBRARY_PATH).'javascript/epiclock/stylesheet/jquery.epiclock.css');
$htmlHeadXtra[] = api_get_css(api_get_path(WEB_LIBRARY_PATH).'javascript/epiclock/renderers/minute/epiclock.minute.css');
@@ -93,7 +97,6 @@ if ($time_control) {
$htmlHeadXtra[] = $objExercise->show_time_control_js($time_left);
}
-
if (isset($_SESSION['exe_id'])) {
$exe_id = intval($_SESSION['exe_id']);
}
@@ -132,7 +135,6 @@ if ($time_control) {
}
echo Display::div('', array('id'=>'message'));
-
echo '';
if ($origin != 'learnpath') {
- // So we are not in learnpath tool
- Display::display_header($nameTools, get_lang('Exercise'));
+ // So we are not in learnpath tool
+ Display::display_header($nameTools, get_lang('Exercise'));
} else {
$htmlHeadXtra[] = "