Merge pull request #5962 from christianbeeznest/Ifa-22235

Gossary: Fix load glossary from base course if not found in session - refs BT#22235
pull/5986/head
Nicolas Ducoulombier 9 months ago committed by GitHub
commit 02fae33e52
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 37
      main/inc/lib/glossary.lib.php

@ -82,8 +82,6 @@ class GlossaryManager
$table = Database::get_course_table(TABLE_GLOSSARY); $table = Database::get_course_table(TABLE_GLOSSARY);
$session_id = api_get_session_id(); $session_id = api_get_session_id();
$course_id = api_get_course_int_id(); $course_id = api_get_course_int_id();
$sessionCondition = api_get_session_condition($session_id);
$glossaryName = Security::remove_XSS($name); $glossaryName = Security::remove_XSS($name);
$glossaryName = api_convert_encoding($glossaryName, 'UTF-8', 'UTF-8'); $glossaryName = api_convert_encoding($glossaryName, 'UTF-8', 'UTF-8');
$glossaryName = trim($glossaryName); $glossaryName = trim($glossaryName);
@ -95,16 +93,31 @@ class GlossaryManager
} }
$sql = "SELECT * FROM $table $sql = "SELECT * FROM $table
WHERE WHERE
c_id = $course_id AND c_id = $course_id AND
( (
name LIKE '".Database::escape_string($glossaryName)."' name LIKE '".Database::escape_string($glossaryName)."' OR
OR name LIKE '".Database::escape_string($parsed)."'
name LIKE '".Database::escape_string($parsed)."' ) AND
) session_id = $session_id
$sessionCondition LIMIT 1";
LIMIT 1
"; $rs = Database::query($sql);
if (Database::num_rows($rs) > 0) {
return Database::fetch_array($rs, 'ASSOC');
}
$sql = "SELECT * FROM $table
WHERE
c_id = $course_id AND
(
name LIKE '".Database::escape_string($glossaryName)."' OR
name LIKE '".Database::escape_string($parsed)."'
) AND
session_id IS NULL
LIMIT 1";
$rs = Database::query($sql); $rs = Database::query($sql);
if (Database::num_rows($rs) > 0) { if (Database::num_rows($rs) > 0) {

Loading…
Cancel
Save