Search moodle.org's
Developer Documentation


Long Term Support Release

  • Bug fixes for general core bugs in 3.9.x will end* 10 May 2021 (12 months).
  • Bug fixes for security issues in 3.9.x will end* 8 May 2023 (36 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.
  • /blog/ -> lib.php (source)

    Functions that are not part of a class:

    blog_user_can_edit_entry($blogentry)   X-Ref
    User can edit a blog entry if this is their own blog entry and they have
    the capability moodle/blog:create, or if they have the capability
    moodle/blog:manageentries.

    This also applies to deleting of entries.

    blog_user_can_view_user_entry($targetuserid, $blogentry=null)   X-Ref
    Checks to see if a user can view the blogs of another user.
    Only blog level is checked here, the capabilities are enforced
    in blog/index.php


    blog_remove_associations_for_user($userid)   X-Ref
    remove all associations for the blog entries of a particular user

    param: int userid - id of user whose blog associations will be deleted

    blog_remove_associations_for_course($courseid)   X-Ref
    remove all associations for the blog entries of a particular course

    param: int courseid - id of user whose blog associations will be deleted

    blog_remove_associations_for_module($modcontextid)   X-Ref
    Remove module associated blogs and blog tag instances.

    param: int $modcontextid Module context ID.

    blog_sync_external_entries($externalblog)   X-Ref
    Given a record in the {blog_external} table, checks the blog's URL
    for new entries not yet copied into Moodle.
    Also attempts to identify and remove deleted blog entries

    return: boolean False if the Feed is invalid
    param: object $externalblog

    blog_delete_external_entries($externalblog)   X-Ref
    Given an external blog object, deletes all related blog entries from the post table.
    NOTE: The external blog's id is saved as post.content, a field that is not oterhwise used by blog entries.

    param: object $externablog

    blog_is_enabled_for_user()   X-Ref
    This function checks that blogs are enabled, and that the user can see blogs at all

    return: bool

    blog_get_all_options(moodle_page $page, stdClass $userid = null)   X-Ref
    This function gets all of the options available for the current user in respect
    to blogs.

    It loads the following if applicable:
    -  Module options {@see blog_get_options_for_module}
    -  Course options {@see blog_get_options_for_course}
    -  User specific options {@see blog_get_options_for_user}
    -  General options (BLOG_LEVEL_GLOBAL)

    return: array An array of options organised by type.
    param: moodle_page $page The page to load for (normally $PAGE)
    param: stdClass $userid Load for a specific user

    blog_get_options_for_user(stdClass $user=null)   X-Ref
    Get all of the blog options that relate to the passed user.

    If no user is passed the current user is assumed.

    return: array The array of options for the requested user
    param: stdClass $user

    blog_get_options_for_course(stdClass $course, stdClass $user=null)   X-Ref
    Get the blog options that relate to the given course for the given user.

    return: array The array of options
    param: stdClass $course The course to load options for
    param: stdClass $user The user to load options for null == current user

    blog_get_options_for_module($module, $user=null)   X-Ref
    Get the blog options relating to the given module for the given user

    return: array
    param: stdClass|cm_info $module The module to get options for
    param: stdClass $user The user to get options for null == currentuser

    blog_get_headers($courseid=null, $groupid=null, $userid=null, $tagid=null, $tag=null, $modid=null, $entryid=null,$search = null)   X-Ref
    This function encapsulates all the logic behind the complex
    navigation, titles and headings of the blog listing page, depending
    on URL params. It looks at URL params and at the current context level.
    It builds and returns an array containing:

    1. heading: The heading displayed above the blog entries
    2. stradd:  The text to be used as the "Add entry" link
    3. strview: The text to be used as the "View entries" link
    4. url:     The moodle_url object used as the base for add and view links
    5. filters: An array of parameters used to filter blog listings. Used by index.php and the Recent blogs block

    All other variables are set directly in $PAGE

    It uses the current URL to build these variables.
    A number of mutually exclusive use cases are used to structure this function.

    return: array
    param: int $courseid   course id the the blog is associated to (can be null).
    param: int $groupid    group id to filter blogs I can see (can be null)
    param: int $userid     blog author id (can be null)
    param: int $tagid      tag id to filter (can be null)
    param: string $tag     tag name to filter (can be null)
    param: int $modid      module id the blog is associated to (can be null).
    param: int $entryid    blog entry id to filter(can be null)
    param: string $search  string to search (can be null)

    blog_get_associated_count($courseid, $cmid=null)   X-Ref
    Shortcut function for getting a count of blog entries associated with a course or a module

    return: string The number of associated entries
    param: int $courseid The ID of the course
    param: int $cmid The ID of the course_modules

    blog_comment_permissions($commentparam)   X-Ref
    Running addtional permission check on plugin, for example, plugins
    may have switch to turn on/off comments option, this callback will
    affect UI display, not like pluginname_comment_validate only throw
    exceptions.
    blog_comment_validate will be called before viewing/adding/deleting
    comment, so don't repeat checks.
    Capability check has been done in comment->check_permissions(), we
    don't need to do it again here.

    return: array
    param: stdClass $commentparam {

    blog_comment_validate($commentparam)   X-Ref
    Validate comment parameter before perform other comments actions

    return: boolean
    param: stdClass $comment {

    blog_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

    core_blog_myprofile_navigation(core_user\output\myprofile\tree $tree, $user, $iscurrentuser, $course)   X-Ref
    Add nodes to myprofile page.

    return: bool
    param: \core_user\output\myprofile\tree $tree Tree object
    param: stdClass $user user object
    param: bool $iscurrentuser
    param: stdClass $course Course object

    blog_get_tagged_posts($tag, $exclusivemode = false, $fromctx = 0, $ctx = 0, $rec = true, $page = 0)   X-Ref
    Returns posts tagged with a specified tag.

    return: \core_tag\output\tagindex
    param: core_tag_tag $tag
    param: bool $exclusivemode if set to true it means that no other entities tagged with this tag
    param: int $fromctx context id where the link was displayed, may be used by callbacks
    param: int $ctx context id where to search for records
    param: bool $rec search in subcontexts as well
    param: int $page 0-based number of page being displayed

    blog_validate_access($courseid, $modid, $groupid, $entryid, $userid)   X-Ref
    Validate the access to a blog.

    return: array with the calculated course and id
    param: int $courseid course id the the blog is associated to (can be null).
    param: int $modid    module id the blog is associated to (can be null).
    param: int $groupid  group id to filter blogs I can see (can be null)
    param: int $entryid  blog entry id (can be null)
    param: int $userid   blog author id (can be null)

    Search This Site: