Internal: Legacy code: Use id with iid

pull/3466/head
Julio Montoya 5 years ago
parent 60861c9421
commit 3452595a57
  1. 6
      public/main/exercise/TestCategory.php
  2. 14
      public/main/exercise/admin.php
  3. 3
      public/main/exercise/answer.class.php
  4. 207
      public/main/exercise/exercise.class.php
  5. 8
      public/main/exercise/exercise_admin.php
  6. 30
      public/main/exercise/exercise_reminder.php
  7. 74
      public/main/exercise/question.class.php
  8. 7
      public/main/inc/lib/AnnouncementManager.php
  9. 5
      public/main/inc/lib/add_course.lib.inc.php
  10. 12
      public/main/inc/lib/agenda.lib.php
  11. 85
      public/main/inc/lib/attendance.lib.php
  12. 12
      public/main/inc/lib/course.lib.php
  13. 13
      public/main/inc/lib/course_description.lib.php
  14. 7
      public/main/inc/lib/document.lib.php
  15. 4
      public/main/inc/lib/fileUpload.lib.php
  16. 3
      public/main/inc/lib/groupmanager.lib.php
  17. 41
      public/main/lp/learnpath.class.php
  18. 15
      public/main/lp/lp_list.php
  19. 152
      public/main/work/work.lib.php

