. /** * List of deprecated mod_data functions. * * @package mod_data * @copyright 2021 Jun Pataleta * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ /** * Obtains the automatic completion state for this database item based on any conditions * on its settings. The call for this is in completion lib where the modulename is appended * to the function name. This is why there are unused parameters. * * @deprecated since Moodle 3.11 * @todo MDL-71196 Final deprecation in Moodle 4.3 * @see \mod_data\completion\custom_completion * @since Moodle 3.3 * @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, $type if conditions not set. */ function data_get_completion_state($course, $cm, $userid, $type) { global $DB, $PAGE; // No need to call debugging here. Deprecation debugging notice already being called in \completion_info::internal_get_state(). $result = $type; // Default return value // Get data details. if (isset($PAGE->cm->id) && $PAGE->cm->id == $cm->id) { $data = $PAGE->activityrecord; } else { $data = $DB->get_record('data', array('id' => $cm->instance), '*', MUST_EXIST); } // If completion option is enabled, evaluate it and return true/false. if ($data->completionentries) { $numentries = data_numentries($data, $userid); // Check the number of entries required against the number of entries already made. if ($numentries >= $data->completionentries) { $result = true; } else { $result = false; } } return $result; }