Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.
/lib/
FolderUp one level  
Folderadodb/
 
Folderajax/
 
Folderamd/
 
Folderantivirus/
 
Folderbehat/
 
Folderbennu/
 
Folderclasses/
 
Folderdb/
 
Folderddl/
 
Folderdml/
 
Folderdtl/
 
Foldereditor/
 
Folderemoji-data/
 
Folderevalmath/
 
Folderexternal/
 
Folderfilebrowser/
 
Folderfilestorage/
 
Folderfonts/
 
Folderform/
 
Foldergeopattern-php/
 
Foldergoogle/
 
Foldergrade/
 
Folderhorde/
 
Folderhtml2text/
 
Folderhtmlpurifier/
 
Folderhttp-message/
 
Folderjquery/
 
Folderlti1p3/
 
Folderltiprovider/
 
Foldermarkdown/
 
Foldermaxmind/
 
Folderminify/
 
Foldermlbackend/
 
Foldermustache/
 
Folderpear/
 
Folderphp-css-parser/
 
Folderphp-enum/
 
Folderphp-jwt/
 
Folderphpmailer/
 
Folderphpspreadsheet/
 
Folderphpunit/
 
Folderphpxmlrpc/
 
Folderplist/
 
Folderpolyfills/
 
Folderportfolio/
 
Folderrequirejs/
 
Folderrtlcss/
 
Folderscssphp/
 
Foldersimplepie/
 
Folderspout/
 
Foldertable/
 
Foldertcpdf/
 
Foldertemplates/
 
Foldertesting/
 
Foldertests/
 
Folderuserkey/
 
Folderxapi/
 
Folderxhprof/
 
Folderxmldb/
 
Folderyui/
 
Folderyuilib/
 
Folderzipstream/
 
