Moodle APIs 4.3
Moodle 4.3.6 (Build: 20240812)

Functions

 mod_scorm_core_calendar_event_timestart_updated (\calendar_event $event, stdClass $scorm)
 This function will update the scorm module according to the event that has been modified.
 
 mod_scorm_core_calendar_get_event_action_string (string $eventtype)
 Callback to fetch the activity event type lang string.
 
 mod_scorm_core_calendar_get_valid_event_timestart_range (\calendar_event $event, stdClass $instance)
 This function calculates the minimum and maximum cutoff values for the timestart of the given event.
 
 mod_scorm_core_calendar_provide_event_action (calendar_event $event, core_calendar\action_factory $factory, $userid=null)
 This function receives a calendar event and returns the action associated with it, or null if there is none.
 
 mod_scorm_get_completion_active_rule_descriptions ($cm)
 Callback which returns human-readable strings describing the active completion custom rules for the module instance.
 
 mod_scorm_get_fontawesome_icon_map ()
 Get icon mapping for font-awesome.
 
 mod_scorm_get_path_from_pluginfile (string $filearea, array $args)
 Given an array with a file path, it returns the itemid and the filepath for the defined filearea.
 
stdClass scorm_add_instance ($scorm, $mform=null)
 Given an object containing all the necessary data, (defined by the form in mod_form.php) this function will create a new instance and return the id number of the new instance.
 
 scorm_check_mode ($scorm, &$newattempt, &$attempt, $userid, &$mode)
 Check and set the correct mode and attempt when entering a SCORM package.
 
 scorm_check_updates_since (cm_info $cm, $from, $filter=array())
 Check if the module has any update that affects the current user since a given time.
 
stdClass scorm_cron_scheduled_task ()
 Function to be run periodically according to the moodle Tasks API This function searches for things that need to be done, such as sending out mail, toggling flags etc ...
 
 scorm_debug_log_filename ($type, $scoid)
 Get the filename for a temp log file.
 
 scorm_debug_log_remove ($type, $scoid)
 Remove debug log file.
 
 scorm_debug_log_write ($type, $text, $scoid)
 writes log output to a temp log file
 
stdClass scorm_delete_instance ($id)
 Given an ID of an instance of this module, this function will permanently delete the instance and any data that depends on it.
 
 scorm_dndupload_handle ($uploadinfo)
 Handle a file that has been uploaded.
 
 scorm_dndupload_register ()
 Register the ability to handle drag and drop file uploads.
 
 scorm_extend_settings_navigation (settings_navigation $settings, navigation_node $scormnode)
 This function extends the settings navigation block for the site.
 
 scorm_get_coursemodule_info ($coursemodule)
 Add a get_coursemodule_info function in case any SCORM type wants to add 'extra' information for the course (see resource).
 
 scorm_get_file_areas ($course, $cm, $context)
 Lists all file areas current user may browse.
 
 scorm_get_file_info ($browser, $areas, $course, $cm, $context, $filearea, $itemid, $filepath, $filename)
 File browsing support for SCORM file areas.
 
 scorm_get_post_actions ()
 List the actions that correspond to a post of this module.
 
stdClass scorm_get_user_grades ($scorm, $userid=0)
 Return grade for given user or all users.
 
 scorm_get_view_actions ()
 List the actions that correspond to a view of this module.
 
 scorm_grade_item_delete ($scorm)
 Delete grade item for given scorm.
 
 scorm_grade_item_update ($scorm, $grades=null)
 Update/create grade item for given scorm.
 
 scorm_option2text ($scorm)
 
 scorm_page_type_list ($pagetype, $parentcontext, $currentcontext)
 Return a list of page types.
 
 scorm_pluginfile ($course, $cm, $context, $filearea, $args, $forcedownload, array $options=array())
 Serves scorm content, introduction images and packages.
 
 scorm_print_overview ()
 
 scorm_refresh_events ($courseid=0, $instance=null, $cm=null)
 This standard function will check all instances of this module and make sure there are up-to-date events created for each of them.
 
 scorm_reset_course_form_defaults ($course)
 Course reset form defaults.
 
 scorm_reset_course_form_definition (&$mform)
 Implementation of the function for printing the form elements that control whether the course reset functionality affects the scorm.
 
