Moodle PHP Documentation 4.5
Moodle 4.5dev (Build: 20240606) (d3ae1391abe)
block_recent_activity Class Reference

class block_recent_activity More...

Inheritance diagram for block_recent_activity:
block_base

Public Member Functions

 _load_instance ($instance, $page)
 Set up a particular instance of this class given data from the block_insances table and the current page.
 
 _self_test ()
 Tests if this block has been implemented correctly.
 
 applicable_formats ()
 Which page types this block may appear on.
 
 before_delete ()
 Function that can be overridden to do extra cleanup before the database tables are deleted.
 
 can_block_be_added (moodle_page $page)
 This method can be overriden to add some extra checks to decide whether the block can be added or not to a page.
 
 config_save ($data)
 Default behavior: save all variables as $CFG properties You don't need to override this if you 're satisfied with the above.
 
 get_aria_role ()
 Returns the aria role attribute that best describes this block.
 
 get_config_for_external ()
 Return the plugin config settings for external functions.
 
 get_content ()
 Returns the content object.
 
 get_content_for_external ($output)
 Return an object containing all the block content to be returned by external functions.
 
 get_content_for_output ($output)
 Return a block_contents object representing the full contents of this block.
 
 get_content_type ()
 Returns the class $content_type var value.
 
 get_required_javascript ()
 Allows the block to load any JS it requires into the page.
 
 get_title ()
 Returns the class $title var value.
 
 has_config ()
 Subclasses should override this and return true if the subclass block has a settings.php file.
 
 hide_header ()
 Default return is false - header will be shown.
 
 html_attributes ()
 Return any HTML attributes that you want added to the outer.
 
 init ()
 Initialises the block.
 
 instance_allow_config ()
 Is each block of this type going to have instance-specific configuration? Normally, this setting is controlled by instance_allow_multiple(): if multiple instances are allowed, then each will surely need its own configuration.
 
 instance_allow_multiple ()
 Are you going to allow multiple instances of each block? If yes, then it is assumed that the block WILL USE per-instance configuration.
 
 instance_can_be_collapsed ()
 If overridden and set to false by the block it will not be collapsible.
 
 instance_can_be_docked ()
 Can be overridden by the block to prevent the block from being dockable.
 
 instance_can_be_edited ()
 If overridden and set to false by the block it will not be editable.
 
 instance_can_be_hidden ()
 If overridden and set to false by the block it will not be hidable when editing is turned on.
 
 instance_config_commit ($nolongerused=false)
 Replace the instance's configuration data with those currently in $this->config;.
 
 instance_config_save ($data, $nolongerused=false)
 Serialize and store config data.
 
 instance_copy ($fromid)
 Copy any block-specific data when copying to a new block instance.
 
 instance_create ()
 Do any additional initialization you may need at the time a new block instance is created.
 
 instance_delete ()
 Delete everything related to this instance if you have been using persistent storage other than the configdata field.
 
 is_empty ()
 Returns true or false, depending on whether this block has any content to display and whether the user has permission to view the block.
 
 name ()
 Returns the block name, as present in the class name, the database, the block directory, etc etc.
 
 refresh_content ()
 First sets the current value of $this->content to NULL then calls the block's get_content() function to set its value back.
 
 specialization ()
 This function is called on your subclass right after an instance is loaded Use this function to act on instance data just after it's loaded and before anything else is done For instance: if your block will have different title's depending on location (site, course, blog, etc)
 
 user_can_addto ($page)
 Allows the block class to have a say in the user's ability to create new instances of this block.
 
 user_can_edit ()
 Allows the block class to have a say in the user's ability to edit (i.e., configure) blocks of this type.
 

Static Public Member Functions

static comment_add (&$comments, $options)
 
static comment_display ($comments, $options)
 
static comment_permissions ($options)
 
static comment_template ($options)
 @callback callback functions for comments api
 
static comment_url ($options)
 
static get_extra_capabilities ()
 

Public Attributes

string $arialabel = NULL
 The name of the block to be displayed in the block title area if the title is empty.
 
stdClass $config = NULL
 An object containing the instance configuration information for the current instance of this block.
 
stdClass $content = NULL
 An object to contain the information to be displayed in the block.
 
int $content_type = BLOCK_TYPE_TEXT
 The type of content that this block creates.
 
context $context = NULL
 This blocks's context.
 
int $cron = NULL
 How often the cronjob should run, 0 if not at all.
 
stdClass $instance = NULL
 The initialized instance of this block object.
 
moodle_page $page = NULL
 The page that this block is appearing on.
 
string $str
 Internal var for storing/caching translated strings $str.
 
string $title = NULL
 The title of the block to be displayed in the block title area.
 

