Moodle APIs 4.3
Moodle 4.3.6 (Build: 20240812)
core_files_renderer Class Reference

Rendering of files viewer related widgets. More...

Inheritance diagram for core_files_renderer:

Public Member Functions

 __call ($method, $arguments)
 Magic method used to pass calls otherwise meant for the standard renderer to it to ensure we don't go causing unnecessary grief.
 
 add_action_handler (component_action $action, $id=null)
 Adds a JS action for the element with the provided id.
 
 filemanager_js_templates ()
 Returns all FileManager JavaScript templates as an array.
 
 filepicker_js_templates ()
 Returns all FilePicker JavaScript templates as an array.
 
 files_tree_viewer (file_info $file_info, array $options=null)
 
 get_compact_logo_url ($maxwidth=300, $maxheight=300)
 Return the site's compact logo URL, if any.
 
 get_logo_url ($maxwidth=null, $maxheight=200)
 Return the site's logo URL, if any.
 
 has_started ()
 Returns true is output has already started, and false if not.
 
 image_url ($imagename, $component='moodle')
 Return the moodle_url for an image.
 
 pix_url ($imagename, $component='moodle')
 Return the direct URL for an image from the pix folder.
 
 render (renderable $widget)
 Renders the provided widget and returns the HTML to display it.
 
 render_files_tree_viewer (files_tree_viewer $tree)
 
 render_form_filemanager ($fm)
 Prints the file manager and initializes all necessary libraries.
 
 render_from_template ($templatename, $context)
 Renders a template by name with the given context.
 
 repository_default_searchform ()
 Returns HTML for default repository searchform to be passed to Filepicker.
 
 should_display_main_logo ($headinglevel=1)
 Whether we should display the main logo.
 
 should_display_navbar_logo ()
 Whether we should display the logo in the navbar.
 

Static Public Member Functions

static prepare_classes ($classes)
 Given an array or space-separated list of classes, prepares and returns the HTML class attribute value.
 

Protected Member Functions

 create_license_help_icon_context ()
 Create the context for rendering help icon with license links displaying all licenses and sources.
 
 fm_js_template_confirmdialog ()
 FileManager JS template for popup confirm dialogue window.
 
 fm_js_template_fileselectlayout ()
 FileManager JS template for window with file information/actions.
 
 fm_js_template_iconfilename ()
 FileManager JS template for displaying one file in 'icon view' mode.
 
 fm_js_template_listfilename ()
 FileManager JS template for displaying file name in 'table view' and 'tree view' modes.
 
 fm_js_template_message ()
 FileManager JS template for error/info message displayed as a separate popup window.
 
 fm_js_template_mkdir ()
 FileManager JS template for displaying 'Make new folder' dialog.
 
 fm_print_generallayout ($fm)
 Returns html for displaying one file manager.
 
 fm_print_restrictions ($fm)
 Displays restrictions for the file manager.
 
 fp_js_template_error ()
 FilePicker JS template for error (inside element with class 'fp-content').
 
 fp_js_template_generallayout ()
 Template for FilePicker with general layout (not QuickUpload).
 
 fp_js_template_iconfilename ()
 FilePicker JS template for displaying one file in 'icon view' mode.
 
 fp_js_template_listfilename ()
 FilePicker JS template for displaying file name in 'table view' and 'tree view' modes.
 
 fp_js_template_loading ()
 FilePicker JS template to display during loading process (inside element with class 'fp-content').
 
 fp_js_template_loginform ()
 FilePicker JS template for repository login form including templates for each element type.
 
 fp_js_template_message ()
 FilePicker JS template for error/info message displayed as a separate popup window.
 
 fp_js_template_nextpage ()
 FilePicker JS template for displaying link/loading progress for fetching of the next page.
 
 fp_js_template_processexistingfile ()
 FilePicker JS template for popup dialogue window asking for action when file with the same name already exists.
 
 fp_js_template_processexistingfilemultiple ()
 FilePicker JS template for popup dialogue window asking for action when file with the same name already exists (multiple-file version).
 
 fp_js_template_selectlayout ()
 FilePicker JS template for window appearing to select a file.
 
 fp_js_template_uploadform ()
 FilePicker JS template for 'Upload file' repository.
 
 get_mustache ()
 Return an instance of the mustache class.
 

