MDL-13000 Adding support for developers to add their own capabilities to local/db/access.php

This relies on a local/ language pack as well for the capability names.
Notes on implementation are in lib/locallib.php
This commit is contained in:
mjollnir_
2008-01-15 04:20:02 +00:00
parent 0972aa2291
commit 33c34c5705
3 changed files with 33 additions and 1 deletions
+1
View File
@@ -828,6 +828,7 @@ $string['list'] = 'List';
$string['listfiles'] = 'List of files in $a';
$string['listofallpeople'] = 'List of all people';
$string['livelogs'] = 'Live logs from the past hour';
$string['local'] = 'Local';
$string['locale'] = 'en_AU.UTF-8';
$string['location'] = 'Location';
$string['log_excel_date_format'] = 'yyyy mmmm d h:mm';
+11 -1
View File
@@ -3141,6 +3141,9 @@ function get_cached_capabilities($component='moodle') {
if ($component == 'moodle') {
$storedcaps = get_records_select('capabilities',
"name LIKE 'moodle/%:%'");
} else if ($component == 'local') {
$storedcaps = get_records_select('capabilities',
"name LIKE 'moodle/local:%'");
} else {
$storedcaps = get_records_select('capabilities',
"name LIKE '$component:%'");
@@ -3787,7 +3790,11 @@ function get_capability_string($capabilityname) {
break;
case 'moodle':
$string = get_string($stringname, 'role');
if ($componentname == 'local') {
$string = get_string($stringname, 'local');
} else {
$string = get_string($stringname, 'role');
}
break;
case 'enrol':
@@ -3835,6 +3842,9 @@ function get_component_string($component, $contextlevel) {
} else if (preg_match('|^block/|', $component)) {
$langname = str_replace('/', '_', $component);
$string = get_string('blockname', $langname);
} else if (preg_match('|^local|', $component)) {
$langname = str_replace('/', '_', $component);
$string = get_string('local');
} else {
$string = get_string('coresystem');
}
+21
View File
@@ -47,6 +47,27 @@
* when your moodle instance is first installed, xmldb_local_upgrade() will be called
* with $oldversion set to 0, so that all the updates run.
*
* Local capabilities
* ------------------
*
* If your local customisations require their own capabilities, use
*
* local/db/access.php
*
* You should create an array called $local_capabilities, which looks like:
*
* $local_capabilities = array(
* 'moodle/local:capability' => array(
* 'captype' => 'read',
* 'contextlevel' => CONTEXT_SYSTEM,
* ),
* );
*
* Note that for all local capabilities you add, you'll need to add language strings.
* Moodle will expect to find them in local/lang/en_utf8/local.php (eg for English)
* with a key (following the above example) of local:capability
* See the next section for local language support.
*
*
* Local language support
* ----------------------