@ -145,7 +145,7 @@ class TestCategory
$table = Database::get_course_table(TABLE_QUIZ_QUESTION_REL_CATEGORY);
$sql = "SELECT category_id
FROM $table
WHERE question_id = $questionId AND c_id = $courseId";
WHERE question_id = $questionId ";
$res = Database::query($sql);
$result = 0;
if (Database::num_rows($res) > 0) {
@ -503,7 +503,6 @@ class TestCategory
public static function getNumberMaxQuestionByCat($exerciseId)
{
$res_num_max = 0;
// foreach question
$categories = self::getListOfCategoriesIDForTest($exerciseId);
foreach ($categories as $category) {
if (empty($category['id'])) {
@ -721,7 +720,7 @@ class TestCategory
* @param int $categoryId
* @param int $questionId
* @param int $courseId
*
* @deprecated use entities
* @return string|false
*/
public static function addCategoryToQuestion($categoryId, $questionId, $courseId)
@ -733,6 +732,7 @@ class TestCategory
$questionId > 0 &&
$courseId > 0
) {
$sql = "INSERT INTO $table (c_id, question_id, category_id)
VALUES (".(int) $courseId.', '.(int) $questionId.', '.(int) $categoryId.')';
Database::query($sql);

@ -213,7 +213,7 @@ if ($cancelQuestion) {
}
}
if (!empty($clone_question) && !empty($objExercise->id)) {
if (!empty($clone_question) && !empty($objExercise->getId())) {
$old_question_obj = Question::read($clone_question);
$old_question_obj->question = $old_question_obj->question.' - '.get_lang('Copy');
@ -232,11 +232,11 @@ if (!empty($clone_question) && !empty($objExercise->id)) {
$new_answer_obj->duplicate($new_question_obj);
// Reloading tne $objExercise obj
$objExercise->read($objExercise->id, false);
$objExercise->read($objExercise->getId(), false);
Display::addFlash(Display::return_message(get_lang('Item copied')));
header('Location: admin.php?'.api_get_cidreq().'&id='.$objExercise->id.'&page='.$page);
header('Location: admin.php?'.api_get_cidreq().'&id='.$objExercise->getId().'&page='.$page);
exit;
}
@ -263,7 +263,7 @@ if (api_is_in_gradebook()) {
$interbreadcrumb[] = ['url' => 'exercise.php?'.api_get_cidreq(), 'name' => get_lang('Tests')];
if (isset($_GET['newQuestion']) || isset($_GET['editQuestion'])) {
$interbreadcrumb[] = [
'url' => 'admin.php?id='.$objExercise->id.'&'.api_get_cidreq(),
'url' => 'admin.php?id='.$objExercise->getId().'&'.api_get_cidreq(),
'name' => $objExercise->selectTitle(true),
];
} else {
@ -321,15 +321,15 @@ if ($inATest) {
echo '<a href="'.api_get_path(WEB_CODE_PATH).'exercise/exercise.php?'.api_get_cidreq().'">'.
Display::return_icon('back.png', get_lang('BackToTestsList'), '', ICON_SIZE_MEDIUM).'</a>';
}
echo '<a href="'.api_get_path(WEB_CODE_PATH).'exercise/overview.php?'.api_get_cidreq().'&exerciseId='.$objExercise->id.'&preview=1">'.
echo '<a href="'.api_get_path(WEB_CODE_PATH).'exercise/overview.php?'.api_get_cidreq().'&id='.$objExercise->getId().'&preview=1">'.
Display::return_icon('preview_view.png', get_lang('Preview'), '', ICON_SIZE_MEDIUM).'</a>';
echo Display::url(
Display::return_icon('test_results.png', get_lang('Results and feedback'), '', ICON_SIZE_MEDIUM),
api_get_path(WEB_CODE_PATH).'exercise/exercise_report.php?'.api_get_cidreq().'&id='.$objExercise->id
api_get_path(WEB_CODE_PATH).'exercise/exercise_report.php?'.api_get_cidreq().'&id='.$objExercise->getId()
);
echo '<a href="'.api_get_path(WEB_CODE_PATH).'exercise/exercise_admin.php?'.api_get_cidreq().'&modifyExercise=yes&id='.$objExercise->id.'">'.
echo '<a href="'.api_get_path(WEB_CODE_PATH).'exercise/exercise_admin.php?'.api_get_cidreq().'&modifyExercise=yes&id='.$objExercise->getId().'">'.
Display::return_icon('settings.png', get_lang('Edit test name and settings'), '', ICON_SIZE_MEDIUM).'</a>';
$maxScoreAllQuestions = 0;

@ -505,7 +505,7 @@ class Answer
{
$table = Database::get_course_table(TABLE_QUIZ_QUESTION);
$sql = "SELECT type FROM $table
WHERE c_id = {$this->course_id} AND id = '".$this->questionId."'";
WHERE c_id = {$this->course_id} AND iid = '".$this->questionId."'";
$res = Database::query($sql);
if (Database::num_rows($res) <= 0) {
return null;
@ -735,7 +735,6 @@ class Answer
if ($iid) {
$quizAnswer
->setId($iid)
->setIdAuto($iid);
$questionType = $this->getQuestionType();

@ -171,13 +171,12 @@ class Exercise
}
$sql = "SELECT * FROM $table
WHERE c_id = ".$this->course_id.' AND iid = '.$id;
WHERE iid = $id";
$result = Database::query($sql);
// if the exercise has been found
if ($object = Database::fetch_object($result)) {
$this->iId = $object->iid;
$this->id = $id;
$this->id = $this->iId = $object->iid;
$this->exercise = $object->title;
$this->name = $object->title;
$this->title = $object->title;
@ -281,14 +280,19 @@ class Exercise
/**
* returns the exercise ID.
*
* @deprecated
* @author Olivier Brouckaert
*
* @return int - exercise ID
*/
public function selectId()
{
return $this->id;
return $this->iId;
}
public function getId()
{
return (int) $this->iId;
}
/**
@ -641,9 +645,9 @@ class Exercise
$whereCondition = [],
$extraFields = []
) {
if (!empty($this->id)) {
if (!empty($this->getId())) {
$category_list = TestCategory::getListOfCategoriesNameForTest(
$this->id,
$this->getId(),
false
);
$TBL_EXERCICE_QUESTION = Database::get_course_table(TABLE_QUIZ_TEST_QUESTION);
@ -652,8 +656,8 @@ class Exercise
$sql = "SELECT q.iid
FROM $TBL_EXERCICE_QUESTION e
INNER JOIN $TBL_QUESTIONS q
ON (e.question_id = q.id AND e.c_id = ".$this->course_id." )
WHERE e.exercice_id = '".$this->id."' ";
ON (e.question_id = q.iid AND e.c_id = ".$this->course_id." )
WHERE e.exercice_id = '".$this->getId()."' ";
$orderCondition = ' ORDER BY question_order ';
@ -748,13 +752,13 @@ class Exercise
{
$TBL_EXERCICE_QUESTION = Database::get_course_table(TABLE_QUIZ_TEST_QUESTION);
$TBL_QUESTIONS = Database::get_course_table(TABLE_QUIZ_QUESTION);
$sql = "SELECT count(q.id) as count
$sql = "SELECT count(q.iid) as count
FROM $TBL_EXERCICE_QUESTION e
INNER JOIN $TBL_QUESTIONS q
ON (e.question_id = q.id AND e.c_id = q.c_id)
ON (e.question_id = q.iid AND e.c_id = q.c_id)
WHERE
e.c_id = {$this->course_id} AND
e.exercice_id = ".$this->id;
e.exercice_id = ".$this->getId();
$result = Database::query($sql);
$count = 0;
@ -771,7 +775,7 @@ class Exercise
*/
public function getQuestionOrderedListByName()
{
if (empty($this->course_id) || empty($this->id)) {
if (empty($this->course_id) || empty($this->getId())) {
return [];
}
@ -782,10 +786,10 @@ class Exercise
$sql = "SELECT e.question_id
FROM $exerciseQuestionTable e
INNER JOIN $questionTable q
ON (e.question_id= q.id AND e.c_id = q.c_id)
ON (e.question_id= q.iid AND e.c_id = q.c_id)
WHERE
e.c_id = {$this->course_id} AND
e.exercice_id = '".$this->id."'
e.exercice_id = '".$this->getId()."'
ORDER BY q.question";
$result = Database::query($sql);
$list = [];
@ -833,7 +837,7 @@ class Exercise
);
$questions_by_category = TestCategory::getQuestionsByCat(
$this->id,
$this->getId(),
$question_list,
$categoriesAddedInExercise
);
@ -857,7 +861,7 @@ class Exercise
true
);
$questions_by_category = TestCategory::getQuestionsByCat(
$this->id,
$this->getId(),
$question_list,
$categoriesAddedInExercise
);
@ -879,7 +883,7 @@ class Exercise
true
);
$questions_by_category = TestCategory::getQuestionsByCat(
$this->id,
$this->getId(),
$question_list,
$categoriesAddedInExercise
);
@ -903,7 +907,7 @@ class Exercise
);
$questions_by_category = TestCategory::getQuestionsByCat(
$this->id,
$this->getId(),
$question_list,
$categoriesAddedInExercise
);
@ -930,7 +934,7 @@ class Exercise
true
);
$questions_by_category = TestCategory::getQuestionsByCat(
$this->id,
$this->getId(),
$question_list,
$categoriesAddedInExercise
);
@ -952,7 +956,7 @@ class Exercise
true
);
$questions_by_category = TestCategory::getQuestionsByCat(
$this->id,
$this->getId(),
$question_list,
$categoriesAddedInExercise
);
@ -1051,7 +1055,7 @@ class Exercise
*/
public function selectQuestionList($fromDatabase = false, $adminView = false)
{
if ($fromDatabase && !empty($this->id)) {
if ($fromDatabase && !empty($this->getId())) {
$nbQuestions = $this->getQuestionCount();
$questionSelectionType = $this->getQuestionSelectionType();
@ -1150,10 +1154,10 @@ class Exercise
$sql = "SELECT e.question_id
FROM $quizRelQuestion e
INNER JOIN $question q
ON (e.question_id= q.id AND e.c_id = q.c_id)
ON (e.question_id= q.iid AND e.c_id = q.c_id)
WHERE
e.c_id = {$this->course_id} AND
e.exercice_id = '".Database::escape_string($this->id)."'
e.exercice_id = '".$this->getId()."'
$randomLimit ";
$result = Database::query($sql);
$questionList = [];
@ -1196,14 +1200,14 @@ class Exercise
$TBL_EXERCICE_QUESTION = Database::get_course_table(TABLE_QUIZ_TEST_QUESTION);
$TBL_QUESTIONS = Database::get_course_table(TABLE_QUIZ_QUESTION);
$sql = "SELECT q.id
$sql = "SELECT q.iid
FROM $TBL_EXERCICE_QUESTION e
INNER JOIN $TBL_QUESTIONS q
ON (e.question_id = q.id AND e.c_id = q.c_id)
ON (e.question_id = q.iid AND e.c_id = q.c_id)
WHERE
q.id = $questionId AND
q.iid = $questionId AND
e.c_id = {$this->course_id} AND
e.exercice_id = ".$this->id;
e.exercice_id = ".$this->getId();
$result = Database::query($sql);
@ -1220,14 +1224,14 @@ class Exercise
$table = Database::get_course_table(TABLE_QUIZ_TEST_QUESTION);
$tableQuestion = Database::get_course_table(TABLE_QUIZ_QUESTION);
$sql = "SELECT q.id
$sql = "SELECT q.iid
FROM $table e
INNER JOIN $tableQuestion q
ON (e.question_id = q.id AND e.c_id = q.c_id)
ON (e.question_id = q.iid AND e.c_id = q.c_id)
WHERE
q.type NOT IN ('$questionTypeToString') AND
e.c_id = {$this->course_id} AND
e.exercice_id = ".$this->id;
e.exercice_id = ".$this->getId();
$result = Database::query($sql);
@ -1418,7 +1422,9 @@ class Exercise
global $audioPath, $documentPath;
$TBL_DOCUMENT = Database::get_course_table(TABLE_DOCUMENT);
if ($sound['size'] && (strstr($sound['type'], 'audio') || strstr($sound['type'], 'video'))) {
if ($sound['size'] &&
(strstr($sound['type'], 'audio') || strstr($sound['type'], 'video'))
) {
$this->sound = $sound['name'];
if (@move_uploaded_file($sound['tmp_name'], $audioPath.'/'.$this->sound)) {
@ -1534,7 +1540,7 @@ class Exercise
{
$TBL_EXERCISES = Database::get_course_table(TABLE_QUIZ_TEST);
$id = $this->id;
$id = $this->getId();
$title = $this->exercise;
$description = $this->description;
$sound = $this->sound;
@ -1680,9 +1686,7 @@ class Exercise
// Fixes #3483 when updating order
$questionList = $this->selectQuestionList(true);
$this->id = (int) $this->id;
if (empty($this->id)) {
if (empty($this->getId())) {
return false;
}
@ -1695,7 +1699,7 @@ class Exercise
WHERE
c_id = ".$this->course_id.' AND
question_id = '.$questionId.' AND
exercice_id='.$this->id;
exercice_id='.$this->getId();
Database::query($sql);
}
}
@ -2076,7 +2080,7 @@ class Exercise
'<div id="hidden_random" style="display:'.$displayRandom.'">'
);
// Number of random question.
$max = $this->id > 0 ? $this->getQuestionCount() : 10;
$max = $this->getId() > 0 ? $this->getQuestionCount() : 10;
$option = range(0, $max);
$option[0] = get_lang('No');
$option[-1] = get_lang('All');
@ -2308,7 +2312,7 @@ class Exercise
$filter = [
'c_id' => api_get_course_int_id(),
'field_id' => $specific_field['id'],
'ref_id' => $this->id,
'ref_id' => $this->getId(),
'tool_id' => "'".TOOL_QUIZ."'",
];
$values = get_specific_field_values_list($filter, ['value']);
@ -2355,7 +2359,7 @@ class Exercise
$form->addRule('start_time', get_lang('Invalid date'), 'datetime');
$form->addRule('end_time', get_lang('Invalid date'), 'datetime');
if ($this->id > 0) {
if ($this->getId() > 0) {
$defaults['randomQuestions'] = $this->random;
$defaults['randomAnswers'] = $this->getRandomAnswers();
$defaults['exerciseType'] = $this->selectType();
@ -2430,7 +2434,7 @@ class Exercise
$form->setDefaults($defaults);
// Freeze some elements.
if (0 != $this->id && false == $this->edit_exercise_in_lp) {
if (0 != $this->getId() && false == $this->edit_exercise_in_lp) {
$elementsToFreeze = [
'randomQuestions',
//'randomByCat',
@ -2614,7 +2618,7 @@ class Exercise
WHERE
c_id = $courseId AND
item_type = 'quiz' AND
path = '".$this->id."'
path = '".$this->getId()."'
";
$result = Database::query($sql);
$items = Database::store_result($result);
@ -2660,7 +2664,7 @@ class Exercise
$sterms = explode(',', $sterms);
foreach ($sterms as $sterm) {
$ic_slide->addTerm(trim($sterm), $specific_field['code']);
add_specific_field_value($specific_field['id'], $course_id, TOOL_QUIZ, $this->id, $sterm);
add_specific_field_value($specific_field['id'], $course_id, TOOL_QUIZ, $this->getId(), $sterm);
}
}
}
@ -2673,7 +2677,7 @@ class Exercise
$xapian_data = [
SE_COURSE_ID => $course_id,
SE_TOOL_ID => TOOL_QUIZ,
SE_DATA => ['type' => SE_DOCTYPE_EXERCISE_EXERCISE, 'exercise_id' => (int) $this->id],
SE_DATA => ['type' => SE_DOCTYPE_EXERCISE_EXERCISE, 'exercise_id' => (int) $this->getId()],
SE_USER => (int) api_get_user_id(),
];
$ic_slide->xapian_data = serialize($xapian_data);
@ -2692,7 +2696,7 @@ class Exercise
$tbl_se_ref = Database::get_main_table(TABLE_MAIN_SEARCH_ENGINE_REF);
$sql = 'INSERT INTO %s (id, course_code, tool_id, ref_id_high_level, search_did)
VALUES (NULL , \'%s\', \'%s\', %s, %s)';
$sql = sprintf($sql, $tbl_se_ref, $course_id, TOOL_QUIZ, $this->id, $did);
$sql = sprintf($sql, $tbl_se_ref, $course_id, TOOL_QUIZ, $this->getId(), $did);
Database::query($sql);
}
}
@ -2708,7 +2712,7 @@ class Exercise
// get search_did
$tbl_se_ref = Database::get_main_table(TABLE_MAIN_SEARCH_ENGINE_REF);
$sql = 'SELECT * FROM %s WHERE course_code=\'%s\' AND tool_id=\'%s\' AND ref_id_high_level=%s LIMIT 1';
$sql = sprintf($sql, $tbl_se_ref, $course_id, TOOL_QUIZ, $this->id);
$sql = sprintf($sql, $tbl_se_ref, $course_id, TOOL_QUIZ, $this->getId());
$res = Database::query($sql);
if (Database::num_rows($res) > 0) {
@ -2720,14 +2724,14 @@ class Exercise
$all_specific_terms = '';
foreach ($specific_fields as $specific_field) {
delete_all_specific_field_value($course_id, $specific_field['id'], TOOL_QUIZ, $this->id);
delete_all_specific_field_value($course_id, $specific_field['id'], TOOL_QUIZ, $this->getId());
if (isset($_REQUEST[$specific_field['code']])) {
$sterms = trim($_REQUEST[$specific_field['code']]);
$all_specific_terms .= ' '.$sterms;
$sterms = explode(',', $sterms);
foreach ($sterms as $sterm) {
$ic_slide->addTerm(trim($sterm), $specific_field['code']);
add_specific_field_value($specific_field['id'], $course_id, TOOL_QUIZ, $this->id, $sterm);
add_specific_field_value($specific_field['id'], $course_id, TOOL_QUIZ, $this->getId(), $sterm);
}
}
}
@ -2739,7 +2743,7 @@ class Exercise
$xapian_data = [
SE_COURSE_ID => $course_id,
SE_TOOL_ID => TOOL_QUIZ,
SE_DATA => ['type' => SE_DOCTYPE_EXERCISE_EXERCISE, 'exercise_id' => (int) $this->id],
SE_DATA => ['type' => SE_DOCTYPE_EXERCISE_EXERCISE, 'exercise_id' => (int) $this->getId()],
SE_USER => (int) api_get_user_id(),
];
$ic_slide->xapian_data = serialize($xapian_data);
@ -2757,11 +2761,11 @@ class Exercise
if ($did) {
// save it to db
$sql = 'DELETE FROM %s WHERE course_code=\'%s\' AND tool_id=\'%s\' AND ref_id_high_level=\'%s\'';
$sql = sprintf($sql, $tbl_se_ref, $course_id, TOOL_QUIZ, $this->id);
$sql = sprintf($sql, $tbl_se_ref, $course_id, TOOL_QUIZ, $this->getId());
Database::query($sql);
$sql = 'INSERT INTO %s (id, course_code, tool_id, ref_id_high_level, search_did)
VALUES (NULL , \'%s\', \'%s\', %s, %s)';
$sql = sprintf($sql, $tbl_se_ref, $course_id, TOOL_QUIZ, $this->id, $did);
$sql = sprintf($sql, $tbl_se_ref, $course_id, TOOL_QUIZ, $this->getId(), $did);
Database::query($sql);
}
} else {
@ -2779,7 +2783,7 @@ class Exercise
$sql = 'SELECT * FROM %s
WHERE course_code=\'%s\' AND tool_id=\'%s\' AND ref_id_high_level=%s AND ref_id_second_level IS NULL
LIMIT 1';
$sql = sprintf($sql, $tbl_se_ref, $course_id, TOOL_QUIZ, $this->id);
$sql = sprintf($sql, $tbl_se_ref, $course_id, TOOL_QUIZ, $this->getId());
$res = Database::query($sql);
if (Database::num_rows($res) > 0) {
$row = Database::fetch_array($res);
@ -2795,7 +2799,7 @@ class Exercise
$qrow = Database::fetch_array($qres);
$objQuestion = Question::getInstance($qrow['type']);
$objQuestion = Question::read((int) $question_i);
$objQuestion->search_engine_edit($this->id, false, true);
$objQuestion->search_engine_edit($this->getId(), false, true);
unset($objQuestion);
}
}
@ -2803,12 +2807,12 @@ class Exercise
$sql = 'DELETE FROM %s
WHERE course_code=\'%s\' AND tool_id=\'%s\' AND ref_id_high_level=%s AND ref_id_second_level IS NULL
LIMIT 1';
$sql = sprintf($sql, $tbl_se_ref, $course_id, TOOL_QUIZ, $this->id);
$sql = sprintf($sql, $tbl_se_ref, $course_id, TOOL_QUIZ, $this->getId());
Database::query($sql);
// remove terms from db
require_once api_get_path(LIBRARY_PATH).'specific_fields_manager.lib.php';
delete_all_values_for_item($course_id, TOOL_QUIZ, $this->id);
delete_all_values_for_item($course_id, TOOL_QUIZ, $this->getId());
}
}
@ -2858,7 +2862,7 @@ class Exercise
FROM $table_track_e_exercises
WHERE
c_id = ".api_get_course_int_id().' AND
exe_exo_id = '.$this->id.' AND
exe_exo_id = '.$this->getId().' AND
session_id = '.$sessionId.' '.
$sql_where;
@ -2881,16 +2885,16 @@ class Exercise
$sql = "DELETE FROM $table_track_e_exercises
WHERE
c_id = ".api_get_course_int_id().' AND
exe_exo_id = '.$this->id." $sql_where AND
exe_exo_id = '.$this->getId()." $sql_where AND
session_id = ".$sessionId;
Database::query($sql);
$this->generateStats($this->id, api_get_course_info(), $sessionId);
$this->generateStats($this->getId(), api_get_course_info(), $sessionId);
Event::addEvent(
LOG_EXERCISE_RESULT_DELETE,
LOG_EXERCISE_ID,
$this->id,
$this->getId(),
null,
null,
api_get_course_int_id(),
@ -2916,7 +2920,7 @@ class Exercise
$exerciseObject->updateId(0);
$exerciseObject->sessionId = api_get_session_id();
$exerciseObject->save();
$newId = $exerciseObject->selectId();
$newId = $exerciseObject->getId();
if ($newId && !empty($questionList)) {
// Question creation
foreach ($questionList as $oldQuestionId) {
@ -2981,7 +2985,7 @@ class Exercise
if (empty($lp_item_view_id)) {
$lp_item_view_id = 0;
}
$condition = ' WHERE exe_exo_id = '."'".$this->id."'".' AND
$condition = ' WHERE exe_exo_id = '."'".$this->getId()."'".' AND
exe_user_id = '."'".api_get_user_id()."'".' AND
c_id = '.api_get_course_int_id().' AND
status = '."'".Database::escape_string($status)."'".' AND
@ -3034,7 +3038,7 @@ class Exercise
$questionList = array_map('intval', $questionList);
$params = [
'exe_exo_id' => $this->id,
'exe_exo_id' => $this->getId(),
'exe_user_id' => api_get_user_id(),
'c_id' => api_get_course_int_id(),
'status' => 'incomplete',
@ -3096,7 +3100,7 @@ class Exercise
'nbrQuestions' => $nbrQuestions,
'num' => $questionNum,
'exerciseType' => $this->type,
'exerciseId' => $this->id,
'exerciseId' => $this->getId(),
'reminder' => empty($myRemindList) ? null : 2,
]);
@ -3521,7 +3525,7 @@ class Exercise
$objQuestionTmp->initFile(
api_get_session_id(),
isset($exe_info['exe_user_id']) ? $exe_info['exe_user_id'] : api_get_user_id(),
isset($exe_info['exe_exo_id']) ? $exe_info['exe_exo_id'] : $this->id,
isset($exe_info['exe_exo_id']) ? $exe_info['exe_exo_id'] : $this->getId(),
isset($exe_info['exe_id']) ? $exe_info['exe_id'] : $exeId
);
@ -5638,7 +5642,7 @@ class Exercise
$(function() {
new HotspotQuestion({
questionId: $questionId,
exerciseId: {$this->id},
exerciseId: {$this->getId()},
exeId: $exeId,
selector: '#hotspot-solution-$questionId',
for: 'solution',
@ -5711,7 +5715,7 @@ class Exercise
$quesId,
$exeId,
$i,
$this->id,
$this->getId(),
$updateResults
);
}
@ -5722,7 +5726,7 @@ class Exercise
$quesId,
$exeId,
$i,
$this->id,
$this->getId(),
$updateResults
);
}
@ -5737,7 +5741,7 @@ class Exercise
$quesId,
$exeId,
0,
$this->id
$this->getId()
);
}
} elseif (MULTIPLE_ANSWER == $answerType || GLOBAL_MULTIPLE_ANSWER == $answerType) {
@ -5745,17 +5749,17 @@ class Exercise
$reply = array_keys($choice);
for ($i = 0; $i < count($reply); $i++) {
$ans = $reply[$i];
Event::saveQuestionAttempt($questionScore, $ans, $quesId, $exeId, $i, $this->id);
Event::saveQuestionAttempt($questionScore, $ans, $quesId, $exeId, $i, $this->getId());
}
} else {
Event::saveQuestionAttempt($questionScore, 0, $quesId, $exeId, 0, $this->id);
Event::saveQuestionAttempt($questionScore, 0, $quesId, $exeId, 0, $this->getId());
}
} elseif (MULTIPLE_ANSWER_COMBINATION == $answerType) {
if (0 != $choice) {
$reply = array_keys($choice);
for ($i = 0; $i < count($reply); $i++) {
$ans = $reply[$i];
Event::saveQuestionAttempt($questionScore, $ans, $quesId, $exeId, $i, $this->id);
Event::saveQuestionAttempt($questionScore, $ans, $quesId, $exeId, $i, $this->getId());
}
} else {
Event::saveQuestionAttempt(
@ -5764,7 +5768,7 @@ class Exercise
$quesId,
$exeId,
0,
$this->id
$this->getId()
);
}
} elseif (in_array($answerType, [MATCHING, DRAGGABLE, MATCHING_DRAGGABLE])) {
@ -5776,7 +5780,7 @@ class Exercise
$quesId,
$exeId,
$j,
$this->id
$this->getId()
);
}
}
@ -5788,7 +5792,7 @@ class Exercise
$quesId,
$exeId,
0,
$this->id
$this->getId()
);
} elseif (ORAL_EXPRESSION == $answerType) {
$answer = $choice;
@ -5798,7 +5802,7 @@ class Exercise
$quesId,
$exeId,
0,
$this->id,
$this->getId(),
false,
$objQuestionTmp->getAbsoluteFilePath()
);
@ -5809,7 +5813,7 @@ class Exercise
)
) {
$answer = $choice;
Event::saveQuestionAttempt($questionScore, $answer, $quesId, $exeId, 0, $this->id);
Event::saveQuestionAttempt($questionScore, $answer, $quesId, $exeId, 0, $this->getId());
} elseif (HOT_SPOT == $answerType || ANNOTATION == $answerType) {
$answer = [];
if (isset($exerciseResultCoordinates[$questionId]) && !empty($exerciseResultCoordinates[$questionId])) {
@ -5840,7 +5844,7 @@ class Exercise
$hotspotValue,
$val,
false,
$this->id
$this->getId()
);
}
} else {
@ -5848,9 +5852,9 @@ class Exercise
error_log('Empty: exerciseResultCoordinates');
}
}
Event::saveQuestionAttempt($questionScore, implode('|', $answer), $quesId, $exeId, 0, $this->id);
Event::saveQuestionAttempt($questionScore, implode('|', $answer), $quesId, $exeId, 0, $this->getId());
} else {
Event::saveQuestionAttempt($questionScore, $answer, $quesId, $exeId, 0, $this->id);
Event::saveQuestionAttempt($questionScore, $answer, $quesId, $exeId, 0, $this->getId());
}
}
@ -6452,7 +6456,7 @@ class Exercise
if ($exerciseAttempts > 0) {
$attemptCount = Event::get_attempt_count_not_finished(
api_get_user_id(),
$this->id,
$this->getId(),
$lpId,
$lpItemId,
$lpItemViewId
@ -6492,7 +6496,7 @@ class Exercise
WHERE
c_id = {$this->course_id} AND
item_type = '".TOOL_QUIZ."' AND
path = '{$this->id}'";
path = '{$this->getId()}'";
$result = Database::query($sql);
if (Database::num_rows($result) > 0) {
return true;
@ -6700,7 +6704,7 @@ class Exercise
// key of $tabCategoryQuestions are the categopy id (0 for not in a category)
// value is the array of question id of this category
$questionList = [];
$tabCategoryQuestions = TestCategory::getQuestionsByCat($this->id);
$tabCategoryQuestions = TestCategory::getQuestionsByCat($this->getId());
$isRandomByCategory = $this->getRandomByCategory();
// We sort categories based on the term between [] in the head
// of the category's description
@ -6995,9 +6999,9 @@ class Exercise
public function getCategoriesInExercise()
{
$table = Database::get_course_table(TABLE_QUIZ_REL_CATEGORY);
if (!empty($this->id)) {
if (!empty($this->getId())) {
$sql = "SELECT * FROM $table
WHERE exercise_id = {$this->id} AND c_id = {$this->course_id} ";
WHERE exercise_id = {$this->getId()} AND c_id = {$this->course_id} ";
$result = Database::query($sql);
$list = [];
if (Database::num_rows($result)) {
@ -7020,10 +7024,10 @@ class Exercise
public function getNumberQuestionExerciseCategory()
{
$table = Database::get_course_table(TABLE_QUIZ_REL_CATEGORY);
if (!empty($this->id)) {
if (!empty($this->getId())) {
$sql = "SELECT SUM(count_questions) count_questions
FROM $table
WHERE exercise_id = {$this->id} AND c_id = {$this->course_id}";
WHERE exercise_id = {$this->getId()} AND c_id = {$this->course_id}";
$result = Database::query($sql);
if (Database::num_rows($result)) {
$row = Database::fetch_array($result);
@ -7042,16 +7046,16 @@ class Exercise
*/
public function save_categories_in_exercise($categories)
{
if (!empty($categories) && !empty($this->id)) {
if (!empty($categories) && !empty($this->getId())) {
$table = Database::get_course_table(TABLE_QUIZ_REL_CATEGORY);
$sql = "DELETE FROM $table
WHERE exercise_id = {$this->id} AND c_id = {$this->course_id}";
WHERE exercise_id = {$this->getId()} AND c_id = {$this->course_id}";
Database::query($sql);
if (!empty($categories)) {
foreach ($categories as $categoryId => $countQuestions) {
$params = [
'c_id' => $this->course_id,
'exercise_id' => $this->id,
'exercise_id' => $this->getId(),
'category_id' => $categoryId,
'count_questions' => $countQuestions,
];
@ -7594,14 +7598,14 @@ class Exercise
$sql = "SELECT DISTINCT cat.*
FROM $TBL_EXERCICE_QUESTION e
INNER JOIN $TBL_QUESTIONS q
ON (e.question_id = q.id AND e.c_id = q.c_id)
ON (e.question_id = q.iid AND e.c_id = q.c_id)
INNER JOIN $categoryRelTable catRel
ON (catRel.question_id = e.question_id AND catRel.c_id = e.c_id)
INNER JOIN $categoryTable cat
ON (cat.id = catRel.category_id AND cat.c_id = e.c_id)
WHERE
e.c_id = {$this->course_id} AND
e.exercice_id = ".(int) ($this->id);
e.exercice_id = ".(int) ($this->getId());
$result = Database::query($sql);
$categoriesInExercise = [];
@ -7762,7 +7766,8 @@ class Exercise
$track_exercises = Database::get_main_table(TABLE_STATISTIC_TRACK_E_EXERCISES);
if (0 != $sessionId) {
$sql = "SELECT * FROM $track_exercises te
INNER JOIN c_quiz cq ON cq.id = te.exe_exo_id AND te.c_id = cq.c_id
INNER JOIN c_quiz cq
ON cq.id = te.exe_exo_id AND te.c_id = cq.c_id
WHERE
te.id = %s AND
te.session_id = %s AND
@ -7914,7 +7919,7 @@ class Exercise
{
$attempts = Event::getExerciseResultsByUser(
api_get_user_id(),
$this->id,
$this->getId(),
api_get_course_int_id(),
api_get_session_id(),
$learnPathId,
@ -8279,7 +8284,7 @@ class Exercise
ON (e.question_id = q.iid AND e.c_id = q.c_id)
WHERE
e.c_id = {$this->course_id} AND
e.exercice_id = '".$this->id."'
e.exercice_id = '".$this->getId()."'
ORDER BY question_order
LIMIT $start, $length
";
@ -8405,7 +8410,7 @@ class Exercise
$em = Database::getManager();
$links = AbstractLink::getGradebookLinksFromItem(
$this->id,
$this->getId(),
LINK_EXERCISE,
$courseInfo['code'],
$sessionId
@ -9392,7 +9397,7 @@ class Exercise
$(function() {
new HotspotQuestion({
questionId: $questionId,
exerciseId: {$this->id},
exerciseId: {$this->getId()},
exeId: $id,
selector: '#hotspot-solution',
for: 'solution',
@ -9693,10 +9698,10 @@ class Exercise
$sql = "SELECT DISTINCT count(e.question_order) as count
FROM $TBL_EXERCICE_QUESTION e
INNER JOIN $TBL_QUESTIONS q
ON (e.question_id = q.id AND e.c_id = q.c_id)
ON (e.question_id = q.iid AND e.c_id = q.c_id)
WHERE
e.c_id = {$this->course_id} AND
e.exercice_id = ".$this->id;
e.exercice_id = ".$this->getId();
$result = Database::query($sql);
$row = Database::fetch_array($result);
@ -9706,10 +9711,10 @@ class Exercise
$sql = "SELECT DISTINCT e.question_id, e.question_order
FROM $TBL_EXERCICE_QUESTION e
INNER JOIN $TBL_QUESTIONS q
ON (e.question_id = q.id AND e.c_id = q.c_id)
ON (e.question_id = q.iid AND e.c_id = q.c_id)
WHERE
e.c_id = {$this->course_id} AND
e.exercice_id = '".$this->id."'
e.exercice_id = '".$this->getId()."'
ORDER BY question_order";
$result = Database::query($sql);
@ -9827,7 +9832,7 @@ class Exercise
*/
private function updateId($id)
{
$this->id = $id;
$this->iId = $id;
}
/**

@ -158,7 +158,7 @@ if ($form->validate()) {
Display::return_message(get_lang('Test added'), 'success')
);
}
$exercise_id = $objExercise->id;
$exercise_id = $objExercise->getId();
Session::erase('objExercise');
header('Location:admin.php?id='.$exercise_id.'&'.api_get_cidreq());
exit;
@ -175,15 +175,15 @@ if ($form->validate()) {
'name' => get_lang('Tests'),
];
$interbreadcrumb[] = [
'url' => 'admin.php?id='.$objExercise->id.'&'.api_get_cidreq(),
'url' => 'admin.php?id='.$objExercise->getId().'&'.api_get_cidreq(),
'name' => $objExercise->selectTitle(true),
];
Display::display_header($nameTools, get_lang('Test'));
echo '<div class="actions">';
if (0 != $objExercise->id) {
echo '<a href="admin.php?'.api_get_cidreq().'&id='.$objExercise->id.'">'.
if (0 != $objExercise->getId()) {
echo '<a href="admin.php?'.api_get_cidreq().'&id='.$objExercise->getId().'">'.
Display::return_icon('back.png', get_lang('Go back to the questions list'), '', ICON_SIZE_MEDIUM).'</a>';
} else {
if (!empty($_GET['lp_id']) || !empty($_POST['lp_id'])) {

@ -37,7 +37,7 @@ if (!$objExercise) {
$time_control = false;
$clock_expired_time = ExerciseLib::get_session_time_control_key(
$objExercise->id,
$objExercise->getId(),
$learnpath_id,
$learnpath_item_id
);
@ -94,9 +94,9 @@ if (!$hideHeaderAndFooter) {
// I'm in a preview mode as course admin. Display the action menu.
if (api_is_course_admin() && !$hideHeaderAndFooter) {
echo '<div class="actions">';
echo '<a href="admin.php?'.api_get_cidreq().'&exerciseId='.$objExercise->id.'">'.
echo '<a href="admin.php?'.api_get_cidreq().'&exerciseId='.$objExercise->getId().'">'.
Display::return_icon('back.png', get_lang('Go back to the questions list'), [], 32).'</a>';
echo '<a href="exercise_admin.php?'.api_get_cidreq().'&modifyTest=yes&exerciseId='.$objExercise->id.'">'.
echo '<a href="exercise_admin.php?'.api_get_cidreq().'&modifyTest=yes&exerciseId='.$objExercise->getId().'">'.
Display::return_icon('edit.png', get_lang('ModifyTest'), [], 32).'</a>';
echo '</div>';
}
@ -114,24 +114,24 @@ echo '<script>
// Normal inputs
window.location = "'.api_get_path(WEB_CODE_PATH).'exercise/exercise_result.php?'.api_get_cidreq().'&exe_id='.$exe_id.'&" + lp_data;
}
function changeOptionStatus(status)
{
$("input[type=checkbox]").each(function () {
$(this).prop("checked", status);
});
var action = "";
var extraOption = "remove_all";
function changeOptionStatus(status)
{
$("input[type=checkbox]").each(function () {
$(this).prop("checked", status);
});
var action = "";
var extraOption = "remove_all";
if (status == 1) {
extraOption = "add_all";
}
}
$.ajax({
url: "'.api_get_path(WEB_AJAX_PATH).'exercise.ajax.php?'.api_get_cidreq().'&a=add_question_to_reminder",
data: "option="+extraOption+"&exe_id='.$exe_id.'&action="+action,
success: function(returnValue) {
}
});
});
}
function review_questions() {
@ -147,7 +147,7 @@ echo '<script>
$("#message").addClass("warning-message");
$("#message").html("'.addslashes(get_lang('Select a question to revise')).'");
} else {
window.location = "exercise_submit.php?'.api_get_cidreq().'&exerciseId='.$objExercise->id.'&reminder=2&" + lp_data;
window.location = "exercise_submit.php?'.api_get_cidreq().'&exerciseId='.$objExercise->getId().'&reminder=2&" + lp_data;
}
}

@ -149,7 +149,7 @@ abstract class Question
$sql = "SELECT *
FROM $TBL_QUESTIONS
WHERE c_id = $course_id AND id = $id ";
WHERE iid = $id ";
$result = Database::query($sql);
// if the question has been found
@ -176,7 +176,7 @@ abstract class Question
$sql = "SELECT DISTINCT q.exercice_id
FROM $TBL_EXERCISE_QUESTION q
INNER JOIN $tblQuiz e
ON e.c_id = q.c_id AND e.id = q.exercice_id
ON e.c_id = q.c_id AND e.iid = q.exercice_id
WHERE
q.c_id = $course_id AND
q.question_id = $id AND
@ -351,7 +351,7 @@ abstract class Question
*
* @param int $categoryId
* @param int $courseId
*
* @deprecated
* @return bool
*
* @author Hubert Borderiou 12-10-2011
@ -381,12 +381,11 @@ abstract class Question
$sql = "UPDATE $table
SET category_id = $categoryId
WHERE
question_id = $question_id AND
c_id = ".$courseId;
question_id = $question_id ";
Database::query($sql);
} else {
$sql = "INSERT INTO $table (c_id, question_id, category_id)
VALUES (".$courseId.", $question_id, $categoryId)";
$sql = "INSERT INTO $table (question_id, category_id)
VALUES ($question_id, $categoryId)";
Database::query($sql);
}
@ -400,7 +399,7 @@ abstract class Question
* @param int $courseId
* delete any category entry for question id
* delete the category for question
*
* @deprecated
* @return bool
*/
public function deleteCategory($courseId = 0)
@ -413,8 +412,7 @@ abstract class Question
}
$sql = "DELETE FROM $table
WHERE
question_id = $questionId AND
c_id = ".$courseId;
question_id = $questionId";
Database::query($sql);
return true;
@ -534,6 +532,7 @@ abstract class Question
$courseEntity = api_get_course_entity($c_id);
$categoryId = $this->category;
$questionCategoryRepo = Container::getQuestionCategoryRepository();
$questionRepo = Container::getQuestionRepository();
$exerciseRepo = Container::getExerciseRepository();
@ -552,6 +551,11 @@ abstract class Question
->setFeedback($this->feedback)
;
if (!empty($categoryId)) {
$category = $questionCategoryRepo->find($categoryId);
$question->updateCategory($category);
}
$em->persist($question);
$em->flush();
@ -560,7 +564,6 @@ abstract class Question
LOG_QUESTION_ID,
$this->iid
);
$this->saveCategory($categoryId);
if ('true' === api_get_setting('search_enabled')) {
$this->search_engine_edit($exerciseId);
}
@ -570,7 +573,7 @@ abstract class Question
FROM $TBL_QUESTIONS as question,
$TBL_EXERCISE_QUESTION as test_question
WHERE
question.id = test_question.question_id AND
question.iid = test_question.question_id AND
test_question.exercice_id = ".$exerciseId." AND
question.c_id = $c_id AND
test_question.c_id = $c_id ";
@ -606,9 +609,6 @@ abstract class Question
$this->id = $question->getIid();
if ($this->id) {
$sql = "UPDATE $TBL_QUESTIONS SET id = iid WHERE iid = {$this->id}";
Database::query($sql);
Event::addEvent(
LOG_QUESTION_CREATED,
LOG_QUESTION_ID,
@ -640,10 +640,7 @@ abstract class Question
$id = $quizAnswer->getIid();
if ($id) {
$quizAnswer
->setId($id)
->setIdAuto($id);
$quizAnswer->setIdAuto($id);
$em->persist($quizAnswer);
$em->flush();
}
@ -666,10 +663,7 @@ abstract class Question
$id = $quizAnswer->getIid();
if ($id) {
$quizAnswer
->setId($id)
->setIdAuto($id);
$quizAnswer->setIdAuto($id);
$em->persist($quizAnswer);
$em->flush();
}
@ -985,7 +979,7 @@ abstract class Question
Database::query($sql);
$sql = "DELETE FROM $TBL_QUESTIONS
WHERE c_id = $courseId AND id = ".$id;
WHERE c_id = $courseId AND iid = ".$id;
Database::query($sql);
$sql = "DELETE FROM $TBL_REPONSES
@ -1011,7 +1005,7 @@ abstract class Question
LOG_QUESTION_ID,
$this->iid
);
$this->removePicture();
//$this->removePicture();
} else {
// just removes the exercise from the list
$this->removeFromList($deleteFromEx, $courseId);
@ -1097,11 +1091,6 @@ abstract class Question
$newQuestionId = Database::insert($questionTable, $params);
if ($newQuestionId) {
$sql = "UPDATE $questionTable
SET id = iid
WHERE iid = $newQuestionId";
Database::query($sql);
if (!empty($options)) {
// Saving the quiz_options
foreach ($options as $item) {
@ -1109,13 +1098,7 @@ abstract class Question
$item['c_id'] = $course_id;
unset($item['id']);
unset($item['iid']);
$id = Database::insert($TBL_QUESTION_OPTIONS, $item);
if ($id) {
$sql = "UPDATE $TBL_QUESTION_OPTIONS
SET id = iid
WHERE iid = $id";
Database::query($sql);
}
Database::insert($TBL_QUESTION_OPTIONS, $item);
}
}
@ -1595,14 +1578,8 @@ abstract class Question
$params['name'] = $name;
$params['position'] = $position;
$params['c_id'] = $course_id;
$result = self::readQuestionOption($question_id, $course_id);
$last_id = Database::insert($table, $params);
if ($last_id) {
$sql = "UPDATE $table SET id = iid WHERE iid = $last_id";
Database::query($sql);
}
return $last_id;
return Database::insert($table, $params);
}
/**
@ -1637,7 +1614,7 @@ abstract class Question
return Database::update(
$table,
$params,
['c_id = ? AND id = ?' => [$course_id, $id]]
['c_id = ? AND iid = ?' => [$course_id, $id]]
);
}
@ -1661,7 +1638,7 @@ abstract class Question
$question_id,
],
],
'order' => 'id ASC',
'order' => 'iid ASC',
]
);
}
@ -1874,9 +1851,6 @@ abstract class Question
$question_id = Database::insert($tbl_quiz_question, $params);
if ($question_id) {
$sql = "UPDATE $tbl_quiz_question
SET id = iid WHERE iid = $question_id";
Database::query($sql);
// Get the max question_order
$sql = "SELECT max(question_order) as max_order
@ -2153,7 +2127,7 @@ abstract class Question
->setParameters(['id' => (int) $this->id])
->getResult();
}
/**
* @return int
*/

@ -1433,11 +1433,8 @@ class AnnouncementManager
$file
);
$repo->getEntityManager()->flush();
$insertId = $attachment->getIid();
if ($insertId) {
$sql = "UPDATE $table SET id = iid WHERE iid = $insertId";
Database::query($sql);
}
return 1;
}
$return = 1;

@ -295,8 +295,8 @@ class AddCourse
foreach ($settings as $variable => $setting) {
$title = $setting['title'] ?? '';
Database::query(
"INSERT INTO $TABLESETTING (id, c_id, title, variable, value, category)
VALUES ($counter, $course_id, '".$title."', '".$variable."', '".$setting['default']."', '".$setting['category']."')"
"INSERT INTO $TABLESETTING (c_id, title, variable, value, category)
VALUES ($course_id, '".$title."', '".$variable."', '".$setting['default']."', '".$setting['category']."')"
);
$counter++;
}
@ -307,7 +307,6 @@ class AddCourse
$TABLEGROUPCATEGORIES,
[
'c_id' => $course_id,
'id' => 2,
'title' => get_lang('Default groups'),
'description' => '',
'max_student' => 0,

@ -420,9 +420,6 @@ class Agenda
$id = $event->getIid();
if ($id) {
$sql = "UPDATE ".$this->tbl_course_agenda." SET id = iid WHERE iid = $id";
Database::query($sql);
// Add announcement.
if ($addAsAnnouncement) {
$this->storeAgendaEventAsAnnouncement($id, $usersToSend);
@ -1675,7 +1672,7 @@ class Agenda
FROM $tbl_property ip
INNER JOIN $tlb_course_agenda agenda
ON (
ip.ref = agenda.id AND
ip.ref = agenda.iid AND
ip.c_id = agenda.c_id AND
ip.tool = '".TOOL_CALENDAR_EVENT."'
)
@ -2918,11 +2915,6 @@ class Agenda
$id = $attachment->getIid();
if ($id) {
$table = Database::get_course_table(TABLE_AGENDA_ATTACHMENT);
$sql = "UPDATE $table
SET id = iid WHERE iid = $id";
Database::query($sql);
/*api_item_property_update(
$courseInfo,
'calendar_event_attachment',
@ -3041,7 +3033,7 @@ class Agenda
$eventId = (int) $eventId;
$courseId = (int) $courseId;
$sql = "SELECT count(DISTINCT(id)) as count
$sql = "SELECT count(DISTINCT(iid)) as count
FROM ".$this->tbl_course_agenda."
WHERE
c_id = $courseId AND

@ -45,7 +45,7 @@ class Attendance
$active_plus = ' AND att.active = 1';
}
$sql = "SELECT COUNT(att.id) AS total_number_of_items
$sql = "SELECT COUNT(att.iid) AS total_number_of_items
FROM $tbl_attendance att
WHERE
c_id = $course_id AND
@ -80,14 +80,14 @@ class Attendance
$condition_session = api_get_session_condition($session_id);
// Get attendance data
$sql = "SELECT id, name, attendance_qualify_max
$sql = "SELECT iid, name, attendance_qualify_max
FROM $table
WHERE c_id = $course_id AND active = 1 $condition_session ";
$result = Database::query($sql);
$data = [];
if (Database::num_rows($result) > 0) {
while ($row = Database::fetch_array($result, 'ASSOC')) {
$data[$row['id']] = $row;
$data[$row['iid']] = $row;
}
}
@ -132,7 +132,7 @@ class Attendance
}
$sql = "SELECT
att.id AS col0,
att.iid AS col0,
att.name AS col1,
att.description AS col2,
att.attendance_qualify_max AS col3,
@ -293,7 +293,7 @@ class Attendance
$course_id = api_get_course_int_id();
$attendance_data = [];
$sql = "SELECT * FROM $tbl_attendance
WHERE c_id = $course_id AND id = '$attendanceId'";
WHERE c_id = $course_id AND iid = '$attendanceId'";
$res = Database::query($sql);
if (Database::num_rows($res) > 0) {
while ($row = Database::fetch_array($res)) {
@ -315,7 +315,6 @@ class Attendance
public function attendance_add($link_to_gradebook = false)
{
$_course = api_get_course_info();
$tbl_attendance = Database::get_course_table(TABLE_ATTENDANCE);
$table_link = Database::get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
$session_id = api_get_session_id();
$course_code = $_course['code'];
@ -323,7 +322,7 @@ class Attendance
$title_gradebook = $this->attendance_qualify_title;
$value_calification = 0;
$weight_calification = api_float_val($this->attendance_weight);
$course = api_get_course_entity();
$attendance = new CAttendance();
$attendance
->setCId($course_id)
@ -332,29 +331,18 @@ class Attendance
->setSessionId($session_id)
->setAttendanceQualifyTitle($title_gradebook)
->setAttendanceWeight($weight_calification)
->setParent($course)
->addCourseLink($course, api_get_session_entity())
;
$repo = Container::getAttendanceRepository();
$em = $repo->getEntityManager();
$em->persist($attendance);
$repo->addResourceToCourse(
$attendance,
ResourceLink::VISIBILITY_PUBLISHED,
api_get_user_entity(api_get_user_id()),
api_get_course_entity(),
api_get_session_entity(),
api_get_group_entity()
);
$em->flush();
$last_id = $attendance->getIid();
if (!empty($last_id)) {
$sql = "UPDATE $tbl_attendance SET id = iid WHERE iid = $last_id";
Database::query($sql);
/*api_item_property_update(
$_course,
TOOL_ATTENDANCE,
@ -388,7 +376,7 @@ class Attendance
$session_id
);
} else {
Database::query('UPDATE '.$table_link.' SET weight='.$weight_calification.' WHERE id='.$link_id.'');
Database::query('UPDATE '.$table_link.' SET weight='.$weight_calification.' WHERE iid='.$link_id.'');
}
}
@ -406,14 +394,9 @@ class Attendance
public function attendance_edit($attendance, $link_to_gradebook = false)
{
$_course = api_get_course_info();
$tbl_attendance = Database::get_course_table(TABLE_ATTENDANCE);
$table_link = Database::get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
$session_id = api_get_session_id();
$user_id = api_get_user_id();
$attendanceId = $attendance->getIid();
$course_code = $_course['code'];
$course_id = $_course['real_id'];
$title_gradebook = $this->attendance_qualify_title;
$value_calification = 0;
$weight_calification = api_float_val($this->attendance_weight);
@ -473,7 +456,7 @@ class Attendance
$session_id
);
} else {
Database::query('UPDATE '.$table_link.' SET weight='.$weight_calification.' WHERE id='.$link_info['id']);
Database::query('UPDATE '.$table_link.' SET weight='.$weight_calification.' WHERE iid='.$link_info['id']);
}
}
@ -500,35 +483,35 @@ class Attendance
foreach ($attendanceId as $id) {
$id = (int) $id;
$sql = "UPDATE $tbl_attendance SET active = 1
WHERE c_id = $course_id AND id = '$id'";
WHERE c_id = $course_id AND iid = '$id'";
$result = Database::query($sql);
$affected_rows = Database::affected_rows($result);
if (!empty($affected_rows)) {
// update row item property table
api_item_property_update(
/*api_item_property_update(
$_course,
TOOL_ATTENDANCE,
$id,
'restore',
$user_id
);
);*/
}
}
} else {
$attendanceId = (int) $attendanceId;
$sql = "UPDATE $tbl_attendance SET active = 1
WHERE c_id = $course_id AND id = '$attendanceId'";
WHERE c_id = $course_id AND iid = '$attendanceId'";
$result = Database::query($sql);
$affected_rows = Database::affected_rows($result);
if (!empty($affected_rows)) {
// update row item property table
api_item_property_update(
/*api_item_property_update(
$_course,
TOOL_ATTENDANCE,
$attendanceId,
'restore',
$user_id
);
);*/
}
}
@ -947,12 +930,7 @@ class Attendance
attendance_id = '$attendanceId',
score = '$count_presences'";
Database::query($sql);
$insertId = Database::insert_id();
if ($insertId) {
$sql = "UPDATE $tbl_attendance_result SET id = iid WHERE iid = $insertId";
Database::query($sql);
}
}
}
}
@ -961,7 +939,7 @@ class Attendance
$count_done_calendar = self::get_done_attendance_calendar($attendanceId);
$sql = "UPDATE $tbl_attendance SET
attendance_qualify_max = '$count_done_calendar'
WHERE c_id = $course_id AND id = '$attendanceId'";
WHERE iid = '$attendanceId'";
Database::query($sql);
}
@ -1007,13 +985,8 @@ class Attendance
'lastedit_user_id' => $lastedit_user_id,
'calendar_date_value' => $calendar_date_value,
];
$insertId = Database::insert($tbl_attendance_sheet_log, $params);
if ($insertId) {
$sql = "UPDATE $tbl_attendance_sheet_log SET id = iid WHERE iid = $insertId";
Database::query($sql);
}
return $insertId;
return Database::insert($tbl_attendance_sheet_log, $params);
}
/**
@ -1286,7 +1259,7 @@ class Attendance
$sql = "SELECT cal.date_time, att.presence
FROM $tbl_attendance_sheet att
INNER JOIN $tbl_attendance_calendar cal
ON cal.id = att.attendance_calendar_id
ON cal.iid = att.attendance_calendar_id
WHERE
att.c_id = $course_id AND
cal.c_id = $course_id AND
@ -1587,13 +1560,13 @@ class Attendance
}
if (empty($userId)) {
if (empty($groupId)) {
$sql = "SELECT count(a.id)
$sql = "SELECT count(a.iid)
FROM $tbl_attendance_calendar a
WHERE
c_id = $course_id AND
$where_attendance
attendance_id = '$attendanceId' AND
id NOT IN (
iid NOT IN (
SELECT calendar_id FROM $calendarRelGroup
WHERE
c_id = $course_id AND
@ -1602,10 +1575,10 @@ class Attendance
)
";
} else {
$sql = "SELECT count(a.id)
$sql = "SELECT count(a.iid)
FROM $tbl_attendance_calendar a
INNER JOIN $calendarRelGroup g
ON (a.id = g.calendar_id AND a.c_id = g.c_id)
ON (a.iid = g.calendar_id AND a.c_id = g.c_id)
WHERE
a.c_id = $course_id AND
$where_attendance
@ -1615,13 +1588,13 @@ class Attendance
}
} else {
if (empty($groupId)) {
$sql = "SELECT count(a.id)
$sql = "SELECT count(a.iid)
FROM $tbl_attendance_calendar a
WHERE
c_id = $course_id AND
$where_attendance
attendance_id = '$attendanceId' AND
id NOT IN (
iid NOT IN (
SELECT calendar_id FROM $calendarRelGroup
WHERE
c_id = $course_id AND
@ -1635,10 +1608,10 @@ class Attendance
)
";
} else {
$sql = "SELECT count(a.id)
$sql = "SELECT count(a.iid)
FROM $tbl_attendance_calendar a
INNER JOIN $calendarRelGroup g
ON (a.id = g.calendar_id AND a.c_id = g.c_id)
ON (a.iid = g.calendar_id AND a.c_id = g.c_id)
WHERE
a.c_id = $course_id AND
$where_attendance
@ -1666,7 +1639,7 @@ class Attendance
$tbl_attendance_calendar = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
$attendanceId = (int) $attendanceId;
$course_id = api_get_course_int_id();
$sql = "SELECT count(id) FROM $tbl_attendance_calendar
$sql = "SELECT count(iid) FROM $tbl_attendance_calendar
WHERE
c_id = $course_id AND
attendance_id = '$attendanceId'";
@ -1747,8 +1720,6 @@ class Attendance
$id = Database::insert($tbl_attendance_calendar, $params);
if ($id) {
$sql = "UPDATE $tbl_attendance_calendar SET id = iid WHERE iid = $id";
Database::query($sql);
$affected_rows++;
}
$this->addAttendanceCalendarToGroup($id, $course_id, $groupList);

@ -2460,15 +2460,15 @@ class CourseManager
0 != $session_id ? $session_condition = ' WHERE g.session_id IN(1,'.intval($session_id).')' : $session_condition = ' WHERE g.session_id = 0';
if (0 == $in_get_empty_group) {
// get only groups that are not empty
$sql = "SELECT DISTINCT g.id, g.iid, g.name
$sql = "SELECT DISTINCT g.iid, g.iid, g.name
FROM ".Database::get_course_table(TABLE_GROUP)." AS g
INNER JOIN ".Database::get_course_table(TABLE_GROUP_USER)." gu
ON (g.id = gu.group_id AND g.c_id = $course_id AND gu.c_id = $course_id)
ON (g.iid = gu.group_id AND g.c_id = $course_id AND gu.c_id = $course_id)
$session_condition
ORDER BY g.name";
} else {
// get all groups even if they are empty
$sql = "SELECT g.id, g.name, g.iid
$sql = "SELECT g.iid, g.name, g.iid
FROM ".Database::get_course_table(TABLE_GROUP)." AS g
$session_condition
AND c_id = $course_id";
@ -2477,7 +2477,7 @@ class CourseManager
$result = Database::query($sql);
$groupList = [];
while ($groupData = Database::fetch_array($result)) {
$groupData['userNb'] = GroupManager::number_of_students($groupData['id'], $course_id);
$groupData['userNb'] = GroupManager::number_of_students($groupData['iid'], $course_id);
$groupList[$groupData['iid']] = $groupData;
}
@ -2592,8 +2592,8 @@ class CourseManager
continue;
}
$table = Database::get_course_table($table);
$sql = "DELETE FROM $table WHERE c_id = $courseId ";
Database::query($sql);
//$sql = "DELETE FROM $table WHERE c_id = $courseId ";
//Database::query($sql);
}
}

@ -127,9 +127,9 @@ class CourseDescription
$description_type = (int) $description_type;
$sql = "SELECT * FROM $table
WHERE
c_id = $courseId AND
description_type = '$description_type'
WHERE
c_id = $courseId AND
description_type = '$description_type'
$condition_session ";
$rs = Database::query($sql);
$data = [];
@ -237,17 +237,14 @@ class CourseDescription
$last_id = Database::insert($table, $params);
if ($last_id > 0) {
$sql = "UPDATE $table SET id = iid WHERE iid = $last_id";
Database::query($sql);
// insert into item_property
/*// insert into item_property
api_item_property_update(
api_get_course_info(),
TOOL_COURSE_DESCRIPTION,
$last_id,
'CourseDescriptionAdded',
api_get_user_id()
);
);*/
}
return $last_id > 0 ? 1 : 0;

@ -1182,7 +1182,7 @@ class DocumentManager
$sessionCondition = api_get_session_condition($session_id, true, true);
$sql = "SELECT * FROM $TABLE_DOCUMENT
WHERE c_id = $course_id $sessionCondition AND id = $id";
WHERE c_id = $course_id $sessionCondition AND iid = $id";
if ($ignoreDeleted) {
$sql .= " AND path NOT LIKE '%_DELETED_%' ";
@ -4378,7 +4378,7 @@ class DocumentManager
// Check if pathname already exists inside document table
$tbl_document = Database::get_course_table(TABLE_DOCUMENT);
$sql = "SELECT id, path FROM $tbl_document
$sql = "SELECT iid, path FROM $tbl_document
WHERE
filetype = 'folder' AND
c_id = $courseId AND
@ -6153,9 +6153,6 @@ This folder contains all sessions that have been opened in the chat. Although th
$documentId = $document->getIid();
if ($documentId) {
$table = Database::get_course_table(TABLE_DOCUMENT);
$sql = "UPDATE $table SET id = iid WHERE iid = $documentId";
Database::query($sql);
return $document;
}

@ -1509,7 +1509,7 @@ function create_unexisting_directory(
// Check if pathname already exists inside document table
$table = Database::get_course_table(TABLE_DOCUMENT);
$sql = "SELECT id, path FROM $table
$sql = "SELECT iid, path FROM $table
WHERE
c_id = $course_id AND
path = '".Database::escape_string($systemFolderName)."'";
@ -1544,7 +1544,7 @@ function create_unexisting_directory(
} else {
$document = Database::fetch_array($rs);
$documentData = DocumentManager::get_document_data_by_id(
$document['id'],
$document['iid'],
$_course['code'],
false,
$session_id

@ -109,8 +109,7 @@ class GroupManager
$course_id = $course_info['real_id'];
$table_group = Database::get_course_table(TABLE_GROUP);
$select = ' g.id,
g.iid,
$select = ' g.iid,
g.name,
g.description,
g.category_id,

@ -236,11 +236,6 @@ class learnpath
$this->last_item_seen = 0;
$this->lp_view_session_id = $session_id;
$this->lp_view_id = Database::insert($lp_table, $params);
if (!empty($this->lp_view_id)) {
$sql = "UPDATE $lp_table SET id = iid
WHERE iid = ".$this->lp_view_id;
Database::query($sql);
}
}
// Initialise items.
@ -363,12 +358,6 @@ class learnpath
];
$insertId = Database::insert($itemViewTable, $params);
if ($insertId) {
$sql = "UPDATE $itemViewTable SET id = iid
WHERE iid = $insertId";
Database::query($sql);
}
$this->items[$item_id]->set_lp_view(
$this->lp_view_id,
$course_id
@ -576,9 +565,6 @@ class learnpath
$new_item_id = Database::insert($tbl_lp_item, $params);
if ($new_item_id) {
$sql = "UPDATE $tbl_lp_item SET id = iid WHERE iid = $new_item_id";
Database::query($sql);
if (!empty($next)) {
$sql = "UPDATE $tbl_lp_item
SET previous_item_id = $new_item_id
@ -796,8 +782,6 @@ class learnpath
if ($lp->getIid()) {
$id = $lp->getIid();
$sql = "UPDATE $tbl_lp SET id = iid WHERE iid = $id";
Database::query($sql);
}
// Insert into item_property.
@ -3786,9 +3770,6 @@ class learnpath
Database::query($sql);
$id = Database::insert_id();
$this->lp_view_id = $id;
$sql = "UPDATE $lp_view_table SET id = iid WHERE iid = $id";
Database::query($sql);
}
return $this->lp_view_id;
@ -4735,8 +4716,6 @@ class learnpath
$view_id = Database::insert_id();
if ($view_id) {
$sql = "UPDATE $lp_view_table SET id = iid WHERE iid = $view_id";
Database::query($sql);
$this->lp_view_id = $view_id;
$this->attempt = $this->attempt + 1;
} else {
@ -10210,6 +10189,26 @@ EOD;
return $repo->getBySortableGroupsQuery(['cId' => $courseId])->getResult();
}
public static function getCategorySessionId($id)
{
if (false === api_get_configuration_value('allow_session_lp_category')) {
return 0;
}
$table = Database::get_course_table(TABLE_LP_CATEGORY);
$id = (int) $id;
$sql = "SELECT session_id FROM $table WHERE iid = $id";
$result = Database::query($sql);
$result = Database::fetch_array($result, 'ASSOC');
if ($result) {
return (int) $result['session_id'];
}
return 0;
}
/**
* @param int $id
*

@ -130,23 +130,22 @@ $firstSessionCategoryId = 0;
if ($allowCategory) {
$newCategoryFiltered = [];
foreach ($categoriesTempList as $category) {
$categorySessionId = (int) learnpath::getCategorySessionId($category->getId());
$categorySessionId = (int) learnpath::getCategorySessionId($category->getIid());
if ($categorySessionId === $sessionId || $categorySessionId === 0) {
$newCategoryFiltered[] = $category;
}
if (!empty($sessionId) && empty($firstSessionCategoryId) && $categorySessionId == $sessionId) {
$firstSessionCategoryId = $category->getId();
$firstSessionCategoryId = $category->getIid();
}
}
$categoriesTempList = $newCategoryFiltered;
}
$categoryTest = new CLpCategory();
$categoryTest->setId(0);
/*$categoryTest = new CLpCategory();
$categoryTest->setName(get_lang('WithOutCategory'));
$categoryTest->setPosition(0);
$categories = [$categoryTest];
$categoryTest->setPosition(0);*/
$categories = [];
if (!empty($categoriesTempList)) {
$categories = array_merge($categories, $categoriesTempList);
@ -159,7 +158,7 @@ $filteredCategoryId = ('view_category' === $action && !empty($_GET['id'])) ? int
if ($filteredCategoryId) {
/** @var CLpCategory $category */
foreach ($categories as $category) {
if ($category->getId() != $filteredCategoryId) {
if ($category->getIid() != $filteredCategoryId) {
continue;
}
@ -215,7 +214,7 @@ $shortcutRepository = Container::getShortcutRepository();
/** @var CLpCategory $category */
foreach ($categories as $category) {
$categoryId = $category->getId();
$categoryId = $category->getIid();
$visibility = true;
if (0 !== $categoryId) {
$visibility = $category->isVisible($courseEntity, $sessionEntity);

@ -127,7 +127,6 @@ function get_work_data_by_id($id, $courseId = 0, $sessionId = 0)
$work = [];
if ($studentPublication) {
$workId = $studentPublication->getIid();
$work['id'] = $workId;
$work['iid'] = $workId;
$work['description'] = $studentPublication->getDescription();
$work['url'] = $studentPublication->getUrl();
@ -844,7 +843,7 @@ function deleteDirWork($id)
100,
null,
null,
$work_data['id'],
$work_data['iid'],
null,
$user['user_id'],
false,
@ -901,7 +900,7 @@ function deleteDirWork($id)
LOG_WORK_DIR_DELETE,
LOG_WORK_DATA,
[
'id' => $work_data['id'],
'id' => $work_data['iid'],
'url' => $work_data['url'],
'title' => $work_data['title'],
],
@ -1106,7 +1105,7 @@ function get_work_id($path)
$path = Database::escape_string($path);
if (api_is_allowed_to_edit()) {
$sql = "SELECT work.id
$sql = "SELECT work.iid
FROM $TBL_STUDENT_PUBLICATION AS work, $TBL_PROP_TABLE AS props
WHERE
props.c_id = $course_id AND
@ -1117,7 +1116,7 @@ function get_work_id($path)
work.filetype='file' AND
props.visibility<>'2'";
} else {
$sql = "SELECT work.id
$sql = "SELECT work.iid
FROM $TBL_STUDENT_PUBLICATION AS work, $TBL_PROP_TABLE AS props
WHERE
props.c_id = $course_id AND
@ -1292,7 +1291,7 @@ function getWorkListStudent(
$active_condition = ' AND active IN (1, 0)';
if ($getCount) {
$select = 'SELECT count(w.id) as count ';
$select = 'SELECT count(w.iid) as count ';
} else {
$select = 'SELECT w.*, a.expires_on, expires_on, ends_on, enable_qualification ';
}
@ -1300,7 +1299,7 @@ function getWorkListStudent(
$sql = "$select
FROM $workTable w
LEFT JOIN $workTableAssignment a
ON (a.publication_id = w.id AND a.c_id = w.c_id)
ON (a.publication_id = w.iid AND a.c_id = w.c_id)
$group_query
$subdirs_query
$active_condition
@ -1330,12 +1329,12 @@ function getWorkListStudent(
$urlOthers = api_get_path(WEB_CODE_PATH).'work/work_list_others.php?'.api_get_cidreq().'&id=';
while ($work = Database::fetch_array($result, 'ASSOC')) {
$isSubscribed = userIsSubscribedToWork($userId, $work['id'], $course_id);
$isSubscribed = userIsSubscribedToWork($userId, $work['iid'], $course_id);
if (false == $isSubscribed) {
continue;
}
/*$visibility = api_get_item_visibility($courseInfo, 'work', $work['id'], $session_id);
/*$visibility = api_get_item_visibility($courseInfo, 'work', $work['iid'], $session_id);
if ($visibility != 1) {
continue;
}*/
@ -1354,7 +1353,7 @@ function getWorkListStudent(
1000,
null,
null,
$work['id'],
$work['iid'],
$whereCondition
);
@ -1362,7 +1361,7 @@ function getWorkListStudent(
$lastWork = getLastWorkStudentFromParentByUser($userId, $work, $courseInfo);
if (null !== $count && !empty($count)) {
$urlView = api_get_path(WEB_CODE_PATH).'work/view.php?id='.$lastWork['id'].'&'.api_get_cidreq();
$urlView = api_get_path(WEB_CODE_PATH).'work/view.php?id='.$lastWork['iid'].'&'.api_get_cidreq();
$feedback = '&nbsp;'.Display::url(
Display::returnFontAwesomeIcon('comments-o'),
@ -1378,10 +1377,10 @@ function getWorkListStudent(
$work['last_upload'] .= api_get_local_time($lastWork['sent_date']);
}
$work['title'] = Display::url($work['title'], $url.'&id='.$work['id']);
$work['title'] = Display::url($work['title'], $url.'&id='.$work['iid']);
$work['others'] = Display::url(
Display::return_icon('group.png', get_lang('Others')),
$urlOthers.$work['id']
$urlOthers.$work['iid']
);
$works[] = $work;
}
@ -1451,14 +1450,14 @@ function getAllWorkListStudent(
if (empty($courseQuery)) {
return 0;
}
$select = 'SELECT count(DISTINCT(w.id)) as count ';
$select = 'SELECT count(DISTINCT(w.iid)) as count ';
} else {
if (empty($courseQuery)) {
return [];
}
$select = 'SELECT DISTINCT
w.url,
w.id,
w.iid,
w.c_id,
w.session_id,
a.expires_on,
@ -1469,7 +1468,7 @@ function getAllWorkListStudent(
}
$checkSentWork = " LEFT JOIN $workTable ww
ON (ww.c_id = w.c_id AND ww.parent_id = w.id AND ww.user_id = $userId ) ";
ON (ww.c_id = w.c_id AND ww.parent_id = w.iid AND ww.user_id = $userId ) ";
$where = ' AND ww.url IS NULL ';
$expirationCondition = " AND (a.expires_on IS NULL OR a.expires_on > '".api_get_utc_datetime()."') ";
if ($withResults) {
@ -1477,7 +1476,7 @@ function getAllWorkListStudent(
$checkSentWork = " LEFT JOIN $workTable ww
ON (
ww.c_id = w.c_id AND
ww.parent_id = w.id AND
ww.parent_id = w.iid AND
ww.user_id = $userId AND
a.expires_on IS NULL AND
ww.parent_id is NOT NULL
@ -1492,7 +1491,7 @@ function getAllWorkListStudent(
$sql = "$select
FROM $workTable w
LEFT JOIN $workTableAssignment a
ON (a.publication_id = w.id AND a.c_id = w.c_id)
ON (a.publication_id = w.iid AND a.c_id = w.c_id)
$checkSentWork
WHERE
w.parent_id = 0 AND
@ -1530,12 +1529,12 @@ function getAllWorkListStudent(
$cidReq = api_get_cidreq_params($courseCode, $sessionId);
$url = api_get_path(WEB_CODE_PATH).'work/work_list.php?'.$cidReq;
$isSubscribed = userIsSubscribedToWork($userId, $work['id'], $courseId);
$isSubscribed = userIsSubscribedToWork($userId, $work['iid'], $courseId);
if ($isSubscribed == false) {
continue;
}
$visibility = api_get_item_visibility($courseInfo, 'work', $work['id'], $sessionId);
$visibility = api_get_item_visibility($courseInfo, 'work', $work['iid'], $sessionId);
if ($visibility != 1) {
continue;
@ -1555,7 +1554,7 @@ function getAllWorkListStudent(
1000,
null,
null,
$work['id'],
$work['iid'],
$whereCondition,
null,
false,
@ -1567,7 +1566,7 @@ function getAllWorkListStudent(
$lastWork = getLastWorkStudentFromParentByUser($userId, $work, $courseInfo);
if (!is_null($count) && !empty($count)) {
$urlView = api_get_path(WEB_CODE_PATH).'work/view.php?id='.$lastWork['id'].'&'.$cidReq;
$urlView = api_get_path(WEB_CODE_PATH).'work/view.php?id='.$lastWork['iid'].'&'.$cidReq;
$feedback = '&nbsp;'.Display::url(
Display::returnFontAwesomeIcon('comments-o'),
@ -1584,7 +1583,7 @@ function getAllWorkListStudent(
}
}
$work['title'] = Display::url($work['title'], $url.'&id='.$work['id']);
$work['title'] = Display::url($work['title'], $url.'&id='.$work['iid']);
$works[] = $work;
}
@ -1641,14 +1640,14 @@ function getWorkListTeacher(
if ($is_allowed_to_edit) {
$active_condition = ' active IN (0, 1)';
if ($getCount) {
$select = ' SELECT count(w.id) as count';
$select = ' SELECT count(w.iid) as count';
} else {
$select = ' SELECT w.*, a.expires_on, expires_on, ends_on, enable_qualification ';
}
$sql = " $select
FROM $workTable w
LEFT JOIN $workTableAssignment a
ON (a.publication_id = w.id AND a.c_id = w.c_id)
ON (a.publication_id = w.iid AND a.c_id = w.c_id)
WHERE
w.c_id = $course_id
$condition_session AND
@ -1725,7 +1724,7 @@ function getWorkListTeacher(
$work['title'] = basename($work['url']);
}
$work['title'] = Display::url($work['title'], $url.'&id='.$workId, ['class' => $class]);
$work['title'] .= ' '.Display::label(get_count_work($work['id']), 'success');
$work['title'] .= ' '.Display::label(get_count_work($work['iid']), 'success');
$work['sent_date'] = api_get_local_time($work['sent_date']);
if ($blockEdition && !api_is_platform_admin()) {
@ -1807,7 +1806,8 @@ function get_work_user_list_from_documents(
w.title,
w.parent_id,
w.document_id document_id,
w.id, qualification,
w.iid,
qualification,
qualificator_id,
w.sent_date,
w.contains_file,
@ -1818,7 +1818,7 @@ function get_work_user_list_from_documents(
u.id as user_id,
d.title,
w.parent_id,
d.id document_id,
d.iid document_id,
0,
0,
0,
@ -1861,15 +1861,15 @@ function get_work_user_list_from_documents(
) UNION (
$select2 FROM $workTable w
INNER JOIN $workRelDocument w_rel
ON (w_rel.work_id = w.id AND w.active IN (0, 1) AND w_rel.c_id = w.c_id)
ON (w_rel.work_id = w.iid AND w.active IN (0, 1) AND w_rel.c_id = w.c_id)
INNER JOIN $documentTable d
ON (w_rel.document_id = d.id AND d.c_id = w.c_id)
ON (w_rel.document_id = d.iid AND d.c_id = w.c_id)
INNER JOIN $userTable u ON (u.id = $studentId)
WHERE
w.c_id = $courseId
$workCondition
$sessionCondition AND
d.id NOT IN (
d.iid NOT IN (
SELECT w.document_id id
FROM $workTable w
WHERE
@ -1930,11 +1930,11 @@ function get_work_user_list_from_documents(
while ($row = Database::fetch_array($result, 'ASSOC')) {
$userId = $row['user_id'];
$documentId = $row['document_id'];
$itemId = $row['id'];
$itemId = $row['iid'];
$addLinkShowed = false;
if (empty($documentId)) {
$url = $urlEdit.'&item_id='.$row['id'].'&id='.$workId;
$url = $urlEdit.'&item_id='.$row['iid'].'&id='.$workId;
$editLink = Display::url($editIcon, $url);
if (1 != $allowEdition) {
$editLink = null;
@ -1949,7 +1949,7 @@ function get_work_user_list_from_documents(
} else {
$row['title'] = $documentToWork['title'];
$row['sent_date'] = $documentToWork['sent_date'];
$newWorkId = $documentToWork['id'];
$newWorkId = $documentToWork['iid'];
$url = $urlEdit.'&item_id='.$newWorkId.'&id='.$workId;
$editLink = Display::url($editIcon, $url);
@ -1962,7 +1962,7 @@ function get_work_user_list_from_documents(
$downloadLink = '';
// If URL is present then there's a file to download keep BC.
if ($row['contains_file'] || !empty($row['url'])) {
$downloadLink = Display::url($saveIcon, $urlDownload.'&id='.$row['id']).'&nbsp;';
$downloadLink = Display::url($saveIcon, $urlDownload.'&id='.$row['iid']).'&nbsp;';
}
$viewLink = '';
@ -2217,9 +2217,9 @@ function get_work_user_list(
$repo = Container::getStudentPublicationRepository();
while ($work = Database::fetch_array($result, 'ASSOC')) {
/** @var CStudentPublication $studentPublication */
$studentPublication = $repo->find($work['id']);
$studentPublication = $repo->find($work['iid']);
$item_id = $work['id'];
$item_id = $work['iid'];
$dbTitle = $work['title'];
// Get the author ID for that document from the item_property table
$is_author = false;
@ -2556,7 +2556,7 @@ function get_work_user_list(
function send_reminder_users_without_publication($task_data)
{
$_course = api_get_course_info();
$task_id = $task_data['id'];
$task_id = $task_data['iid'];
$task_title = !empty($task_data['title']) ? $task_data['title'] : basename($task_data['url']);
$subject = '['.api_get_setting('siteName').'] ';
@ -3288,7 +3288,7 @@ function getWorkComments($work)
$userTable = Database::get_main_table(TABLE_MAIN_USER);
$courseId = (int) $work['c_id'];
$workId = (int) $work['id'];
$workId = (int) $work['iid'];
if (empty($courseId) || empty($workId)) {
return [];
@ -3310,7 +3310,7 @@ function getWorkComments($work)
$userInfo = api_get_user_info($comment['user_id']);
$comment['picture'] = $userInfo['avatar'];
$comment['complete_name'] = $userInfo['complete_name_with_username'];
$commentInfo = getWorkComment($comment['id']);
$commentInfo = getWorkComment($comment['iid']);
if (!empty($commentInfo)) {
$comment = array_merge($comment, $commentInfo);
}
@ -3353,7 +3353,7 @@ function getTotalWorkComment($workList, $courseInfo = [])
$count = 0;
foreach ($workList as $data) {
$count += getWorkCommentCount($data['id'], $courseInfo);
$count += getWorkCommentCount($data['iid'], $courseInfo);
}
return $count;
@ -3420,8 +3420,9 @@ function getWorkCommentCountFromParent(
$sessionCondition = api_get_session_condition($sessionId, false, false, 'w.session_id');
$sql = "SELECT count(*) as count
FROM $commentTable c INNER JOIN $work w
ON c.c_id = w.c_id AND w.id = c.work_id
FROM $commentTable c
INNER JOIN $work w
ON c.c_id = w.c_id AND w.iid = c.work_id
WHERE
$sessionCondition AND
parent_id = $parentId AND
@ -3468,7 +3469,7 @@ function getLastWorkStudentFromParent(
$sql = "SELECT w.*
FROM $commentTable c INNER JOIN $work w
ON c.c_id = w.c_id AND w.id = c.work_id
ON c.c_id = w.c_id AND w.iid = c.work_id
WHERE
$sessionCondition AND
parent_id = $parentId AND
@ -3516,7 +3517,7 @@ function getLastWorkStudentFromParentByUser(
if (empty($parentInfo)) {
return false;
}
$parentId = $parentInfo['id'];
$parentId = $parentInfo['iid'];
$sessionCondition = api_get_session_condition($sessionId);
@ -3593,7 +3594,7 @@ function getWorkComment($id, $courseInfo = [])
$repo = Container::getStudentPublicationCommentRepository();
$criteria = [
'id' => $id,
'iid' => $id,
'cId' => $courseInfo['real_id'],
];
@ -3632,7 +3633,7 @@ function deleteCommentFile($id, $courseInfo = [])
{
$repo = Container::getStudentPublicationCommentRepository();
$criteria = [
'id' => $id,
'iid' => $id,
'cId' => $courseInfo['real_id'],
];
@ -3657,7 +3658,7 @@ function deleteCommentFile($id, $courseInfo = [])
Database::update(
$commentTable,
$params,
['id = ? AND c_id = ? ' => [$workComment['id'], $workComment['c_id']]]
['id = ? AND c_id = ? ' => [$workComment['iid'], $workComment['c_id']]]
);
}
}
@ -3686,7 +3687,7 @@ function addWorkComment($courseInfo, $userId, $parentWork, $work, $data)
$courseEntity = api_get_course_entity($courseId);
/** @var CStudentPublication $work */
$studentPublication = Container::getStudentPublicationRepository()->find($work['id']);
$studentPublication = Container::getStudentPublicationRepository()->find($work['iid']);
$request = Container::getRequest();
$fileObject = $request->files->get('attachment');
@ -3699,7 +3700,7 @@ function addWorkComment($courseInfo, $userId, $parentWork, $work, $data)
->setCId($courseId)
->setComment($data['comment'])
->setUserId($userId)
->setWorkId($work['id'])
->setWorkId($work['iid'])
;
$userEntity = api_get_user_entity(api_get_user_id());
@ -3715,9 +3716,6 @@ function addWorkComment($courseInfo, $userId, $parentWork, $work, $data)
api_get_session_entity(),
api_get_group_entity()
);
$em->flush();
$comment->setId($comment->getIid());
$em->persist($comment);
$em->flush();
@ -3758,7 +3756,7 @@ function addWorkComment($courseInfo, $userId, $parentWork, $work, $data)
}
}
$url = api_get_path(WEB_CODE_PATH).'work/view.php?'.api_get_cidreq().'&id='.$work['id'];
$url = api_get_path(WEB_CODE_PATH).'work/view.php?'.api_get_cidreq().'&id='.$work['iid'];
$subject = sprintf(get_lang('There\'s a new feedback in work: %s'), $parentWork['title']);
$content = sprintf(get_lang('There\'s a new feedback in work: %sInWorkXHere'), $work['title'], $url);
@ -3802,7 +3800,7 @@ function addWorkComment($courseInfo, $userId, $parentWork, $work, $data)
*/
function getWorkCommentForm($work, $workParent)
{
$url = api_get_path(WEB_CODE_PATH).'work/view.php?id='.$work['id'].'&action=send_comment&'.api_get_cidreq();
$url = api_get_path(WEB_CODE_PATH).'work/view.php?id='.$work['iid'].'&action=send_comment&'.api_get_cidreq();
$form = new FormValidator(
'work_comment',
'post',
@ -3852,10 +3850,10 @@ function getWorkCommentForm($work, $workParent)
}
}
Skill::addSkillsToUserForm($form, ITEM_TYPE_STUDENT_PUBLICATION, $workParent['id'], $work['user_id'], $work['id']);
Skill::addSkillsToUserForm($form, ITEM_TYPE_STUDENT_PUBLICATION, $workParent['iid'], $work['user_id'], $work['iid']);
$form->addHtmlEditor('comment', get_lang('Comment'), false);
$form->addFile('attachment', get_lang('Attachment'));
$form->addElement('hidden', 'id', $work['id']);
$form->addElement('hidden', 'iid', $work['iid']);
if (api_is_allowed_to_edit()) {
$form->addCheckBox(
@ -4142,8 +4140,8 @@ function sendAlertToUsers($workInfo, $workId, $courseInfo, $sessionId = 0)
}
if ($send) {
$folderUrl = api_get_path(WEB_CODE_PATH)."work/work_list_all.php?cidReq=".$courseInfo['code']."&id_session=".$sessionId."&id=".$workInfo['id'];
$fileUrl = api_get_path(WEB_CODE_PATH)."work/view.php?cidReq=".$courseInfo['code']."&id_session=".$sessionId."&id=".$workData['id'];
$folderUrl = api_get_path(WEB_CODE_PATH)."work/work_list_all.php?cidReq=".$courseInfo['code']."&id_session=".$sessionId."&id=".$workInfo['iid'];
$fileUrl = api_get_path(WEB_CODE_PATH)."work/view.php?cidReq=".$courseInfo['code']."&id_session=".$sessionId."&id=".$workData['iid'];
foreach ($userList as $userData) {
$userId = $userData['user_id'];
@ -4254,7 +4252,7 @@ function processWorkForm(
if ($containsFile) {
$saveWork = false;
if ($checkDuplicated) {
if (checkExistingWorkFileName($file['name'], $workInfo['id'])) {
if (checkExistingWorkFileName($file['name'], $workInfo['iid'])) {
$saveWork = false;
$result['error'] = get_lang('You have already sent this file or another file with the same name. Please make sure you only upload each file once.');
$workData['error'] = get_lang(' already exists.');
@ -4316,7 +4314,7 @@ function processWorkForm(
$courseEntity = api_get_course_entity($courseId);
$repo = Container::getStudentPublicationRepository();
$parentResource = $repo->find($workInfo['id']);
$parentResource = $repo->find($workInfo['iid']);
$studentPublication = new CStudentPublication();
$studentPublication
@ -4332,7 +4330,7 @@ function processWorkForm(
->setWeight(0)
->setAllowTextAssignment(0)
->setPostGroupId($groupIid)
->setParentId($workInfo['id'])
->setParentId($workInfo['iid'])
->setSession(api_get_session_entity($sessionId))
->setFilesize($filesize)
->setUserId($userId)
@ -4349,16 +4347,6 @@ function processWorkForm(
$workId = $studentPublication->getIid();
if ($workId) {
$studentPublication->setId($studentPublication->getIid());
/*if (array_key_exists('filename', $workInfo) && !empty($filename)) {
$filename = Database::escape_string($filename);
$sql = "UPDATE $work_table SET
filename = '$filename'
WHERE iid = $workId";
Database::query($sql);
}*/
sendAlertToUsers($workInfo, $workId, $courseInfo, $sessionId);
Event::event_upload($workId);
@ -4397,7 +4385,7 @@ function processWorkForm(
100,
null,
null,
$workInfo['id'],
$workInfo['iid'],
null,
$userId,
false,
@ -4519,10 +4507,6 @@ function addDir($formValues, $user_id, $courseInfo, $groupId, $sessionId = 0)
$em->persist($studentPublication);
$em->flush();
$studentPublication->setId($studentPublication->getIid());
$em->persist($studentPublication);
$em->flush();
// Folder created
/*api_item_property_update(
$courseInfo,
@ -4816,7 +4800,7 @@ function deleteAllWorkPerUser($userId, $courseInfo)
foreach ($workPerUser as $work) {
$work = $work['work'];
foreach ($work->user_results as $userResult) {
$result = deleteWorkItem($userResult['id'], $courseInfo);
$result = deleteWorkItem($userResult['iid'], $courseInfo);
if ($result) {
$deletedItems[] = $userResult;
}
@ -4948,7 +4932,7 @@ function deleteWorkItem($item_id, $courseInfo)
LOG_WORK_FILE_DELETE,
LOG_WORK_DATA,
[
'id' => $work_data['id'],
'id' => $work_data['iid'],
'url' => $work_data['url'],
'title' => $work_data['title'],
],
@ -5212,7 +5196,7 @@ function generateMoveForm($item_id, $path, $courseInfo, $groupId, $sessionId)
$groupIid = $groupInfo['iid'];
}
$sql = "SELECT id, url, title
$sql = "SELECT iid, url, title
FROM $work_table
WHERE
c_id = $courseId AND
@ -5223,7 +5207,7 @@ function generateMoveForm($item_id, $path, $courseInfo, $groupId, $sessionId)
$res = Database::query($sql);
while ($folder = Database::fetch_array($res)) {
$title = empty($folder['title']) ? basename($folder['url']) : $folder['title'];
$folders[$folder['id']] = $title;
$folders[$folder['iid']] = $title;
}
return build_work_move_to_selector($folders, $path, $item_id);
@ -5514,7 +5498,7 @@ function getFileContents($id, $courseInfo, $sessionId = 0, $correction = false,
$item_info = api_get_item_property_info(
api_get_course_int_id(),
'work',
$row['id'],
$row['iid'],
$sessionId
);
@ -5813,7 +5797,7 @@ function downloadAllFilesPerUser($userId, $courseInfo)
if (empty($userResult['url']) || empty($userResult['contains_file'])) {
continue;
}
$data = getFileContents($userResult['id'], $courseInfo);
$data = getFileContents($userResult['iid'], $courseInfo);
if (!empty($data) && isset($data['path'])) {
$files[basename($data['path'])] = [
'title' => $data['title'],
@ -5926,7 +5910,7 @@ function protectWork($courseInfo, $workId)
return true;
}
$workId = $workData['id'];
$workId = $workData['iid'];
if (1 != $workData['active']) {
api_not_allowed(true);

Loading…
Cancel
Save