diff --git a/public/main/exercise/TestCategory.php b/public/main/exercise/TestCategory.php
index 40f66515ea..b0273a9ff2 100644
--- a/public/main/exercise/TestCategory.php
+++ b/public/main/exercise/TestCategory.php
@@ -161,7 +161,7 @@ class TestCategory
$courseId = api_get_course_int_id();
$categories = self::getCategories($courseId);
- $result = ['0' => get_lang('GeneralSelected')];
+ $result = ['0' => get_lang('No category selected')];
foreach ($categories as $category) {
$result[$category->getIid()] = $category->getTitle();
}
@@ -1131,7 +1131,6 @@ class TestCategory
{
$course = api_get_course_entity($courseId);
$session = api_get_session_entity($sessionId);
- $repo = Container::getQuestionCategoryRepository();
$sessionId = (int) $sessionId;
$categories = $this->getCategories($courseId, $sessionId);
diff --git a/public/main/exercise/UniqueAnswerImage.php b/public/main/exercise/UniqueAnswerImage.php
index 60a04f8a63..db706bc0ce 100644
--- a/public/main/exercise/UniqueAnswerImage.php
+++ b/public/main/exercise/UniqueAnswerImage.php
@@ -277,7 +277,7 @@ class UniqueAnswerImage extends UniqueAnswer
$answerNumber = $form->addElement('text', 'counter['.$i.']', null, ' value = "'.$i.'"');
$answerNumber->freeze();
- $form->addElement('radio', 'correct', null, null, $i, 'class="checkbox"');
+ $form->addElement('radio', 'correct', null, null, $i, ['class' => 'checkbox']);
$form->addHtmlEditor('answer['.$i.']', null, null, false, $editorConfig);
$form->addRule('answer['.$i.']', get_lang('Required field'), 'required');
diff --git a/public/main/exercise/exercise_reminder.php b/public/main/exercise/exercise_reminder.php
index f486eea4a3..96a03fb125 100644
--- a/public/main/exercise/exercise_reminder.php
+++ b/public/main/exercise/exercise_reminder.php
@@ -31,7 +31,7 @@ if (!empty($exerciseInSession)) {
if (!$objExercise) {
// Redirect to the exercise overview
// Check if the exe_id exists
- header('Location: '.api_get_path(WEB_CODE_PATH).'exercise/overview.php?exerciseId='.$exerciseId.'&'.api_get_cidreq());
+ header('Location: '.api_get_path(WEB_CODE_PATH).'exercise/overview.php?id='.$exerciseId.'&'.api_get_cidreq());
exit;
}
diff --git a/public/main/exercise/exercise_report.php b/public/main/exercise/exercise_report.php
index e240aa47d4..b41e56c540 100644
--- a/public/main/exercise/exercise_report.php
+++ b/public/main/exercise/exercise_report.php
@@ -10,6 +10,9 @@
*
* @todo fix excel export
*/
+
+use Chamilo\CoreBundle\Entity\TrackEAttemptRecording;
+
require_once __DIR__.'/../inc/global.inc.php';
$htmlHeadXtra[] = api_get_jqgrid_js();
@@ -159,13 +162,14 @@ if (isset($_REQUEST['comments']) &&
if (empty($track_exercise_info)) {
api_not_allowed();
}
+
$student_id = $track_exercise_info['exe_user_id'];
$session_id = $track_exercise_info['session_id'];
$lp_id = $track_exercise_info['orig_lp_id'];
$lpItemId = $track_exercise_info['orig_lp_item_id'];
$lp_item_view_id = (int) $track_exercise_info['orig_lp_item_view_id'];
$exerciseId = $track_exercise_info['exe_exo_id'];
- $exeWeighting = $track_exercise_info['exe_weighting'];
+ $exeWeighting = $track_exercise_info['max_score'];
$post_content_id = [];
$comments_exist = false;
@@ -186,7 +190,7 @@ if (isset($_REQUEST['comments']) &&
}
for ($i = 0; $i < $loop_in_track; $i++) {
- $my_marks = isset($_POST['marks_'.$array_content_id_exe[$i]]) ? $_POST['marks_'.$array_content_id_exe[$i]] : '';
+ $my_marks = isset($_POST['marks_'.$array_content_id_exe[$i]]) ? $_POST['marks_'.$array_content_id_exe[$i]] : 0;
$my_comments = '';
if (isset($_POST['comments_'.$array_content_id_exe[$i]])) {
$my_comments = $_POST['comments_'.$array_content_id_exe[$i]];
@@ -203,15 +207,29 @@ if (isset($_REQUEST['comments']) &&
['question_id = ? AND exe_id = ?' => [$my_questionid, $id]]
);
- $params = [
- 'exe_id' => $id,
- 'question_id' => $my_questionid,
+ $recording = new TrackEAttemptRecording();
+ $recording
+ ->setExeId($id)
+ ->setQuestionId($my_questionid)
+ ->setAuthor(api_get_user_id())
+ ->setTeacherComment($my_comments)
+ ->setExeId($id)
+ ->setMarks($my_marks)
+ ->setSessionId(api_get_session_id())
+ ;
+
+ $em = Database::getManager();
+ $em->persist($recording);
+ $em->flush();
+
+ /*$params = [
'marks' => $my_marks,
- 'insert_date' => api_get_utc_datetime(),
+ //'insert_date' => api_get_utc_datetime(),
'author' => api_get_user_id(),
'teacher_comment' => $my_comments,
+ 'session_id' => api_get_session_id(),
];
- Database::insert($TBL_TRACK_ATTEMPT_RECORDING, $params);
+ Database::insert($TBL_TRACK_ATTEMPT_RECORDING, $params);*/
}
$useEvaluationPlugin = false;
diff --git a/public/main/exercise/exercise_result.php b/public/main/exercise/exercise_result.php
index e1691d9ac0..ec5b38ba27 100644
--- a/public/main/exercise/exercise_result.php
+++ b/public/main/exercise/exercise_result.php
@@ -43,7 +43,7 @@ if (empty($objExercise)) {
$objExercise = new Exercise();
$exercise_stat_info = $objExercise->get_stat_track_exercise_info_by_exe_id($exe_id);
if (!empty($exercise_stat_info) && isset($exercise_stat_info['exe_exo_id'])) {
- header('Location: overview.php?exerciseId='.$exercise_stat_info['exe_exo_id'].'&'.api_get_cidreq());
+ header('Location: overview.php?id='.$exercise_stat_info['exe_exo_id'].'&'.api_get_cidreq());
exit;
}
api_not_allowed(true);
diff --git a/public/main/exercise/exercise_show.php b/public/main/exercise/exercise_show.php
index c7a9d0b732..2fb17d31ec 100644
--- a/public/main/exercise/exercise_show.php
+++ b/public/main/exercise/exercise_show.php
@@ -32,7 +32,7 @@ if (empty($track_exercise_info)) {
api_not_allowed($printHeaders);
}
-$exercise_id = $track_exercise_info['id'];
+$exercise_id = $track_exercise_info['iid'];
$student_id = $track_exercise_info['exe_user_id'];
$learnpath_id = $track_exercise_info['orig_lp_id'];
$learnpath_item_id = $track_exercise_info['orig_lp_item_id'];
@@ -152,7 +152,7 @@ $interbreadcrumb[] = [
'name' => get_lang('Tests'),
];
$interbreadcrumb[] = [
- 'url' => 'overview.php?exerciseId='.$exercise_id.'&'.api_get_cidreq(),
+ 'url' => 'overview.php?id='.$exercise_id.'&'.api_get_cidreq(),
'name' => $objExercise->selectTitle(true),
];
$interbreadcrumb[] = ['url' => '#', 'name' => get_lang('Result')];
@@ -333,7 +333,7 @@ $sql = "SELECT attempts.question_id, answer
quizz_rel_questions.c_id=".api_get_course_int_id()."
INNER JOIN $TBL_QUESTIONS AS questions
ON
- questions.id = quizz_rel_questions.question_id AND
+ questions.iid = quizz_rel_questions.question_id AND
questions.c_id = ".api_get_course_int_id()."
WHERE
attempts.exe_id = $id $user_restriction
diff --git a/public/main/exercise/live_stats.php b/public/main/exercise/live_stats.php
index 61694f3fd7..f73561220d 100644
--- a/public/main/exercise/live_stats.php
+++ b/public/main/exercise/live_stats.php
@@ -24,7 +24,7 @@ $interbreadcrumb[] = [
'name' => get_lang('Tests'),
];
$interbreadcrumb[] = [
- 'url' => "admin.php?exerciseId=$exercise_id&".api_get_cidreq(),
+ 'url' => "admin.php?id=$exercise_id&".api_get_cidreq(),
'name' => $objExercise->selectTitle(true),
];
diff --git a/public/main/exercise/question_create.php b/public/main/exercise/question_create.php
index 2038c0fd74..4a2bb2ee22 100644
--- a/public/main/exercise/question_create.php
+++ b/public/main/exercise/question_create.php
@@ -94,7 +94,7 @@ if ($form->validate()) {
header('Location: question_create.php?'.api_get_cidreq().'&error=true');
exit;
}
- header('Location: admin.php?exerciseId='.$values['exercise'].'&newQuestion=yes&isContent='.$values['is_content'].'&answerType='.$answer_type);
+ header('Location: admin.php?id='.$values['exercise'].'&newQuestion=yes&isContent='.$values['is_content'].'&answerType='.$answer_type);
exit;
} else {
// header
diff --git a/public/main/exercise/question_pool.php b/public/main/exercise/question_pool.php
index e8a36718e3..86e6adedc4 100644
--- a/public/main/exercise/question_pool.php
+++ b/public/main/exercise/question_pool.php
@@ -19,7 +19,6 @@ require_once __DIR__.'/../inc/global.inc.php';
api_protect_course_script(true);
$this_section = SECTION_COURSES;
-
$is_allowedToEdit = api_is_allowed_to_edit(null, true);
$delete = isset($_GET['delete']) ? (int) $_GET['delete'] : null;
@@ -56,7 +55,7 @@ $interbreadcrumb[] = ['url' => 'exercise.php?'.api_get_cidreq(), 'name' => get_l
if (!empty($objExercise->id)) {
$interbreadcrumb[] = [
- 'url' => 'admin.php?exerciseId='.$objExercise->id.'&'.api_get_cidreq(),
+ 'url' => 'admin.php?id='.$objExercise->id.'&'.api_get_cidreq(),
'name' => $objExercise->selectTitle(true),
];
}
@@ -306,7 +305,7 @@ if (isset($fromExercise) && $fromExercise > 0) {
} else {
echo ''.
Display::return_icon('back.png', get_lang('BackToTestsList'), '', ICON_SIZE_MEDIUM).'';
- echo "".
+ echo "".
Display::return_icon('add_question.gif', get_lang('New question'), '', ICON_SIZE_MEDIUM).'';
$titleAdd = get_lang('Manage all questions');
}
@@ -408,16 +407,16 @@ $my_exercise_list['-1'] = get_lang('Orphan questions');
$titleSavedAsHtml = api_get_configuration_value('save_titles_as_html');
if (is_array($exercise_list)) {
foreach ($exercise_list as $row) {
- $my_exercise_list[$row['id']] = '';
- if ($row['id'] == $fromExercise && $selected_course == api_get_course_int_id()) {
- $my_exercise_list[$row['id']] = '> ';
+ $my_exercise_list[$row['iid']] = '';
+ if ($row['iid'] == $fromExercise && $selected_course == api_get_course_int_id()) {
+ $my_exercise_list[$row['iid']] = '> ';
}
$exerciseTitle = $row['title'];
if ($titleSavedAsHtml) {
$exerciseTitle = strip_tags(api_html_entity_decode(trim($exerciseTitle)));
}
- $my_exercise_list[$row['id']] .= $exerciseTitle;
+ $my_exercise_list[$row['iid']] .= $exerciseTitle;
}
}
@@ -635,7 +634,7 @@ function getQuestions(
if (!empty($fromExercise)) {
$currentCourseId = api_get_course_int_id();
$currentExerciseCondition = "
- AND qu.id NOT IN (
+ AND qu.iid NOT IN (
SELECT question_id FROM $TBL_EXERCISE_QUESTION
WHERE exercice_id = $fromExercise AND c_id = $currentCourseId
)";
@@ -651,7 +650,7 @@ function getQuestions(
$from = ", $TBL_COURSE_REL_CATEGORY crc ";
$where .= " AND
crc.c_id = $selected_course AND
- crc.question_id = qu.id AND
+ crc.question_id = qu.iid AND
crc.category_id = $courseCategoryId";
}
if (isset($exerciseLevel) && -1 != $exerciseLevel) {
@@ -670,7 +669,7 @@ function getQuestions(
}
$select = 'DISTINCT
- id,
+ iid,
question,
type,
level,
@@ -680,9 +679,9 @@ function getQuestions(
}
$sql = "SELECT $select
FROM
- $TBL_EXERCISE_QUESTION qt
- INNER JOIN $TBL_QUESTIONS qu
- ON qt.question_id = qu.id
+ $TBL_EXERCISE_QUESTION qt
+ INNER JOIN $TBL_QUESTIONS qu
+ ON qt.question_id = qu.iid
$from
{$efConditions['from']}
WHERE
@@ -701,7 +700,7 @@ function getQuestions(
$from = '';
if (isset($courseCategoryId) && $courseCategoryId > 0) {
$from = " INNER JOIN $TBL_COURSE_REL_CATEGORY crc
- ON crc.question_id = q.id AND crc.c_id = q.c_id ";
+ ON crc.question_id = q.iid AND crc.c_id = q.c_id ";
$level_where .= " AND
crc.c_id = $selected_course AND
crc.category_id = $courseCategoryId";
@@ -732,7 +731,7 @@ function getQuestions(
SELECT $select
FROM $TBL_QUESTIONS qu
INNER JOIN $TBL_EXERCISE_QUESTION r
- ON (qu.c_id = r.c_id AND qu.id = r.question_id)
+ ON (qu.c_id = r.c_id AND qu.iid = r.question_id)
INNER JOIN $TBL_EXERCISES ex
ON (ex.id = r.exercice_id AND ex.c_id = r.c_id)
$from
@@ -749,7 +748,7 @@ function getQuestions(
SELECT $select
FROM $TBL_QUESTIONS qu
LEFT OUTER JOIN $TBL_EXERCISE_QUESTION r
- ON (qu.c_id = r.c_id AND qu.id = r.question_id)
+ ON (qu.c_id = r.c_id AND qu.iid = r.question_id)
$from
{$efConditions['from']}
WHERE
@@ -764,7 +763,7 @@ function getQuestions(
SELECT $select
FROM $TBL_QUESTIONS qu
INNER JOIN $TBL_EXERCISE_QUESTION r
- ON (qu.c_id = r.c_id AND qu.id = r.question_id)
+ ON (qu.c_id = r.c_id AND qu.iid = r.question_id)
$from
{$efConditions['from']}
WHERE
@@ -788,7 +787,7 @@ function getQuestions(
$from = ", $TBL_COURSE_REL_CATEGORY crc ";
$filter .= " AND
crc.c_id = $selected_course AND
- crc.question_id = qu.id AND
+ crc.question_id = qu.iid AND
crc.category_id = $courseCategoryId";
}
if (isset($exerciseLevel) && -1 != $exerciseLevel) {
@@ -811,7 +810,7 @@ function getQuestions(
}
$sessionCondition = api_get_session_condition($session_id, true, 'q.session_id');
- $select = 'qu.iid, qu.id, question, qu.type, level, q.session_id, qt.exercice_id exerciseId ';
+ $select = 'qu.iid, question, qu.type, level, q.session_id, qt.exercice_id exerciseId ';
if ($getCount) {
$select = 'count(qu.iid) as count';
}
@@ -822,9 +821,9 @@ function getQuestions(
FROM
$TBL_QUESTIONS as qu
INNER JOIN $TBL_EXERCISE_QUESTION as qt
- ON (qu.id = qt.question_id AND qu.c_id = qt.c_id)
+ ON (qu.iid = qt.question_id AND qu.c_id = qt.c_id)
INNER JOIN $TBL_EXERCISES as q
- ON (q.c_id = qu.c_id AND q.id = qt.exercice_id)
+ ON (q.c_id = qu.c_id AND q.iid = qt.exercice_id)
{$efConditions['from']}
$from
WHERE
@@ -980,19 +979,20 @@ if ($fromExercise <= 0) {
$data = [];
if (is_array($mainQuestionList)) {
foreach ($mainQuestionList as $question) {
+ $questionId = $question['iid'];
$row = [];
// This function checks if the question can be read
- $question_type = get_question_type_for_question($selected_course, $question['id']);
+ $question_type = get_question_type_for_question($selected_course, $questionId);
if (empty($question_type)) {
continue;
}
$sessionId = isset($question['session_id']) ? $question['session_id'] : null;
- if (!$objExercise->hasQuestion($question['id'])) {
+ if (!$objExercise->hasQuestion($question['iid'])) {
$row[] = Display::input(
'checkbox',
'questions[]',
- $question['id'],
+ $questionId,
['class' => 'question_checkbox']
);
} else {
@@ -1002,7 +1002,7 @@ if (is_array($mainQuestionList)) {
$row[] = getLinkForQuestion(
$questionTagA,
$fromExercise,
- $question['id'],
+ $questionId,
$question['type'],
$question['question'],
$sessionId,
@@ -1010,12 +1010,12 @@ if (is_array($mainQuestionList)) {
);
$row[] = $question_type;
- $row[] = TestCategory::getCategoryNameForQuestion($question['id'], $selected_course);
+ $row[] = TestCategory::getCategoryNameForQuestion($questionId, $selected_course);
$row[] = $question['level'];
$row[] = get_action_icon_for_question(
$actionIcon1,
$fromExercise,
- $question['id'],
+ $questionId,
$question['type'],
$question['question'],
$selected_course,
@@ -1029,7 +1029,7 @@ if (is_array($mainQuestionList)) {
get_action_icon_for_question(
$actionIcon2,
$fromExercise,
- $question['id'],
+ $questionId,
$question['type'],
$question['question'],
$selected_course,
@@ -1045,12 +1045,12 @@ if (is_array($mainQuestionList)) {
}
$headers = [
- '',
- get_lang('QuestionUpperCaseFirstLetter'),
- get_lang('Type'),
+ '',
+ get_lang('Question'),
+ get_lang('Type'),
get_lang('QuestionCategory'),
- get_lang('Difficulty'),
- $actionLabel,
+ get_lang('Difficulty'),
+ $actionLabel,
];
echo $pagination;
@@ -1080,7 +1080,7 @@ foreach ($data as $rows) {
$row,
$column,
$value
-);
+ );
$column++;
}
$row++;
diff --git a/public/main/exercise/stats.php b/public/main/exercise/stats.php
index 4d29cb9557..7954724111 100644
--- a/public/main/exercise/stats.php
+++ b/public/main/exercise/stats.php
@@ -310,7 +310,7 @@ $interbreadcrumb[] = [
'name' => get_lang('Tests'),
];
$interbreadcrumb[] = [
- 'url' => "admin.php?exerciseId=$exerciseId&".api_get_cidreq(),
+ 'url' => "admin.php?id=$exerciseId&".api_get_cidreq(),
'name' => $objExercise->selectTitle(true),
];
diff --git a/public/main/exercise/unique_answer_no_option.class.php b/public/main/exercise/unique_answer_no_option.class.php
index ff078bf8cb..c59267d939 100644
--- a/public/main/exercise/unique_answer_no_option.class.php
+++ b/public/main/exercise/unique_answer_no_option.class.php
@@ -186,9 +186,15 @@ class UniqueAnswerNoOption extends Question
$answer_number = $form->addElement('text', 'counter['.$i.']', null, 'value="'.$i.'"');
$answer_number->freeze();
- $form->addElement('radio', 'correct', null, null, $i, 'class="checkbox" style="margin-left: 0em;"');
+ $form->addElement(
+ 'radio',
+ 'correct',
+ null,
+ null,
+ $i,
+ ['class' => 'checkbox', 'style' => 'margin-left: 0em;']
+ );
$form->addElement('html_editor', 'answer['.$i.']', null, [], $editor_config);
-
$form->addElement('html_editor', 'comment['.$i.']', null, [], $editor_config);
$form->addElement('text', 'weighting['.$i.']', null, ['style' => 'width: 60px;', 'value' => '0']);
$form->addElement('html', '');
diff --git a/public/main/inc/lib/exercise.lib.php b/public/main/inc/lib/exercise.lib.php
index 5af31a31bb..83d2e70416 100644
--- a/public/main/inc/lib/exercise.lib.php
+++ b/public/main/inc/lib/exercise.lib.php
@@ -1897,7 +1897,7 @@ HOTSPOT;
$sql_inner_join_tbl_user = "
(
SELECT
- u.user_id,
+ u.id as user_id,
firstname,
lastname,
official_code,
@@ -1907,7 +1907,7 @@ HOTSPOT;
g.id as group_id
FROM $TBL_USER u
INNER JOIN $TBL_GROUP_REL_USER gru
- ON (gru.user_id = u.user_id AND gru.c_id= $course_id )
+ ON (gru.user_id = u.id AND gru.c_id= $course_id )
INNER JOIN $TBL_GROUP g
ON (gru.group_id = g.id AND g.c_id= $course_id )
)";
@@ -1933,7 +1933,7 @@ HOTSPOT;
$sql_inner_join_tbl_user = "
(
SELECT
- u.user_id,
+ u.id as user_id,
firstname,
lastname,
official_code,
@@ -1960,17 +1960,17 @@ HOTSPOT;
$sql_inner_join_tbl_user = "
(
SELECT
- u.user_id,
+ u.id as user_id,
firstname,
lastname,
official_code,
email,
username,
g.name as group_name,
- g.id as group_id
+ g.iid as group_id
FROM $TBL_USER u
LEFT OUTER JOIN $TBL_GROUP_REL_USER gru
- ON ( gru.user_id = u.user_id AND gru.c_id= $course_id )
+ ON (gru.user_id = u.id AND gru.c_id= $course_id )
LEFT OUTER JOIN $TBL_GROUP g
ON (gru.group_id = g.id AND g.c_id = $course_id )
)";
@@ -1982,7 +1982,7 @@ HOTSPOT;
$is_empty_sql_inner_join_tbl_user = true;
$sql_inner_join_tbl_user = "
(
- SELECT u.user_id, firstname, lastname, email, username, ' ' as group_name, '' as group_id, official_code
+ SELECT u.id as user_id, firstname, lastname, email, username, ' ' as group_name, '' as group_id, official_code
FROM $TBL_USER u
WHERE u.status NOT IN(".api_get_users_status_ignored_in_reports('string').")
)";
@@ -1996,7 +1996,7 @@ HOTSPOT;
$sql_select = 'SELECT count(te.exe_id) ';
} else {
$sql_select = "SELECT DISTINCT
- user_id,
+ user.user_id,
$first_and_last_name,
official_code,
ce.title,
@@ -2024,9 +2024,9 @@ HOTSPOT;
$sql = " $sql_select
FROM $TBL_EXERCICES AS ce
INNER JOIN $sql_inner_join_tbl_track_exercices AS te
- ON (te.exe_exo_id = ce.id)
+ ON (te.exe_exo_id = ce.iid)
INNER JOIN $sql_inner_join_tbl_user AS user
- ON (user.id = exe_user_id)
+ ON (user.user_id = exe_user_id)
WHERE
te.c_id = $course_id $session_id_and AND
ce.active <> -1 AND
@@ -3859,7 +3859,7 @@ EOT;
if (empty($session_id)) {
$courseCondition = "
INNER JOIN $courseUser cu
- ON cu.c_id = c.id AND cu.user_id = exe_user_id";
+ ON cu.c_id = c.id AND cu.user_id = exe_user_id";
$courseConditionWhere = " AND relation_type <> 2 AND cu.status = ".STUDENT;
} else {
$courseCondition = "
diff --git a/public/main/inc/lib/pear/HTML/QuickForm/radio.php b/public/main/inc/lib/pear/HTML/QuickForm/radio.php
index 837c4e1a98..205ef7a7fe 100644
--- a/public/main/inc/lib/pear/HTML/QuickForm/radio.php
+++ b/public/main/inc/lib/pear/HTML/QuickForm/radio.php
@@ -54,7 +54,7 @@ class HTML_QuickForm_radio extends HTML_QuickForm_input
$elementLabel = null,
$text = null,
$value = null,
- array $attributes = []
+ $attributes = []
) {
$this->labelClass = isset($attributes['label-class']) ? $attributes['label-class'] : '';
$this->radioClass = isset($attributes['radio-class']) ? $attributes['radio-class'] : 'form-check';
diff --git a/src/CoreBundle/Entity/TrackEAttemptRecording.php b/src/CoreBundle/Entity/TrackEAttemptRecording.php
index a35ca16610..230e068448 100644
--- a/src/CoreBundle/Entity/TrackEAttemptRecording.php
+++ b/src/CoreBundle/Entity/TrackEAttemptRecording.php
@@ -5,6 +5,7 @@
namespace Chamilo\CoreBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
+use Gedmo\Mapping\Annotation as Gedmo;
/**
* TrackEAttemptRecording.
@@ -51,6 +52,7 @@ class TrackEAttemptRecording
/**
* @var \DateTime
+ * @Gedmo\Timestampable(on="create")
*
* @ORM\Column(name="insert_date", type="datetime", nullable=false)
*/
@@ -77,6 +79,11 @@ class TrackEAttemptRecording
*/
protected $sessionId;
+ public function __construct()
+ {
+ $this->sessionId = 0;
+ }
+
/**
* Set exeId.
*
diff --git a/src/CourseBundle/Entity/CQuiz.php b/src/CourseBundle/Entity/CQuiz.php
index 66cfa02508..5f60b97109 100644
--- a/src/CourseBundle/Entity/CQuiz.php
+++ b/src/CourseBundle/Entity/CQuiz.php
@@ -250,7 +250,7 @@ class CQuiz extends AbstractResource implements ResourceInterface
protected $autoLaunch;
/**
- * @var int
+ * @var array
*
* @ORM\Column(name="page_result_configuration", type="array", nullable=true)
*/
@@ -955,12 +955,12 @@ class CQuiz extends AbstractResource implements ResourceInterface
return $this;
}
- public function getPageResultConfiguration(): int
+ public function getPageResultConfiguration(): array
{
return $this->pageResultConfiguration;
}
- public function setPageResultConfiguration(int $pageResultConfiguration): self
+ public function setPageResultConfiguration($pageResultConfiguration): self
{
$this->pageResultConfiguration = $pageResultConfiguration;
diff --git a/src/CourseBundle/Entity/CQuizQuestionCategory.php b/src/CourseBundle/Entity/CQuizQuestionCategory.php
index 0d7a90cd4e..35526860e0 100644
--- a/src/CourseBundle/Entity/CQuizQuestionCategory.php
+++ b/src/CourseBundle/Entity/CQuizQuestionCategory.php
@@ -191,21 +191,21 @@ class CQuizQuestionCategory extends AbstractResource implements ResourceInterfac
}
/**
- * @return CQuizQuestionCategory[]
+ * @return CQuizQuestion[]|Collection
*/
- public function getQuestionCategories()
+ public function getQuestions()
{
- return $this->questionCategories;
+ return $this->questions;
}
/**
- * @param CQuizQuestionCategory[] $questionCategories
+ * @param CQuizQuestion[]|Collection $questions
*
* @return CQuizQuestionCategory
*/
- public function setQuestionCategories($questionCategories): self
+ public function setQuestions($questions)
{
- $this->questionCategories = $questionCategories;
+ $this->questions = $questions;
return $this;
}