Repository plugin files: Difference between revisions
No edit summary |
David Mudrak (talk | contribs) m (Text replacement - "<code php>" to "<syntaxhighlight lang="php">") |
||
Line 2: | Line 2: | ||
This is an overview of the files that are found within [[Repository plugins]]. | This is an overview of the files that are found within [[Repository plugins]]. | ||
* /repository/myplugin/'''lib.php''' - this contains the core functionality for your plugin. Within it you must define a class: | * /repository/myplugin/'''lib.php''' - this contains the core functionality for your plugin. Within it you must define a class: | ||
< | <syntaxhighlight lang="php"> | ||
class repository_myplugin extends repository { | class repository_myplugin extends repository { | ||
// See [[Repository plugins]] for a list of functions to override in here | // See [[Repository plugins]] for a list of functions to override in here | ||
Line 9: | Line 9: | ||
* /repository/myplugin/'''pix/icon.png''' - an icon to display in the file picker (16x16) | * /repository/myplugin/'''pix/icon.png''' - an icon to display in the file picker (16x16) | ||
* /repository/myplugin/'''[[version.php]]''' - contains the current version number of the plugin and other important details ( https://docs.moodle.org/dev/version.php ) | * /repository/myplugin/'''[[version.php]]''' - contains the current version number of the plugin and other important details ( https://docs.moodle.org/dev/version.php ) | ||
< | <syntaxhighlight lang="php"> | ||
defined('MOODLE_INTERNAL') || die(); | defined('MOODLE_INTERNAL') || die(); | ||
$plugin->version = 2012061700; //The current plugin version (Date: YYYYMMDDXX) | $plugin->version = 2012061700; //The current plugin version (Date: YYYYMMDDXX) | ||
Line 18: | Line 18: | ||
</code> | </code> | ||
* /repository/myplugin/'''lang/en/repository_myplugin.php''' - contains the English language strings for display by your plugin. As a minimum, this must include: | * /repository/myplugin/'''lang/en/repository_myplugin.php''' - contains the English language strings for display by your plugin. As a minimum, this must include: | ||
< | <syntaxhighlight lang="php"> | ||
defined('MOODLE_INTERNAL') || die(); | defined('MOODLE_INTERNAL') || die(); | ||
$string['configplugin'] = 'Configuration for my plugin repository'; | $string['configplugin'] = 'Configuration for my plugin repository'; | ||
Line 25: | Line 25: | ||
</code> | </code> | ||
* /repository/myplugin/'''db/access.php''' - defines any user capabilities related to the plugin. A basic access.php file will look like this: | * /repository/myplugin/'''db/access.php''' - defines any user capabilities related to the plugin. A basic access.php file will look like this: | ||
< | <syntaxhighlight lang="php"> | ||
defined('MOODLE_INTERNAL') || die(); | defined('MOODLE_INTERNAL') || die(); | ||
$capabilities = array( | $capabilities = array( | ||
Line 39: | Line 39: | ||
Once the capabilities have been defined, it is good practice to add a language string for them to the '''lang/en/repository_myplugin.php''' file: | Once the capabilities have been defined, it is good practice to add a language string for them to the '''lang/en/repository_myplugin.php''' file: | ||
< | <syntaxhighlight lang="php"> | ||
$string['myplugin:view'] = 'View the myplugin repository'; | $string['myplugin:view'] = 'View the myplugin repository'; | ||
</code> | </code> |
Revision as of 13:34, 14 July 2021
This is an overview of the files that are found within Repository plugins.
- /repository/myplugin/lib.php - this contains the core functionality for your plugin. Within it you must define a class:
<syntaxhighlight lang="php"> class repository_myplugin extends repository {
// See Repository plugins for a list of functions to override in here
}
- /repository/myplugin/pix/icon.png - an icon to display in the file picker (16x16)
- /repository/myplugin/version.php - contains the current version number of the plugin and other important details ( https://docs.moodle.org/dev/version.php )
<syntaxhighlight lang="php"> defined('MOODLE_INTERNAL') || die(); $plugin->version = 2012061700; //The current plugin version (Date: YYYYMMDDXX) $plugin->requires = 2012061700; //Requires this Moodle version $plugin->component = 'repository_myplugin'; //Full name of the plugin (used for diagnostics) $plugin->cron = 0; // How often to run automatic updates (0 to disable) $plugin->release = 'Human-readable version number';
- /repository/myplugin/lang/en/repository_myplugin.php - contains the English language strings for display by your plugin. As a minimum, this must include:
<syntaxhighlight lang="php"> defined('MOODLE_INTERNAL') || die(); $string['configplugin'] = 'Configuration for my plugin repository'; $string['pluginname'] = 'My plugin repository'; $string['pluginname_help'] = 'A few more details about my repository';
- /repository/myplugin/db/access.php - defines any user capabilities related to the plugin. A basic access.php file will look like this:
<syntaxhighlight lang="php"> defined('MOODLE_INTERNAL') || die(); $capabilities = array(
'repository/myplugin:view' => array( 'captype' => 'read', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'user' => CAP_ALLOW ) )
);
Once the capabilities have been defined, it is good practice to add a language string for them to the lang/en/repository_myplugin.php file: <syntaxhighlight lang="php"> $string['myplugin:view'] = 'View the myplugin repository';