Moodle PHP Documentation 4.3
Moodle 4.3.5 (Build: 20240610) (7dcfaa79f78)
mod_imscp

Namespaces

namespace  mod_imscp\analytics\indicator
  
 
namespace  mod_imscp\event
  
 
namespace  mod_imscp\privacy
  
 
namespace  mod_imscp\search
  
 

Classes

class  backup_imscp_activity_structure_step
 Define the complete imscp structure for backup, with file and id annotations. More...
 
class  backup_imscp_activity_task
 Provides the steps to perform one complete backup of the IMSCP instance. More...
 
class  imscp_file_info
 File browsing support class. More...
 
class  mod_imscp\analytics\indicator\activity_base
 Activity base class. More...
 
class  mod_imscp\analytics\indicator\cognitive_depth
 Cognitive depth indicator - imscp. More...
 
class  mod_imscp\analytics\indicator\social_breadth
 Social breadth indicator - imscp. More...
 
class  mod_imscp\event\course_module_instance_list_viewed
 The mod_imscp instance list viewed event class. More...
 
class  mod_imscp\event\course_module_viewed
 The mod_imscp course module viewed event class. More...
 
class  mod_imscp\privacy\provider
 Privacy Subsystem for mod_imscp implementing null_provider. More...
 
class  mod_imscp\search\activity
 Search area for mod_imscp activities. More...
 
class  mod_imscp_external
 IMSCP external functions. More...
 
class  mod_imscp_generator
 mod_imscp data generator class. More...
 
class  mod_imscp_mod_form
 IMS CP configuration form. More...
 
class  moodle1_mod_imscp_handler
 imscp conversion handler. More...
 
class  restore_imscp_activity_structure_step
 Structure step to restore one imscp activity. More...
 
class  restore_imscp_activity_task
 Provides the settings and steps to perform one complete restore of the activity. More...
 

Functions

 imscp_add_instance ($data, $mform)
 Add imscp instance.
 
 imscp_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.
 
 imscp_delete_instance ($id)
 Delete imscp instance.
 
 imscp_export_contents ($cm, $baseurl)
 Export imscp resource contents.
 
 imscp_get_file_areas ($course, $cm, $context)
 Lists all browsable file areas.
 
 imscp_get_file_info ($browser, $areas, $course, $cm, $context, $filearea, $itemid, $filepath, $filename)
 File browsing support for imscp module ontent area.
 
 imscp_get_post_actions ()
 List the actions that correspond to a post of this module.
 
 imscp_get_view_actions ()
 List the actions that correspond to a view of this module.
 
 imscp_htmllize_item ($item, $imscp, $cm)
 Internal function - creates htmls structure suitable for YUI tree.
 
 imscp_libxml_disable_entity_loader (bool $value)
 Wrapper for function libxml_disable_entity_loader() deprecated in PHP 8.
 
 imscp_page_type_list ($pagetype, $parentcontext, $currentcontext)
 Return a list of page types.
 
 imscp_parse_manifestfile ($manifestfilecontents, $imscp, $context)
 Parse the contents of a IMS package's manifest file.
 
 imscp_parse_structure ($imscp, $context)
 Parse an IMS content package's manifest file to determine its structure.
 
 imscp_pluginfile ($course, $cm, $context, $filearea, $args, $forcedownload, array $options=array())
 Serves the imscp files.
 
 imscp_print_content ($imscp, $cm, $course)
 Print IMSCP content to page.
 
 imscp_recursive_href ($manifestfilename, $imscp, $context)
 
 imscp_recursive_item ($xmlitem, $level, $resources)
 
 imscp_reset_userdata ($data)
 This function is used by the reset_course_userdata function in moodlelib.
 
 imscp_supports ($feature)
 List of features supported in IMS CP module.
 
 imscp_update_instance ($data, $mform)
 Update imscp instance.
 
 imscp_view ($imscp, $course, $cm, $context)
 Mark the activity completed (if required) and trigger the course_module_viewed event.
 
 mod_imscp_core_calendar_provide_event_action (calendar_event $event, core_calendar\action_factory $factory, int $userid=0)
 This function receives a calendar event and returns the action associated with it, or null if there is none.
 
 xmldb_imscp_install ()
 Stub for database installation.
 
 xmldb_imscp_upgrade ($oldversion)
 Stub for database upgrade.
 

Variables

 $capabilities
 
 $functions
 
 $logs
 
 $plugin = 2023100400
 
$plugin component = 'mod_imscp'
 
$plugin cron = 0
 
$plugin version = 2023100900
 

Detailed Description

Function Documentation

◆ imscp_add_instance()

imscp_add_instance ( $data,
$mform )

Add imscp instance.

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

◆ imscp_check_updates_since()

imscp_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

◆ imscp_delete_instance()

imscp_delete_instance ( $id)

Delete imscp instance.

Parameters
int$id
Return values
booltrue

◆ imscp_export_contents()

imscp_export_contents ( $cm,
$baseurl )

Export imscp resource contents.

Parameters
stdClass$cmCourse module object
string$baseurlBase URL for file downloads
Return values
arrayof file content

◆ imscp_get_file_areas()

imscp_get_file_areas ( $course,
$cm,
$context )

Lists all browsable file areas.

