Differences Between: [Versions 310 and 400] [Versions 311 and 400] [Versions 39 and 400] [Versions 400 and 403]
Library of workshop module functions needed by Moodle core and other subsystems All the functions neeeded by Moodle core, gradebook, file subsystem etc are placed here.
Copyright: | 2009 David Mudrak <david.mudrak@gmail.com> |
License: | http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
File Size: | 2282 lines (99 kb) |
Included or required: | 8 times |
Referenced: | 3 times |
Includes or requires: | 2 files mod/workshop/locallib.php mod/workshop/lib.php |
workshop_supports($feature) X-Ref |
Returns the information if the module supports a feature return: mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose. param: string $feature FEATURE_xx constant for requested feature |
workshop_add_instance(stdclass $workshop) X-Ref |
Saves a new instance of the workshop into the database Given an object containing all the necessary data, (defined by the form in mod_form.php) this function will save a new instance and return the id number of the new instance. return: int The id of the newly inserted workshop record param: stdClass $workshop An object from the form in mod_form.php |
workshop_update_instance(stdclass $workshop) X-Ref |
Given an object containing all the necessary data, (defined by the form in mod_form.php) this function will update an existing instance with new data. return: bool success param: stdClass $workshop An object from the form in mod_form.php |
workshop_delete_instance($id) X-Ref |
Given an ID of an instance of this module, this function will permanently delete the instance and any data that depends on it. return: boolean Success/Failure param: int $id Id of the module instance |
workshop_refresh_events($courseid = 0, $instance = null, $cm = null) X-Ref |
This standard function will check all instances of this module and make sure there are up-to-date events created for each of them. If courseid = 0, then every workshop event in the site is checked, else only workshop events belonging to the course specified are checked. return: bool Returns true if the calendar events were successfully updated. param: integer $courseid The Course ID. param: int|stdClass $instance workshop module instance or ID. param: int|stdClass $cm Course module object or ID. |
workshop_get_view_actions() X-Ref |
List the actions that correspond to a view of this module. This is used by the participation report. Note: This is not used by new logging system. Event with crud = 'r' and edulevel = LEVEL_PARTICIPATING will be considered as view action. return: array |
workshop_get_post_actions() X-Ref |
List the actions that correspond to a post of this module. This is used by the participation report. Note: This is not used by new logging system. Event with crud = ('c' || 'u' || 'd') and edulevel = LEVEL_PARTICIPATING will be considered as post action. return: array |
workshop_user_outline($course, $user, $mod, $workshop) X-Ref |
Return a small object with summary information about what a user has done with a given particular instance of this module Used for user activity reports. $return->time = the time they did it $return->info = a short text description return: stdclass|null param: stdClass $course The course record. param: stdClass $user The user record. param: cm_info|stdClass $mod The course module info object or record. param: stdClass $workshop The workshop instance record. |
workshop_user_complete($course, $user, $mod, $workshop) X-Ref |
Print a detailed representation of what a user has done with a given particular instance of this module, for user activity reports. return: string HTML param: stdClass $course The course record. param: stdClass $user The user record. param: cm_info|stdClass $mod The course module info object or record. param: stdClass $workshop The workshop instance record. |
workshop_print_recent_activity($course, $viewfullnames, $timestart) X-Ref |
Given a course and a time, this module should find recent activity that has occurred in workshop activities and print it out. Return true if there was output, or false is there was none. return: boolean param: stdClass $course param: bool $viewfullnames param: int $timestart |
workshop_get_recent_mod_activity(&$activities, &$index, $timestart, $courseid, $cmid, $userid=0, $groupid=0) X-Ref |
Returns all activity in course workshops since a given time return: void adds items into $activities and increases $index param: array $activities sequentially indexed array of objects param: int $index param: int $timestart param: int $courseid param: int $cmid param: int $userid defaults to 0 param: int $groupid defaults to 0 |
workshop_print_recent_mod_activity($activity, $courseid, $detail, $modnames, $viewfullnames) X-Ref |
Print single activity item prepared by {@see workshop_get_recent_mod_activity()} |
workshop_scale_used() X-Ref |
workshop_scale_used_anywhere($scaleid) X-Ref |
Is a given scale used by any instance of workshop? The function asks all installed grading strategy subplugins. The workshop core itself does not use scales. Both grade for submission and grade for assessments do not use scales. return: bool param: int $scaleid id of the scale to check |
workshop_grade_item_update(stdclass $workshop, $submissiongrades=null, $assessmentgrades=null) X-Ref |
Creates or updates grade items for the give workshop instance Needed by grade_update_mod_grades() in lib/gradelib.php. Also used by {@link workshop_update_grades()}. return: void param: stdClass $workshop instance object with extra cmidnumber property param: stdClass $submissiongrades data for the first grade item param: stdClass $assessmentgrades data for the second grade item |
workshop_update_grades(stdclass $workshop, $userid=0) X-Ref |
Update workshop grades in the gradebook Needed by grade_update_mod_grades() in lib/gradelib.php return: void param: stdClass $workshop instance object with extra cmidnumber and modname property param: int $userid update grade of specific user only, 0 means all participants |
workshop_grade_item_category_update($workshop) X-Ref |
Update the grade items categories if they are changed via mod_form.php We must do it manually here in the workshop module because modedit supports only single grade item while we use two. param: stdClass $workshop An object from the form in mod_form.php |
workshop_get_file_areas($course, $cm, $context) X-Ref |
Returns the lists of all browsable file areas within the given module context The file area workshop_intro for the activity introduction field is added automatically by {@link file_browser::get_file_info_context_module()} return: array of [(string)filearea] => (string)description param: stdClass $course param: stdClass $cm param: stdClass $context |
workshop_pluginfile($course, $cm, $context, $filearea, array $args, $forcedownload, array $options=array() X-Ref |
Serves the files from the workshop file areas Apart from module intro (handled by pluginfile.php automatically), workshop files may be media inserted into submission content (like images) and submission attachments. For these two, the fileareas submission_content and submission_attachment are used. Besides that, areas instructauthors, instructreviewers and conclusion contain the media embedded using the mod_form.php. return: bool false if the file not found, just send the file otherwise and do not return anything param: stdClass $course the course object param: stdClass $cm the course module object param: stdClass $context the workshop's context param: string $filearea the name of the file area param: array $args extra arguments (itemid, path) param: bool $forcedownload whether or not force download param: array $options additional options affecting the file serving |
workshop_get_file_info($browser, $areas, $course, $cm, $context, $filearea, $itemid, $filepath, $filename) X-Ref |
File browsing support for workshop file areas return: file_info instance or null if not found param: file_browser $browser param: array $areas param: stdClass $course param: stdClass $cm param: stdClass $context param: string $filearea param: int $itemid param: string $filepath param: string $filename |
workshop_extend_navigation(navigation_node $navref, stdclass $course, stdclass $module, cm_info $cm) X-Ref |
Extends the global navigation tree by adding workshop nodes if there is a relevant content This can be called by an AJAX request so do not rely on $PAGE as it might not be set up properly. param: navigation_node $navref An object representing the navigation tree node of the workshop module instance param: stdClass $course param: stdClass $module param: cm_info $cm |
workshop_extend_settings_navigation(settings_navigation $settingsnav, navigation_node $workshopnode=null) X-Ref |
Extends the settings navigation with the Workshop settings This function is called when the context for the page is a workshop module. This is not called by AJAX so it is safe to rely on the $PAGE. param: settings_navigation $settingsnav {@link settings_navigation} param: navigation_node $workshopnode {@link navigation_node} |
workshop_page_type_list($pagetype, $parentcontext, $currentcontext) X-Ref |
Return a list of page types param: string $pagetype current page type param: stdClass $parentcontext Block's parent context param: stdClass $currentcontext Current context of block |
workshop_calendar_update(stdClass $workshop, $cmid) X-Ref |
Updates the calendar events associated to the given workshop param: stdClass $workshop the workshop instance record param: int $cmid course module id |
mod_workshop_core_calendar_provide_event_action(calendar_event $event,\core_calendar\action_factory $factory, int $userid = 0) X-Ref |
This function receives a calendar event and returns the action associated with it, or null if there is none. This is used by block_myoverview in order to display the event appropriately. If null is returned then the event is not displayed on the block. return: \core_calendar\local\event\entities\action_interface|null param: calendar_event $event param: \core_calendar\action_factory $factory param: int $userid User id to use for all capability checks, etc. Set to 0 for current user (default). |
mod_workshop_core_calendar_get_valid_event_timestart_range(\calendar_event $event, \stdClass $workshop) X-Ref |
This function calculates the minimum and maximum cutoff values for the timestart of the given event. It will return an array with two values, the first being the minimum cutoff value and the second being the maximum cutoff value. Either or both values can be null, which indicates there is no minimum or maximum, respectively. If a cutoff is required then the function must return an array containing the cutoff timestamp and error string to display to the user if the cutoff value is violated. A minimum and maximum cutoff return value will look like: [ [1505704373, 'The date must be after this date'], [1506741172, 'The date must be before this date'] ] return: array Returns an array with min and max date. param: calendar_event $event The calendar event to get the time range for param: stdClass $workshop The module instance to get the range from |
mod_workshop_core_calendar_event_timestart_updated(\calendar_event $event, \stdClass $workshop) X-Ref |
This function will update the workshop module according to the event that has been modified. param: \calendar_event $event param: stdClass $workshop The module instance to get the range from |
workshop_reset_course_form_definition($mform) X-Ref |
Extends the course reset form with workshop specific settings. param: MoodleQuickForm $mform |
workshop_reset_course_form_defaults(stdClass $course) X-Ref |
Provides default values for the workshop settings in the course reset form. param: stdClass $course The course to be reset. |
workshop_reset_userdata(stdClass $data) X-Ref |
Performs the reset of all workshop instances in the course. return: array List of results, each being array[(string)component, (string)item, (string)error] param: stdClass $data The actual course reset settings. |
mod_workshop_get_fontawesome_icon_map() X-Ref |
Get icon mapping for font-awesome. |
workshop_check_updates_since(cm_info $cm, $from, $filter = array() X-Ref |
Check if the module has any update that affects the current user since a given time. return: stdClass an object with the different type of areas indicating if they were updated or not param: cm_info $cm course module data param: int $from the time to check updates from param: array $filter if we need to check only specific updates |
mod_workshop_get_path_from_pluginfile(string $filearea, array $args) X-Ref |
Given an array with a file path, it returns the itemid and the filepath for the defined filearea. return: array|null The itemid and the filepath inside the $args path, for the defined filearea. param: string $filearea The filearea. param: array $args The path (the part after the filearea and before the filename). |
workshop_get_coursemodule_info($coursemodule) X-Ref |
Add a get_coursemodule_info function in case any feedback 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. return: cached_cm_info|false An object on information that the courses will know about (most noticeably, an icon). param: stdClass $coursemodule The coursemodule object (record). |
mod_workshop_core_calendar_get_event_action_string($eventtype) X-Ref |
Callback to fetch the activity event type lang string. return: lang_string The event type lang string. param: string $eventtype The event type. |