Protected Member Functions

 formatted_contents ($output)
 Convert the contents of the block to HTML.
 
 get_modules_recent_activity ()
 Returns list of recent activity within modules.
 
 get_recent_enrolments ()
 Returns all recent enrolments.
 
 get_structural_changes ()
 Returns list of recent changes in course structure.
 
 get_timestart ()
 Returns the time since when we want to show recent activity.
 

Static Protected Member Functions

static migrate_logs ($course)
 Migrates entries from table {log} into {block_recent_activity}.
 

Protected Attributes

int $timestart = null
 Use block_recent_activity::get_timestart() to access.
 

Detailed Description

class block_recent_activity

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Member Function Documentation

◆ _load_instance()

block_base::_load_instance ( $instance,
$page )
inherited

Set up a particular instance of this class given data from the block_insances table and the current page.

(See block_manager::load_blocks().)

Parameters
stdClass$instancedata from block_insances, block_positions, etc.
moodle_page$pagethe page this block is on.

◆ _self_test()

block_base::_self_test ( )
inherited

Tests if this block has been implemented correctly.

Also, $errors isn't used right now

Return values
boolean

◆ applicable_formats()

block_recent_activity::applicable_formats ( )

Which page types this block may appear on.

Return values
arraypage-type prefix => true/false.

Reimplemented from block_base.

◆ before_delete()

block_base::before_delete ( )
inherited

Function that can be overridden to do extra cleanup before the database tables are deleted.

(Called once per block, not per instance!)

Reimplemented in block_myprofile.

◆ can_block_be_added()

block_base::can_block_be_added ( moodle_page $page)
inherited

This method can be overriden to add some extra checks to decide whether the block can be added or not to a page.

It doesn't need to do the standard capability checks as they will be performed by has_add_block_capability(). This method is user agnostic. If you want to check if a user can add a block or not, you should use user_can_addto().

Parameters
moodle_page$pageThe page where this block will be added.
Return values
boolWhether the block can be added or not to the given page.

Reimplemented in block_accessreview, block_badges, block_blog_menu, block_blog_recent, block_blog_tags, block_comments, block_completionstatus, block_globalsearch, block_glossary_random, block_lp, block_mnet_hosts, and block_tags.

◆ config_save()

block_base::config_save ( $data)
inherited

Default behavior: save all variables as $CFG properties You don't need to override this if you 're satisfied with the above.

Deprecated
since Moodle 2.9 MDL-49385 - Please use Admin Settings functionality to save block configuration.

◆ formatted_contents()

block_base::formatted_contents ( $output)
protectedinherited

Convert the contents of the block to HTML.

This is used by block base classes like block_list to convert the structured $this->content->list and $this->content->icons arrays to HTML. So, in most blocks, you probaby want to override the get_contents() method, which generates that structured representation of the contents.

Parameters
$outputThe core_renderer to use when generating the output.
Return values
stringthe HTML that should appearn in the body of the block.
Since
Moodle 2.0.

Reimplemented in block_list, and block_tree.

◆ get_aria_role()

block_base::get_aria_role ( )
inherited

Returns the aria role attribute that best describes this block.

Region is the default, but this should be overridden by a block is there is a region child, or even better a landmark child.

Options are as follows:

  • landmark
    • application
    • banner
    • complementary
    • contentinfo
    • form
    • main
    • navigation
    • search
Return values
string

Reimplemented in block_activity_modules, block_admin_bookmarks, block_blog_menu, block_course_list, block_navigation, block_search_forums, and block_settings.

◆ get_config_for_external()

block_base::get_config_for_external ( )
inherited

Return the plugin config settings for external functions.

In some cases the configs will need formatting or be returned only if the current user has some capabilities enabled.

Return values
stdClassthe configs for both the block instance and plugin (as object with name -> value)
Since
Moodle 3.8

Reimplemented in block_activity_results, block_blog_recent, block_blog_tags, block_course_list, block_glossary_random, block_html, block_mentees, block_myoverview, block_myprofile, block_navigation, block_online_users, block_recentlyaccessedcourses, block_rss_client, block_section_links, block_settings, block_starredcourses, block_tag_flickr, block_tag_youtube, and block_tags.

◆ get_content()

block_recent_activity::get_content ( )

Returns the content object.

Return values
stdObject

Reimplemented from block_base.

◆ get_content_for_external()

block_base::get_content_for_external ( $output)
inherited

Return an object containing all the block content to be returned by external functions.

If your block is returning formatted content or provide files for download, you should override this method to use the core_external\util\format_text, core_external\utilformat_string functions for formatting or external_util\get_area_files for files.

Parameters
core_renderer$outputthe rendered used for output
Return values
stdClassobject containing the block title, central content, footer and linked files (if any).
Since
Moodle 3.6

Reimplemented in block_html.