stdClass scorm_reset_gradebook ($courseid, $type='')
 Removes all grades from gradebook.
 
stdClass scorm_reset_userdata ($data)
 Actual implementation of the reset course functionality, delete all the scorm attempts for course $data->courseid.
 
 scorm_set_completion ($scorm, $userid, $completionstate=COMPLETION_COMPLETE, $grades=array())
 Sets activity completion state.
 
 scorm_status_options ($withstrings=false)
 Return an array of status options.
 
 scorm_supports ($feature)
 @uses FEATURE_GROUPS @uses FEATURE_GROUPINGS @uses FEATURE_MOD_INTRO @uses FEATURE_COMPLETION_TRACKS_VIEWS @uses FEATURE_COMPLETION_HAS_RULES @uses FEATURE_GRADE_HAS_GRADE @uses FEATURE_GRADE_OUTCOMES
 
 scorm_update_grades ($scorm, $userid=0, $nullifnone=true)
 Update grades in central gradebook.
 
stdClass scorm_update_instance ($scorm, $mform=null)
 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.
 
stdClass scorm_user_complete ($course, $user, $mod, $scorm)
 Print a detailed representation of what a user has done with a given particular instance of this module, for user activity reports.
 
 scorm_user_outline ($course, $user, $mod, $scorm)
 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.
 
 scorm_validate_package ($file)
 Check that a Zip file contains a valid SCORM package.
 
 scorm_version_check ($scormversion, $version='')
 Returns the SCORM version used.
 
 scorm_view ($scorm, $course, $cm, $context)
 Trigger the course_module_viewed event.
 

Variables

const SCORM_12 1
 
const SCORM_13 2
 
const SCORM_AICC 3
 
const SCORM_DISPLAY_ATTEMPTSTATUS_ALL 1
 
const SCORM_DISPLAY_ATTEMPTSTATUS_ENTRY 3
 
const SCORM_DISPLAY_ATTEMPTSTATUS_MY 2
 
const SCORM_DISPLAY_ATTEMPTSTATUS_NO 0
 
const SCORM_EVENT_TYPE_CLOSE 'close'
 
const SCORM_EVENT_TYPE_OPEN 'open'
 
const SCORM_NAV_DISABLED 0
 
const SCORM_NAV_FLOATING 2
 
const SCORM_NAV_UNDER_CONTENT 1
 
const SCORM_TOC_DISABLED 3
 
const SCORM_TOC_HIDDEN 1
 
const SCORM_TOC_POPUP 2
 
const SCORM_TOC_SIDE 0
 
const SCORM_TYPE_AICCURL 'aiccurl'
 SCORM_TYPE_AICCURL = external AICC url.
 
const SCORM_TYPE_EXTERNAL 'external'
 SCORM_TYPE_EXTERNAL = external.
 
const SCORM_TYPE_LOCAL 'local'
 SCORM_TYPE_LOCAL = local.
 
const SCORM_TYPE_LOCALSYNC 'localsync'
 SCORM_TYPE_LOCALSYNC = localsync.
 

Detailed Description

Function Documentation

◆ mod_scorm_core_calendar_event_timestart_updated()

mod_scorm_core_calendar_event_timestart_updated ( \calendar_event $event,
stdClass $scorm )

This function will update the scorm module according to the event that has been modified.

It will set the timeopen or timeclose value of the scorm instance according to the type of event provided.

Exceptions
moodle_exception
Parameters
calendar_event$event
stdClass$scormThe module instance to get the range from

◆ mod_scorm_core_calendar_get_event_action_string()

mod_scorm_core_calendar_get_event_action_string ( string $eventtype)

Callback to fetch the activity event type lang string.

Parameters
string$eventtypeThe event type.
Return values
lang_stringThe event type lang string.

◆ mod_scorm_core_calendar_get_valid_event_timestart_range()

mod_scorm_core_calendar_get_valid_event_timestart_range ( \calendar_event $event,
stdClass $instance )

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'] ]

