From 09ba8e56a9bdb0fffed3e487df220840d00b7993 Mon Sep 17 00:00:00 2001 From: mchurch Date: Thu, 19 Jul 2007 16:59:51 +0000 Subject: [PATCH] Adding 'get_coursemodule_info' to the standard available functions for assignment types. As a minimum, this allows assignment types to add their own icon (like resource does). --- mod/assignment/lib.php | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/mod/assignment/lib.php b/mod/assignment/lib.php index 3db1c83814..66d5f55a7d 100644 --- a/mod/assignment/lib.php +++ b/mod/assignment/lib.php @@ -1626,6 +1626,21 @@ class assignment_base { return ''; } + /** + * Add a get_coursemodule_info function in case any assignment type wants to add 'extra' information + * for the course (see resource). + * + * Given a course_module object, this function returns any "extra" information that may be needed + * when printing this activity in a course listing. See get_array_of_activities() in course/lib.php. + * + * @param $coursemodule object The coursemodule object (record). + * @return object An object on information that the coures will know about (most noticeably, an icon). + * + */ + function get_coursemodule_info($coursemodule) { + return false; + } + } ////// End of the assignment_base class @@ -2399,6 +2414,30 @@ function assignment_get_all_submissions($assignment, $sort="", $dir="DESC") { */ } +/** + * Add a get_coursemodule_info function in case any assignment type wants to add 'extra' information + * for the course (see resource). + * + * Given a course_module object, this function returns any "extra" information that may be needed + * when printing this activity in a course listing. See get_array_of_activities() in course/lib.php. + * + * @param $coursemodule object The coursemodule object (record). + * @return object An object on information that the coures will know about (most noticeably, an icon). + * + */ +function assignment_get_coursemodule_info($coursemodule) { + global $CFG; + + if (! $assignment = get_record('assignment', 'id', $coursemodule->instance)) { + return false; + } + + require_once("$CFG->dirroot/mod/assignment/type/$assignment->assignmenttype/assignment.class.php"); + $assignmentclass = "assignment_$assignment->assignmenttype"; + $ass = new $assignmentclass($coursemodule->id, $assignment); + + return $ass->get_coursemodule_info($coursemodule); +} -- 2.39.5