Protected Attributes

xhtml_container_stack $opencontainers
 The xhtml_container_stack to use.
 
renderer_base core_renderer $output
 A reference to the current renderer.
 
moodle_page $page
 The Moodle page the renderer has been created to assist with.
 
string $target
 The requested rendering target.
 
array $templatecache = []
 $templatecache The mustache template cache.
 

Detailed Description

Rendering of files viewer related widgets.

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
Since
Moodle 2.0 File browser render
License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
Since
Moodle 2.0

Member Function Documentation

◆ __call()

plugin_renderer_base::__call ( $method,
$arguments )
inherited

Magic method used to pass calls otherwise meant for the standard renderer to it to ensure we don't go causing unnecessary grief.

Parameters
string$method
array$arguments
Return values
mixed

◆ add_action_handler()

renderer_base::add_action_handler ( component_action $action,
$id = null )
inherited

Adds a JS action for the element with the provided id.

This method adds a JS event for the provided component action to the page and then returns the id that the event has been attached to. If no id has been provided then a new ID is generated by html_writer::random_id()

Parameters
component_action$action
string$id
Return values
stringid of element, either original submitted or random new if not supplied

◆ create_license_help_icon_context()

core_files_renderer::create_license_help_icon_context ( )
protected

Create the context for rendering help icon with license links displaying all licenses and sources.

Return values
stdClass\$iconcontextthe context for rendering license help info.

◆ filemanager_js_templates()

core_files_renderer::filemanager_js_templates ( )

Returns all FileManager JavaScript templates as an array.

Return values
array

◆ filepicker_js_templates()

core_files_renderer::filepicker_js_templates ( )

Returns all FilePicker JavaScript templates as an array.

Return values
array

◆ fm_js_template_confirmdialog()

core_files_renderer::fm_js_template_confirmdialog ( )
protected

FileManager JS template for popup confirm dialogue window.

Return values
string

◆ fm_js_template_iconfilename()

core_files_renderer::fm_js_template_iconfilename ( )
protected

FileManager JS template for displaying one file in 'icon view' mode.

Except for elements described in fp_js_template_iconfilename, this template may also contain element with class 'fp-contextmenu'. If context menu is available for this file, the top element will receive the additional class 'fp-hascontextmenu' and the element with class 'fp-contextmenu' will hold onclick event for displaying the context menu.

See also
fp_js_template_iconfilename()
Return values
string

◆ fm_js_template_listfilename()

core_files_renderer::fm_js_template_listfilename ( )
protected

FileManager JS template for displaying file name in 'table view' and 'tree view' modes.

Except for elements described in fp_js_template_listfilename, this template may also contain element with class 'fp-contextmenu'. If context menu is available for this file, the top element will receive the additional class 'fp-hascontextmenu' and the element with class 'fp-contextmenu' will hold onclick event for displaying the context menu.

Todo
MDL-32736 remove onclick="return false;"
See also
fp_js_template_listfilename()
Return values
string

◆ fm_js_template_message()

core_files_renderer::fm_js_template_message ( )
protected

FileManager JS template for error/info message displayed as a separate popup window.

See also
fp_js_template_message()
Return values
string

◆ fm_js_template_mkdir()

core_files_renderer::fm_js_template_mkdir ( )
protected

FileManager JS template for displaying 'Make new folder' dialog.

Must be wrapped in an element, CSS for this element must define width and height of the window;

Must have one input element with type="text" (for users to enter the new folder name);

content of element with class 'fp-dlg-curpath' will be replaced with current path where new folder is about to be created; elements with classes 'fp-dlg-butcreate' and 'fp-dlg-butcancel' will hold onclick events;

Return values
string

◆ fm_print_generallayout()

core_files_renderer::fm_print_generallayout ( $fm)
protected

Returns html for displaying one file manager.

Parameters
form_filemanager$fm
Return values
string

◆ fm_print_restrictions()

core_files_renderer::fm_print_restrictions ( $fm)
protected

Displays restrictions for the file manager.

Parameters
form_filemanager$fm
Return values
string

◆ fp_js_template_error()

core_files_renderer::fp_js_template_error ( )
protected

