diff --git a/lang/en_utf8/moodle.php b/lang/en_utf8/moodle.php index 7918067da42..04e9a3d3278 100644 --- a/lang/en_utf8/moodle.php +++ b/lang/en_utf8/moodle.php @@ -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'; diff --git a/lib/accesslib.php b/lib/accesslib.php index 5ac60619d88..88d1cc28a1c 100755 --- a/lib/accesslib.php +++ b/lib/accesslib.php @@ -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'); } diff --git a/lib/locallib.php b/lib/locallib.php index 3cb8bcce8c4..a27bc4add61 100644 --- a/lib/locallib.php +++ b/lib/locallib.php @@ -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 * ----------------------