. /** * List of deprecated mod_assign functions. * * @package mod_assign * @copyright 2021 Jun Pataleta * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ /** * Obtains the automatic completion state for this module based on any conditions * in assign settings. * * @deprecated since Moodle 3.11 * @todo MDL-71196 Final deprecation in Moodle 4.3 * @see \mod_assign\completion\custom_completion * @param object $course Course * @param object $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 assign_get_completion_state($course, $cm, $userid, $type) { global $CFG; // No need to call debugging here. Deprecation debugging notice already being called in \completion_info::internal_get_state(). require_once($CFG->dirroot . '/mod/assign/locallib.php'); $assign = new assign(null, $cm, $course); // If completion option is enabled, evaluate it and return true/false. if ($assign->get_instance()->completionsubmit) { if ($assign->get_instance()->teamsubmission) { $submission = $assign->get_group_submission($userid, 0, false); } else { $submission = $assign->get_user_submission($userid, false); } return $submission && $submission->status == ASSIGN_SUBMISSION_STATUS_SUBMITTED; } else { // Completion option is not enabled so just return $type. return $type; } }