◆ get_content_for_output()

block_base::get_content_for_output ( $output)
inherited

Return a block_contents object representing the full contents of this block.

This internally calls ->get_content(), and then adds the editing controls etc.

You probably should not override this method, but instead override html_attributes(), formatted_contents() or get_content(), hide_header(), (get_edit_controls), etc.

Return values
block_contentsa representation of the block, for rendering.
Since
Moodle 2.0.

◆ get_content_type()

block_base::get_content_type ( )
inherited

Returns the class $content_type var value.

Intentionally doesn't check if content_type is set. This is already done in _self_test()

Return values
string\$this-,>content_type

◆ get_modules_recent_activity()

block_recent_activity::get_modules_recent_activity ( )
protected

Returns list of recent activity within modules.

For each used module type executes callback MODULE_print_recent_activity()

Return values
arrayarray of pairs moduletype => content

◆ get_recent_enrolments()

block_recent_activity::get_recent_enrolments ( )
protected

Returns all recent enrolments.

This function previously used get_recent_enrolments located in lib/deprecatedlib.php which would return an empty array which was identified in MDL-36993. The use of this function outside the deprecated lib was removed in MDL-40649.

Todo
MDL-36993 this function always return empty array
Return values
arrayarray of entries from {user} table

◆ get_required_javascript()

block_base::get_required_javascript ( )
inherited

Allows the block to load any JS it requires into the page.

By default this function simply permits the user to dock the block if it is dockable.

Left null as of MDL-64506.

Reimplemented in block_navigation, and block_settings.

◆ get_structural_changes()

block_recent_activity::get_structural_changes ( )
protected

Returns list of recent changes in course structure.

It includes adding, editing or deleting of the resources or activities Excludes changes on modules without a view link (i.e. labels), and also if activity was both added and deleted

Return values
arrayarray of changes. Each element is an array containing attributes: 'action' - one of: 'add mod', 'update mod', 'delete mod' 'module' - instance of cm_info (for 'delete mod' it is an object with attributes modname and modfullname)

◆ get_timestart()

block_recent_activity::get_timestart ( )
protected

Returns the time since when we want to show recent activity.

For guest users it is 2 days, for registered users it is the time of last access to the course

Return values
int

◆ get_title()

block_base::get_title ( )
inherited

Returns the class $title var value.

Intentionally doesn't check if a title is set. This is already done in _self_test()

Return values
string\$this-,>title

◆ has_config()

block_base::has_config ( )
inherited

◆ hide_header()

block_base::hide_header ( )
inherited

Default return is false - header will be shown.

Return values
boolean

Reimplemented in block_course_summary, and block_myoverview.

◆ html_attributes()

block_base::html_attributes ( )
inherited

Return any HTML attributes that you want added to the outer.

that of the block when it is output.
Because of the way certain JS events are wired it is a good idea to ensure that the default values here still get set. I found the easiest way to do this and still set anything you want is to override it within your block in the following way
function html_attributes() { $attributes = parent\html_attributes(); $attributes['class'] .= ' mynewclass'; return $attributes; }
Return values
arrayattribute name => value.

Reimplemented in block_html, block_list, and block_navigation.

◆ instance_allow_config()

block_base::instance_allow_config ( )
inherited

Is each block of this type going to have instance-specific configuration? Normally, this setting is controlled by instance_allow_multiple(): if multiple instances are allowed, then each will surely need its own configuration.

However, in some cases it may be necessary to provide instance configuration to blocks that do not want to allow multiple instances. In that case, make this function return true. I stress again that this makes a difference ONLY if instance_allow_multiple() returns false.

Return values
boolean

Reimplemented in block_badges, block_blog_menu, block_blog_recent, block_blog_tags, block_myprofile, block_navigation, block_rss_client, block_section_links, block_settings, and block_tags.

◆ instance_allow_multiple()

block_base::instance_allow_multiple ( )
inherited

Are you going to allow multiple instances of each block? If yes, then it is assumed that the block WILL USE per-instance configuration.

Return values
boolean

Reimplemented in block_accessreview, block_activity_results, block_admin_bookmarks, block_badges, block_blog_menu, block_blog_tags, block_comments, block_glossary_random, block_html, block_mentees, block_myprofile, block_navigation, block_private_files, block_rss_client, block_settings, block_tag_flickr, block_tag_youtube, and block_tags.

◆ instance_can_be_collapsed()

block_base::instance_can_be_collapsed ( )
inherited

If overridden and set to false by the block it will not be collapsible.

Return values
bool

◆ instance_can_be_docked()

block_base::instance_can_be_docked ( )
inherited

Can be overridden by the block to prevent the block from being dockable.

Return values
bool

Return false as per MDL-64506