Parameters
calendar_event$eventThe calendar event to get the time range for
stdClass$instanceThe module instance to get the range from
Return values
arrayReturns an array with min and max date.

◆ mod_scorm_core_calendar_provide_event_action()

mod_scorm_core_calendar_provide_event_action ( calendar_event $event,
core_calendar\action_factory $factory,
$userid = null )

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.

Parameters
calendar_event$event
core_calendar\action_factory$factory
int$useridUser id override
Return values
core_calendar\local\event\entities\action_interface|null

◆ mod_scorm_get_completion_active_rule_descriptions()

mod_scorm_get_completion_active_rule_descriptions ( $cm)

Callback which returns human-readable strings describing the active completion custom rules for the module instance.

Parameters
cm_info | stdClass$cmobject with fields ->completion and ->customdata['customcompletionrules']
Return values
array\$descriptionsthe array of descriptions for the custom rules.

◆ mod_scorm_get_path_from_pluginfile()

mod_scorm_get_path_from_pluginfile ( string $filearea,
array $args )

Given an array with a file path, it returns the itemid and the filepath for the defined filearea.

Parameters
string$fileareaThe filearea.
array$argsThe path (the part after the filearea and before the filename).
Return values
arrayThe itemid and the filepath inside the $args path, for the defined filearea.

◆ scorm_add_instance()

stdClass scorm_add_instance ( $scorm,
$mform = null )

Given an object containing all the necessary data, (defined by the form in mod_form.php) this function will create a new instance and return the id number of the new instance.

@global object @uses CONTEXT_MODULE @uses SCORM_TYPE_LOCAL @uses SCORM_TYPE_LOCALSYNC @uses SCORM_TYPE_EXTERNAL

Parameters
object$scormForm data
object$mform
Return values
intnew instance id

◆ scorm_check_mode()

scorm_check_mode ( $scorm,
& $newattempt,
& $attempt,
$userid,
& $mode )

Check and set the correct mode and attempt when entering a SCORM package.

Parameters
object$scormobject
string$newattemptshould a new attempt be generated here.
int$attemptthe attempt number this is for.
int$useridthe userid of the user.
string$modethe current mode that has been selected.

◆ scorm_check_updates_since()

scorm_check_updates_since ( cm_info $cm,
$from,
$filter = array() )

Check if the module has any update that affects the current user since a given time.

Parameters
cm_info$cmcourse module data
int$fromthe time to check updates from
array$filterif we need to check only specific updates
Return values
stdClassan object with the different type of areas indicating if they were updated or not
Since
Moodle 3.2

◆ scorm_cron_scheduled_task()

stdClass scorm_cron_scheduled_task ( )

Function to be run periodically according to the moodle Tasks API This function searches for things that need to be done, such as sending out mail, toggling flags etc ...

@global object

Return values
boolean

◆ scorm_debug_log_filename()

scorm_debug_log_filename ( $type,
$scoid )

Get the filename for a temp log file.

Parameters
string$type- type of log(aicc,scorm12,scorm13) used as prefix for filename
integer$scoid- scoid of object this log entry is for
Return values
stringThe filename as an absolute path

◆ scorm_debug_log_remove()

scorm_debug_log_remove ( $type,
$scoid )

Remove debug log file.

Parameters
string$type- type of log(aicc,scorm12,scorm13) used as prefix for filename
integer$scoid- scoid of object this log entry is for
Return values
booleanTrue if the file is successfully deleted, false otherwise

◆ scorm_debug_log_write()

scorm_debug_log_write ( $type,
$text,
$scoid )

writes log output to a temp log file

Parameters
string$type- type of log(aicc,scorm12,scorm13) used as prefix for filename
string$text- text to be written to file.
integer$scoid- scoid of object this log entry is for.

◆ scorm_delete_instance()

stdClass scorm_delete_instance ( $id)

Given an ID of an instance of this module, this function will permanently delete the instance and any data that depends on it.

@global object

Parameters
int$idScorm instance id
Return values
boolean

◆ scorm_dndupload_handle()

