. /** * List of deprecated mod_glossary functions. * * @package mod_glossary * @copyright 2021 Shamim Rezaie * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ /** * Obtains the automatic completion state for this glossary based on any conditions * in glossary settings. * * @deprecated since Moodle 3.11 * @todo MDL-71196 Final deprecation in Moodle 4.3 * @see \mod_glossary\completion\custom_completion * @param stdClass $course Course * @param cm_info|stdClass $cm Course-module * @param int $userid User ID * @param bool $type Type of comparison (or/and; can be used as return value if no conditions) * @return bool True if completed, false if not. (If no conditions, then return value depends on comparison type) */ function glossary_get_completion_state($course, $cm, $userid, $type) { global $DB; // No need to call debugging here. Deprecation debugging notice already being called in \completion_info::internal_get_state(). // Get glossary details. if (!($glossary = $DB->get_record('glossary', array('id' => $cm->instance)))) { throw new Exception("Can't find glossary {$cm->instance}"); } $result = $type; // Default return value. if ($glossary->completionentries) { $value = $glossary->completionentries <= $DB->count_records('glossary_entries', array('glossaryid' => $glossary->id, 'userid' => $userid, 'approved' => 1)); if ($type == COMPLETION_AND) { $result = $result && $value; } else { $result = $result || $value; } } return $result; }