Reimplemented in block_html, block_mentees, block_navigation, and block_settings.

◆ instance_can_be_edited()

block_base::instance_can_be_edited ( )
inherited

If overridden and set to false by the block it will not be editable.

Return values
bool

Reimplemented in block_myoverview.

◆ instance_can_be_hidden()

block_base::instance_can_be_hidden ( )
inherited

If overridden and set to false by the block it will not be hidable when editing is turned on.

Return values
bool

Reimplemented in block_navigation, and block_settings.

◆ instance_config_commit()

block_base::instance_config_commit ( $nolongerused = false)
inherited

Replace the instance's configuration data with those currently in $this->config;.

Reimplemented in block_glossary_random.

◆ instance_config_save()

block_base::instance_config_save ( $data,
$nolongerused = false )
inherited

Serialize and store config data.

Reimplemented in block_activity_results, and block_html.

◆ instance_copy()

block_base::instance_copy ( $fromid)
inherited

Copy any block-specific data when copying to a new block instance.

Parameters
int$fromidthe id number of the block instance to copy from
Return values
boolean

Reimplemented in block_html.

◆ instance_create()

block_base::instance_create ( )
inherited

Do any additional initialization you may need at the time a new block instance is created.

Return values
boolean

◆ instance_delete()

block_base::instance_delete ( )
inherited

Delete everything related to this instance if you have been using persistent storage other than the configdata field.

Return values
boolean

Reimplemented in block_html.

◆ is_empty()

block_base::is_empty ( )
inherited

Returns true or false, depending on whether this block has any content to display and whether the user has permission to view the block.

Return values
boolean

Reimplemented in block_list.

◆ migrate_logs()

static block_recent_activity::migrate_logs ( $course)
staticprotected

Migrates entries from table {log} into {block_recent_activity}.

We only migrate logs for the courses that actually have recent activity block and that are being viewed within COURSE_MAX_RECENT_PERIOD time after the upgrade.

The presence of entry in {block_recent_activity} with the cmid=0 indicates that the course needs log migration. Those entries were installed in db/upgrade.php when the table block_recent_activity was created.

Parameters
stdClass$course

◆ name()

block_base::name ( )
inherited

Returns the block name, as present in the class name, the database, the block directory, etc etc.

Return values
string

◆ refresh_content()

block_base::refresh_content ( )
inherited

First sets the current value of $this->content to NULL then calls the block's get_content() function to set its value back.

Return values
stdObject

◆ specialization()

block_base::specialization ( )
inherited

This function is called on your subclass right after an instance is loaded Use this function to act on instance data just after it's loaded and before anything else is done For instance: if your block will have different title's depending on location (site, course, blog, etc)

Reimplemented in block_badges, block_blog_tags, block_comments, block_course_summary, block_glossary_random, block_html, block_mentees, block_myprofile, block_private_files, block_rss_client, block_tag_flickr, block_tag_youtube, and block_tags.

◆ user_can_addto()

block_base::user_can_addto ( $page)
inherited

Allows the block class to have a say in the user's ability to create new instances of this block.

The framework has first say in whether this will be allowed (e.g., no adding allowed unless in edit mode) but if the framework does allow it, the block can still decide to refuse. This function has access to the complete page object, the creation related to which is being determined.

Parameters
moodle_page$page
Return values
boolean

◆ user_can_edit()

block_base::user_can_edit ( )
inherited

Allows the block class to have a say in the user's ability to edit (i.e., configure) blocks of this type.

The framework has first say in whether this will be allowed (e.g., no editing allowed unless in edit mode) but if the framework does allow it, the block can still decide to refuse.

Return values
boolean

Member Data Documentation

◆ $arialabel

string block_base::$arialabel = NULL
inherited

The name of the block to be displayed in the block title area if the title is empty.

arialabel

◆ $config

stdClass block_base::$config = NULL
inherited

An object containing the instance configuration information for the current instance of this block.

$config

◆ $content

stdClass block_base::$content = NULL
inherited

An object to contain the information to be displayed in the block.

$content

◆ $content_type

int block_base::$content_type = BLOCK_TYPE_TEXT
inherited

The type of content that this block creates.

Currently support options - BLOCK_TYPE_LIST, BLOCK_TYPE_TEXT $content_type

◆ $cron

int block_base::$cron = NULL
inherited

How often the cronjob should run, 0 if not at all.

$cron

◆ $instance

stdClass block_base::$instance = NULL
inherited

The initialized instance of this block object.

$instance

◆ $timestart

int block_recent_activity::$timestart = null
protected

Use block_recent_activity::get_timestart() to access.

stores the time since when we want to show recent activity

◆ $title

string block_base::$title = NULL
inherited

The title of the block to be displayed in the block title area.

$title


The documentation for this class was generated from the following file: