Permalink
Browse files

Merged from MOODLE_19_STABLE:

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
  • Loading branch information...
1 parent 6a91692 commit d46a26c309dac1fc8c9e55e9f125d1d5016b543d mjollnir_ committed Jan 15, 2008
Showing with 33 additions and 1 deletion.
  1. +1 −0 lang/en_utf8/moodle.php
  2. +11 −1 lib/accesslib.php
  3. +21 −0 lib/locallib.php
View
@@ -830,6 +830,7 @@
$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';
View
@@ -3146,6 +3146,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:%'");
@@ -3792,7 +3795,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':
@@ -3840,6 +3847,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');
}
View
@@ -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
* ----------------------

0 comments on commit d46a26c

Please sign in to comment.