scorm_dndupload_handle ( $uploadinfo)

Handle a file that has been uploaded.

Parameters
object$uploadinfodetails of the file / content that has been uploaded
Return values
intinstance id of the newly created mod

◆ scorm_dndupload_register()

scorm_dndupload_register ( )

Register the ability to handle drag and drop file uploads.

Return values
arraycontaining details of the files / types the mod can handle

◆ scorm_extend_settings_navigation()

scorm_extend_settings_navigation ( settings_navigation $settings,
navigation_node $scormnode )

This function extends the settings navigation block for the site.

It is safe to rely on PAGE here as we will only ever be within the module context when this is called

Parameters
settings_navigation$settingsnavigation_node object.
navigation_node$scormnodenavigation_node object.
Return values
void

◆ scorm_get_coursemodule_info()

scorm_get_coursemodule_info ( $coursemodule)

Add a get_coursemodule_info function in case any SCORM 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.

Parameters
stdClass$coursemoduleThe coursemodule object (record).
Return values
cached_cm_infoAn object on information that the courses will know about (most noticeably, an icon).

◆ scorm_get_file_areas()

scorm_get_file_areas ( $course,
$cm,
$context )

Lists all file areas current user may browse.

Parameters
object$course
object$cm
object$context
Return values
array

◆ scorm_get_file_info()

scorm_get_file_info ( $browser,
$areas,
$course,
$cm,
$context,
$filearea,
$itemid,
$filepath,
$filename )

File browsing support for SCORM file areas.

Parameters
file_browser$browserfile browser instance
array$areasfile areas
stdClass$coursecourse object
stdClass$cmcourse module object
stdClass$contextcontext object
string$fileareafile area
int$itemiditem ID
string$filepathfile path
string$filenamefile name
Return values
file_infoinstance or null if not found

◆ scorm_get_post_actions()

scorm_get_post_actions ( )

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 values
array

◆ scorm_get_user_grades()

stdClass scorm_get_user_grades ( $scorm,
$userid = 0 )

Return grade for given user or all users.

@global object

Parameters
int$scormidid of scorm
int$useridoptional user id, 0 means all users
Return values
arrayarray of grades, false if none

◆ scorm_get_view_actions()

scorm_get_view_actions ( )

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 values
array

◆ scorm_grade_item_delete()

scorm_grade_item_delete ( $scorm)

Delete grade item for given scorm.

Parameters
object$scormobject
Return values
objectgrade_item

◆ scorm_grade_item_update()

scorm_grade_item_update ( $scorm,
$grades = null )

Update/create grade item for given scorm.

@uses GRADE_TYPE_VALUE @uses GRADE_TYPE_NONE

Parameters
object$scormobject with extra cmidnumber
mixed$gradesoptional array/object of grade(s); 'reset' means reset grades in gradebook
Return values
objectgrade_item

◆ scorm_option2text()

scorm_option2text ( $scorm)
Parameters
object$scorm
Return values
object\$scorm

◆ scorm_page_type_list()

scorm_page_type_list ( $pagetype,
$parentcontext,
$currentcontext )

Return a list of page types.

Parameters
string$pagetypecurrent page type
stdClass$parentcontextBlock's parent context
stdClass$currentcontextCurrent context of block

◆ scorm_pluginfile()

scorm_pluginfile ( $course,
$cm,
$context,
$filearea,
$args,
$forcedownload,
array $options = array() )

Serves scorm content, introduction images and packages.

Implements needed access control ;-)

Parameters
stdClass$coursecourse object
stdClass$cmcourse module object
stdClass$contextcontext object
string$fileareafile area
array$argsextra arguments
bool$forcedownloadwhether or not force download
array$optionsadditional options affecting the file serving
Return values
boolfalse if file not found, does not return if found - just send the file

◆ scorm_print_overview()

scorm_print_overview ( )
Deprecated
since Moodle 3.3, when the block_course_overview block was removed.

◆ scorm_refresh_events()

scorm_refresh_events ( $courseid = 0,
$instance = null,
$cm = null )

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 scorm event in the site is checked, else only scorm events belonging to the course specified are checked.