Fileaccesslib.php                     [source] [7882 lines]  This file contains functions for managing user access Public API vs internals
Fileadminlib.php                      [source] [11687 lines] Functions and classes used during installation, upgrades and for admin settings. ADMIN SETTINGS TREE INTRODUCTION
Fileauthlib.php                       [source] [1292 lines]  Multiple plugin authentication Support library 2006-08-28 File created, AUTH return values defined.
Filebadgeslib.php                     [source] [1374 lines]  Contains classes, functions and constants used in badges.
Fileblocklib.php                      [source] [2713 lines]  Block Class and Functions This file defines the {@link block_manager} class,
Fileclilib.php                        [source] [320 lines]   Command line utility functions and classes
Filecompletionlib.php                 [source] [1853 lines]  Contains classes, functions and constants used during the tracking of activity completion for users. Completion top-level options (admin setting enablecompletion)
Filecomponentlib.class.php            [source] [840 lines]   This library includes all the necessary stuff to use the one-click download and install feature of Moodle, used to keep updated some items like languages, pear, enviroment... i.e, components. It has been developed harcoding some important limits that are explained below: - It only can check, download and install items under moodledata. - Every downloadeable item must be one zip file. - The zip file root content must be 1 directory, i.e, everything is stored under 1 directory. - Zip file name and root directory must have the same name (but the .zip extension, of course). - Every .zip file must be defined in one .md5 file that will be stored in the same remote directory than the .zip file. - The name of such .md5 file is free, although it's recommended to use the same name than the .zip (that's the default assumption if no specified). - Every remote .md5 file will be a comma separated (CVS) file where each line will follow this format: - Field 1: name of the zip file (without extension). Mandatory. - Field 2: md5 of the zip file. Mandatory. - Field 3: whatever you want (or need). Optional. -Every local .md5 file will: - Have the zip file name (without the extension) plus -md5 - Will reside inside the expanded zip file dir - Will contain the md5 od the latest installed component With all these details present, the process will perform this tasks: - Perform security checks. Only admins are allowed to use this for now. - Read the .md5 file from source (1). - Extract the correct line for the .zip being requested. - Compare it with the local .md5 file (2). - If different: - Download the newer .zip file from source. - Calculate its md5 (3). - Compare (1) and (3). - If equal: - Delete old directory. - Uunzip the newer .zip file. - Create the new local .md5 file. - Delete the .zip file. - If different: - ERROR. Old package won't be modified. We shouldn't reach here ever. - If component download is not possible, a message text about how to do the process manually (remotedownloaderror) must be displayed to explain it.
Fileconditionlib.php                  [source] [29 lines]    DO NOT INCLUDE THIS FILE.
Fileconfigonlylib.php                 [source] [261 lines]   Minimalistic library, usable even when no other moodle libs are loaded. The only library that gets loaded if you define ABORT_AFTER_CONFIG before including main config.php. You can resume normal script operation if you define ABORT_AFTER_CONFIG_CANCEL and require the setup.php
Filecronlib.php                       [source] [473 lines]   Cron functions.
Filecsslib.php                        [source] [209 lines]   This file contains CSS file serving functions. NOTE: these functions are not expected to be used from any addons.
Filecsvlib.class.php                  [source] [571 lines]   This is a one-line short description of the file You can have a rather longer description of the file as well, if you like, and it can span multiple lines.
Filecustomcheckslib.php               [source] [37 lines]    This is a place to put custom environment checks, if there is not a better place.
Filedataformatlib.php                 [source] [45 lines]    dataformatlib.php - Contains core dataformat related functions.
Filedatalib.php                       [source] [1957 lines]  Library of functions for database manipulation. Other main libraries: - weblib.php - functions that produce web output - moodlelib.php - general-purpose Moodle functions
Fileddllib.php                        [source] [149 lines]   This library includes all the required functions used to handle the DB structure (DDL) independently of the underlying RDBMS in use. This library includes all the required functions used to handle the DB structure (DDL) independently of the underlying RDBMS in use. All the functions rely on the XMLDBDriver classes to be able to generate the correct SQL syntax needed by each DB.
Filedeprecatedlib.php                 [source] [3666 lines]  deprecatedlib.php - Old functions retained only for backward compatibility Old functions retained only for backward compatibility. New code should not use any of these functions.
Filedmllib.php                        [source] [376 lines]   This library contains all the Data Manipulation Language (DML) functions used to interact with the DB This library contains all the Data Manipulation Language (DML) functions used to interact with the DB. All the dunctions in this library must be generic and work against the major number of RDBMS possible. This is the list of currently supported and tested DBs: mysql, postresql, mssql, oracle
Filedtllib.php                        [source] [74 lines]    DTL == Database Transfer Library This library includes all the required functions used to handle transfer of data from one database to another.
Fileeditorlib.php                     [source] [245 lines]   Utility classes and functions for text editor integration.
Fileemptyfile.php                     [source] [21 lines]    This is an empty file. For those times when you want something you can request to get an empty response.
Fileenrollib.php                      [source] [3362 lines]  This library includes the basic parts of enrol api. It is available on each page.
Fileenvironmentlib.php                [source] [1688 lines]  This library includes all the necessary stuff to execute some standard tests of required versions and libraries to run Moodle. It can be used from the admin interface, and both at install and upgrade. All the info is stored in the admin/environment.xml file, supporting to have an updated version in dataroot/environment
Fileexcellib.class.php                [source] [896 lines]   Excel writer abstraction layer.
Fileexternallib.php                   [source] [1597 lines]  Support for external API
Filefilelib.php                       [source] [5289 lines]  Functions for file handling.
Filefilterlib.php                     [source] [1710 lines]  Library functions for managing text filter plugins.
Fileflickrclient.php                  [source] [282 lines]   Provides {@link flickr_client} class.
Fileflickrlib.php                     [source] [1179 lines]  phpFlickr Class 2.2.0 Written by Dan Coulter (dan@dancoulter.com) Sourceforge Project Page: {@link http://www.sourceforge.net/projects/phpflickr/} Released under GNU Lesser General Public License ({@link http://www.gnu.org/copyleft/lgpl.html}) For more information about the class and upcoming tools and toys using it, visit {@link http://www.phpflickr.com/} or {@link http://phpflickr.sourceforge.net} For installation instructions, open the README.txt file packaged with this class. If you don't have a copy, you can see it at: {@link http://www.phpflickr.com/README.txt}
Fileformslib.php                      [source] [3496 lines]  formslib.php - library of classes for creating forms in Moodle, based on PEAR QuickForms. To use formslib then you will want to create a new file purpose_form.php eg. edit_form.php and you want to name your class something like {modulename}_{purpose}_form. Your class will extend moodleform overriding abstract classes definition and optionally defintion_after_data and validation.
Filegdlib.php                         [source] [477 lines]   gdlib.php - Collection of routines in Moodle related to processing images using GD
Filegoogleapi.php                     [source] [258 lines]   Simple implementation of some Google API functions for Moodle.
Filegradelib.php                      [source] [1649 lines]  Library of functions for gradebook - both public and internal
Filegraphlib.php                      [source] [1883 lines]  Graph Class. PHP Class to draw line, point, bar, and area graphs, including numeric x-axis and double y-axis. Version: 1.6.3 Copyright (C) 2000 Herman Veluwenkamp This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
Filegrouplib.php                      [source] [1392 lines]  
Fileinstalllib.php                    [source] [545 lines]   Functions to support installation process
Filejavascript.php                    [source] [121 lines]   This file is serving optimised JS
Filejslib.php                         [source] [133 lines]   This file contains various javascript related functions, all functions here are self contained and can be used in ABORT_AFTER_CONFIG scripts.
Filejssourcemap.php                   [source] [68 lines]    This file is serving the javascript source map.
Fileldaplib.php                       [source] [502 lines]   ldaplib.php - LDAP functions & data library Library file of miscellaneous general-purpose LDAP functions and data structures, useful for both ldap authentication (or ldap based authentication like CAS) and enrolment plugins.
Filelexer.php                         [source] [443 lines]   PHP lexer code snarfed from the CVS tree for the lamplib project at http://sourceforge.net/projects/lamplib This project is administered by Markus Baker, Harry Fuecks and Matt Mitchell, and the project code is in the public domain. Thanks, guys!
Filelicenselib.php                    [source] [398 lines]   A namespace contains license specific functions
Filelistlib.php                       [source] [640 lines]   Classes for displaying and editing a nested list of items. Handles functionality for :
Filemathslib.php                      [source] [143 lines]   
Filemessagelib.php                    [source] [742 lines]   Functions for interacting with the message system
Filemodinfolib.php                    [source] [3334 lines]  modinfolib.php - Functions/classes relating to cached information about module instances on a course.
Filemoodlelib.php                     [source] [10925 lines] moodlelib.php - Moodle main library Main library file of miscellaneous general-purpose Moodle functions. Other main libraries: - weblib.php - functions that produce web output - datalib.php - functions that access the database
Filemyprofilelib.php                  [source] [391 lines]   Defines core nodes for my profile navigation tree.
Filenavigationlib.php                 [source] [6099 lines]  This file contains classes used to manage the navigation structures within Moodle.
Fileoauthlib.php                      [source] [771 lines]   
Fileodslib.class.php                  [source] [1491 lines]  ODS file writer. The xml used here is derived from output of LibreOffice 3.6.4 The design is based on Excel writer abstraction by Eloy Lafuente and others.
Fileoutputactions.php                 [source] [221 lines]   Classes representing JS event handlers, used by output components. Please see http://docs.moodle.org/en/Developement:How_Moodle_outputs_HTML for an overview.
Fileoutputcomponents.php              [source] [5129 lines]  Classes representing HTML elements, used by $OUTPUT methods Please see http://docs.moodle.org/en/Developement:How_Moodle_outputs_HTML for an overview.
Fileoutputfactories.php               [source] [449 lines]   Interface and classes for creating appropriate renderers for various parts of Moodle. Please see http://docs.moodle.org/en/Developement:How_Moodle_outputs_HTML for an overview.
Fileoutputfragmentrequirementslib.php [source] [129 lines]   Library functions to facilitate the use of JavaScript in Moodle.
Fileoutputlib.php                     [source] [2742 lines]  Functions for generating the HTML that Moodle should output. Please see http://docs.moodle.org/en/Developement:How_Moodle_outputs_HTML for an overview.
Fileoutputrenderers.php               [source] [5661 lines]  Classes for rendering HTML output for Moodle. Please see {@link http://docs.moodle.org/en/Developement:How_Moodle_outputs_HTML} for an overview.
Fileoutputrequirementslib.php         [source] [2186 lines]  Library functions to facilitate the use of JavaScript in Moodle. Note: you can find history of this file in lib/ajax/ajaxlib.php
Filepagelib.php                       [source] [2370 lines]  This file contains the moodle_page class. There is normally a single instance of this class in the $PAGE global variable. This class is a central repository of information about the page we are building up to send back to the user.
Filepdflib.php                        [source] [253 lines]   pdflib.php - Moodle PDF library We currently use the TCPDF library by Nicola Asuni.
Filephpminimumversionlib.php          [source] [76 lines]    A set of PHP-compatible convenience functions to check Moodle minimum PHP version in a unified place. PLEASE NOTE: This file is made to be both php-version compatible and without requirement on any moodle functions or installation so it can be used in installer or incompatible PHP versions.
Fileplagiarismlib.php                 [source] [235 lines]   plagiarismlib.php - Contains core Plagiarism related functions.
Fileportfoliolib.php                  [source] [1372 lines]  This file contains all global functions to do with manipulating portfolios. Everything else that is logically namespaced by class is in its own file in lib/portfolio/ directory.
Filequestionlib.php                   [source] [2358 lines]  Code for handling and processing questions. This is code that is module independent, i.e., can be used by any module that uses questions, like quiz, lesson, etc. This script also loads the questiontype classes. Code for handling the editing of questions is in question/editlib.php
Filerecaptchalib_v2.php               [source] [193 lines]   This is a PHP library that handles calling reCAPTCHA v2. - Documentation {@link https://developers.google.com/recaptcha/docs/display} - Get a reCAPTCHA API Key {@link https://www.google.com/recaptcha/admin} - Discussion group {@link http://groups.google.com/group/recaptcha}
Filerequirejs.php                     [source] [196 lines]   This file is serving optimised JS for RequireJS.
Fileresourcelib.php                   [source] [281 lines]   Recourse module like helper functions
Filersslib.php                        [source] [535 lines]   This file contains all the common stuff to be used in RSS System
Filesearchlib.php                     [source] [518 lines]   
Filesessionlib.php                    [source] [240 lines]   
Filesetup.php                         [source] [1137 lines]  setup.php - Sets up sessions, connects to databases and so on Normally this is only called by the main config.php file Normally this file does not need to be edited.
Filesetuplib.php                      [source] [2185 lines]  These functions are required very early in the Moodle setup process, before any of the main libraries are loaded.
Filesoaplib.php                       [source] [150 lines]   Web services wrapper library script Since Moodle 2.0 we rely only on native PHP Soap extension, the original name of this file was lib/soap/phpsoap.php
Filestatslib.php                      [source] [1841 lines]  
Filetablelib.php                      [source] [2391 lines]  
Filetokeniserlib.php                  [source] [406 lines]   Based on Drupal's search.module version 1.224 {@link http://cvs.drupal.org/viewcvs/drupal/drupal/modules/search/search.module?view=markup}
Fileupgradelib.php                    [source] [2837 lines]  Various upgrade/install related functions and classes.
Fileuploadlib.php                     [source] [51 lines]    uploadlib.php - This class handles all aspects of fileuploading
Filevalidateurlsyntax.php             [source] [555 lines]   About validateUrlSyntax(): This function will verify if a http URL is formatted properly, returning either with true or false. I used rfc #2396 URI: Generic Syntax as my guide when creating the regular expression. For all the details see the comments below.
Filewasmlib.php                       [source] [129 lines]   This file contains various Web Assembly related functions, all functions here are self-contained and can be used in ABORT_AFTER_CONFIG scripts.
Filewebdavlib.php                     [source] [1767 lines]  
Fileweblib.php                        [source] [3871 lines]  Library of functions for web output Library of all general-purpose Moodle PHP functions and constants that produce HTML output
Filewiki_to_markdown.php              [source] [392 lines]   Utility function to convert wiki-like to Markdown format
Filewomenslib.php                     [source] [29 lines]    
Filexmlize.php                        [source] [243 lines]   Code for parsing xml files. Handles functionality for:
Filexsendfilelib.php                  [source] [86 lines]    X-Sendfile support