FilePicker JS template for error (inside element with class 'fp-content').

must have element with class 'fp-error', its content will be replaced with error text and the error code will be assigned as additional class to this element used errors: invalidjson, nofilesavailable, norepositoriesavailable

Return values
string

◆ fp_js_template_generallayout()

core_files_renderer::fp_js_template_generallayout ( )
protected

Template for FilePicker with general layout (not QuickUpload).

Return values
string

◆ fp_js_template_iconfilename()

core_files_renderer::fp_js_template_iconfilename ( )
protected

FilePicker JS template for displaying one file in 'icon view' mode.

the element with class 'fp-thumbnail' will be resized to the repository thumbnail size (both width and height, unless min-width and/or min-height is set in CSS) and the content of an element will be replaced with an appropriate img;

the width of element with class 'fp-filename' will be set to the repository thumbnail width (unless min-width is set in css) and the content of an element will be replaced with filename supplied by repository;

top element(s) will have class fp-folder if the element is a folder;

List of files will have parent

element with class 'fp-iconview'
Return values
string

◆ fp_js_template_listfilename()

core_files_renderer::fp_js_template_listfilename ( )
protected

FilePicker JS template for displaying file name in 'table view' and 'tree view' modes.

content of the element with class 'fp-icon' will be replaced with an appropriate img;

content of element with class 'fp-filename' will be replaced with filename supplied by repository;

top element(s) will have class fp-folder if the element is a folder;

Note that tree view and table view are the YUI widgets and therefore there are no other templates. The widgets will be wrapped in

with class fp-treeview or fp-tableview (respectfully).
Return values
string

◆ fp_js_template_loading()

core_files_renderer::fp_js_template_loading ( )
protected

FilePicker JS template to display during loading process (inside element with class 'fp-content').

Return values
string

◆ fp_js_template_loginform()

core_files_renderer::fp_js_template_loginform ( )
protected

FilePicker JS template for repository login form including templates for each element type.

Return values
string

◆ fp_js_template_message()

core_files_renderer::fp_js_template_message ( )
protected

FilePicker JS template for error/info message displayed as a separate popup window.

Must be wrapped in one element, CSS for this element must define width and height of the window. It will be assigned with an additional class 'fp-msg-error' or 'fp-msg-info' depending on message type;

content of element with class 'fp-msg-text' will be replaced with error/info text;

element with class 'fp-msg-butok' will hold onclick event

Return values
string

◆ fp_js_template_nextpage()

core_files_renderer::fp_js_template_nextpage ( )
protected

FilePicker JS template for displaying link/loading progress for fetching of the next page.

This text is added to .fp-content AFTER .fp-iconview/.fp-treeview/.fp-tableview

Must have one parent element with class 'fp-nextpage'. It will be assigned additional class 'loading' during loading of the next page (it is recommended that in this case the link becomes unavailable). Also must contain one element or <button> that will hold onclick event for displaying of the next page. The event will be triggered automatically when user scrolls to this link.

Return values
string

◆ fp_js_template_processexistingfile()

core_files_renderer::fp_js_template_processexistingfile ( )
protected

FilePicker JS template for popup dialogue window asking for action when file with the same name already exists.

Return values
string

◆ fp_js_template_processexistingfilemultiple()

core_files_renderer::fp_js_template_processexistingfilemultiple ( )
protected

FilePicker JS template for popup dialogue window asking for action when file with the same name already exists (multiple-file version).

Return values
string

◆ fp_js_template_selectlayout()

core_files_renderer::fp_js_template_selectlayout ( )
protected

FilePicker JS template for window appearing to select a file.

Return values
string

◆ fp_js_template_uploadform()

core_files_renderer::fp_js_template_uploadform ( )
protected

FilePicker JS template for 'Upload file' repository.

Return values
string

◆ get_compact_logo_url()

renderer_base::get_compact_logo_url ( $maxwidth = 300,
$maxheight = 300 )
inherited

Return the site's compact logo URL, if any.

Parameters
int$maxwidthThe maximum width, or null when the maximum width does not matter.
int$maxheightThe maximum height, or null when the maximum height does not matter.
Return values
moodle_url|false

◆ get_logo_url()