Parameters
int$courseid
int | stdClass$instancescorm module instance or ID.
int | stdClass$cmCourse module object or ID.
Return values
bool

◆ scorm_reset_course_form_defaults()

scorm_reset_course_form_defaults ( $course)

Course reset form defaults.

Return values
array

◆ scorm_reset_course_form_definition()

scorm_reset_course_form_definition ( & $mform)

Implementation of the function for printing the form elements that control whether the course reset functionality affects the scorm.

Parameters
MoodleQuickForm$mformform passed by reference

◆ scorm_reset_gradebook()

stdClass scorm_reset_gradebook ( $courseid,
$type = '' )

Removes all grades from gradebook.

@global object

Parameters
int$courseid
stringoptional type

◆ scorm_reset_userdata()

stdClass scorm_reset_userdata ( $data)

Actual implementation of the reset course functionality, delete all the scorm attempts for course $data->courseid.

@global object

Parameters
object$datathe data submitted from the reset course.
Return values
arraystatus array

◆ scorm_set_completion()

scorm_set_completion ( $scorm,
$userid,
$completionstate = COMPLETION_COMPLETE,
$grades = array() )

Sets activity completion state.

Parameters
object$scormobject
int$useridUser ID
int$completionstateCompletion state
array$gradesgrades array of users with grades - used when $userid = 0

◆ scorm_status_options()

scorm_status_options ( $withstrings = false)

Return an array of status options.

Optionally with translated strings

Parameters
bool$with_strings(optional)
Return values
array

◆ scorm_supports()

scorm_supports ( $feature)

@uses FEATURE_GROUPS @uses FEATURE_GROUPINGS @uses FEATURE_MOD_INTRO @uses FEATURE_COMPLETION_TRACKS_VIEWS @uses FEATURE_COMPLETION_HAS_RULES @uses FEATURE_GRADE_HAS_GRADE @uses FEATURE_GRADE_OUTCOMES

Parameters
string$featureFEATURE_xx constant for requested feature
Return values
mixedTrue if module supports feature, false if not, null if doesn't know or string for the module purpose.

◆ scorm_update_grades()

scorm_update_grades ( $scorm,
$userid = 0,
$nullifnone = true )

Update grades in central gradebook.

Parameters
object$scorm
int$useridspecific user only, 0 mean all
bool$nullifnone

◆ scorm_update_instance()

stdClass scorm_update_instance ( $scorm,
$mform = null )

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.

@global object @uses CONTEXT_MODULE @uses SCORM_TYPE_LOCAL @uses SCORM_TYPE_LOCALSYNC @uses SCORM_TYPE_EXTERNAL

Parameters
object$scormForm data
object$mform
Return values
bool

◆ scorm_user_complete()

stdClass scorm_user_complete ( $course,
$user,
$mod,
$scorm )

Print a detailed representation of what a user has done with a given particular instance of this module, for user activity reports.

@global object

Parameters
object$course
object$user
object$mod
object$scorm
Return values
boolean

◆ scorm_user_outline()

scorm_user_outline ( $course,
$user,
$mod,
$scorm )

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.

Parameters
stdClass$courseCourse object
stdClass$userUser
stdClass$mod
stdClass$scormThe scorm
Return values
mixed

◆ scorm_validate_package()

scorm_validate_package ( $file)

Check that a Zip file contains a valid SCORM package.

Parameters
$filestored_file a Zip file.
Return values
arrayempty if no issue is found. Array of error message otherwise

◆ scorm_version_check()

scorm_version_check ( $scormversion,
$version = '' )

Returns the SCORM version used.

Parameters
string$scormversioncomes from $scorm->version
string$versionone of the defined vars SCORM_12, SCORM_13, SCORM_AICC (or empty)
Return values
Scormversion.

◆ scorm_view()

scorm_view ( $scorm,
$course,
$cm,
$context )

Trigger the course_module_viewed event.

Parameters
stdClass$scormscorm object
stdClass$coursecourse object
stdClass$cmcourse module object
stdClass$contextcontext object
Since
Moodle 3.0