See Release Notes
Long Term Support Release
Differences Between: [Versions 39 and 311] [Versions 39 and 400] [Versions 39 and 401] [Versions 39 and 402] [Versions 39 and 403]
Library of functions and constants for module feedback includes the main-part of feedback-functions
Copyright: | Andreas Grabs |
License: | http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
File Size: | 3274 lines (113 kb) |
Included or required: | 15 times |
Referenced: | 23 times |
Includes or requires: | 0 files |
feedback_supports($feature) X-Ref |
param: string $feature FEATURE_xx constant for requested feature return: mixed True if module supports feature, null if doesn't know |
feedback_add_instance($feedback) X-Ref |
this will create a new instance and return the id number of the new instance. param: object $feedback the object given by mod_feedback_mod_form return: int |
feedback_update_instance($feedback) X-Ref |
this will update a given instance param: object $feedback the object given by mod_feedback_mod_form return: boolean |
feedback_pluginfile($course, $cm, $context, $filearea, $args, $forcedownload, array $options=array() X-Ref |
Serves the files included in feedback items like label. Implements needed access control ;-) There are two situations in general where the files will be sent. 1) filearea = item, 2) filearea = template param: stdClass $course course object param: stdClass $cm course module object param: stdClass $context context object param: string $filearea file area param: array $args extra arguments param: bool $forcedownload whether or not force download param: array $options additional options affecting the file serving return: bool false if file not found, does not return if found - justsend the file |
feedback_delete_instance($id) X-Ref |
this will delete a given instance. all referenced data also will be deleted param: int $id the instanceid of feedback return: boolean |
feedback_user_outline($course, $user, $mod, $feedback) 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 param: stdClass $course param: stdClass $user param: cm_info|stdClass $mod param: stdClass $feedback return: stdClass |
feedback_get_recent_mod_activity(&$activities, &$index,$timemodified, $courseid,$cmid, $userid="", $groupid="") X-Ref |
Returns all users who has completed a specified feedback since a given time many thanks to Manolescu Dorel, who contributed these two functions param: array $activities Passed by reference param: int $index Passed by reference param: int $timemodified Timestamp param: int $courseid param: int $cmid param: int $userid param: int $groupid return: void |
feedback_print_recent_mod_activity($activity, $courseid, $detail, $modnames) X-Ref |
Prints all users who has completed a specified feedback since a given time many thanks to Manolescu Dorel, who contributed these two functions param: object $activity param: int $courseid param: string $detail param: array $modnames return: void Output is echo'd |
feedback_get_completion_state($course, $cm, $userid, $type) X-Ref |
Obtains the automatic completion state for this feedback based on the condition in feedback settings. 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. |
feedback_user_complete($course, $user, $mod, $feedback) X-Ref |
Print a detailed representation of what a user has done with a given particular instance of this module, for user activity reports. param: stdClass $course param: stdClass $user param: cm_info|stdClass $mod param: stdClass $feedback |
feedback_cron() X-Ref |
return: bool true |
feedback_scale_used() X-Ref |
feedback_scale_used_anywhere($scaleid) X-Ref |
Checks if scale is being used by any instance of feedback This is used to find out if scale used anywhere param: $scaleid int return: boolean True if the scale is used by any assignment |
feedback_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 |
feedback_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 |
feedback_reset_userdata($data) X-Ref |
This function is used by the reset_course_userdata function in moodlelib. This function will remove all responses from the specified feedback and clean up any related data. param: object $data the data submitted from the reset course. return: array status array |
feedback_reset_course_form_definition(&$mform) X-Ref |
Called by course/reset.php param: object $mform form passed by reference |
feedback_reset_course_form_defaults($course) X-Ref |
Course reset form defaults. param: object $course |
feedback_reset_course_form($course) X-Ref |
Called by course/reset.php and shows the formdata by coursereset. it prints checkboxes for each feedback available at the given course there are two checkboxes: 1) delete userdata and keep the feedback 2) delete userdata and drop the feedback param: object $course return: void |
feedback_get_editor_options() X-Ref |
This gets an array with default options for the editor return: array the options |
feedback_set_events($feedback) X-Ref |
This creates new events given as timeopen and closeopen by $feedback. param: object $feedback return: void |
feedback_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 feedback event in the site is checked, else only feedback events belonging to the course specified are checked. This function is used, in its new format, by restore_refresh_events() param: int $courseid param: int|stdClass $instance Feedback module instance or ID. param: int|stdClass $cm Course module object or ID (not used in this module). return: bool |
feedback_delete_course_module($id) X-Ref |
this function is called by {@link feedback_delete_userdata()} it drops the feedback-instance from the course_module table param: int $id the id from the coursemodule return: boolean |
feedback_get_context() X-Ref |
feedback_check_is_switchrole() X-Ref |
returns true if the current role is faked by switching role feature return: boolean |
feedback_get_incomplete_users(cm_info $cm,$group = false,$sort = '',$startpage = false,$pagecount = false,$includestatus = false) X-Ref |
count users which have not completed the feedback param: cm_info $cm Course-module object param: int $group single groupid param: string $sort param: int $startpage param: int $pagecount param: bool $includestatus to return if the user started or not the feedback among the complete user record return: array array of user ids or user objects when $includestatus set to true |
feedback_count_incomplete_users($cm, $group = false) X-Ref |
count users which have not completed the feedback param: object $cm param: int $group single groupid return: int count of userrecords |
feedback_count_complete_users($cm, $group = false) X-Ref |
count users which have completed a feedback param: object $cm param: int $group single groupid return: int count of userrecords |
feedback_get_complete_users($cm,$group = false,$where = '',array $params = null,$sort = '',$startpage = false,$pagecount = false) X-Ref |
get users which have completed a feedback param: object $cm param: int $group single groupid param: string $where a sql where condition (must end with " AND ") param: array parameters used in $where param: string $sort a table field param: int $startpage param: int $pagecount return: object the userrecords |
feedback_get_viewreports_users($cmid, $groups = false) X-Ref |
get users which have the viewreports-capability param: int $cmid param: mixed $groups single groupid or array of groupids - group(s) user is in return: object the userrecords |
feedback_get_receivemail_users($cmid, $groups = false) X-Ref |
get users which have the receivemail-capability param: int $cmid param: mixed $groups single groupid or array of groupids - group(s) user is in return: object the userrecords |
feedback_create_template($courseid, $name, $ispublic = 0) X-Ref |
creates a new template-record. param: int $courseid param: string $name the name of template shown in the templatelist param: int $ispublic 0:privat 1:public return: int the new templateid |
feedback_save_as_template($feedback, $name, $ispublic = 0) X-Ref |
creates new template items. all items will be copied and the attribute feedback will be set to 0 and the attribute template will be set to the new templateid param: object $feedback param: string $name the name of template shown in the templatelist param: int $ispublic 0:privat 1:public return: boolean |
feedback_delete_template($template) X-Ref |
deletes all feedback_items related to the given template id param: object $template the template return: void |
feedback_items_from_template($feedback, $templateid, $deleteold = false) X-Ref |
creates new feedback_item-records from template. if $deleteold is set true so the existing items of the given feedback will be deleted if $deleteold is set false so the new items will be appanded to the old items param: object $feedback param: int $templateid param: boolean $deleteold |
feedback_get_template_list($course, $onlyownorpublic = '') X-Ref |
get the list of available templates. if the $onlyown param is set true so only templates from own course will be served this is important for droping templates param: object $course param: string $onlyownorpublic return: array the template recordsets |
feedback_get_item_class($typ) X-Ref |
load the lib.php from item-plugin-dir and returns the instance of the itemclass param: string $typ return: feedback_item_base the instance of itemclass |
feedback_load_feedback_items($dir = 'mod/feedback/item') X-Ref |
load the available item plugins from given subdirectory of $CFG->dirroot the default is "mod/feedback/item" param: string $dir the subdir return: array pluginnames as string |
feedback_load_feedback_items_options() X-Ref |
load the available item plugins to use as dropdown-options return: array pluginnames as string |
feedback_get_depend_candidates_for_item($feedback, $item) X-Ref |
load the available items for the depend item dropdown list shown in the edit_item form param: object $feedback param: object $item the item of the edit_item form return: array all items except the item $item, labels and pagebreaks |
feedback_create_item() X-Ref |
feedback_update_item($item) X-Ref |
save the changes of a given item. param: object $item return: boolean |
feedback_delete_item($itemid, $renumber = true, $template = false) X-Ref |
deletes an item and also deletes all related values param: int $itemid param: boolean $renumber should the kept items renumbered Yes/No param: object $template if the template is given so the items are bound to it return: void |
feedback_delete_all_items($feedbackid) X-Ref |
deletes all items of the given feedbackid param: int $feedbackid return: void |
feedback_switch_item_required($item) X-Ref |
this function toggled the item-attribute required (yes/no) param: object $item return: boolean |
feedback_renumber_items($feedbackid) X-Ref |
renumbers all items of the given feedbackid param: int $feedbackid return: void |
feedback_moveup_item($item) X-Ref |
this decreases the position of the given item param: object $item return: bool |
feedback_movedown_item($item) X-Ref |
this increased the position of the given item param: object $item return: bool |
feedback_move_item($moveitem, $pos) X-Ref |
here the position of the given item will be set to the value in $pos param: object $moveitem param: int $pos return: boolean |
feedback_print_item_preview() X-Ref |
feedback_print_item_complete() X-Ref |
feedback_print_item_show_value() X-Ref |
feedback_set_tmp_values($feedbackcompleted) X-Ref |
if the user completes a feedback and there is a pagebreak so the values are saved temporary. the values are not saved permanently until the user click on save button param: object $feedbackcompleted return: object temporary saved completed-record |
feedback_save_tmp_values($feedbackcompletedtmp, $feedbackcompleted) X-Ref |
this saves the temporary saved values permanently param: object $feedbackcompletedtmp the temporary completed param: object $feedbackcompleted the target completed return: int the id of the completed |
feedback_delete_completedtmp() X-Ref |
feedback_create_pagebreak($feedbackid) X-Ref |
this creates a pagebreak. a pagebreak is a special kind of item param: int $feedbackid return: mixed false if there already is a pagebreak on last position or the id of the pagebreak-item |
feedback_get_all_break_positions($feedbackid) X-Ref |
get all positions of pagebreaks in the given feedback param: int $feedbackid return: array all ordered pagebreak positions |
feedback_get_last_break_position($feedbackid) X-Ref |
get the position of the last pagebreak param: int $feedbackid return: int the position of the last pagebreak |
feedback_get_page_to_continue() X-Ref |
feedback_clean_input_value() X-Ref |
feedback_save_values() X-Ref |
feedback_save_guest_values() X-Ref |
feedback_get_item_value($completedid, $itemid, $tmp = false) X-Ref |
get the value from the given item related to the given completed. the value can come as temporary or as permanently value. the deciding is done by $tmp param: int $completeid param: int $itemid param: boolean $tmp return: mixed the value, the type depends on plugin-definition |
feedback_compare_item_value($completedid, $item, $dependvalue, $tmp = false) X-Ref |
compares the value of the itemid related to the completedid with the dependvalue. this is used if a depend item is set. the value can come as temporary or as permanently value. the deciding is done by $tmp. param: int $completedid param: stdClass|int $item param: mixed $dependvalue param: bool $tmp return: bool |
feedback_check_values() X-Ref |
feedback_create_values() X-Ref |
feedback_update_values() X-Ref |
feedback_get_group_values($item,$groupid = false,$courseid = false,$ignore_empty = false) X-Ref |
get the values of an item depending on the given groupid. if the feedback is anonymous so the values are shuffled param: object $item param: int $groupid param: int $courseid param: bool $ignore_empty if this is set true so empty values are not delivered return: array the value-records |
feedback_is_already_submitted($feedbackid, $courseid = false) X-Ref |
check for multiple_submit = false. if the feedback is global so the courseid must be given param: int $feedbackid param: int $courseid return: boolean true if the feedback already is submitted otherwise false |
feedback_get_current_completed() X-Ref |
feedback_get_completeds_group($feedback, $groupid = false, $courseid = false) X-Ref |
get the completeds depending on the given groupid. param: object $feedback param: int $groupid param: int $courseid return: mixed array of found completeds otherwise false |
feedback_get_completeds_group_count($feedback, $groupid = false, $courseid = false) X-Ref |
get the count of completeds depending on the given groupid. param: object $feedback param: int $groupid param: int $courseid return: mixed count of completeds or false |
feedback_delete_all_completeds($feedback, $cm = null, $course = null) X-Ref |
deletes all completed-recordsets from a feedback. all related data such as values also will be deleted param: stdClass|int $feedback param: stdClass|cm_info $cm param: stdClass $course return: void |
feedback_delete_completed($completed, $feedback = null, $cm = null, $course = null) X-Ref |
deletes a completed given by completedid. all related data such values or tracking data also will be deleted param: int|stdClass $completed param: stdClass $feedback param: stdClass|cm_info $cm param: stdClass $course return: boolean |
feedback_is_course_in_sitecourse_map() X-Ref |
feedback_is_feedback_in_sitecourse_map() X-Ref |
feedback_get_feedbacks_from_sitecourse_map($courseid) X-Ref |
gets the feedbacks from table feedback_sitecourse_map. this is used to show the global feedbacks on the feedback block all feedbacks with the following criteria will be selected:<br /> 1) all feedbacks which id are listed together with the courseid in sitecoursemap and<br /> 2) all feedbacks which not are listed in sitecoursemap param: int $courseid return: array the feedback-records |
feedback_get_courses_from_sitecourse_map($feedbackid) X-Ref |
Gets the courses from table feedback_sitecourse_map param: int $feedbackid return: array the course-records |
feedback_update_sitecourse_map($feedback, $courses) X-Ref |
Updates the course mapping for the feedback param: stdClass $feedback param: array $courses array of course ids |
feedback_clean_up_sitecourse_map() X-Ref |
feedback_print_numeric_option_list() X-Ref |
feedback_send_email($cm, $feedback, $course, $user, $completed = null) X-Ref |
sends an email to the teachers of the course where the given feedback is placed. param: object $cm the coursemodule-record param: object $feedback param: object $course param: stdClass|int $user param: stdClass $completed record from feedback_completed if known return: void |
feedback_send_email_anonym($cm, $feedback, $course) X-Ref |
sends an email to the teachers of the course where the given feedback is placed. param: object $cm the coursemodule-record param: object $feedback param: object $course return: void |
feedback_send_email_text($info, $course) X-Ref |
send the text-part of the email param: object $info includes some infos about the feedback you want to send param: object $course return: string the text you want to post |
feedback_send_email_html($info, $course, $cm) X-Ref |
send the html-part of the email param: object $info includes some infos about the feedback you want to send param: object $course return: string the text you want to post |
feedback_encode_target_url($url) X-Ref |
param: string $url return: string |
feedback_extend_settings_navigation(settings_navigation $settings,navigation_node $feedbacknode) X-Ref |
Adds module specific settings to the settings block param: settings_navigation $settings The settings navigation object param: navigation_node $feedbacknode The node to add module settings to |
feedback_init_feedback_session() X-Ref |
No description |
feedback_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 |
feedback_ajax_saveitemorder($itemlist, $feedback) X-Ref |
Move save the items of the given $feedback in the order of $itemlist. param: string $itemlist a comma separated list with item ids param: stdClass $feedback return: bool true if success |
feedback_can_view_analysis($feedback, $context, $courseid = false) X-Ref |
Checks if current user is able to view feedback on this course. param: stdClass $feedback param: context_module $context param: int $courseid return: bool |
mod_feedback_get_fontawesome_icon_map() X-Ref |
Get icon mapping for font-awesome. |
feedback_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. 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 return: stdClass an object with the different type of areas indicating if they were updated or not |
mod_feedback_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. 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). return: \core_calendar\local\event\entities\action_interface|null |
feedback_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. param: stdClass $coursemodule The coursemodule object (record). return: cached_cm_info An object on information that the courses |
mod_feedback_get_completion_active_rule_descriptions($cm) X-Ref |
Callback which returns human-readable strings describing the active completion custom rules for the module instance. param: cm_info|stdClass $cm object with fields ->completion and ->customdata['customcompletionrules'] return: array $descriptions the array of descriptions for the custom rules. |
mod_feedback_core_calendar_get_valid_event_timestart_range(\calendar_event $event, \stdClass $instance) 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 due date must be after the sbumission start date'], [1506741172, 'The due date must be before the cutoff date'] ] param: calendar_event $event The calendar event to get the time range for param: stdClass $instance The module instance to get the range from return: array |
mod_feedback_core_calendar_event_timestart_updated(\calendar_event $event, \stdClass $feedback) X-Ref |
This function will update the feedback module according to the event that has been modified. It will set the timeopen or timeclose value of the feedback instance according to the type of event provided. param: \calendar_event $event param: stdClass $feedback The module instance to get the range from |