renderer_base::get_logo_url ( $maxwidth = null,
$maxheight = 200 )
inherited

Return the site's logo URL, if any.

Parameters
int$maxwidthThe maximum width, or null when the maximum width does not matter.
int$maxheightThe maximum height, or null when the maximum height does not matter.
Return values
moodle_url|false

◆ get_mustache()

renderer_base::get_mustache ( )
protectedinherited

Return an instance of the mustache class.

Since
2.9
Return values
Mustache_Engine

◆ has_started()

renderer_base::has_started ( )
inherited

Returns true is output has already started, and false if not.

Return values
booleantrue if the header has been printed.

◆ image_url()

renderer_base::image_url ( $imagename,
$component = 'moodle' )
inherited

Return the moodle_url for an image.

The exact image location and extension is determined automatically by searching for gif|png|jpg|jpeg, please note there can not be diferent images with the different extension. The imagename is for historical reasons a relative path name, it may be changed later for core images. It is recommended to not use subdirectories in plugin and theme pix directories.

There are three types of images: 1/ theme images - stored in theme/mytheme/pix/, use component 'theme' 2/ core images - stored in /pix/, overridden via theme/mytheme/pix_core/ 3/ plugin images - stored in mod/mymodule/pix, overridden via theme/mytheme/pix_plugins/mod/mymodule/, example: image_url('comment', 'mod_glossary')

Parameters
string$imagenamethe pathname of the image
string$componentfull plugin name (aka component) or 'theme'
Return values
moodle_url

◆ pix_url()

renderer_base::pix_url ( $imagename,
$component = 'moodle' )
inherited

Return the direct URL for an image from the pix folder.

Use this function sparingly and never for icons. For icons use pix_icon or the pix helper in a mustache template.

Deprecated
since Moodle 3.3
Parameters
string$imagenamethe name of the icon.
string$componentspecification of one plugin like in get_string()
Return values
moodle_url

◆ prepare_classes()

static renderer_base::prepare_classes ( $classes)
staticinherited

Given an array or space-separated list of classes, prepares and returns the HTML class attribute value.

Parameters
mixed$classesSpace-separated string or array of classes
Return values
stringHTML class attribute value

◆ render()

plugin_renderer_base::render ( renderable $widget)
inherited

Renders the provided widget and returns the HTML to display it.

Parameters
renderable$widgetinstance with renderable interface
Return values
string

Reimplemented from renderer_base.

Reimplemented in core_courseformat\output\section_renderer, and tool_policy\output\renderer.

◆ render_form_filemanager()

core_files_renderer::render_form_filemanager ( $fm)

Prints the file manager and initializes all necessary libraries.

$fm = new form_filemanager($options);
$output = get_renderer('core', 'files');
echo $output->render($fm);
Parameters
form_filemanager$fmFile manager to render
Return values
stringHTML fragment

◆ render_from_template()

renderer_base::render_from_template ( $templatename,
$context )
inherited

Renders a template by name with the given context.

The provided data needs to be array/stdClass made up of only simple types. Simple types are array,stdClass,bool,int,float,string

Since
2.9
Parameters
array | stdClass$contextContext containing data for the template.
Return values
string|boolean

◆ repository_default_searchform()

core_files_renderer::repository_default_searchform ( )

Returns HTML for default repository searchform to be passed to Filepicker.

This will be used as contents for search form defined in generallayout template (form with id {TOOLSEARCHID}). Default contents is one text input field with name="s"

◆ should_display_main_logo()

renderer_base::should_display_main_logo ( $headinglevel = 1)
inherited

Whether we should display the main logo.

Deprecated
since Moodle 4.0
Todo
final deprecation. To be removed in Moodle 4.4 MDL-73165.
Parameters
int$headinglevelThe heading level we want to check against.
Return values
bool

◆ should_display_navbar_logo()

renderer_base::should_display_navbar_logo ( )
inherited

Whether we should display the logo in the navbar.

We will when there are no main logos, and we have compact logo.

Return values
bool

Member Data Documentation

◆ $output

renderer_base core_renderer plugin_renderer_base::$output
protectedinherited

A reference to the current renderer.

The renderer provided here will be determined by the page but will in 90% of cases by the core_renderer


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