Parameters
stdClass$coursecourse object
stdClass$cmcourse module object
stdClass$contextcontext object
Return values
array

◆ imscp_get_file_info()

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

File browsing support for imscp module ontent area.

Parameters
file_browser$browserfile browser
stdClass$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

◆ imscp_get_post_actions()

imscp_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

◆ imscp_get_view_actions()

imscp_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

◆ imscp_libxml_disable_entity_loader()

imscp_libxml_disable_entity_loader ( bool $value)

Wrapper for function libxml_disable_entity_loader() deprecated in PHP 8.

Method was deprecated in PHP 8 and it shows deprecation message. However it is still required in the previous versions on PHP. While Moodle supports both PHP 7 and 8 we need to keep it.

See also
https://php.watch/versions/8.0/libxml_disable_entity_loader-deprecation
Parameters
bool$value
Return values
bool
Deprecated
since Moodle 4.3

◆ imscp_page_type_list()

imscp_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
Return values
array\$modulepagetypelist

◆ imscp_parse_manifestfile()

imscp_parse_manifestfile ( $manifestfilecontents,
$imscp,
$context )

Parse the contents of a IMS package's manifest file.

Parameters
string$manifestfilecontentsthe contents of the manifest file
Return values
array

◆ imscp_parse_structure()

imscp_parse_structure ( $imscp,
$context )

Parse an IMS content package's manifest file to determine its structure.

Parameters
object$imscp
object$context
Return values
array

◆ imscp_pluginfile()

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

Serves the imscp files.

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 - justsend the file

◆ imscp_print_content()

imscp_print_content ( $imscp,
$cm,
$course )

Print IMSCP content to page.

Parameters
stdClass$imscpmodule instance.
stdClass$cmcourse module.
stdClass$courserecord.

◆ imscp_reset_userdata()

imscp_reset_userdata ( $data)

This function is used by the reset_course_userdata function in moodlelib.

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

◆ imscp_supports()

imscp_supports ( $feature)

List of features supported in IMS CP module.

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.

◆ imscp_update_instance()

imscp_update_instance ( $data,
$mform )

Update imscp instance.

Parameters
object$data
object$mform
Return values
booltrue

◆ imscp_view()

imscp_view ( $imscp,
$course,
$cm,
$context )

Mark the activity completed (if required) and trigger the course_module_viewed event.

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

◆ mod_imscp_core_calendar_provide_event_action()

mod_imscp_core_calendar_provide_event_action ( calendar_event $event,
core_calendar\action_factory $factory,
int $userid = 0 )

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 to use for all capability checks, etc. Set to 0 for current user (default).
Return values
core_calendar\local\event\entities\action_interface|null

◆ xmldb_imscp_upgrade()

xmldb_imscp_upgrade ( $oldversion)

Stub for database upgrade.

Parameters
int$oldversion

Variable Documentation

◆ $capabilities

$capabilities
Initial value:
= array(
'mod/imscp:view' => array(
'captype' => 'read',
'contextlevel' => CONTEXT_MODULE,
'archetypes' => array(
'guest' => CAP_ALLOW,
'user' => CAP_ALLOW,
)
),
'mod/imscp:addinstance' => array(
'riskbitmask' => RISK_XSS,
'captype' => 'write',
'contextlevel' => CONTEXT_COURSE,
'archetypes' => array(
'editingteacher' => CAP_ALLOW,
'manager' => CAP_ALLOW
),
'clonepermissionsfrom' => 'moodle/course:manageactivities'
),
)
const CONTEXT_COURSE
Course context level - one instances for each course.
Definition accesslib.php:128
const CAP_ALLOW
Allow permission, overrides CAP_PREVENT defined in parent contexts.
Definition accesslib.php:115
const RISK_XSS
Capability allows user to add scripted content - see
Definition accesslib.php:143
const CONTEXT_MODULE
Course module context level - one instance for each course module.
Definition accesslib.php:130

◆ $functions

$functions
Initial value:
= array(
'mod_imscp_view_imscp' => array(
'classname' => 'mod_imscp_external',
'methodname' => 'view_imscp',
'description' => 'Simulate the view.php web interface imscp: trigger events, completion, etc...',
'type' => 'write',
'capabilities' => 'mod/imscp:view',
'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
),
'mod_imscp_get_imscps_by_courses' => array(
'classname' => 'mod_imscp_external',
'methodname' => 'get_imscps_by_courses',
'description' => 'Returns a list of IMSCP instances in a provided set of courses,
if no courses are provided then all the IMSCP instances the user has access to will be returned.',
'type' => 'read',
'capabilities' => 'mod/imscp:view',
'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
),
)
const MOODLE_OFFICIAL_MOBILE_SERVICE
Moodle mobile app service name.
Definition moodlelib.php:535

◆ $logs

$logs
Initial value:
= array(
array('module' => 'imscp', 'action' => 'view', 'mtable' => 'imscp', 'field' => 'name'),
array('module' => 'imscp', 'action' => 'view all', 'mtable' => 'imscp', 'field' => 'name'),
array('module' => 'imscp', 'action' => 'update', 'mtable' => 'imscp', 'field' => 'name'),
array('module' => 'imscp', 'action' => 'add', 'mtable' => 'imscp', 'field' => 'name'),
)