Merge branch 'MDL-31013-master-1' of git://git.luns.net.uk/moodle
authorSam Hemelryk <sam@moodle.com>
Mon, 23 Jan 2012 03:08:22 +0000 (11:08 +0800)
committerSam Hemelryk <sam@moodle.com>
Mon, 23 Jan 2012 03:08:22 +0000 (11:08 +0800)
389 files changed:
admin/blocks.php
admin/category.php [new file with mode: 0644]
admin/cli/install.php
admin/cli/mysql_engine.php
admin/enrol.php
admin/index.php
admin/modules.php
admin/qbehaviours.php
admin/qtypes.php
admin/renderer.php
admin/roles/lib.php
admin/search.php
admin/settings.php
admin/settings/appearance.php
admin/settings/courses.php
admin/settings/development.php
admin/settings/frontpage.php
admin/settings/grades.php
admin/settings/language.php
admin/settings/location.php
admin/settings/mnet.php
admin/settings/plugins.php
admin/settings/security.php
admin/settings/server.php
admin/settings/subsystems.php
admin/settings/top.php
admin/settings/users.php
admin/tool/bloglevelupgrade/db/install.php
admin/tool/customlang/db/install.php
admin/tool/customlang/db/upgrade.php
admin/tool/innodb/index.php
admin/tool/qeupgradehelper/db/install.php
admin/tool/timezoneimport/index.php
admin/tool/unittest/db/install.php
admin/tool/unittest/ex_reporter.php
admin/tool/unsuproles/db/install.php
admin/tool/uploaduser/index.php
admin/tool/uploaduser/lang/en/tool_uploaduser.php
admin/tool/uploaduser/locallib.php
admin/tool/uploaduser/user_form.php
admin/user.php
auth/cas/db/install.php
auth/db/auth.php
auth/db/db/install.php
auth/fc/db/install.php
auth/imap/db/install.php
auth/ldap/config.html
auth/ldap/db/install.php
auth/manual/db/upgrade.php
auth/mnet/db/install.php
auth/mnet/db/upgrade.php
auth/nntp/db/install.php
auth/pam/db/install.php
auth/pop3/db/install.php
auth/radius/db/install.php
auth/shibboleth/README.txt
auth/shibboleth/db/install.php
auth/shibboleth/login.php
backup/cc/cc112moodle.php
backup/cc/cc2moodle.php
backup/cc/cc_lib/cc_asssesment.php
backup/cc/entity.resource.class.php
backup/cc/sheets/course_sections_section_mods_mod.xml
backup/log.php
backup/restorelib.php
backup/util/helper/backup_cron_helper.class.php
backup/util/helper/restore_decode_rule.class.php
backup/util/settings/backup_setting.class.php
backup/util/settings/simpletest/testsettings.php
backup/util/structure/backup_optigroup.class.php
backup/util/ui/backup_ui.class.php
backup/util/ui/module.js
backup/util/ui/yui/confirmcancel/confirmcancel.js
blocks/admin_bookmarks/block_admin_bookmarks.php
blocks/comments/block_comments.php
blocks/community/db/upgrade.php
blocks/edit_form.php
blocks/glossary_random/block_glossary_random.php
blocks/html/db/upgrade.php
blocks/html/edit_form.php
blocks/login/block_login.php
blocks/mentees/block_mentees.php
blocks/navigation/block_navigation.php
blocks/navigation/db/upgrade.php
blocks/private_files/block_private_files.php
blocks/settings/block_settings.php
blocks/settings/db/upgrade.php
blocks/tags/block_tags.php
blog/edit_form.php
blog/lib.php
calendar/lib.php
config-dist.php
course/edit_form.php
course/format/weeks/format.php
course/index.php
course/lib.php
enrol/ajax.php
enrol/authorize/db/upgrade.php
enrol/bulkchange.php
enrol/category/db/install.php
enrol/category/locallib.php
enrol/cohort/addinstance_form.php
enrol/cohort/cli/sync.php [new file with mode: 0644]
enrol/cohort/db/access.php
enrol/cohort/db/uninstall.php [new file with mode: 0644]
enrol/cohort/lang/en/enrol_cohort.php
enrol/cohort/lib.php
enrol/cohort/locallib.php
enrol/cohort/settings.php
enrol/cohort/version.php
enrol/database/db/install.php
enrol/database/db/upgrade.php
enrol/flatfile/db/upgrade.php
enrol/guest/lib.php
enrol/imsenterprise/db/install.php
enrol/imsenterprise/db/upgrade.php
enrol/imsenterprise/lib.php
enrol/ldap/db/install.php
enrol/locallib.php
enrol/manual/db/install.php
enrol/manual/lib.php
enrol/manual/locallib.php
enrol/manual/unenroluser.php [deleted file]
enrol/meta/addinstance_form.php
enrol/meta/cli/sync.php [new file with mode: 0644]
enrol/meta/db/access.php
enrol/meta/db/install.php
enrol/meta/db/uninstall.php [new file with mode: 0644]
enrol/meta/lang/en/enrol_meta.php
enrol/meta/lib.php
enrol/meta/locallib.php
enrol/meta/settings.php
enrol/meta/version.php
enrol/mnet/db/upgrade.php
enrol/paypal/db/upgrade.php
enrol/self/db/install.php
enrol/self/lib.php
enrol/self/unenroluser.php [deleted file]
enrol/unenroluser.php [new file with mode: 0644]
filter/data/db/install.php
filter/glossary/db/install.php
filter/mediaplugin/db/install.php
filter/mediaplugin/db/upgrade.php
filter/tex/db/install.php
filter/tex/db/upgrade.php
grade/grading/lib.php
grade/grading/pick.php
grade/report/grader/styles.css
group/autogroup.php
group/externallib.php
install/lang/az/moodle.php [new file with mode: 0644]
install/lang/fo/langconfig.php [new file with mode: 0644]
install/lang/he/install.php
install/lang/tt/langconfig.php [new file with mode: 0644]
lang/en/admin.php
lang/en/auth.php
lang/en/error.php
lang/en/grades.php
lang/en/langconfig.php
lang/en/moodle.php
lang/en/plugin.php
lib/accesslib.php
lib/adminlib.php
lib/ajax/ajaxlib.php
lib/ajax/section_classes.js
lib/blocklib.php
lib/cronlib.php
lib/datalib.php
lib/db/install.xml
lib/db/upgrade.php
lib/db/upgradelib.php
lib/editor/tinymce/tiny_mce/3.4.6/plugins/spellchecker/classes/PSpell.php
lib/editor/tinymce/tiny_mce/3.4.6/plugins/spellchecker/classes/PSpellShell.php
lib/enrollib.php
lib/filelib.php
lib/filterlib.php
lib/form/advcheckbox.php
lib/form/checkbox.php
lib/form/dndupload.js [new file with mode: 0644]
lib/form/filemanager.js
lib/form/filemanager.php
lib/form/filepicker.js
lib/form/filepicker.php
lib/form/password.php
lib/form/passwordunmask.php
lib/form/radio.php
lib/form/select.php
lib/form/selectgroups.php
lib/form/selectwithlink.php
lib/form/text.php
lib/form/url.php
lib/formslib.php
lib/javascript-static.js
lib/messagelib.php
lib/moodlelib.php
lib/navigationlib.php
lib/outputcomponents.php
lib/outputrenderers.php
lib/outputrequirementslib.php
lib/pear/HTML/QuickForm/checkbox.php
lib/pear/HTML/QuickForm/element.php
lib/pear/HTML/QuickForm/radio.php
lib/pluginlib.php
lib/simpletest/fixtures/gradetest.php
lib/simpletest/testcompletionlib.php
lib/simpletest/testfilterconfig.php
lib/simpletest/testformslib.php
lib/simpletest/testmoodlelib.php
lib/simpletest/testtextlib.php
lib/simpletest/testweblib.php
lib/textlib.class.php
lib/upgradelib.php
lib/weblib.php
login/index.php
login/index_form.html
login/signup.php
message/lib.php
message/output/email/db/upgrade.php
message/output/email/message_output_email.php
message/output/jabber/db/upgrade.php
message/output/jabber/message_output_jabber.php
message/output/popup/db/upgrade.php
mod/assignment/db/upgrade.php
mod/assignment/lib.php
mod/chat/db/upgrade.php
mod/chat/lib.php
mod/choice/db/upgrade.php
mod/data/db/upgrade.php
mod/feedback/analysis_course.php
mod/feedback/db/upgrade.php
mod/feedback/lib.php
mod/folder/db/install.php
mod/folder/db/upgrade.php
mod/folder/db/upgradelib.php [deleted file]
mod/forum/db/upgrade.php
mod/forum/lib.php
mod/forum/post.php
mod/glossary/db/upgrade.php
mod/imscp/db/install.php
mod/imscp/db/upgrade.php
mod/imscp/db/upgradelib.php [deleted file]
mod/label/db/upgrade.php
mod/lesson/db/upgrade.php
mod/lesson/db/upgradelib.php [deleted file]
mod/lesson/format.php
mod/lesson/lib.php
mod/lesson/pagetypes/essay.php
mod/lti/db/upgrade.php
mod/lti/lang/en/lti.php
mod/page/db/install.php
mod/page/db/upgrade.php
mod/page/db/upgradelib.php [deleted file]
mod/quiz/accessrule/upgrade.txt [new file with mode: 0644]
mod/quiz/attempt.php
mod/quiz/attemptlib.php
mod/quiz/db/install.xml
mod/quiz/db/upgrade.php
mod/quiz/db/upgradelib.php [deleted file]
mod/quiz/edit.php
mod/quiz/editlib.php
mod/quiz/lang/en/quiz.php
mod/quiz/lib.php
mod/quiz/locallib.php
mod/quiz/renderer.php
mod/quiz/report/overview/db/upgrade.php
mod/quiz/report/overview/overview_table.php
mod/quiz/report/statistics/cron.php [deleted file]
mod/quiz/report/statistics/db/install.php
mod/quiz/report/statistics/db/upgrade.php
mod/quiz/report/statistics/lib.php
mod/quiz/report/statistics/version.php
mod/quiz/report/upgrade.txt [new file with mode: 0644]
mod/quiz/simpletest/testlocallib.php
mod/quiz/simpletest/testquizobj.php
mod/quiz/startattempt.php
mod/quiz/styles.css
mod/quiz/version.php
mod/quiz/view.php
mod/resource/db/upgrade.php
mod/resource/db/upgradelib.php [deleted file]
mod/scorm/datamodels/scorm_13.js.php
mod/scorm/db/upgrade.php
mod/scorm/db/upgradelib.php [deleted file]
mod/scorm/report/basic/report.php
mod/scorm/report/interactions/report.php
mod/survey/db/upgrade.php
mod/survey/lib.php
mod/url/db/install.php
mod/url/db/upgrade.php
mod/url/db/upgradelib.php [deleted file]
mod/wiki/db/install.php
mod/wiki/db/migration/lib.php [deleted file]
mod/wiki/db/migration/wiki/ewiki/ewiki.php [deleted file]
mod/wiki/db/migration/wiki/ewiki/plugins/moodle/moodle_rescue_html.php [deleted file]
mod/wiki/db/migration/wiki/ewikimoodlelib.php [deleted file]
mod/wiki/db/upgrade.php
mod/wiki/db/upgradelib.php [deleted file]
mod/workshop/backup/moodle1/lib.php
mod/workshop/db/upgrade.php
mod/workshop/db/upgradelib.php [deleted file]
mod/workshop/form/accumulative/backup/moodle1/lib.php
mod/workshop/form/accumulative/db/install.php
mod/workshop/form/accumulative/db/upgrade.php
mod/workshop/form/accumulative/db/upgradelib.php [deleted file]
mod/workshop/form/comments/backup/moodle1/lib.php
mod/workshop/form/comments/db/install.php
mod/workshop/form/comments/db/upgrade.php
mod/workshop/form/comments/db/upgradelib.php [deleted file]
mod/workshop/form/numerrors/backup/moodle1/lib.php
mod/workshop/form/numerrors/db/install.php
mod/workshop/form/numerrors/db/upgrade.php
mod/workshop/form/numerrors/db/upgradelib.php [deleted file]
mod/workshop/form/rubric/backup/moodle1/lib.php
mod/workshop/form/rubric/db/install.php
mod/workshop/form/rubric/db/upgrade.php
mod/workshop/form/rubric/db/upgradelib.php [deleted file]
mod/workshop/locallib.php
mod/workshop/simpletest/testlocallib.php
question/behaviour/adaptive/behaviour.php
question/behaviour/adaptive/lang/en/qbehaviour_adaptive.php
question/behaviour/adaptive/renderer.php
question/behaviour/adaptive/simpletest/testwalkthrough.php
question/behaviour/adaptivenopenalty/renderer.php
question/behaviour/adaptivenopenalty/simpletest/testwalkthrough.php
question/behaviour/deferredcbm/renderer.php
question/behaviour/upgrade.txt
question/editlib.php
question/engine/questionusage.php
question/engine/renderer.php
question/format/blackboard_six/format.php
question/format/upgrade.txt
question/preview.php
question/previewlib.php
question/type/calculated/db/upgrade.php
question/type/calculated/lang/en/qtype_calculated.php
question/type/essay/db/upgrade.php
question/type/match/backup/moodle1/lib.php
question/type/match/db/upgrade.php
question/type/match/renderer.php
question/type/multianswer/db/upgrade.php
question/type/multichoice/db/upgrade.php
question/type/numerical/db/upgrade.php
question/type/randomsamatch/questiontype.php
question/type/upgrade.txt
report/completion/db/install.php
report/log/db/install.php
report/outline/db/install.php
report/participation/db/install.php
report/participation/index.php
report/progress/db/install.php
report/questioninstances/index.php
report/stats/db/install.php
repository/coursefiles/db/access.php
repository/coursefiles/version.php
repository/filesystem/db/access.php
repository/filesystem/version.php
repository/lib.php
repository/local/db/access.php
repository/local/version.php
repository/webdav/db/access.php
repository/webdav/version.php
theme/arialist/config.php
theme/arialist/style/pagelayout.css
theme/base/style/admin.css
theme/base/style/core.css
theme/base/style/dock.css
theme/boxxie/style/core.css
theme/canvas/style/core.css
theme/formal_white/db/install.php
theme/formal_white/db/upgrade.php
theme/mymobile/config.php
theme/mymobile/javascript/jquery.mobile-1.0.js [moved from theme/mymobile/javascript/jquery.mobile-1.0rc2.js with 91% similarity]
theme/mymobile/layout/general.php
theme/mymobile/renderers.php
theme/mymobile/style/jmobile1.css [moved from theme/mymobile/style/jmobilerc2.css with 69% similarity]
theme/sky_high/config.php
theme/sky_high/style/admin.css [new file with mode: 0644]
theme/sky_high/style/report.css
theme/splash/style/sl.css
theme/yui_combo.php
user/editadvanced.php
user/editadvanced_form.php
user/filters/lib.php
user/index.php
user/profile.php
user/selector/lib.php
user/view.php
version.php
webservice/simpletest/testwebservice.php

index ca9633d..b1c53df 100644 (file)
         } else {
             uninstall_plugin('block', $block->name);
 
+            $a = new stdClass();
             $a->block = $strblockname;
             $a->directory = $CFG->dirroot.'/blocks/'.$block->name;
             notice(get_string('blockdeletefiles', '', $a), 'blocks.php');
diff --git a/admin/category.php b/admin/category.php
new file mode 100644 (file)
index 0000000..f9cd940
--- /dev/null
@@ -0,0 +1,160 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * This file is used to display a categories sub categories, external pages, and settings.
+ *
+ * @since      2.3
+ * @package    admin
+ * @copyright  2011 Sam Hemelryk
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+require_once('../config.php');
+require_once($CFG->libdir.'/adminlib.php');
+
+$category = required_param('category', PARAM_SAFEDIR);
+$return = optional_param('return','', PARAM_ALPHA);
+$adminediting = optional_param('adminedit', -1, PARAM_BOOL);
+
+/// no guest autologin
+require_login(0, false);
+$PAGE->set_context(get_context_instance(CONTEXT_SYSTEM));
+$PAGE->set_url('/admin/category.php', array('category' => $category));
+$PAGE->set_pagetype('admin-setting-' . $category);
+$PAGE->set_pagelayout('admin');
+$PAGE->navigation->clear_cache();
+
+$adminroot = admin_get_root(); // need all settings
+$settingspage = $adminroot->locate($category, true);
+
+if (empty($settingspage) or !($settingspage instanceof admin_category)) {
+    print_error('categoryerror', 'admin', "$CFG->wwwroot/$CFG->admin/");
+}
+
+if (!($settingspage->check_access())) {
+    print_error('accessdenied', 'admin');
+}
+
+
+$statusmsg = '';
+$errormsg  = '';
+
+if ($data = data_submitted() and confirm_sesskey()) {
+    if (admin_write_settings($data)) {
+        $statusmsg = get_string('changessaved');
+    }
+
+    if (empty($adminroot->errors)) {
+        switch ($return) {
+            case 'site': redirect("$CFG->wwwroot/");
+            case 'admin': redirect("$CFG->wwwroot/$CFG->admin/");
+        }
+    } else {
+        $errormsg = get_string('errorwithsettings', 'admin');
+        $firsterror = reset($adminroot->errors);
+    }
+    $adminroot = admin_get_root(true); //reload tree
+    $settingspage = $adminroot->locate($category, true);
+}
+
+if ($PAGE->user_allowed_editing() && $adminediting != -1) {
+    $USER->editing = $adminediting;
+}
+
+if ($PAGE->user_allowed_editing()) {
+    $url = clone($PAGE->url);
+    if ($PAGE->user_is_editing()) {
+        $caption = get_string('blockseditoff');
+        $url->param('adminedit', 'off');
+    } else {
+        $caption = get_string('blocksediton');
+        $url->param('adminedit', 'on');
+    }
+    $buttons = $OUTPUT->single_button($url, $caption, 'get');
+}
+
+$savebutton = false;
+$outputhtml = '';
+foreach ($settingspage->children as $childpage) {
+    if ($childpage->is_hidden()) {
+        continue;
+    }
+    if ($childpage instanceof admin_externalpage) {
+        $outputhtml .= $OUTPUT->heading(html_writer::link($childpage->url, $childpage->visiblename), 3);
+    } else if ($childpage instanceof admin_settingpage) {
+        $outputhtml .= $OUTPUT->heading(html_writer::link(new moodle_url('/'.$CFG->admin.'/settings.php', array('section' => $childpage->name)), $childpage->visiblename), 3);
+    } else if ($childpage instanceof admin_category) {
+        $outputhtml .= $OUTPUT->heading(html_writer::link(new moodle_url('/'.$CFG->admin.'/category.php', array('category' => $childpage->name)), get_string('admincategory', 'admin', $childpage->visiblename)), 3);
+    } else {
+        continue;
+    }
+    if (!empty($childpage->settings)) {
+        $outputhtml .= html_writer::start_tag('fieldset', array('class' => 'adminsettings'));
+        foreach ($childpage->settings as $setting) {
+            if (empty($setting->nosave)) {
+                $savebutton = true;
+            }
+            $fullname = $setting->get_full_name();
+            if (array_key_exists($fullname, $adminroot->errors)) {
+                $data = $adminroot->errors[$fullname]->data;
+            } else {
+                $data = $setting->get_setting();
+            }
+            $outputhtml .= html_writer::tag('div', '<!-- -->', array('class' => 'clearer'));
+            $outputhtml .= $setting->output_html($data);
+        }
+        $outputhtml .= html_writer::end_tag('fieldset');
+    }
+}
+if ($savebutton) {
+    $outputhtml .= html_writer::start_tag('div', array('class' => 'form-buttons'));
+    $outputhtml .= html_writer::empty_tag('input', array('class' => 'form-submit', 'type' => 'submit', 'value' => get_string('savechanges','admin')));
+    $outputhtml .= html_writer::end_tag('div');
+}
+
+$visiblepathtosection = array_reverse($settingspage->visiblepath);
+$PAGE->set_title("$SITE->shortname: " . implode(": ",$visiblepathtosection));
+$PAGE->set_heading($SITE->fullname);
+$PAGE->set_button($buttons);
+
+echo $OUTPUT->header();
+
+if ($errormsg !== '') {
+    echo $OUTPUT->notification($errormsg);
+} else if ($statusmsg !== '') {
+    echo $OUTPUT->notification($statusmsg, 'notifysuccess');
+}
+
+$path = array_reverse($settingspage->visiblepath);
+if (is_array($path)) {
+    $visiblename = join(' / ', $path);
+} else {
+    $visiblename = $path;
+}
+echo $OUTPUT->heading(get_string('admincategory', 'admin', $visiblename), 2);
+
+echo html_writer::start_tag('form', array('action' => '', 'method' => 'post', 'id' => 'adminsettings'));
+echo html_writer::start_tag('div');
+echo html_writer::input_hidden_params(new moodle_url($PAGE->url, array('sesskey' => sesskey(), 'return' => $return)));
+echo html_writer::end_tag('div');
+echo html_writer::start_tag('fieldset');
+echo html_writer::tag('div', '<!-- -->', array('class' => 'clearer'));
+echo $outputhtml;
+echo html_writer::end_tag('fieldset');
+echo html_writer::end_tag('form');
+
+echo $OUTPUT->footer();
\ No newline at end of file
index 04d1ee8..b812aaf 100644 (file)
@@ -78,6 +78,16 @@ Example:
 "; //TODO: localize, mark as needed in install - to be translated later when everything is finished
 
 
+// distro specific customisation
+$distrolibfile = dirname(dirname(dirname(__FILE__))).'/install/distrolib.php';
+$distro = null;
+if (file_exists($distrolibfile)) {
+    require_once($distrolibfile);
+    if (function_exists('distro_get_config')) {
+        $distro = distro_get_config();
+    }
+}
+
 // Nothing to do if config.php exists
 $configfile = dirname(dirname(dirname(__FILE__))).'/config.php';
 if (file_exists($configfile)) {
@@ -180,14 +190,14 @@ if (empty($databases)) {
 // now get cli options
 list($options, $unrecognized) = cli_get_params(
     array(
-        'chmod'             => '2777',
+        'chmod'             => isset($distro->directorypermissions) ? sprintf('%04o',$distro->directorypermissions) : '2777', // let distros set dir permissions
         'lang'              => $CFG->lang,
         'wwwroot'           => '',
-        'dataroot'          => str_replace('\\', '/', dirname(dirname(dirname(dirname(__FILE__)))).'/moodledata'),
-        'dbtype'            => $defaultdb,
-        'dbhost'            => 'localhost',
+        'dataroot'          => empty($distro->dataroot) ? str_replace('\\', '/', dirname(dirname(dirname(dirname(__FILE__)))).'/moodledata'): $distro->dataroot, // initialised later after including libs or by distro
+        'dbtype'            => empty($distro->dbtype) ? $defaultdb : $distro->dbtype, // let distro skip dbtype selection
+        'dbhost'            => empty($distro->dbhost) ? 'localhost' : $distro->dbhost, // let distros set dbhost
         'dbname'            => 'moodle',
-        'dbuser'            => 'root',
+        'dbuser'            => empty($distro->dbuser) ? 'root' : $distro->dbuser, // let distros set dbuser
         'dbpass'            => '',
         'dbsocket'          => false,
         'prefix'            => 'mdl_',
@@ -327,12 +337,7 @@ $CFG->httpswwwroot  = $CFG->wwwroot;
 
 
 //We need dataroot before lang download
-$dataroot = clean_param($options['dataroot'], PARAM_PATH);
-if ($dataroot !== $options['dataroot']) {
-    $a = (object)array('option' => 'dataroot', 'value' => $options['dataroot']);
-    cli_error(get_string('cliincorrectvalueerror', 'admin', $a));
-}
-$CFG->dataroot = $dataroot;
+$CFG->dataroot = $options['dataroot'];
 if ($interactive) {
     cli_separator();
     $i=0;
@@ -523,6 +528,9 @@ if ($interactive) {
         }
 
         $CFG->dbpass = cli_input($prompt, $options['dbpass']);
+        if (function_exists('distro_pre_create_db')) { // Hook for distros needing to do something before DB creation
+            $distro = distro_pre_create_db($database, $CFG->dbhost, $CFG->dbuser, $CFG->dbpass, $CFG->dbname, $CFG->prefix, array('dbpersist'=>0, 'dbsocket'=>$options['dbsocket']), $distro);
+        }
         $hint_database = install_db_validate($database, $CFG->dbhost, $CFG->dbuser, $CFG->dbpass, $CFG->dbname, $CFG->prefix, array('dbpersist'=>0, 'dbsocket'=>$options['dbsocket']));
     } while ($hint_database !== '');
 
index 53c4b84..c6d7c6e 100644 (file)
@@ -76,7 +76,7 @@ if (!empty($options['engine'])) {
         }
         echo str_pad($table->name, 40). " - ";
 
-        $DB->change_database_structure("ALTER TABLE {$table->name} TYPE = $engine");
+        $DB->change_database_structure("ALTER TABLE {$table->name} ENGINE = $engine");
         echo "DONE\n";
         $converted++;
     }
index 2d53db9..ab14a23 100644 (file)
@@ -31,6 +31,7 @@ $enrol   = required_param('enrol', PARAM_PLUGIN);
 $confirm = optional_param('confirm', 0, PARAM_BOOL);
 
 $PAGE->set_url('/admin/enrol.php');
+$PAGE->set_context(context_system::instance());
 
 require_login();
 require_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM));
@@ -112,6 +113,7 @@ switch ($action) {
             uninstall_plugin('enrol', $enrol);
             $syscontext->mark_dirty(); // resets all enrol caches
 
+            $a = new stdClass();
             $a->plugin = $strplugin;
             $a->directory = "$CFG->dirroot/enrol/$enrol";
             echo $OUTPUT->notification(get_string('uninstalldeletefiles', 'enrol', $a), 'notifysuccess');
index b4bcff7..7e8a6fc 100644 (file)
@@ -190,6 +190,15 @@ if ($version > $CFG->version) {  // upgrade
     $PAGE->set_pagelayout('maintenance');
     $PAGE->set_popup_notification_allowed(false);
 
+    if (upgrade_stale_php_files_present()) {
+        $PAGE->set_title($stradministration);
+        $PAGE->set_cacheable(false);
+
+        $output = $PAGE->get_renderer('core', 'admin');
+        echo $output->upgrade_stale_php_files_page();
+        die();
+    }
+
     if (empty($confirmupgrade)) {
         $a->oldversion = "$CFG->release ($CFG->version)";
         $a->newversion = "$release ($version)";
index 45f7a57..2290612 100644 (file)
@@ -92,6 +92,7 @@
             }
 
             uninstall_plugin('mod', $delete);
+            $a = new stdClass();
             $a->module = $strmodulename;
             $a->directory = "$CFG->dirroot/mod/$delete";
             echo $OUTPUT->notification(get_string("moduledeletefiles", "", $a), 'notifysuccess');
index 2ae5f08..ce81b13 100644 (file)
@@ -191,6 +191,7 @@ if (($delete = optional_param('delete', '', PARAM_PLUGIN)) && confirm_sesskey())
     // Remove event handlers and dequeue pending events
     events_uninstall('qbehaviour_' . $delete);
 
+    $a = new stdClass();
     $a->behaviour = $behaviourname;
     $a->directory = get_plugin_directory('qbehaviour', $delete);
     echo $OUTPUT->box(get_string('qbehaviourdeletefiles', 'question', $a), 'generalbox', 'notice');
index 4922ad5..cbe828f 100644 (file)
@@ -171,6 +171,7 @@ if (($delete = optional_param('delete', '', PARAM_PLUGIN)) && confirm_sesskey())
     // Remove event handlers and dequeue pending events
     events_uninstall('qtype_' . $delete);
 
+    $a = new stdClass();
     $a->qtype = $qtypename;
     $a->directory = $qtypes[$delete]->plugin_dir();
     echo $OUTPUT->box(get_string('qtypedeletefiles', 'question', $a), 'generalbox', 'notice');
@@ -217,7 +218,7 @@ foreach ($sortedqtypes as $qtypename => $localname) {
             $strcount = $counts[$qtypename]->numquestions;
         }
         if ($canviewreports) {
-            $row[] = html_writer::link(new moodle_url('/admin/report/questioninstances/index.php',
+            $row[] = html_writer::link(new moodle_url('/report/questioninstances/index.php',
                     array('qtype' => $qtypename)), $strcount, array('title' => get_string('showdetails', 'admin')));
         } else {
             $strcount;
index d823e0e..cecd725 100644 (file)
@@ -57,6 +57,26 @@ class core_admin_renderer extends plugin_renderer_base {
         return $output;
     }
 
+    /**
+     * Display page explaining proper upgrade process,
+     * there can not be any PHP file leftovers...
+     *
+     * @return string HTML to output.
+     */
+    public function upgrade_stale_php_files_page() {
+        $output = '';
+        $output .= $this->header();
+        $output .= $this->heading(get_string('upgradestalefiles', 'admin'));
+        $output .= $this->box_start('generalbox', 'notice');
+        $output .= get_string('upgradestalefilesinfo', 'admin', get_docs_url('Upgrading'));
+        $output .= html_writer::empty_tag('br');
+        $output .= html_writer::tag('div', $this->single_button($this->page->url, get_string('reload'), 'get'), array('class' => 'buttons'));
+        $output .= $this->box_end();
+        $output .= $this->footer();
+
+        return $output;
+    }
+
     /**
      * Display the 'environment check' page that is displayed during install.
      * @param int $maturity
@@ -339,8 +359,10 @@ class core_admin_renderer extends plugin_renderer_base {
             return '';
         }
 
-        return $this->warning(get_string('sitemaintenancewarning2', 'admin',
-                new moodle_url('/admin/settings.php', array('section' => 'maintenancemode'))));
+        $url = new moodle_url('/admin/settings.php', array('section' => 'maintenancemode'));
+        $url = $url->out(); // get_string() does not support objects in params
+
+        return $this->warning(get_string('sitemaintenancewarning2', 'admin', $url));
     }
 
     /**
@@ -597,8 +619,7 @@ class core_admin_renderer extends plugin_renderer_base {
 
             if (is_null($otherplugin)) {
                 $ok = false;
-            }
-            if ($requiredversion != ANY_VERSION and $otherplugin->versiondisk < $requiredversion) {
+            } else if ($requiredversion != ANY_VERSION and $otherplugin->versiondisk < $requiredversion) {
                 $ok = false;
             }
 
index 68a3c8b..d2dbaba 100644 (file)
@@ -1044,10 +1044,9 @@ class potential_assignees_below_course extends role_assign_user_selector_base {
         $sql   = " FROM {user} u
                   WHERE u.id IN ($enrolsql) $wherecondition
                         AND u.id NOT IN (
-                           SELECT u.id
-                             FROM {role_assignments} r, {user} u
+                           SELECT r.userid
+                             FROM {role_assignments} r
                             WHERE r.contextid = :contextid
-                                  AND u.id = r.userid
                                   AND r.roleid = :roleid)";
         $order = ' ORDER BY lastname ASC, firstname ASC';
 
@@ -1096,10 +1095,9 @@ class potential_assignees_course_and_above extends role_assign_user_selector_bas
         $sql = " FROM {user}
                 WHERE $wherecondition
                       AND id NOT IN (
-                         SELECT u.id
-                           FROM {role_assignments} r, {user} u
+                         SELECT r.userid
+                           FROM {role_assignments} r
                           WHERE r.contextid = :contextid
-                                AND u.id = r.userid
                                 AND r.roleid = :roleid)";
         $order = ' ORDER BY lastname ASC, firstname ASC';
 
index 55d93c0..40fbeb4 100644 (file)
@@ -8,7 +8,8 @@ require_once($CFG->libdir.'/adminlib.php');
 $query = trim(optional_param('query', '', PARAM_NOTAGS));  // Search string
 
 $PAGE->set_context(get_context_instance(CONTEXT_SYSTEM));
-$PAGE->set_course($SITE);
+
+admin_externalpage_setup('search', '', array('query' => $query)); // now hidden page
 
 $adminroot = admin_get_root(); // need all settings here
 $adminroot->search = $query; // So we can reference it in search boxes later in this invocation
@@ -16,8 +17,6 @@ $statusmsg = '';
 $errormsg  = '';
 $focus = '';
 
-admin_externalpage_setup('search', '', array('query' => $query)); // now hidden page
-
 // now we'll deal with the case that the admin has submitted the form with changed settings
 if ($data = data_submitted() and confirm_sesskey()) {
     if (admin_write_settings($data)) {
index ddccf31..3344f35 100644 (file)
@@ -32,7 +32,6 @@ if (!($settingspage->check_access())) {
 
 $statusmsg = '';
 $errormsg  = '';
-$focus = '';
 
 if ($data = data_submitted() and confirm_sesskey()) {
     if (admin_write_settings($data)) {
@@ -47,7 +46,6 @@ if ($data = data_submitted() and confirm_sesskey()) {
     } else {
         $errormsg = get_string('errorwithsettings', 'admin');
         $firsterror = reset($adminroot->errors);
-        $focus = $firsterror->id;
     }
     $adminroot = admin_get_root(true); //reload tree
     $settingspage = $adminroot->locate($section, true);
index ce02d9d..9c86f4f 100644 (file)
@@ -4,30 +4,30 @@
 
 if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
 
-    $ADMIN->add('appearance', new admin_category('themes', get_string('themes')));
+    $ADMIN->add('appearance', new admin_category('themes', new lang_string('themes')));
     // "themesettings" settingpage
-    $temp = new admin_settingpage('themesettings', get_string('themesettings', 'admin'));
-    $temp->add(new admin_setting_configtext('themelist', get_string('themelist', 'admin'), get_string('configthemelist','admin'), '', PARAM_NOTAGS));
-    $setting = new admin_setting_configcheckbox('themedesignermode', get_string('themedesignermode', 'admin'), get_string('configthemedesignermode', 'admin'), 0);
+    $temp = new admin_settingpage('themesettings', new lang_string('themesettings', 'admin'));
+    $temp->add(new admin_setting_configtext('themelist', new lang_string('themelist', 'admin'), new lang_string('configthemelist','admin'), '', PARAM_NOTAGS));
+    $setting = new admin_setting_configcheckbox('themedesignermode', new lang_string('themedesignermode', 'admin'), new lang_string('configthemedesignermode', 'admin'), 0);
     $setting->set_updatedcallback('theme_reset_all_caches');
     $temp->add($setting);
-    $temp->add(new admin_setting_configcheckbox('allowuserthemes', get_string('allowuserthemes', 'admin'), get_string('configallowuserthemes', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('allowcoursethemes', get_string('allowcoursethemes', 'admin'), get_string('configallowcoursethemes', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('allowcategorythemes',  get_string('allowcategorythemes', 'admin'), get_string('configallowcategorythemes', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('allowthemechangeonurl',  get_string('allowthemechangeonurl', 'admin'), get_string('configallowthemechangeonurl', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('allowuserblockhiding', get_string('allowuserblockhiding', 'admin'), get_string('configallowuserblockhiding', 'admin'), 1));
-    $temp->add(new admin_setting_configcheckbox('allowblockstodock', get_string('allowblockstodock', 'admin'), get_string('configallowblockstodock', 'admin'), 1));
-    $temp->add(new admin_setting_configtextarea('custommenuitems', get_string('custommenuitems', 'admin'), get_string('configcustommenuitems', 'admin'), '', PARAM_TEXT, '50', '10'));
-    $temp->add(new admin_setting_configcheckbox('enabledevicedetection', get_string('enabledevicedetection', 'admin'), get_string('configenabledevicedetection', 'admin'), 1));
-    $temp->add(new admin_setting_devicedetectregex('devicedetectregex', get_string('devicedetectregex', 'admin'), get_string('devicedetectregex_desc', 'admin'), ''));
+    $temp->add(new admin_setting_configcheckbox('allowuserthemes', new lang_string('allowuserthemes', 'admin'), new lang_string('configallowuserthemes', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('allowcoursethemes', new lang_string('allowcoursethemes', 'admin'), new lang_string('configallowcoursethemes', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('allowcategorythemes',  new lang_string('allowcategorythemes', 'admin'), new lang_string('configallowcategorythemes', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('allowthemechangeonurl',  new lang_string('allowthemechangeonurl', 'admin'), new lang_string('configallowthemechangeonurl', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('allowuserblockhiding', new lang_string('allowuserblockhiding', 'admin'), new lang_string('configallowuserblockhiding', 'admin'), 1));
+    $temp->add(new admin_setting_configcheckbox('allowblockstodock', new lang_string('allowblockstodock', 'admin'), new lang_string('configallowblockstodock', 'admin'), 1));
+    $temp->add(new admin_setting_configtextarea('custommenuitems', new lang_string('custommenuitems', 'admin'), new lang_string('configcustommenuitems', 'admin'), '', PARAM_TEXT, '50', '10'));
+    $temp->add(new admin_setting_configcheckbox('enabledevicedetection', new lang_string('enabledevicedetection', 'admin'), new lang_string('configenabledevicedetection', 'admin'), 1));
+    $temp->add(new admin_setting_devicedetectregex('devicedetectregex', new lang_string('devicedetectregex', 'admin'), new lang_string('devicedetectregex_desc', 'admin'), ''));
     $ADMIN->add('themes', $temp);
-    $ADMIN->add('themes', new admin_externalpage('themeselector', get_string('themeselector','admin'), $CFG->wwwroot . '/theme/index.php'));
+    $ADMIN->add('themes', new admin_externalpage('themeselector', new lang_string('themeselector','admin'), $CFG->wwwroot . '/theme/index.php'));
 
     // settings for each theme
     foreach (get_plugin_list('theme') as $theme => $themedir) {
         $settings_path = "$themedir/settings.php";
         if (file_exists($settings_path)) {
-            $settings = new admin_settingpage('themesetting'.$theme, get_string('pluginname', 'theme_'.$theme));
+            $settings = new admin_settingpage('themesetting'.$theme, new lang_string('pluginname', 'theme_'.$theme));
             include($settings_path);
             if ($settings) {
                 $ADMIN->add('themes', $settings);
@@ -37,121 +37,123 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
 
 
     // calendar
-    $temp = new admin_settingpage('calendar', get_string('calendarsettings','admin'));
+    $temp = new admin_settingpage('calendar', new lang_string('calendarsettings','admin'));
     $temp->add(new admin_setting_special_adminseesall());
     //this is hacky because we do not want to include the stuff from calendar/lib.php
-    $temp->add(new admin_setting_configselect('calendar_site_timeformat', get_string('pref_timeformat', 'calendar'),
-                                              get_string('explain_site_timeformat', 'calendar'), '0',
-                                              array('0'        => get_string('default', 'calendar'),
-                                                    '%I:%M %p' => get_string('timeformat_12', 'calendar'),
-                                                    '%H:%M'    => get_string('timeformat_24', 'calendar'))));
-    $temp->add(new admin_setting_configselect('calendar_startwday', get_string('configstartwday', 'admin'), get_string('helpstartofweek', 'admin'), 0,
+    $temp->add(new admin_setting_configselect('calendar_site_timeformat', new lang_string('pref_timeformat', 'calendar'),
+                                              new lang_string('explain_site_timeformat', 'calendar'), '0',
+                                              array('0'        => new lang_string('default', 'calendar'),
+                                                    '%I:%M %p' => new lang_string('timeformat_12', 'calendar'),
+                                                    '%H:%M'    => new lang_string('timeformat_24', 'calendar'))));
+    $temp->add(new admin_setting_configselect('calendar_startwday', new lang_string('configstartwday', 'admin'), new lang_string('helpstartofweek', 'admin'), 0,
     array(
-            0 => get_string('sunday', 'calendar'),
-            1 => get_string('monday', 'calendar'),
-            2 => get_string('tuesday', 'calendar'),
-            3 => get_string('wednesday', 'calendar'),
-            4 => get_string('thursday', 'calendar'),
-            5 => get_string('friday', 'calendar'),
-            6 => get_string('saturday', 'calendar')
+            0 => new lang_string('sunday', 'calendar'),
+            1 => new lang_string('monday', 'calendar'),
+            2 => new lang_string('tuesday', 'calendar'),
+            3 => new lang_string('wednesday', 'calendar'),
+            4 => new lang_string('thursday', 'calendar'),
+            5 => new lang_string('friday', 'calendar'),
+            6 => new lang_string('saturday', 'calendar')
         )));
     $temp->add(new admin_setting_special_calendar_weekend());
     $options = array();
     for ($i=1; $i<=99; $i++) {
         $options[$i] = $i;
     }
-    $temp->add(new admin_setting_configselect('calendar_lookahead',get_string('configlookahead','admin'),get_string('helpupcominglookahead', 'admin'),21,$options));
+    $temp->add(new admin_setting_configselect('calendar_lookahead',new lang_string('configlookahead','admin'),new lang_string('helpupcominglookahead', 'admin'),21,$options));
     $options = array();
     for ($i=1; $i<=20; $i++) {
         $options[$i] = $i;
     }
-    $temp->add(new admin_setting_configselect('calendar_maxevents',get_string('configmaxevents','admin'),get_string('helpupcomingmaxevents', 'admin'),10,$options));
-    $temp->add(new admin_setting_configcheckbox('enablecalendarexport', get_string('enablecalendarexport', 'admin'), get_string('configenablecalendarexport','admin'), 1));
-    $temp->add(new admin_setting_configtext('calendar_exportsalt', get_string('calendarexportsalt','admin'), get_string('configcalendarexportsalt', 'admin'), random_string(60)));
+    $temp->add(new admin_setting_configselect('calendar_maxevents',new lang_string('configmaxevents','admin'),new lang_string('helpupcomingmaxevents', 'admin'),10,$options));
+    $temp->add(new admin_setting_configcheckbox('enablecalendarexport', new lang_string('enablecalendarexport', 'admin'), new lang_string('configenablecalendarexport','admin'), 1));
+    $temp->add(new admin_setting_configtext('calendar_exportsalt', new lang_string('calendarexportsalt','admin'), new lang_string('configcalendarexportsalt', 'admin'), random_string(60)));
     $ADMIN->add('appearance', $temp);
 
     // blog
-    $temp = new admin_settingpage('blog', get_string('blog','blog'));
-    $temp->add(new admin_setting_configcheckbox('useblogassociations', get_string('useblogassociations', 'blog'), get_string('configuseblogassociations','blog'), 1));
-    $temp->add(new admin_setting_bloglevel('bloglevel', get_string('bloglevel', 'admin'), get_string('configbloglevel', 'admin'), 4, array(BLOG_GLOBAL_LEVEL => get_string('worldblogs','blog'),
-                                                                                                                                           BLOG_SITE_LEVEL => get_string('siteblogs','blog'),
-                                                                                                                                           BLOG_USER_LEVEL => get_string('personalblogs','blog'),
-                                                                                                                                           0 => get_string('disableblogs','blog'))));
-    $temp->add(new admin_setting_configcheckbox('useexternalblogs', get_string('useexternalblogs', 'blog'), get_string('configuseexternalblogs','blog'), 1));
-    $temp->add(new admin_setting_configselect('externalblogcrontime', get_string('externalblogcrontime', 'blog'), get_string('configexternalblogcrontime', 'blog'), 86400,
-        array(43200 => get_string('numhours', '', 12),
-              86400 => get_string('numhours', '', 24),
-              172800 => get_string('numdays', '', 2),
-              604800 => get_string('numdays', '', 7))));
-    $temp->add(new admin_setting_configtext('maxexternalblogsperuser', get_string('maxexternalblogsperuser','blog'), get_string('configmaxexternalblogsperuser', 'blog'), 1));
-    $temp->add(new admin_setting_configcheckbox('blogusecomments', get_string('enablecomments', 'admin'), get_string('configenablecomments', 'admin'), 1));
-    $temp->add(new admin_setting_configcheckbox('blogshowcommentscount', get_string('showcommentscount', 'admin'), get_string('configshowcommentscount', 'admin'), 1));
+    $temp = new admin_settingpage('blog', new lang_string('blog','blog'));
+    $temp->add(new admin_setting_configcheckbox('useblogassociations', new lang_string('useblogassociations', 'blog'), new lang_string('configuseblogassociations','blog'), 1));
+    $temp->add(new admin_setting_bloglevel('bloglevel', new lang_string('bloglevel', 'admin'), new lang_string('configbloglevel', 'admin'), 4, array(BLOG_GLOBAL_LEVEL => new lang_string('worldblogs','blog'),
+                                                                                                                                           BLOG_SITE_LEVEL => new lang_string('siteblogs','blog'),
+                                                                                                                                           BLOG_USER_LEVEL => new lang_string('personalblogs','blog'),
+                                                                                                                                           0 => new lang_string('disableblogs','blog'))));
+    $temp->add(new admin_setting_configcheckbox('useexternalblogs', new lang_string('useexternalblogs', 'blog'), new lang_string('configuseexternalblogs','blog'), 1));
+    $temp->add(new admin_setting_configselect('externalblogcrontime', new lang_string('externalblogcrontime', 'blog'), new lang_string('configexternalblogcrontime', 'blog'), 86400,
+        array(43200 => new lang_string('numhours', '', 12),
+              86400 => new lang_string('numhours', '', 24),
+              172800 => new lang_string('numdays', '', 2),
+              604800 => new lang_string('numdays', '', 7))));
+    $temp->add(new admin_setting_configtext('maxexternalblogsperuser', new lang_string('maxexternalblogsperuser','blog'), new lang_string('configmaxexternalblogsperuser', 'blog'), 1));
+    $temp->add(new admin_setting_configcheckbox('blogusecomments', new lang_string('enablecomments', 'admin'), new lang_string('configenablecomments', 'admin'), 1));
+    $temp->add(new admin_setting_configcheckbox('blogshowcommentscount', new lang_string('showcommentscount', 'admin'), new lang_string('configshowcommentscount', 'admin'), 1));
     $ADMIN->add('appearance', $temp);
 
     // Navigation settings
-    $temp = new admin_settingpage('navigation', get_string('navigation'));
+    $temp = new admin_settingpage('navigation', new lang_string('navigation'));
     $choices = array(
-        HOMEPAGE_SITE => get_string('site'),
-        HOMEPAGE_MY => get_string('mymoodle', 'admin'),
-        HOMEPAGE_USER => get_string('userpreference', 'admin')
+        HOMEPAGE_SITE => new lang_string('site'),
+        HOMEPAGE_MY => new lang_string('mymoodle', 'admin'),
+        HOMEPAGE_USER => new lang_string('userpreference', 'admin')
     );
-    $temp->add(new admin_setting_configselect('defaulthomepage', get_string('defaulthomepage', 'admin'), get_string('configdefaulthomepage', 'admin'), HOMEPAGE_SITE, $choices));
-    $temp->add(new admin_setting_configcheckbox('navshowcategories', get_string('navshowcategories', 'admin'), get_string('confignavshowcategories', 'admin'), 1));
-    $temp->add(new admin_setting_configcheckbox('navshowallcourses', get_string('navshowallcourses', 'admin'), get_string('confignavshowallcourses', 'admin'), 0));
-    $temp->add(new admin_setting_configtext('navcourselimit',get_string('navcourselimit','admin'),get_string('confignavcourselimit', 'admin'),20,PARAM_INT));
-    $temp->add(new admin_setting_configcheckbox('navlinkcoursesections', get_string('navlinkcoursesections', 'admin'), get_string('navlinkcoursesections_help', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('usesitenameforsitepages', get_string('usesitenameforsitepages', 'admin'), get_string('configusesitenameforsitepages', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('navadduserpostslinks', get_string('navadduserpostslinks', 'admin'), get_string('navadduserpostslinks_help', 'admin'), 1));
+    $temp->add(new admin_setting_configselect('defaulthomepage', new lang_string('defaulthomepage', 'admin'), new lang_string('configdefaulthomepage', 'admin'), HOMEPAGE_SITE, $choices));
+    $temp->add(new admin_setting_configcheckbox('navshowcategories', new lang_string('navshowcategories', 'admin'), new lang_string('confignavshowcategories', 'admin'), 1));
+    $temp->add(new admin_setting_configcheckbox('navshowallcourses', new lang_string('navshowallcourses', 'admin'), new lang_string('confignavshowallcourses', 'admin'), 0));
+    $temp->add(new admin_setting_configtext('navcourselimit',new lang_string('navcourselimit','admin'),new lang_string('confignavcourselimit', 'admin'),20,PARAM_INT));
+    $temp->add(new admin_setting_configcheckbox('navlinkcoursesections', new lang_string('navlinkcoursesections', 'admin'), new lang_string('navlinkcoursesections_help', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('usesitenameforsitepages', new lang_string('usesitenameforsitepages', 'admin'), new lang_string('configusesitenameforsitepages', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('linkadmincategories', new lang_string('linkadmincategories', 'admin'), new lang_string('linkadmincategories_help', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('navshowfrontpagemods', new lang_string('navshowfrontpagemods', 'admin'), new lang_string('navshowfrontpagemods_help', 'admin'), 1));
+    $temp->add(new admin_setting_configcheckbox('navadduserpostslinks', new lang_string('navadduserpostslinks', 'admin'), new lang_string('navadduserpostslinks_help', 'admin'), 1));
 
     $ADMIN->add('appearance', $temp);
 
     // "htmlsettings" settingpage
-    $temp = new admin_settingpage('htmlsettings', get_string('htmlsettings', 'admin'));
-    $temp->add(new admin_setting_configcheckbox('formatstringstriptags', get_string('stripalltitletags', 'admin'), get_string('configstripalltitletags', 'admin'), 1));
+    $temp = new admin_settingpage('htmlsettings', new lang_string('htmlsettings', 'admin'));
+    $temp->add(new admin_setting_configcheckbox('formatstringstriptags', new lang_string('stripalltitletags', 'admin'), new lang_string('configstripalltitletags', 'admin'), 1));
     $temp->add(new admin_setting_emoticons());
     $ADMIN->add('appearance', $temp);
-    $ADMIN->add('appearance', new admin_externalpage('resetemoticons', get_string('emoticonsreset', 'admin'),
+    $ADMIN->add('appearance', new admin_externalpage('resetemoticons', new lang_string('emoticonsreset', 'admin'),
         new moodle_url('/admin/resetemoticons.php'), 'moodle/site:config', true));
 
     // "documentation" settingpage
-    $temp = new admin_settingpage('documentation', get_string('moodledocs'));
-    $temp->add(new admin_setting_configtext('docroot', get_string('docroot', 'admin'), get_string('configdocroot', 'admin'), 'http://docs.moodle.org', PARAM_URL));
-    $temp->add(new admin_setting_configcheckbox('doctonewwindow', get_string('doctonewwindow', 'admin'), get_string('configdoctonewwindow', 'admin'), 0));
+    $temp = new admin_settingpage('documentation', new lang_string('moodledocs'));
+    $temp->add(new admin_setting_configtext('docroot', new lang_string('docroot', 'admin'), new lang_string('configdocroot', 'admin'), 'http://docs.moodle.org', PARAM_URL));
+    $temp->add(new admin_setting_configcheckbox('doctonewwindow', new lang_string('doctonewwindow', 'admin'), new lang_string('configdoctonewwindow', 'admin'), 0));
     $ADMIN->add('appearance', $temp);
 
-    $temp = new admin_externalpage('mypage', get_string('mypage', 'admin'), $CFG->wwwroot . '/my/indexsys.php');
+    $temp = new admin_externalpage('mypage', new lang_string('mypage', 'admin'), $CFG->wwwroot . '/my/indexsys.php');
     $ADMIN->add('appearance', $temp);
 
-    $temp = new admin_externalpage('profilepage', get_string('myprofile', 'admin'), $CFG->wwwroot . '/user/profilesys.php');
+    $temp = new admin_externalpage('profilepage', new lang_string('myprofile', 'admin'), $CFG->wwwroot . '/user/profilesys.php');
     $ADMIN->add('appearance', $temp);
 
     // coursecontact is the person responsible for course - usually manages enrolments, receives notification, etc.
-    $temp = new admin_settingpage('coursecontact', get_string('courses'));
+    $temp = new admin_settingpage('coursecontact', new lang_string('courses'));
     $temp->add(new admin_setting_special_coursecontact());
     $temp->add(new admin_setting_configcheckbox('courselistshortnames',
-            get_string('courselistshortnames', 'admin'),
-            get_string('courselistshortnames_desc', 'admin'), 0));
+            new lang_string('courselistshortnames', 'admin'),
+            new lang_string('courselistshortnames_desc', 'admin'), 0));
     $ADMIN->add('appearance', $temp);
 
-    $temp = new admin_settingpage('ajax', get_string('ajaxuse'));
-    $temp->add(new admin_setting_configcheckbox('enableajax', get_string('enableajax', 'admin'), get_string('configenableajax', 'admin'), 1));
-    $temp->add(new admin_setting_configcheckbox('useexternalyui', get_string('useexternalyui', 'admin'), get_string('configuseexternalyui', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('yuicomboloading', get_string('yuicomboloading', 'admin'), get_string('configyuicomboloading', 'admin'), 1));
-    $setting = new admin_setting_configcheckbox('cachejs', get_string('cachejs', 'admin'), get_string('cachejs_help', 'admin'), 1);
+    $temp = new admin_settingpage('ajax', new lang_string('ajaxuse'));
+    $temp->add(new admin_setting_configcheckbox('enableajax', new lang_string('enableajax', 'admin'), new lang_string('configenableajax', 'admin'), 1));
+    $temp->add(new admin_setting_configcheckbox('useexternalyui', new lang_string('useexternalyui', 'admin'), new lang_string('configuseexternalyui', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('yuicomboloading', new lang_string('yuicomboloading', 'admin'), new lang_string('configyuicomboloading', 'admin'), 1));
+    $setting = new admin_setting_configcheckbox('cachejs', new lang_string('cachejs', 'admin'), new lang_string('cachejs_help', 'admin'), 1);
     $setting->set_updatedcallback('js_reset_all_caches');
     $temp->add($setting);
-    $temp->add(new admin_setting_configcheckbox('enablecourseajax', get_string('enablecourseajax', 'admin'),
-                                                get_string('enablecourseajax_desc', 'admin'), 1));
+    $temp->add(new admin_setting_configcheckbox('enablecourseajax', new lang_string('enablecourseajax', 'admin'),
+                                                new lang_string('enablecourseajax_desc', 'admin'), 1));
     $ADMIN->add('appearance', $temp);
 
     // link to tag management interface
-    $ADMIN->add('appearance', new admin_externalpage('managetags', get_string('managetags', 'tag'), "$CFG->wwwroot/tag/manage.php"));
+    $ADMIN->add('appearance', new admin_externalpage('managetags', new lang_string('managetags', 'tag'), "$CFG->wwwroot/tag/manage.php"));
 
-    $temp = new admin_settingpage('additionalhtml', get_string('additionalhtml', 'admin'));
-    $temp->add(new admin_setting_heading('additionalhtml_heading', get_string('additionalhtml_heading', 'admin'), get_string('additionalhtml_desc', 'admin')));
-    $temp->add(new admin_setting_configtextarea('additionalhtmlhead', get_string('additionalhtmlhead', 'admin'), get_string('additionalhtmlhead_desc', 'admin'), '', PARAM_RAW));
-    $temp->add(new admin_setting_configtextarea('additionalhtmltopofbody', get_string('additionalhtmltopofbody', 'admin'), get_string('additionalhtmltopofbody_desc', 'admin'), '', PARAM_RAW));
-    $temp->add(new admin_setting_configtextarea('additionalhtmlfooter', get_string('additionalhtmlfooter', 'admin'), get_string('additionalhtmlfooter_desc', 'admin'), '', PARAM_RAW));
+    $temp = new admin_settingpage('additionalhtml', new lang_string('additionalhtml', 'admin'));
+    $temp->add(new admin_setting_heading('additionalhtml_heading', new lang_string('additionalhtml_heading', 'admin'), new lang_string('additionalhtml_desc', 'admin')));
+    $temp->add(new admin_setting_configtextarea('additionalhtmlhead', new lang_string('additionalhtmlhead', 'admin'), new lang_string('additionalhtmlhead_desc', 'admin'), '', PARAM_RAW));
+    $temp->add(new admin_setting_configtextarea('additionalhtmltopofbody', new lang_string('additionalhtmltopofbody', 'admin'), new lang_string('additionalhtmltopofbody_desc', 'admin'), '', PARAM_RAW));
+    $temp->add(new admin_setting_configtextarea('additionalhtmlfooter', new lang_string('additionalhtmlfooter', 'admin'), new lang_string('additionalhtmlfooter_desc', 'admin'), '', PARAM_RAW));
     $ADMIN->add('appearance', $temp);
 
 } // end of speedup
index f94775c..88fbdef 100644 (file)
@@ -8,124 +8,124 @@ if ($hassiteconfig
  or has_capability('moodle/course:create', $systemcontext)
  or has_capability('moodle/site:approvecourse', $systemcontext)) { // speedup for non-admins, add all caps used on this page
 
-    $ADMIN->add('courses', new admin_externalpage('coursemgmt', get_string('coursemgmt', 'admin'), $CFG->wwwroot . '/course/index.php?categoryedit=on',
+    $ADMIN->add('courses', new admin_externalpage('coursemgmt', new lang_string('coursemgmt', 'admin'), $CFG->wwwroot . '/course/index.php?categoryedit=on',
             array('moodle/category:manage', 'moodle/course:create')));
 
 /// Course Default Settings Page
 /// NOTE: these settings must be applied after all other settings because they depend on them
     ///main course settings
-    $temp = new admin_settingpage('coursesettings', get_string('coursesettings'));
+    $temp = new admin_settingpage('coursesettings', new lang_string('coursesettings'));
     $courseformats = get_plugin_list('format');
     $formcourseformats = array();
     foreach ($courseformats as $courseformat => $courseformatdir) {
-        $formcourseformats[$courseformat] = get_string('pluginname', "format_$courseformat");
+        $formcourseformats[$courseformat] = new lang_string('pluginname', "format_$courseformat");
     }
-    $temp->add(new admin_setting_configselect('moodlecourse/format', get_string('format'), get_string('coursehelpformat'), 'weeks',$formcourseformats));
+    $temp->add(new admin_setting_configselect('moodlecourse/format', new lang_string('format'), new lang_string('coursehelpformat'), 'weeks',$formcourseformats));
 
-    $temp->add(new admin_setting_configtext('moodlecourse/maxsections', get_string('maxnumberweeks'), get_string('maxnumberweeks_desc'), 52));
+    $temp->add(new admin_setting_configtext('moodlecourse/maxsections', new lang_string('maxnumberweeks'), new lang_string('maxnumberweeks_desc'), 52));
 
-    $temp->add(new admin_settings_num_course_sections('moodlecourse/numsections', get_string('numberweeks'), get_string('coursehelpnumberweeks'), 10));
+    $temp->add(new admin_settings_num_course_sections('moodlecourse/numsections', new lang_string('numberweeks'), new lang_string('coursehelpnumberweeks'), 10));
 
     $choices = array();
-    $choices['0'] = get_string('hiddensectionscollapsed');
-    $choices['1'] = get_string('hiddensectionsinvisible');
-    $temp->add(new admin_setting_configselect('moodlecourse/hiddensections', get_string('hiddensections'), get_string('coursehelphiddensections'), 0,$choices));
+    $choices['0'] = new lang_string('hiddensectionscollapsed');
+    $choices['1'] = new lang_string('hiddensectionsinvisible');
+    $temp->add(new admin_setting_configselect('moodlecourse/hiddensections', new lang_string('hiddensections'), new lang_string('coursehelphiddensections'), 0,$choices));
     $options = range(0, 10);
-    $temp->add(new admin_setting_configselect('moodlecourse/newsitems', get_string('newsitemsnumber'), get_string('coursehelpnewsitemsnumber'), 5,$options));
-    $temp->add(new admin_setting_configselect('moodlecourse/showgrades', get_string('showgrades'), get_string('coursehelpshowgrades'), 1,array(0 => get_string('no'), 1 => get_string('yes'))));
-    $temp->add(new admin_setting_configselect('moodlecourse/showreports', get_string('showreports'), '', 0,array(0 => get_string('no'), 1 => get_string('yes'))));
+    $temp->add(new admin_setting_configselect('moodlecourse/newsitems', new lang_string('newsitemsnumber'), new lang_string('coursehelpnewsitemsnumber'), 5,$options));
+    $temp->add(new admin_setting_configselect('moodlecourse/showgrades', new lang_string('showgrades'), new lang_string('coursehelpshowgrades'), 1,array(0 => new lang_string('no'), 1 => new lang_string('yes'))));
+    $temp->add(new admin_setting_configselect('moodlecourse/showreports', new lang_string('showreports'), '', 0,array(0 => new lang_string('no'), 1 => new lang_string('yes'))));
 
     if (isset($CFG->maxbytes)) {
         $choices = get_max_upload_sizes($CFG->maxbytes);
     } else {
         $choices = get_max_upload_sizes();
     }
-    $temp->add(new admin_setting_configselect('moodlecourse/maxbytes', get_string('maximumupload'), get_string('coursehelpmaximumupload'), key($choices), $choices));
+    $temp->add(new admin_setting_configselect('moodlecourse/maxbytes', new lang_string('maximumupload'), new lang_string('coursehelpmaximumupload'), key($choices), $choices));
 
     if (!empty($CFG->legacyfilesinnewcourses)) {
-        $choices = array('0'=>get_string('no'), '2'=>get_string('yes'));
-        $temp->add(new admin_setting_configselect('moodlecourse/legacyfiles', get_string('courselegacyfiles'), get_string('courselegacyfiles_help'), key($choices), $choices));
+        $choices = array('0'=>new lang_string('no'), '2'=>new lang_string('yes'));
+        $temp->add(new admin_setting_configselect('moodlecourse/legacyfiles', new lang_string('courselegacyfiles'), new lang_string('courselegacyfiles_help'), key($choices), $choices));
     }
 
-    $temp->add(new admin_setting_heading('groups', get_string('groups', 'group'), ''));
+    $temp->add(new admin_setting_heading('groups', new lang_string('groups', 'group'), ''));
     $choices = array();
-    $choices[NOGROUPS] = get_string('groupsnone', 'group');
-    $choices[SEPARATEGROUPS] = get_string('groupsseparate', 'group');
-    $choices[VISIBLEGROUPS] = get_string('groupsvisible', 'group');
-    $temp->add(new admin_setting_configselect('moodlecourse/groupmode', get_string('groupmode'), '', key($choices),$choices));
-    $temp->add(new admin_setting_configselect('moodlecourse/groupmodeforce', get_string('force'), get_string('coursehelpforce'), 0,array(0 => get_string('no'), 1 => get_string('yes'))));
+    $choices[NOGROUPS] = new lang_string('groupsnone', 'group');
+    $choices[SEPARATEGROUPS] = new lang_string('groupsseparate', 'group');
+    $choices[VISIBLEGROUPS] = new lang_string('groupsvisible', 'group');
+    $temp->add(new admin_setting_configselect('moodlecourse/groupmode', new lang_string('groupmode'), '', key($choices),$choices));
+    $temp->add(new admin_setting_configselect('moodlecourse/groupmodeforce', new lang_string('force'), new lang_string('coursehelpforce'), 0,array(0 => new lang_string('no'), 1 => new lang_string('yes'))));
 
 
-    $temp->add(new admin_setting_heading('availability', get_string('availability'), ''));
+    $temp->add(new admin_setting_heading('availability', new lang_string('availability'), ''));
     $choices = array();
-    $choices['0'] = get_string('courseavailablenot');
-    $choices['1'] = get_string('courseavailable');
-    $temp->add(new admin_setting_configselect('moodlecourse/visible', get_string('visible'), '', 1,$choices));
+    $choices['0'] = new lang_string('courseavailablenot');
+    $choices['1'] = new lang_string('courseavailable');
+    $temp->add(new admin_setting_configselect('moodlecourse/visible', new lang_string('visible'), '', 1,$choices));
 
 
-    $temp->add(new admin_setting_heading('language', get_string('language'), ''));
+    $temp->add(new admin_setting_heading('language', new lang_string('language'), ''));
     $languages=array();
-    $languages[''] = get_string('forceno');
+    $languages[''] = new lang_string('forceno');
     $languages += get_string_manager()->get_list_of_translations();
-    $temp->add(new admin_setting_configselect('moodlecourse/lang', get_string('forcelanguage'), '',key($languages),$languages));
+    $temp->add(new admin_setting_configselect('moodlecourse/lang', new lang_string('forcelanguage'), '',key($languages),$languages));
 
-    $temp->add(new admin_setting_heading('progress', get_string('progress','completion'), ''));
-    $temp->add(new admin_setting_configselect('moodlecourse/enablecompletion', get_string('completion','completion'), '',
-        0, array(0 => get_string('completiondisabled','completion'), 1 => get_string('completionenabled','completion'))));
+    $temp->add(new admin_setting_heading('progress', new lang_string('progress','completion'), ''));
+    $temp->add(new admin_setting_configselect('moodlecourse/enablecompletion', new lang_string('completion','completion'), '',
+        0, array(0 => new lang_string('completiondisabled','completion'), 1 => new lang_string('completionenabled','completion'))));
 
-    $temp->add(new admin_setting_configcheckbox('moodlecourse/completionstartonenrol', get_string('completionstartonenrol','completion'), get_string('completionstartonenrolhelp', 'completion'), 0));
+    $temp->add(new admin_setting_configcheckbox('moodlecourse/completionstartonenrol', new lang_string('completionstartonenrol','completion'), new lang_string('completionstartonenrolhelp', 'completion'), 0));
     $ADMIN->add('courses', $temp);
 
 /// "courserequests" settingpage
-    $temp = new admin_settingpage('courserequest', get_string('courserequest'));
-    $temp->add(new admin_setting_configcheckbox('enablecourserequests', get_string('enablecourserequests', 'admin'), get_string('configenablecourserequests', 'admin'), 0));
-    $temp->add(new admin_settings_coursecat_select('defaultrequestcategory', get_string('defaultrequestcategory', 'admin'), get_string('configdefaultrequestcategory', 'admin'), 1));
-    $temp->add(new admin_setting_users_with_capability('courserequestnotify', get_string('courserequestnotify', 'admin'), get_string('configcourserequestnotify2', 'admin'), array(), 'moodle/site:approvecourse'));
+    $temp = new admin_settingpage('courserequest', new lang_string('courserequest'));
+    $temp->add(new admin_setting_configcheckbox('enablecourserequests', new lang_string('enablecourserequests', 'admin'), new lang_string('configenablecourserequests', 'admin'), 0));
+    $temp->add(new admin_settings_coursecat_select('defaultrequestcategory', new lang_string('defaultrequestcategory', 'admin'), new lang_string('configdefaultrequestcategory', 'admin'), 1));
+    $temp->add(new admin_setting_users_with_capability('courserequestnotify', new lang_string('courserequestnotify', 'admin'), new lang_string('configcourserequestnotify2', 'admin'), array(), 'moodle/site:approvecourse'));
     $ADMIN->add('courses', $temp);
 
 /// Pending course requests.
     if (!empty($CFG->enablecourserequests)) {
-        $ADMIN->add('courses', new admin_externalpage('coursespending', get_string('pendingrequests'),
+        $ADMIN->add('courses', new admin_externalpage('coursespending', new lang_string('pendingrequests'),
                 $CFG->wwwroot . '/course/pending.php', array('moodle/site:approvecourse')));
     }
 
     // Add a category for backups
-    $ADMIN->add('courses', new admin_category('backups', get_string('backups','admin')));
+    $ADMIN->add('courses', new admin_category('backups', new lang_string('backups','admin')));
 
     // Create a page for general backup defaults
-    $temp = new admin_settingpage('backupgeneralsettings', get_string('generalbackdefaults', 'backup'), 'moodle/backup:backupcourse');
-    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_users', get_string('generalusers','backup'), get_string('configgeneralusers','backup'), array('value'=>1, 'locked'=>0)));
-    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_anonymize', get_string('generalanonymize','backup'), get_string('configgeneralanonymize','backup'), array('value'=>0, 'locked'=>0)));
-    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_role_assignments', get_string('generalroleassignments','backup'), get_string('configgeneralroleassignments','backup'), array('value'=>1, 'locked'=>0)));
-    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_user_files', get_string('generaluserfiles','backup'), get_string('configgeneraluserfiles','backup'), array('value'=>1, 'locked'=>0)));
-    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_activities', get_string('generalactivities','backup'), get_string('configgeneralactivities','backup'), array('value'=>1, 'locked'=>0)));
-    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_blocks', get_string('generalblocks','backup'), get_string('configgeneralblocks','backup'), array('value'=>1, 'locked'=>0)));
-    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_filters', get_string('generalfilters','backup'), get_string('configgeneralfilters','backup'), array('value'=>1, 'locked'=>0)));
-    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_comments', get_string('generalcomments','backup'), get_string('configgeneralcomments','backup'), array('value'=>1, 'locked'=>0)));
-    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_userscompletion', get_string('generaluserscompletion','backup'), get_string('configgeneraluserscompletion','backup'), array('value'=>1, 'locked'=>0)));
-    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_logs', get_string('generallogs','backup'), get_string('configgenerallogs','backup'), array('value'=>0, 'locked'=>0)));
-    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_histories', get_string('generalhistories','backup'), get_string('configgeneralhistories','backup'), array('value'=>0, 'locked'=>0)));
+    $temp = new admin_settingpage('backupgeneralsettings', new lang_string('generalbackdefaults', 'backup'), 'moodle/backup:backupcourse');
+    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_users', new lang_string('generalusers','backup'), new lang_string('configgeneralusers','backup'), array('value'=>1, 'locked'=>0)));
+    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_anonymize', new lang_string('generalanonymize','backup'), new lang_string('configgeneralanonymize','backup'), array('value'=>0, 'locked'=>0)));
+    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_role_assignments', new lang_string('generalroleassignments','backup'), new lang_string('configgeneralroleassignments','backup'), array('value'=>1, 'locked'=>0)));
+    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_user_files', new lang_string('generaluserfiles','backup'), new lang_string('configgeneraluserfiles','backup'), array('value'=>1, 'locked'=>0)));
+    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_activities', new lang_string('generalactivities','backup'), new lang_string('configgeneralactivities','backup'), array('value'=>1, 'locked'=>0)));
+    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_blocks', new lang_string('generalblocks','backup'), new lang_string('configgeneralblocks','backup'), array('value'=>1, 'locked'=>0)));
+    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_filters', new lang_string('generalfilters','backup'), new lang_string('configgeneralfilters','backup'), array('value'=>1, 'locked'=>0)));
+    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_comments', new lang_string('generalcomments','backup'), new lang_string('configgeneralcomments','backup'), array('value'=>1, 'locked'=>0)));
+    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_userscompletion', new lang_string('generaluserscompletion','backup'), new lang_string('configgeneraluserscompletion','backup'), array('value'=>1, 'locked'=>0)));
+    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_logs', new lang_string('generallogs','backup'), new lang_string('configgenerallogs','backup'), array('value'=>0, 'locked'=>0)));
+    $temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_histories', new lang_string('generalhistories','backup'), new lang_string('configgeneralhistories','backup'), array('value'=>0, 'locked'=>0)));
     $ADMIN->add('backups', $temp);
 
 /// "backups" settingpage
-    $temp = new admin_settingpage('automated', get_string('automatedsetup','backup'), 'moodle/backup:backupcourse');
-    $temp->add(new admin_setting_configselect('backup/backup_auto_active', get_string('active'),  get_string('autoactivedescription', 'backup'), 0, array(
-        0 => get_string('autoactivedisabled', 'backup'),
-        1 => get_string('autoactiveenabled', 'backup'),
-        2 => get_string('autoactivemanual', 'backup')
+    $temp = new admin_settingpage('automated', new lang_string('automatedsetup','backup'), 'moodle/backup:backupcourse');
+    $temp->add(new admin_setting_configselect('backup/backup_auto_active', new lang_string('active'),  new lang_string('autoactivedescription', 'backup'), 0, array(
+        0 => new lang_string('autoactivedisabled', 'backup'),
+        1 => new lang_string('autoactiveenabled', 'backup'),
+        2 => new lang_string('autoactivemanual', 'backup')
     )));
     $temp->add(new admin_setting_special_backupdays());
-    $temp->add(new admin_setting_configtime('backup/backup_auto_hour', 'backup_auto_minute', get_string('executeat'),
-            get_string('backupexecuteathelp'), array('h' => 0, 'm' => 0)));
+    $temp->add(new admin_setting_configtime('backup/backup_auto_hour', 'backup_auto_minute', new lang_string('executeat'),
+            new lang_string('backupexecuteathelp'), array('h' => 0, 'm' => 0)));
     $storageoptions = array(
-        0 => get_string('storagecourseonly', 'backup'),
-        1 => get_string('storageexternalonly', 'backup'),
-        2 => get_string('storagecourseandexternal', 'backup')
+        0 => new lang_string('storagecourseonly', 'backup'),
+        1 => new lang_string('storageexternalonly', 'backup'),
+        2 => new lang_string('storagecourseandexternal', 'backup')
     );
-    $temp->add(new admin_setting_configselect('backup/backup_auto_storage', get_string('automatedstorage', 'backup'), get_string('automatedstoragehelp', 'backup'), 0, $storageoptions));
-    $temp->add(new admin_setting_configdirectory('backup/backup_auto_destination', get_string('saveto'), get_string('backupsavetohelp'), ''));
+    $temp->add(new admin_setting_configselect('backup/backup_auto_storage', new lang_string('automatedstorage', 'backup'), new lang_string('automatedstoragehelp', 'backup'), 0, $storageoptions));
+    $temp->add(new admin_setting_configdirectory('backup/backup_auto_destination', new lang_string('saveto'), new lang_string('backupsavetohelp'), ''));
     $keepoptoins = array(
-        0 => get_string('all'), 1 => '1',
+        0 => new lang_string('all'), 1 => '1',
         2 => '2',
         5 => '5',
         10 => '10',
@@ -138,24 +138,24 @@ if ($hassiteconfig
         300 => '300',
         400 => '400',
         500 => '500');
-    $temp->add(new admin_setting_configselect('backup/backup_auto_keep', get_string('keep'), get_string('backupkeephelp'), 1, $keepoptoins));
+    $temp->add(new admin_setting_configselect('backup/backup_auto_keep', new lang_string('keep'), new lang_string('backupkeephelp'), 1, $keepoptoins));
 
 
-    $temp->add(new admin_setting_heading('automatedsettings', get_string('automatedsettings','backup'), ''));
-    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_users', get_string('generalusers', 'backup'), get_string('configgeneralusers', 'backup'), 1));
-    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_role_assignments', get_string('generalroleassignments','backup'), get_string('configgeneralroleassignments','backup'), 1));
-    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_user_files', get_string('generaluserfiles', 'backup'), get_string('configgeneraluserfiles','backup'), 1));
-    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_activities', get_string('generalactivities','backup'), get_string('configgeneralactivities','backup'), 1));
-    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_blocks', get_string('generalblocks','backup'), get_string('configgeneralblocks','backup'), 1));
-    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_filters', get_string('generalfilters','backup'), get_string('configgeneralfilters','backup'), 1));
-    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_comments', get_string('generalcomments','backup'), get_string('configgeneralcomments','backup'), 1));
-    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_userscompletion', get_string('generaluserscompletion','backup'), get_string('configgeneraluserscompletion','backup'), 1));
-    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_logs', get_string('generallogs', 'backup'), get_string('configgenerallogs', 'backup'), 0));
-    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_histories', get_string('generalhistories','backup'), get_string('configgeneralhistories','backup'), 0));
+    $temp->add(new admin_setting_heading('automatedsettings', new lang_string('automatedsettings','backup'), ''));
+    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_users', new lang_string('generalusers', 'backup'), new lang_string('configgeneralusers', 'backup'), 1));
+    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_role_assignments', new lang_string('generalroleassignments','backup'), new lang_string('configgeneralroleassignments','backup'), 1));
+    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_user_files', new lang_string('generaluserfiles', 'backup'), new lang_string('configgeneraluserfiles','backup'), 1));
+    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_activities', new lang_string('generalactivities','backup'), new lang_string('configgeneralactivities','backup'), 1));
+    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_blocks', new lang_string('generalblocks','backup'), new lang_string('configgeneralblocks','backup'), 1));
+    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_filters', new lang_string('generalfilters','backup'), new lang_string('configgeneralfilters','backup'), 1));
+    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_comments', new lang_string('generalcomments','backup'), new lang_string('configgeneralcomments','backup'), 1));
+    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_userscompletion', new lang_string('generaluserscompletion','backup'), new lang_string('configgeneraluserscompletion','backup'), 1));
+    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_logs', new lang_string('generallogs', 'backup'), new lang_string('configgenerallogs', 'backup'), 0));
+    $temp->add(new admin_setting_configcheckbox('backup/backup_auto_histories', new lang_string('generalhistories','backup'), new lang_string('configgeneralhistories','backup'), 0));
 
 
-    //$temp->add(new admin_setting_configcheckbox('backup/backup_auto_messages', get_string('messages', 'message'), get_string('backupmessageshelp','message'), 0));
-    //$temp->add(new admin_setting_configcheckbox('backup/backup_auto_blogs', get_string('blogs', 'blog'), get_string('backupblogshelp','blog'), 0));
+    //$temp->add(new admin_setting_configcheckbox('backup/backup_auto_messages', new lang_string('messages', 'message'), new lang_string('backupmessageshelp','message'), 0));
+    //$temp->add(new admin_setting_configcheckbox('backup/backup_auto_blogs', new lang_string('blogs', 'blog'), new lang_string('backupblogshelp','blog'), 0));
 
     $ADMIN->add('backups', $temp);
 
index d6c9e4f..9d7b5a0 100644 (file)
@@ -5,61 +5,61 @@
 if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
 
     // Experimental settings page
-    $ADMIN->add('development', new admin_category('experimental', get_string('experimental','admin')));
+    $ADMIN->add('development', new admin_category('experimental', new lang_string('experimental','admin')));
 
-    $temp = new admin_settingpage('experimentalsettings', get_string('experimentalsettings', 'admin'));
+    $temp = new admin_settingpage('experimentalsettings', new lang_string('experimentalsettings', 'admin'));
     //TODO: Re-enable cc-import once re-implemented in 2.0.x
-    //$temp->add(new admin_setting_configcheckbox('enableimsccimport', get_string('enable_cc_import', 'imscc'), get_string('enable_cc_import_description', 'imscc'), 0));
-    $temp->add(new admin_setting_configcheckbox('enablesafebrowserintegration', get_string('enablesafebrowserintegration', 'admin'), get_string('configenablesafebrowserintegration', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('enablegroupmembersonly', get_string('enablegroupmembersonly', 'admin'), get_string('configenablegroupmembersonly', 'admin'), 0));
+    //$temp->add(new admin_setting_configcheckbox('enableimsccimport', new lang_string('enable_cc_import', 'imscc'), new lang_string('enable_cc_import_description', 'imscc'), 0));
+    $temp->add(new admin_setting_configcheckbox('enablesafebrowserintegration', new lang_string('enablesafebrowserintegration', 'admin'), new lang_string('configenablesafebrowserintegration', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('enablegroupmembersonly', new lang_string('enablegroupmembersonly', 'admin'), new lang_string('configenablegroupmembersonly', 'admin'), 0));
 
     $ADMIN->add('experimental', $temp);
 
     // "debugging" settingpage
-    $temp = new admin_settingpage('debugging', get_string('debugging', 'admin'));
+    $temp = new admin_settingpage('debugging', new lang_string('debugging', 'admin'));
     $temp->add(new admin_setting_special_debug());
-    $temp->add(new admin_setting_configcheckbox('debugdisplay', get_string('debugdisplay', 'admin'), get_string('configdebugdisplay', 'admin'), ini_get_bool('display_errors')));
-    $temp->add(new admin_setting_configcheckbox('xmlstrictheaders', get_string('xmlstrictheaders', 'admin'), get_string('configxmlstrictheaders', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('debugsmtp', get_string('debugsmtp', 'admin'), get_string('configdebugsmtp', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('perfdebug', get_string('perfdebug', 'admin'), get_string('configperfdebug', 'admin'), '7', '15', '7'));
-    $temp->add(new admin_setting_configcheckbox('debugstringids', get_string('debugstringids', 'admin'), get_string('debugstringids_desc', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('debugvalidators', get_string('debugvalidators', 'admin'), get_string('configdebugvalidators', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('debugpageinfo', get_string('debugpageinfo', 'admin'), get_string('configdebugpageinfo', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('debugdisplay', new lang_string('debugdisplay', 'admin'), new lang_string('configdebugdisplay', 'admin'), ini_get_bool('display_errors')));
+    $temp->add(new admin_setting_configcheckbox('xmlstrictheaders', new lang_string('xmlstrictheaders', 'admin'), new lang_string('configxmlstrictheaders', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('debugsmtp', new lang_string('debugsmtp', 'admin'), new lang_string('configdebugsmtp', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('perfdebug', new lang_string('perfdebug', 'admin'), new lang_string('configperfdebug', 'admin'), '7', '15', '7'));
+    $temp->add(new admin_setting_configcheckbox('debugstringids', new lang_string('debugstringids', 'admin'), new lang_string('debugstringids_desc', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('debugvalidators', new lang_string('debugvalidators', 'admin'), new lang_string('configdebugvalidators', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('debugpageinfo', new lang_string('debugpageinfo', 'admin'), new lang_string('configdebugpageinfo', 'admin'), 0));
     $ADMIN->add('development', $temp);
 
     // "profiling" settingpage (conditionally if the 'xhprof' extension is available only)
     if (extension_loaded('xhprof') && function_exists('xhprof_enable')) {
-        $temp = new admin_settingpage('profiling', get_string('profiling', 'admin'));
+        $temp = new admin_settingpage('profiling', new lang_string('profiling', 'admin'));
         // Main profiling switch
-        $temp->add(new admin_setting_configcheckbox('profilingenabled', get_string('profilingenabled', 'admin'), get_string('profilingenabled_help', 'admin'), false));
+        $temp->add(new admin_setting_configcheckbox('profilingenabled', new lang_string('profilingenabled', 'admin'), new lang_string('profilingenabled_help', 'admin'), false));
         // List of URLs that will be automatically profiled
-        $temp->add(new admin_setting_configtextarea('profilingincluded', get_string('profilingincluded', 'admin'), get_string('profilingincluded_help', 'admin'), ''));
+        $temp->add(new admin_setting_configtextarea('profilingincluded', new lang_string('profilingincluded', 'admin'), new lang_string('profilingincluded_help', 'admin'), ''));
         // List of URLs that won't be profiled ever
-        $temp->add(new admin_setting_configtextarea('profilingexcluded', get_string('profilingexcluded', 'admin'), get_string('profilingexcluded_help', 'admin'), ''));
+        $temp->add(new admin_setting_configtextarea('profilingexcluded', new lang_string('profilingexcluded', 'admin'), new lang_string('profilingexcluded_help', 'admin'), ''));
         // Allow random profiling each XX requests
-        $temp->add(new admin_setting_configtext('profilingautofrec', get_string('profilingautofrec', 'admin'), get_string('profilingautofrec_help', 'admin'), 0, PARAM_INT));
+        $temp->add(new admin_setting_configtext('profilingautofrec', new lang_string('profilingautofrec', 'admin'), new lang_string('profilingautofrec_help', 'admin'), 0, PARAM_INT));
         // Allow PROFILEME/DONTPROFILEME GPC
-        $temp->add(new admin_setting_configcheckbox('profilingallowme', get_string('profilingallowme', 'admin'), get_string('profilingallowme_help', 'admin'), false));
+        $temp->add(new admin_setting_configcheckbox('profilingallowme', new lang_string('profilingallowme', 'admin'), new lang_string('profilingallowme_help', 'admin'), false));
         // Allow PROFILEALL/PROFILEALLSTOP GPC
-        $temp->add(new admin_setting_configcheckbox('profilingallowall', get_string('profilingallowall', 'admin'), get_string('profilingallowall_help', 'admin'), false));
+        $temp->add(new admin_setting_configcheckbox('profilingallowall', new lang_string('profilingallowall', 'admin'), new lang_string('profilingallowall_help', 'admin'), false));
         // TODO: Allow to skip PHP functions (XHPROF_FLAGS_NO_BUILTINS)
         // TODO: Allow to skip call_user functions (ignored_functions array)
         // Specify the life time (in minutes) of profiling runs
-        $temp->add(new admin_setting_configselect('profilinglifetime', get_string('profilinglifetime', 'admin'), get_string('profilinglifetime_help', 'admin'), 24*60, array(
-             0 => get_string('neverdeleteruns', 'admin'),
-      30*24*60 => get_string('numdays', '', 30),
-      15*24*60 => get_string('numdays', '', 15),
-       7*24*60 => get_string('numdays', '', 7),
-       4*24*60 => get_string('numdays', '', 4),
-       2*24*60 => get_string('numdays', '', 2),
-         24*60 => get_string('numhours', '', 24),
-         16*80 => get_string('numhours', '', 16),
-          8*60 => get_string('numhours', '', 8),
-          4*60 => get_string('numhours', '', 4),
-          2*60 => get_string('numhours', '', 2),
-            60 => get_string('numminutes', '', 60),
-            30 => get_string('numminutes', '', 30),
-            15 => get_string('numminutes', '', 15))));
+        $temp->add(new admin_setting_configselect('profilinglifetime', new lang_string('profilinglifetime', 'admin'), new lang_string('profilinglifetime_help', 'admin'), 24*60, array(
+             0 => new lang_string('neverdeleteruns', 'admin'),
+      30*24*60 => new lang_string('numdays', '', 30),
+      15*24*60 => new lang_string('numdays', '', 15),
+       7*24*60 => new lang_string('numdays', '', 7),
+       4*24*60 => new lang_string('numdays', '', 4),
+       2*24*60 => new lang_string('numdays', '', 2),
+         24*60 => new lang_string('numhours', '', 24),
+         16*80 => new lang_string('numhours', '', 16),
+          8*60 => new lang_string('numhours', '', 8),
+          4*60 => new lang_string('numhours', '', 4),
+          2*60 => new lang_string('numhours', '', 2),
+            60 => new lang_string('numminutes', '', 60),
+            30 => new lang_string('numminutes', '', 30),
+            15 => new lang_string('numminutes', '', 15))));
 
         // Add the 'profiling' page to admin block
         $ADMIN->add('development', $temp);
@@ -67,12 +67,12 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
 
 
      // Web service test clients DO NOT COMMIT : THE EXTERNAL WEB PAGE IS NOT AN ADMIN PAGE !!!!!
-    $ADMIN->add('development', new admin_externalpage('testclient', get_string('testclient', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/testclient.php"));
+    $ADMIN->add('development', new admin_externalpage('testclient', new lang_string('testclient', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/testclient.php"));
 
 
     if ($CFG->mnet_dispatcher_mode !== 'off') {
-        $ADMIN->add('development', new admin_externalpage('mnettestclient', get_string('testclient', 'mnet'), "$CFG->wwwroot/$CFG->admin/mnet/testclient.php"));
+        $ADMIN->add('development', new admin_externalpage('mnettestclient', new lang_string('testclient', 'mnet'), "$CFG->wwwroot/$CFG->admin/mnet/testclient.php"));
     }
 
-    $ADMIN->add('development', new admin_externalpage('purgecaches', get_string('purgecaches','admin'), "$CFG->wwwroot/$CFG->admin/purgecaches.php"));
+    $ADMIN->add('development', new admin_externalpage('purgecaches', new lang_string('purgecaches','admin'), "$CFG->wwwroot/$CFG->admin/purgecaches.php"));
 } // end of speedup
index 4180579..edd701d 100644 (file)
@@ -20,22 +20,22 @@ if (!during_initial_install()) { //do not use during installation
             'moodle/question:moveall'), $frontpagecontext)) {
 
         // "frontpage" settingpage
-        $temp = new admin_settingpage('frontpagesettings', get_string('frontpagesettings','admin'), 'moodle/course:update', false, $frontpagecontext);
-        $temp->add(new admin_setting_sitesettext('fullname', get_string('fullsitename'), '', NULL)); // no default
-        $temp->add(new admin_setting_sitesettext('shortname', get_string('shortsitename'), '', NULL)); // no default
+        $temp = new admin_settingpage('frontpagesettings', new lang_string('frontpagesettings','admin'), 'moodle/course:update', false, $frontpagecontext);
+        $temp->add(new admin_setting_sitesettext('fullname', new lang_string('fullsitename'), '', NULL)); // no default
+        $temp->add(new admin_setting_sitesettext('shortname', new lang_string('shortsitename'), '', NULL)); // no default
         $temp->add(new admin_setting_special_frontpagedesc());
         $temp->add(new admin_setting_courselist_frontpage(false)); // non-loggedin version of the setting (that's what the parameter is for :) )
         $temp->add(new admin_setting_courselist_frontpage(true)); // loggedin version of the setting
 
         $options = array();
-        $options[] = get_string('unlimited');
+        $options[] = new lang_string('unlimited');
         for ($i=1; $i<100; $i++) {
             $options[$i] = $i;
         }
-        $temp->add(new admin_setting_configselect('maxcategorydepth', get_string('configsitemaxcategorydepth','admin'), get_string('configsitemaxcategorydepthhelp','admin'), 0, $options));
+        $temp->add(new admin_setting_configselect('maxcategorydepth', new lang_string('configsitemaxcategorydepth','admin'), new lang_string('configsitemaxcategorydepthhelp','admin'), 0, $options));
 
-        $temp->add(new admin_setting_sitesetcheckbox('numsections', get_string('sitesection'), get_string('sitesectionhelp','admin'), 1));
-        $temp->add(new admin_setting_sitesetselect('newsitems', get_string('newsitemsnumber'), '', 3,
+        $temp->add(new admin_setting_sitesetcheckbox('numsections', new lang_string('sitesection'), new lang_string('sitesectionhelp','admin'), 1));
+        $temp->add(new admin_setting_sitesetselect('newsitems', new lang_string('newsitemsnumber'), '', 3,
              array('0' => '0',
                    '1' => '1',
                    '2' => '2',
@@ -47,12 +47,12 @@ if (!during_initial_install()) { //do not use during installation
                    '8' => '8',
                    '9' => '9',
                    '10' => '10')));
-        $temp->add(new admin_setting_configtext('commentsperpage', get_string('commentsperpage', 'admin'), '', 15, PARAM_INT));
+        $temp->add(new admin_setting_configtext('commentsperpage', new lang_string('commentsperpage', 'admin'), '', 15, PARAM_INT));
 
-        $temp->add(new admin_setting_configtext('coursesperpage', get_string('coursesperpage', 'admin'), get_string('configcoursesperpage', 'admin'), 20, PARAM_INT));
+        $temp->add(new admin_setting_configtext('coursesperpage', new lang_string('coursesperpage', 'admin'), new lang_string('configcoursesperpage', 'admin'), 20, PARAM_INT));
 
         // front page default role
-        $options = array(0=>get_string('none')); // roles to choose from
+        $options = array(0=>new lang_string('none')); // roles to choose from
         $defaultfrontpageroleid = 0;
         foreach (get_all_roles() as $role) {
             if (empty($role->archetype) or $role->archetype === 'guest' or $role->archetype === 'frontpage' or $role->archetype === 'student') {
@@ -66,18 +66,18 @@ if (!during_initial_install()) { //do not use during installation
             //frotpage role may not exist in old upgraded sites
             unset($options[0]);
         }
-        $temp->add(new admin_setting_configselect('defaultfrontpageroleid', get_string('frontpagedefaultrole', 'admin'), '', $defaultfrontpageroleid, $options));
+        $temp->add(new admin_setting_configselect('defaultfrontpageroleid', new lang_string('frontpagedefaultrole', 'admin'), '', $defaultfrontpageroleid, $options));
 
 
         $ADMIN->add('frontpage', $temp);
 
-        $ADMIN->add('frontpage', new admin_externalpage('frontpageroles', get_string('frontpageroles', 'admin'), "$CFG->wwwroot/$CFG->admin/roles/assign.php?contextid=" . $frontpagecontext->id, 'moodle/role:assign', false, $frontpagecontext));
+        $ADMIN->add('frontpage', new admin_externalpage('frontpageroles', new lang_string('frontpageroles', 'admin'), "$CFG->wwwroot/$CFG->admin/roles/assign.php?contextid=" . $frontpagecontext->id, 'moodle/role:assign', false, $frontpagecontext));
 
-        $ADMIN->add('frontpage', new admin_externalpage('frontpagefilters', get_string('frontpagefilters', 'admin'), "$CFG->wwwroot/filter/manage.php?contextid=" . $frontpagecontext->id, 'moodle/filter:manage', false, $frontpagecontext));
+        $ADMIN->add('frontpage', new admin_externalpage('frontpagefilters', new lang_string('frontpagefilters', 'admin'), "$CFG->wwwroot/filter/manage.php?contextid=" . $frontpagecontext->id, 'moodle/filter:manage', false, $frontpagecontext));
 
-        $ADMIN->add('frontpage', new admin_externalpage('frontpagebackup', get_string('frontpagebackup', 'admin'), $CFG->wwwroot.'/backup/backup.php?id='.SITEID, 'moodle/backup:backupcourse', false, $frontpagecontext));
+        $ADMIN->add('frontpage', new admin_externalpage('frontpagebackup', new lang_string('frontpagebackup', 'admin'), $CFG->wwwroot.'/backup/backup.php?id='.SITEID, 'moodle/backup:backupcourse', false, $frontpagecontext));
 
-        $ADMIN->add('frontpage', new admin_externalpage('frontpagerestore', get_string('frontpagerestore', 'admin'), $CFG->wwwroot.'/files/index.php?id='.SITEID.'&amp;wdir=/backupdata', 'moodle/restore:restorecourse', false, $frontpagecontext));
+        $ADMIN->add('frontpage', new admin_externalpage('frontpagerestore', new lang_string('frontpagerestore', 'admin'), $CFG->wwwroot.'/files/index.php?id='.SITEID.'&amp;wdir=/backupdata', 'moodle/restore:restorecourse', false, $frontpagecontext));
 
         $questioncapabilities = array(
                 'moodle/question:add',
@@ -87,10 +87,10 @@ if (!during_initial_install()) { //do not use during installation
                 'moodle/question:viewall',
                 'moodle/question:movemine',
                 'moodle/question:moveall');
-        $ADMIN->add('frontpage', new admin_externalpage('frontpagequestions', get_string('frontpagequestions', 'admin'), $CFG->wwwroot.'/question/edit.php?courseid='.SITEID, $questioncapabilities, false, $frontpagecontext));
+        $ADMIN->add('frontpage', new admin_externalpage('frontpagequestions', new lang_string('frontpagequestions', 'admin'), $CFG->wwwroot.'/question/edit.php?courseid='.SITEID, $questioncapabilities, false, $frontpagecontext));
 
         if (!empty($SITE->legacyfiles) and $SITE->legacyfiles === 2) {
-            $ADMIN->add('frontpage', new admin_externalpage('sitefiles', get_string('sitelegacyfiles'), $CFG->wwwroot . '/files/index.php?id=' . SITEID, 'moodle/course:managefiles', false, $frontpagecontext));
+            $ADMIN->add('frontpage', new admin_externalpage('sitefiles', new lang_string('sitelegacyfiles'), $CFG->wwwroot . '/files/index.php?id=' . SITEID, 'moodle/course:managefiles', false, $frontpagecontext));
         }
     }
 }
index 0d42537..95aee44 100644 (file)
@@ -6,21 +6,21 @@ if (has_capability('moodle/grade:manage', $systemcontext)
  or has_capability('moodle/grade:manageletters', $systemcontext)) { // speedup for non-admins, add all caps used on this page
 
     require_once $CFG->libdir.'/grade/constants.php';
-    $display_types = array(GRADE_DISPLAY_TYPE_REAL => get_string('real', 'grades'),
-                           GRADE_DISPLAY_TYPE_PERCENTAGE => get_string('percentage', 'grades'),
-                           GRADE_DISPLAY_TYPE_LETTER => get_string('letter', 'grades'),
-                           GRADE_DISPLAY_TYPE_REAL_PERCENTAGE => get_string('realpercentage', 'grades'),
-                           GRADE_DISPLAY_TYPE_REAL_LETTER => get_string('realletter', 'grades'),
-                           GRADE_DISPLAY_TYPE_LETTER_REAL => get_string('letterreal', 'grades'),
-                           GRADE_DISPLAY_TYPE_LETTER_PERCENTAGE => get_string('letterpercentage', 'grades'),
-                           GRADE_DISPLAY_TYPE_PERCENTAGE_LETTER => get_string('percentageletter', 'grades'),
-                           GRADE_DISPLAY_TYPE_PERCENTAGE_REAL => get_string('percentagereal', 'grades')
+    $display_types = array(GRADE_DISPLAY_TYPE_REAL => new lang_string('real', 'grades'),
+                           GRADE_DISPLAY_TYPE_PERCENTAGE => new lang_string('percentage', 'grades'),
+                           GRADE_DISPLAY_TYPE_LETTER => new lang_string('letter', 'grades'),
+                           GRADE_DISPLAY_TYPE_REAL_PERCENTAGE => new lang_string('realpercentage', 'grades'),
+                           GRADE_DISPLAY_TYPE_REAL_LETTER => new lang_string('realletter', 'grades'),
+                           GRADE_DISPLAY_TYPE_LETTER_REAL => new lang_string('letterreal', 'grades'),
+                           GRADE_DISPLAY_TYPE_LETTER_PERCENTAGE => new lang_string('letterpercentage', 'grades'),
+                           GRADE_DISPLAY_TYPE_PERCENTAGE_LETTER => new lang_string('percentageletter', 'grades'),
+                           GRADE_DISPLAY_TYPE_PERCENTAGE_REAL => new lang_string('percentagereal', 'grades')
                            );
     asort($display_types);
 
     // General settings
 
-    $temp = new admin_settingpage('gradessettings', get_string('generalsettings', 'grades'), 'moodle/grade:manage');
+    $temp = new admin_settingpage('gradessettings', new lang_string('generalsettings', 'grades'), 'moodle/grade:manage');
     if ($ADMIN->fulltree) {
 
         // new CFG variable for gradebook (what roles to display)
@@ -30,33 +30,33 @@ if (has_capability('moodle/grade:manage', $systemcontext)
 
         $temp->add(new admin_setting_grade_profilereport());
 
-        $temp->add(new admin_setting_configselect('grade_aggregationposition', get_string('aggregationposition', 'grades'),
-                                                  get_string('aggregationposition_help', 'grades'), GRADE_REPORT_AGGREGATION_POSITION_LAST,
-                                                  array(GRADE_REPORT_AGGREGATION_POSITION_FIRST => get_string('positionfirst', 'grades'),
-                                                        GRADE_REPORT_AGGREGATION_POSITION_LAST => get_string('positionlast', 'grades'))));
+        $temp->add(new admin_setting_configselect('grade_aggregationposition', new lang_string('aggregationposition', 'grades'),
+                                                  new lang_string('aggregationposition_help', 'grades'), GRADE_REPORT_AGGREGATION_POSITION_LAST,
+                                                  array(GRADE_REPORT_AGGREGATION_POSITION_FIRST => new lang_string('positionfirst', 'grades'),
+                                                        GRADE_REPORT_AGGREGATION_POSITION_LAST => new lang_string('positionlast', 'grades'))));
 
-        $temp->add(new admin_setting_regradingcheckbox('grade_includescalesinaggregation', get_string('includescalesinaggregation', 'grades'), get_string('includescalesinaggregation_help', 'grades'), 1));
+        $temp->add(new admin_setting_regradingcheckbox('grade_includescalesinaggregation', new lang_string('includescalesinaggregation', 'grades'), new lang_string('includescalesinaggregation_help', 'grades'), 1));
 
-        $temp->add(new admin_setting_configcheckbox('grade_hiddenasdate', get_string('hiddenasdate', 'grades'), get_string('hiddenasdate_help', 'grades'), 0));
+        $temp->add(new admin_setting_configcheckbox('grade_hiddenasdate', new lang_string('hiddenasdate', 'grades'), new lang_string('hiddenasdate_help', 'grades'), 0));
 
         // enable publishing in exports/imports
-        $temp->add(new admin_setting_configcheckbox('gradepublishing', get_string('gradepublishing', 'grades'), get_string('gradepublishing_help', 'grades'), 0));
+        $temp->add(new admin_setting_configcheckbox('gradepublishing', new lang_string('gradepublishing', 'grades'), new lang_string('gradepublishing_help', 'grades'), 0));
 
-        $temp->add(new admin_setting_configselect('grade_export_displaytype', get_string('gradeexportdisplaytype', 'grades'),
-                                                  get_string('gradeexportdisplaytype_desc', 'grades'), GRADE_DISPLAY_TYPE_REAL, $display_types));
+        $temp->add(new admin_setting_configselect('grade_export_displaytype', new lang_string('gradeexportdisplaytype', 'grades'),
+                                                  new lang_string('gradeexportdisplaytype_desc', 'grades'), GRADE_DISPLAY_TYPE_REAL, $display_types));
 
-        $temp->add(new admin_setting_configselect('grade_export_decimalpoints', get_string('gradeexportdecimalpoints', 'grades'),
-                                                  get_string('gradeexportdecimalpoints_desc', 'grades'), 2,
+        $temp->add(new admin_setting_configselect('grade_export_decimalpoints', new lang_string('gradeexportdecimalpoints', 'grades'),
+                                                  new lang_string('gradeexportdecimalpoints_desc', 'grades'), 2,
                                                   array( '0' => '0',
                                                          '1' => '1',
                                                          '2' => '2',
                                                          '3' => '3',
                                                          '4' => '4',
                                                          '5' => '5')));
-        $temp->add(new admin_setting_configselect('grade_navmethod', get_string('navmethod', 'grades'), null, 0,
-                                                  array(GRADE_NAVMETHOD_DROPDOWN => get_string('dropdown', 'grades'),
-                                                        GRADE_NAVMETHOD_TABS => get_string('tabs', 'grades'),
-                                                        GRADE_NAVMETHOD_COMBO => get_string('combo', 'grades'))));
+        $temp->add(new admin_setting_configselect('grade_navmethod', new lang_string('navmethod', 'grades'), null, 0,
+                                                  array(GRADE_NAVMETHOD_DROPDOWN => new lang_string('dropdown', 'grades'),
+                                                        GRADE_NAVMETHOD_TABS => new lang_string('tabs', 'grades'),
+                                                        GRADE_NAVMETHOD_COMBO => new lang_string('combo', 'grades'))));
 
         $temp->add(new admin_setting_special_gradeexport());
 
@@ -65,68 +65,68 @@ if (has_capability('moodle/grade:manage', $systemcontext)
     $ADMIN->add('grades', $temp);
 
     /// Grade category settings
-    $temp = new admin_settingpage('gradecategorysettings', get_string('gradecategorysettings', 'grades'), 'moodle/grade:manage');
+    $temp = new admin_settingpage('gradecategorysettings', new lang_string('gradecategorysettings', 'grades'), 'moodle/grade:manage');
     if ($ADMIN->fulltree) {
-        $temp->add(new admin_setting_configcheckbox('grade_hideforcedsettings', get_string('hideforcedsettings', 'grades'), get_string('hideforcedsettings_help', 'grades'), '1'));
+        $temp->add(new admin_setting_configcheckbox('grade_hideforcedsettings', new lang_string('hideforcedsettings', 'grades'), new lang_string('hideforcedsettings_help', 'grades'), '1'));
 
-        $strnoforce = get_string('noforce', 'grades');
+        $strnoforce = new lang_string('noforce', 'grades');
 
         // Aggregation type
-        $options = array(GRADE_AGGREGATE_MEAN            =>get_string('aggregatemean', 'grades'),
-                         GRADE_AGGREGATE_WEIGHTED_MEAN   =>get_string('aggregateweightedmean', 'grades'),
-                         GRADE_AGGREGATE_WEIGHTED_MEAN2  =>get_string('aggregateweightedmean2', 'grades'),
-                         GRADE_AGGREGATE_EXTRACREDIT_MEAN=>get_string('aggregateextracreditmean', 'grades'),
-                         GRADE_AGGREGATE_MEDIAN          =>get_string('aggregatemedian', 'grades'),
-                         GRADE_AGGREGATE_MIN             =>get_string('aggregatemin', 'grades'),
-                         GRADE_AGGREGATE_MAX             =>get_string('aggregatemax', 'grades'),
-                         GRADE_AGGREGATE_MODE            =>get_string('aggregatemode', 'grades'),
-                         GRADE_AGGREGATE_SUM             =>get_string('aggregatesum', 'grades'));
+        $options = array(GRADE_AGGREGATE_MEAN            =>new lang_string('aggregatemean', 'grades'),
+                         GRADE_AGGREGATE_WEIGHTED_MEAN   =>new lang_string('aggregateweightedmean', 'grades'),
+                         GRADE_AGGREGATE_WEIGHTED_MEAN2  =>new lang_string('aggregateweightedmean2', 'grades'),
+                         GRADE_AGGREGATE_EXTRACREDIT_MEAN=>new lang_string('aggregateextracreditmean', 'grades'),
+                         GRADE_AGGREGATE_MEDIAN          =>new lang_string('aggregatemedian', 'grades'),
+                         GRADE_AGGREGATE_MIN             =>new lang_string('aggregatemin', 'grades'),
+                         GRADE_AGGREGATE_MAX             =>new lang_string('aggregatemax', 'grades'),
+                         GRADE_AGGREGATE_MODE            =>new lang_string('aggregatemode', 'grades'),
+                         GRADE_AGGREGATE_SUM             =>new lang_string('aggregatesum', 'grades'));
 
         $defaultvisible = array(GRADE_AGGREGATE_MEAN, GRADE_AGGREGATE_WEIGHTED_MEAN, GRADE_AGGREGATE_WEIGHTED_MEAN2,
                                 GRADE_AGGREGATE_EXTRACREDIT_MEAN, GRADE_AGGREGATE_MEDIAN, GRADE_AGGREGATE_MIN,
                                 GRADE_AGGREGATE_MAX, GRADE_AGGREGATE_MODE, GRADE_AGGREGATE_SUM);
 
         $defaults = array('value'=>GRADE_AGGREGATE_WEIGHTED_MEAN2, 'forced'=>false, 'adv'=>false);
-        $temp->add(new admin_setting_gradecat_combo('grade_aggregation', get_string('aggregation', 'grades'), get_string('aggregation_help', 'grades'), $defaults, $options));
+        $temp->add(new admin_setting_gradecat_combo('grade_aggregation', new lang_string('aggregation', 'grades'), new lang_string('aggregation_help', 'grades'), $defaults, $options));
 
-        $temp->add(new admin_setting_configmultiselect('grade_aggregations_visible', get_string('aggregationsvisible', 'grades'),
-                                                       get_string('aggregationsvisiblehelp', 'grades'), $defaultvisible, $options));
+        $temp->add(new admin_setting_configmultiselect('grade_aggregations_visible', new lang_string('aggregationsvisible', 'grades'),
+                                                       new lang_string('aggregationsvisiblehelp', 'grades'), $defaultvisible, $options));
 
-        $options = array(0 => get_string('no'), 1 => get_string('yes'));
+        $options = array(0 => new lang_string('no'), 1 => new lang_string('yes'));
 
         $defaults = array('value'=>1, 'forced'=>false, 'adv'=>true);
-        $temp->add(new admin_setting_gradecat_combo('grade_aggregateonlygraded', get_string('aggregateonlygraded', 'grades'),
-                    get_string('aggregateonlygraded_help', 'grades'), $defaults, $options));
+        $temp->add(new admin_setting_gradecat_combo('grade_aggregateonlygraded', new lang_string('aggregateonlygraded', 'grades'),
+                    new lang_string('aggregateonlygraded_help', 'grades'), $defaults, $options));
         $defaults = array('value'=>0, 'forced'=>false, 'adv'=>true);
-        $temp->add(new admin_setting_gradecat_combo('grade_aggregateoutcomes', get_string('aggregateoutcomes', 'grades'),
-                    get_string('aggregateoutcomes_help', 'grades'), $defaults, $options));
-        $temp->add(new admin_setting_gradecat_combo('grade_aggregatesubcats', get_string('aggregatesubcats', 'grades'),
-                    get_string('aggregatesubcats_help', 'grades'), $defaults, $options));
+        $temp->add(new admin_setting_gradecat_combo('grade_aggregateoutcomes', new lang_string('aggregateoutcomes', 'grades'),
+                    new lang_string('aggregateoutcomes_help', 'grades'), $defaults, $options));
+        $temp->add(new admin_setting_gradecat_combo('grade_aggregatesubcats', new lang_string('aggregatesubcats', 'grades'),
+                    new lang_string('aggregatesubcats_help', 'grades'), $defaults, $options));
 
-        $options = array(0 => get_string('none'));
+        $options = array(0 => new lang_string('none'));
         for ($i=1; $i<=20; $i++) {
             $options[$i] = $i;
         }
 
         $defaults['value'] = 0;
         $defaults['forced'] = true;
-        $temp->add(new admin_setting_gradecat_combo('grade_keephigh', get_string('keephigh', 'grades'),
-                    get_string('keephigh_help', 'grades'), $defaults, $options));
+        $temp->add(new admin_setting_gradecat_combo('grade_keephigh', new lang_string('keephigh', 'grades'),
+                    new lang_string('keephigh_help', 'grades'), $defaults, $options));
         $defaults['forced'] = false;
-        $temp->add(new admin_setting_gradecat_combo('grade_droplow', get_string('droplow', 'grades'),
-                    get_string('droplow_help', 'grades'), $defaults, $options));
+        $temp->add(new admin_setting_gradecat_combo('grade_droplow', new lang_string('droplow', 'grades'),
+                    new lang_string('droplow_help', 'grades'), $defaults, $options));
     }
     $ADMIN->add('grades', $temp);
 
 
     /// Grade item settings
-    $temp = new admin_settingpage('gradeitemsettings', get_string('gradeitemsettings', 'grades'), 'moodle/grade:manage');
+    $temp = new admin_settingpage('gradeitemsettings', new lang_string('gradeitemsettings', 'grades'), 'moodle/grade:manage');
     if ($ADMIN->fulltree) {
-        $temp->add(new admin_setting_configselect('grade_displaytype', get_string('gradedisplaytype', 'grades'),
-                                                  get_string('gradedisplaytype_help', 'grades'), GRADE_DISPLAY_TYPE_REAL, $display_types));
+        $temp->add(new admin_setting_configselect('grade_displaytype', new lang_string('gradedisplaytype', 'grades'),
+                                                  new lang_string('gradedisplaytype_help', 'grades'), GRADE_DISPLAY_TYPE_REAL, $display_types));
 
-        $temp->add(new admin_setting_configselect('grade_decimalpoints', get_string('decimalpoints', 'grades'),
-                                                  get_string('decimalpoints_help', 'grades'), 2,
+        $temp->add(new admin_setting_configselect('grade_decimalpoints', new lang_string('decimalpoints', 'grades'),
+                                                  new lang_string('decimalpoints_help', 'grades'), 2,
                                                   array( '0' => '0',
                                                          '1' => '1',
                                                          '2' => '2',
@@ -134,48 +134,48 @@ if (has_capability('moodle/grade:manage', $systemcontext)
                                                          '4' => '4',
                                                          '5' => '5')));
 
-        $temp->add(new admin_setting_configmultiselect('grade_item_advanced', get_string('gradeitemadvanced', 'grades'), get_string('gradeitemadvanced_help', 'grades'),
+        $temp->add(new admin_setting_configmultiselect('grade_item_advanced', new lang_string('gradeitemadvanced', 'grades'), new lang_string('gradeitemadvanced_help', 'grades'),
                                                        array('iteminfo', 'idnumber', 'gradepass', 'plusfactor', 'multfactor', 'display', 'decimals', 'hiddenuntil', 'locktime'),
-                                                       array('iteminfo' => get_string('iteminfo', 'grades'),
-                                                             'idnumber' => get_string('idnumbermod'),
-                                                             'gradetype' => get_string('gradetype', 'grades'),
-                                                             'scaleid' => get_string('scale'),
-                                                             'grademin' => get_string('grademin', 'grades'),
-                                                             'grademax' => get_string('grademax', 'grades'),
-                                                             'gradepass' => get_string('gradepass', 'grades'),
-                                                             'plusfactor' => get_string('plusfactor', 'grades'),
-                                                             'multfactor' => get_string('multfactor', 'grades'),
-                                                             'display' => get_string('gradedisplaytype', 'grades'),
-                                                             'decimals' => get_string('decimalpoints', 'grades'),
-                                                             'hidden' => get_string('hidden', 'grades'),
-                                                             'hiddenuntil' => get_string('hiddenuntil', 'grades'),
-                                                             'locked' => get_string('locked', 'grades'),
-                                                             'locktime' => get_string('locktime', 'grades'),
-                                                             'aggregationcoef' => get_string('aggregationcoef', 'grades'),
-                                                             'parentcategory' => get_string('parentcategory', 'grades'))));
+                                                       array('iteminfo' => new lang_string('iteminfo', 'grades'),
+                                                             'idnumber' => new lang_string('idnumbermod'),
+                                                             'gradetype' => new lang_string('gradetype', 'grades'),
+                                                             'scaleid' => new lang_string('scale'),
+                                                             'grademin' => new lang_string('grademin', 'grades'),
+                                                             'grademax' => new lang_string('grademax', 'grades'),
+                                                             'gradepass' => new lang_string('gradepass', 'grades'),
+                                                             'plusfactor' => new lang_string('plusfactor', 'grades'),
+                                                             'multfactor' => new lang_string('multfactor', 'grades'),
+                                                             'display' => new lang_string('gradedisplaytype', 'grades'),
+                                                             'decimals' => new lang_string('decimalpoints', 'grades'),
+                                                             'hidden' => new lang_string('hidden', 'grades'),
+                                                             'hiddenuntil' => new lang_string('hiddenuntil', 'grades'),
+                                                             'locked' => new lang_string('locked', 'grades'),
+                                                             'locktime' => new lang_string('locktime', 'grades'),
+                                                             'aggregationcoef' => new lang_string('aggregationcoef', 'grades'),
+                                                             'parentcategory' => new lang_string('parentcategory', 'grades'))));
     }
     $ADMIN->add('grades', $temp);
 
 
     /// Scales and outcomes
 
-    $scales = new admin_externalpage('scales', get_string('scales'), $CFG->wwwroot.'/grade/edit/scale/index.php', 'moodle/grade:manage');
+    $scales = new admin_externalpage('scales', new lang_string('scales'), $CFG->wwwroot.'/grade/edit/scale/index.php', 'moodle/grade:manage');
     $ADMIN->add('grades', $scales);
     if (!empty($CFG->enableoutcomes)) {
-        $outcomes = new admin_externalpage('outcomes', get_string('outcomes', 'grades'), $CFG->wwwroot.'/grade/edit/outcome/index.php', 'moodle/grade:manage');
+        $outcomes = new admin_externalpage('outcomes', new lang_string('outcomes', 'grades'), $CFG->wwwroot.'/grade/edit/outcome/index.php', 'moodle/grade:manage');
         $ADMIN->add('grades', $outcomes);
     }
-    $letters = new admin_externalpage('letters', get_string('letters', 'grades'), $CFG->wwwroot.'/grade/edit/letter/index.php', 'moodle/grade:manageletters');
+    $letters = new admin_externalpage('letters', new lang_string('letters', 'grades'), $CFG->wwwroot.'/grade/edit/letter/index.php', 'moodle/grade:manageletters');
     $ADMIN->add('grades', $letters);
 
     // The plugins must implement a settings.php file that adds their admin settings to the $settings object
 
     // Reports
-    $ADMIN->add('grades', new admin_category('gradereports', get_string('reportsettings', 'grades')));
+    $ADMIN->add('grades', new admin_category('gradereports', new lang_string('reportsettings', 'grades')));
     foreach (get_plugin_list('gradereport') as $plugin => $plugindir) {
      // Include all the settings commands for this plugin if there are any
         if (file_exists($plugindir.'/settings.php')) {
-            $settings = new admin_settingpage('gradereport'.$plugin, get_string('pluginname', 'gradereport_'.$plugin), 'moodle/grade:manage');
+            $settings = new admin_settingpage('gradereport'.$plugin, new lang_string('pluginname', 'gradereport_'.$plugin), 'moodle/grade:manage');
             include($plugindir.'/settings.php');
             if ($settings) {
                 $ADMIN->add('gradereports', $settings);
@@ -184,12 +184,12 @@ if (has_capability('moodle/grade:manage', $systemcontext)
     }
 
     // Imports
-    $ADMIN->add('grades', new admin_category('gradeimports', get_string('importsettings', 'grades')));
+    $ADMIN->add('grades', new admin_category('gradeimports', new lang_string('importsettings', 'grades')));
     foreach (get_plugin_list('gradeimport') as $plugin => $plugindir) {
 
      // Include all the settings commands for this plugin if there are any
         if (file_exists($plugindir.'/settings.php')) {
-            $settings = new admin_settingpage('gradeimport'.$plugin, get_string('pluginname', 'gradeimport_'.$plugin), 'moodle/grade:manage');
+            $settings = new admin_settingpage('gradeimport'.$plugin, new lang_string('pluginname', 'gradeimport_'.$plugin), 'moodle/grade:manage');
             include($plugindir.'/settings.php');
             if ($settings) {
                 $ADMIN->add('gradeimports', $settings);
@@ -199,11 +199,11 @@ if (has_capability('moodle/grade:manage', $systemcontext)
 
 
     // Exports
-    $ADMIN->add('grades', new admin_category('gradeexports', get_string('exportsettings', 'grades')));
+    $ADMIN->add('grades', new admin_category('gradeexports', new lang_string('exportsettings', 'grades')));
     foreach (get_plugin_list('gradeexport') as $plugin => $plugindir) {
      // Include all the settings commands for this plugin if there are any
         if (file_exists($plugindir.'/settings.php')) {
-            $settings = new admin_settingpage('gradeexport'.$plugin, get_string('pluginname', 'gradeexport_'.$plugin), 'moodle/grade:manage');
+            $settings = new admin_settingpage('gradeexport'.$plugin, new lang_string('pluginname', 'gradeexport_'.$plugin), 'moodle/grade:manage');
             include($plugindir.'/settings.php');
             if ($settings) {
                 $ADMIN->add('gradeexports', $settings);
index d3f1688..1477082 100644 (file)
@@ -5,15 +5,15 @@
 if ($hassiteconfig) {
 
     // "languageandlocation" settingpage
-    $temp = new admin_settingpage('langsettings', get_string('languagesettings', 'admin'));
-    $temp->add(new admin_setting_configcheckbox('autolang', get_string('autolang', 'admin'), get_string('configautolang', 'admin'), 1));
-    $temp->add(new admin_setting_configselect('lang', get_string('lang', 'admin'), get_string('configlang', 'admin'), current_language(), get_string_manager()->get_list_of_translations())); // $CFG->lang might be set in installer already, default en is in setup.php
-    $temp->add(new admin_setting_configcheckbox('langmenu', get_string('langmenu', 'admin'), get_string('configlangmenu', 'admin'), 1));
+    $temp = new admin_settingpage('langsettings', new lang_string('languagesettings', 'admin'));
+    $temp->add(new admin_setting_configcheckbox('autolang', new lang_string('autolang', 'admin'), new lang_string('configautolang', 'admin'), 1));
+    $temp->add(new admin_setting_configselect('lang', new lang_string('lang', 'admin'), new lang_string('configlang', 'admin'), current_language(), get_string_manager()->get_list_of_translations())); // $CFG->lang might be set in installer already, default en is in setup.php
+    $temp->add(new admin_setting_configcheckbox('langmenu', new lang_string('langmenu', 'admin'), new lang_string('configlangmenu', 'admin'), 1));
     $temp->add(new admin_setting_langlist());
-    $temp->add(new admin_setting_configcheckbox('langcache', get_string('langcache', 'admin'), get_string('langcache_desc', 'admin'), 1));
-    $temp->add(new admin_setting_configcheckbox('langstringcache', get_string('langstringcache', 'admin'), get_string('configlangstringcache', 'admin'), 1));
-    $temp->add(new admin_setting_configtext('locale', get_string('localetext', 'admin'), get_string('configlocale', 'admin'), '', PARAM_FILE));
-    $temp->add(new admin_setting_configselect('latinexcelexport', get_string('latinexcelexport', 'admin'), get_string('configlatinexcelexport', 'admin'), '0', array('0'=>'Unicode','1'=>'Latin')));
+    $temp->add(new admin_setting_configcheckbox('langcache', new lang_string('langcache', 'admin'), new lang_string('langcache_desc', 'admin'), 1));
+    $temp->add(new admin_setting_configcheckbox('langstringcache', new lang_string('langstringcache', 'admin'), new lang_string('configlangstringcache', 'admin'), 1));
+    $temp->add(new admin_setting_configtext('locale', new lang_string('localetext', 'admin'), new lang_string('configlocale', 'admin'), '', PARAM_FILE));
+    $temp->add(new admin_setting_configselect('latinexcelexport', new lang_string('latinexcelexport', 'admin'), new lang_string('configlatinexcelexport', 'admin'), '0', array('0'=>'Unicode','1'=>'Latin')));
 
     $ADMIN->add('language', $temp);
 
index 9a9be46..3d3ccb8 100644 (file)
@@ -3,20 +3,20 @@
 if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
 
     // "locations" settingpage
-    $temp = new admin_settingpage('locationsettings', get_string('locationsettings', 'admin'));
+    $temp = new admin_settingpage('locationsettings', new lang_string('locationsettings', 'admin'));
     $options = get_list_of_timezones();
-    $options[99] = get_string('serverlocaltime');
-    $temp->add(new admin_setting_configselect('timezone', get_string('timezone','admin'), get_string('configtimezone', 'admin'), 99, $options));
-    $options[99] = get_string('timezonenotforced', 'admin');
-    $temp->add(new admin_setting_configselect('forcetimezone', get_string('forcetimezone', 'admin'), get_string('helpforcetimezone', 'admin'), 99, $options));
-    $temp->add(new admin_settings_country_select('country', get_string('country', 'admin'), get_string('configcountry', 'admin'), 0));
-    $temp->add(new admin_setting_configtext('defaultcity', get_string('defaultcity', 'admin'), get_string('defaultcity_help', 'admin'), ''));
+    $options[99] = new lang_string('serverlocaltime');
+    $temp->add(new admin_setting_configselect('timezone', new lang_string('timezone','admin'), new lang_string('configtimezone', 'admin'), 99, $options));
+    $options[99] = new lang_string('timezonenotforced', 'admin');
+    $temp->add(new admin_setting_configselect('forcetimezone', new lang_string('forcetimezone', 'admin'), new lang_string('helpforcetimezone', 'admin'), 99, $options));
+    $temp->add(new admin_settings_country_select('country', new lang_string('country', 'admin'), new lang_string('configcountry', 'admin'), 0));
+    $temp->add(new admin_setting_configtext('defaultcity', new lang_string('defaultcity', 'admin'), new lang_string('defaultcity_help', 'admin'), ''));
 
-    $temp->add(new admin_setting_heading('iplookup', get_string('iplookup', 'admin'), get_string('iplookupinfo', 'admin')));
-    $temp->add(new admin_setting_configfile('geoipfile', get_string('geoipfile', 'admin'), get_string('configgeoipfile', 'admin', $CFG->dataroot.'/geoip/'), $CFG->dataroot.'/geoip/GeoLiteCity.dat'));
-    $temp->add(new admin_setting_configtext('googlemapkey', get_string('googlemapkey', 'admin'), get_string('configgooglemapkey', 'admin', $CFG->wwwroot), ''));
+    $temp->add(new admin_setting_heading('iplookup', new lang_string('iplookup', 'admin'), new lang_string('iplookupinfo', 'admin')));
+    $temp->add(new admin_setting_configfile('geoipfile', new lang_string('geoipfile', 'admin'), new lang_string('configgeoipfile', 'admin', $CFG->dataroot.'/geoip/'), $CFG->dataroot.'/geoip/GeoLiteCity.dat'));
+    $temp->add(new admin_setting_configtext('googlemapkey', new lang_string('googlemapkey', 'admin'), new lang_string('configgooglemapkey', 'admin', $CFG->wwwroot), ''));
 
-    $temp->add(new admin_setting_configtext('allcountrycodes', get_string('allcountrycodes', 'admin'), get_string('configallcountrycodes', 'admin'), '', '/^(?:\w+(?:,\w+)*)?$/'));
+    $temp->add(new admin_setting_configtext('allcountrycodes', new lang_string('allcountrycodes', 'admin'), new lang_string('configallcountrycodes', 'admin'), '', '/^(?:\w+(?:,\w+)*)?$/'));
 
     $ADMIN->add('location', $temp);
 
index dfbc57f..ed77e03 100644 (file)
@@ -4,18 +4,18 @@
 
 if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
 
-$ADMIN->add('mnet', new admin_externalpage('net', get_string('settings', 'mnet'),
+$ADMIN->add('mnet', new admin_externalpage('net', new lang_string('settings', 'mnet'),
                                            "$CFG->wwwroot/$CFG->admin/mnet/index.php",
                                            'moodle/site:config'));
 
 
 
-$ADMIN->add('mnet', new admin_externalpage('mnetpeers', get_string('managemnetpeers', 'mnet'),
+$ADMIN->add('mnet', new admin_externalpage('mnetpeers', new lang_string('managemnetpeers', 'mnet'),
                                            "$CFG->wwwroot/$CFG->admin/mnet/peers.php",
                                            'moodle/site:config'));
 
 
-$ADMIN->add('mnet', new admin_category('mnetpeercat', get_string('mnetpeers', 'mnet')));
+$ADMIN->add('mnet', new admin_category('mnetpeercat', new lang_string('mnetpeers', 'mnet')));
 
 if (isset($CFG->mnet_dispatcher_mode) and $CFG->mnet_dispatcher_mode !== 'off') {
     require_once($CFG->dirroot.'/mnet/lib.php');
@@ -23,7 +23,7 @@ if (isset($CFG->mnet_dispatcher_mode) and $CFG->mnet_dispatcher_mode !== 'off')
     $hosts = mnet_get_hosts();
     foreach ($hosts as $host) {
         if ($host->id == $CFG->mnet_all_hosts_id) {
-            $host->name = get_string('allhosts', 'core_mnet');
+            $host->name = new lang_string('allhosts', 'core_mnet');
         }
         $ADMIN->add('mnetpeercat',
             new admin_externalpage(
@@ -36,26 +36,26 @@ if (isset($CFG->mnet_dispatcher_mode) and $CFG->mnet_dispatcher_mode !== 'off')
     }
 }
 
-$ADMIN->add('mnet', new admin_externalpage('ssoaccesscontrol', get_string('ssoaccesscontrol', 'mnet'),
+$ADMIN->add('mnet', new admin_externalpage('ssoaccesscontrol', new lang_string('ssoaccesscontrol', 'mnet'),
                                            "$CFG->wwwroot/$CFG->admin/mnet/access_control.php",
                                            'moodle/site:config'));
-$ADMIN->add('mnet', new admin_externalpage('mnetenrol', get_string('clientname', 'mnetservice_enrol'),
+$ADMIN->add('mnet', new admin_externalpage('mnetenrol', new lang_string('clientname', 'mnetservice_enrol'),
                                            "$CFG->wwwroot/mnet/service/enrol/index.php",
                                            'moodle/site:config'));
-$ADMIN->add('mnet', new admin_externalpage('trustedhosts', get_string('trustedhosts', 'mnet'),
+$ADMIN->add('mnet', new admin_externalpage('trustedhosts', new lang_string('trustedhosts', 'mnet'),
                                            "$CFG->wwwroot/$CFG->admin/mnet/trustedhosts.php",
                                            'moodle/site:config'));
 
 if (isset($CFG->mnet_dispatcher_mode) and $CFG->mnet_dispatcher_mode !== 'off') {
-    $profilefields = new admin_settingpage('mnetprofilefields', get_string('profilefields', 'mnet'),
+    $profilefields = new admin_settingpage('mnetprofilefields', new lang_string('profilefields', 'mnet'),
                                                'moodle/site:config');
     $ADMIN->add('mnet', $profilefields);
 
     $fields = mnet_profile_field_options();
     $forced = implode(', ', $fields['forced']);
 
-    $profilefields->add(new admin_setting_configmultiselect('mnetprofileexportfields', get_string('profileexportfields', 'mnet'), get_string('profilefielddesc', 'mnet', $forced), $fields['legacy'], $fields['optional']));
-    $profilefields->add(new admin_setting_configmultiselect('mnetprofileimportfields', get_string('profileimportfields', 'mnet'), get_string('profilefielddesc', 'mnet', $forced), $fields['legacy'], $fields['optional']));
+    $profilefields->add(new admin_setting_configmultiselect('mnetprofileexportfields', new lang_string('profileexportfields', 'mnet'), new lang_string('profilefielddesc', 'mnet', $forced), $fields['legacy'], $fields['optional']));
+    $profilefields->add(new admin_setting_configmultiselect('mnetprofileimportfields', new lang_string('profileimportfields', 'mnet'), new lang_string('profilefielddesc', 'mnet', $forced), $fields['legacy'], $fields['optional']));
 }
 
 
index 15bac9d..6ed9402 100644 (file)
@@ -6,7 +6,7 @@
 
 if ($hassiteconfig) {
     $ADMIN->add('modules', new admin_page_pluginsoverview());
-    $ADMIN->add('modules', new admin_category('modsettings', get_string('activitymodules')));
+    $ADMIN->add('modules', new admin_category('modsettings', new lang_string('activitymodules')));
     $ADMIN->add('modsettings', new admin_page_managemods());
     $modules = $DB->get_records('modules', array(), "name ASC");
     foreach ($modules as $module) {
@@ -14,7 +14,7 @@ if ($hassiteconfig) {
         if (!file_exists("$CFG->dirroot/mod/$modulename/lib.php")) {
             continue;
         }
-        $strmodulename = get_string('modulename', 'mod_'.$modulename);
+        $strmodulename = new lang_string('modulename', 'mod_'.$modulename);
         if (file_exists($CFG->dirroot.'/mod/'.$modulename.'/settings.php')) {
             // do not show disabled modules in tree, keep only settings link on manage page
             $settings = new admin_settingpage('modsetting'.$modulename, $strmodulename, 'moodle/site:config', !$module->visible);
@@ -28,7 +28,7 @@ if ($hassiteconfig) {
     // hidden script for converting journals to online assignments (or something like that) linked from elsewhere
     $ADMIN->add('modsettings', new admin_externalpage('oacleanup', 'Online Assignment Cleanup', $CFG->wwwroot.'/'.$CFG->admin.'/oacleanup.php', 'moodle/site:config', true));
 
-    $ADMIN->add('modules', new admin_category('blocksettings', get_string('blocks')));
+    $ADMIN->add('modules', new admin_category('blocksettings', new lang_string('blocks')));
     $ADMIN->add('blocksettings', new admin_page_manageblocks());
     $blocks = $DB->get_records('block', array(), "name ASC");
     foreach ($blocks as $block) {
@@ -36,7 +36,7 @@ if ($hassiteconfig) {
         if (!file_exists("$CFG->dirroot/blocks/$blockname/block_$blockname.php")) {
             continue;
         }
-        $strblockname = get_string('pluginname', 'block_'.$blockname);
+        $strblockname = new lang_string('pluginname', 'block_'.$blockname);
         if (file_exists($CFG->dirroot.'/blocks/'.$blockname.'/settings.php')) {
             $settings = new admin_settingpage('blocksetting'.$blockname, $strblockname, 'moodle/site:config', !$block->visible);
             include($CFG->dirroot.'/blocks/'.$blockname.'/settings.php');
@@ -47,7 +47,7 @@ if ($hassiteconfig) {
     }
 
     // message outputs
-    $ADMIN->add('modules', new admin_category('messageoutputs', get_string('messageoutputs', 'message')));
+    $ADMIN->add('modules', new admin_category('messageoutputs', new lang_string('messageoutputs', 'message')));
     $ADMIN->add('messageoutputs', new admin_page_managemessageoutputs());
     $ADMIN->add('messageoutputs', new admin_page_defaultmessageoutputs());
     require_once($CFG->dirroot.'/message/lib.php');
@@ -58,7 +58,7 @@ if ($hassiteconfig) {
             continue;
         }
         if ($processor->hassettings) {
-            $strprocessorname = get_string('pluginname', 'message_'.$processorname);
+            $strprocessorname = new lang_string('pluginname', 'message_'.$processorname);
             $settings = new admin_settingpage('messagesetting'.$processorname, $strprocessorname, 'moodle/site:config', !$processor->enabled);
             include($CFG->dirroot.'/message/output/'.$processor->name.'/settings.php');
             if ($settings) {
@@ -68,35 +68,35 @@ if ($hassiteconfig) {
     }
 
     // authentication plugins
-    $ADMIN->add('modules', new admin_category('authsettings', get_string('authentication', 'admin')));
+    $ADMIN->add('modules', new admin_category('authsettings', new lang_string('authentication', 'admin')));
 
-    $temp = new admin_settingpage('manageauths', get_string('authsettings', 'admin'));
+    $temp = new admin_settingpage('manageauths', new lang_string('authsettings', 'admin'));
     $temp->add(new admin_setting_manageauths());
-    $temp->add(new admin_setting_heading('manageauthscommonheading', get_string('commonsettings', 'admin'), ''));
+    $temp->add(new admin_setting_heading('manageauthscommonheading', new lang_string('commonsettings', 'admin'), ''));
     $temp->add(new admin_setting_special_registerauth());
-    $temp->add(new admin_setting_configcheckbox('authpreventaccountcreation', get_string('authpreventaccountcreation', 'admin'), get_string('authpreventaccountcreation_help', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('loginpageautofocus', get_string('loginpageautofocus', 'admin'), get_string('loginpageautofocus_help', 'admin'), 0));
-    $temp->add(new admin_setting_configselect('guestloginbutton', get_string('guestloginbutton', 'auth'),
-                                              get_string('showguestlogin', 'auth'), '1', array('0'=>get_string('hide'), '1'=>get_string('show'))));
-    $temp->add(new admin_setting_configtext('alternateloginurl', get_string('alternateloginurl', 'auth'),
-                                            get_string('alternatelogin', 'auth', htmlspecialchars(get_login_url())), ''));
-    $temp->add(new admin_setting_configtext('forgottenpasswordurl', get_string('forgottenpasswordurl', 'auth'),
-                                            get_string('forgottenpassword', 'auth'), ''));
-    $temp->add(new admin_setting_confightmleditor('auth_instructions', get_string('instructions', 'auth'),
-                                                get_string('authinstructions', 'auth'), ''));
-    $temp->add(new admin_setting_configtext('allowemailaddresses', get_string('allowemailaddresses', 'admin'), get_string('configallowemailaddresses', 'admin'), '', PARAM_NOTAGS));
-    $temp->add(new admin_setting_configtext('denyemailaddresses', get_string('denyemailaddresses', 'admin'), get_string('configdenyemailaddresses', 'admin'), '', PARAM_NOTAGS));
-    $temp->add(new admin_setting_configcheckbox('verifychangedemail', get_string('verifychangedemail', 'admin'), get_string('configverifychangedemail', 'admin'), 1));
-
-    $temp->add(new admin_setting_configtext('recaptchapublickey', get_string('recaptchapublickey', 'admin'), get_string('configrecaptchapublickey', 'admin'), '', PARAM_NOTAGS));
-    $temp->add(new admin_setting_configtext('recaptchaprivatekey', get_string('recaptchaprivatekey', 'admin'), get_string('configrecaptchaprivatekey', 'admin'), '', PARAM_NOTAGS));
+    $temp->add(new admin_setting_configcheckbox('authpreventaccountcreation', new lang_string('authpreventaccountcreation', 'admin'), new lang_string('authpreventaccountcreation_help', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('loginpageautofocus', new lang_string('loginpageautofocus', 'admin'), new lang_string('loginpageautofocus_help', 'admin'), 0));
+    $temp->add(new admin_setting_configselect('guestloginbutton', new lang_string('guestloginbutton', 'auth'),
+                                              new lang_string('showguestlogin', 'auth'), '1', array('0'=>new lang_string('hide'), '1'=>new lang_string('show'))));
+    $temp->add(new admin_setting_configtext('alternateloginurl', new lang_string('alternateloginurl', 'auth'),
+                                            new lang_string('alternatelogin', 'auth', htmlspecialchars(get_login_url())), ''));
+    $temp->add(new admin_setting_configtext('forgottenpasswordurl', new lang_string('forgottenpasswordurl', 'auth'),
+                                            new lang_string('forgottenpassword', 'auth'), ''));
+    $temp->add(new admin_setting_confightmleditor('auth_instructions', new lang_string('instructions', 'auth'),
+                                                new lang_string('authinstructions', 'auth'), ''));
+    $temp->add(new admin_setting_configtext('allowemailaddresses', new lang_string('allowemailaddresses', 'admin'), new lang_string('configallowemailaddresses', 'admin'), '', PARAM_NOTAGS));
+    $temp->add(new admin_setting_configtext('denyemailaddresses', new lang_string('denyemailaddresses', 'admin'), new lang_string('configdenyemailaddresses', 'admin'), '', PARAM_NOTAGS));
+    $temp->add(new admin_setting_configcheckbox('verifychangedemail', new lang_string('verifychangedemail', 'admin'), new lang_string('configverifychangedemail', 'admin'), 1));
+
+    $temp->add(new admin_setting_configtext('recaptchapublickey', new lang_string('recaptchapublickey', 'admin'), new lang_string('configrecaptchapublickey', 'admin'), '', PARAM_NOTAGS));
+    $temp->add(new admin_setting_configtext('recaptchaprivatekey', new lang_string('recaptchaprivatekey', 'admin'), new lang_string('configrecaptchaprivatekey', 'admin'), '', PARAM_NOTAGS));
     $ADMIN->add('authsettings', $temp);
 
 
     $auths = get_plugin_list('auth');
     $authsenabled = get_enabled_auth_plugins();
     foreach ($auths as $authname => $authdir) {
-        $strauthname = get_string('pluginname', "auth_{$authname}");
+        $strauthname = new lang_string('pluginname', "auth_{$authname}");
         // do not show disabled auths in tree, keep only settings link on manage page
         $enabled = in_array($authname, $authsenabled);
         if (file_exists($authdir.'/settings.php')) {
@@ -114,8 +114,8 @@ if ($hassiteconfig) {
 
 
     // Enrolment plugins
-    $ADMIN->add('modules', new admin_category('enrolments', get_string('enrolments', 'enrol')));
-    $temp = new admin_settingpage('manageenrols', get_string('manageenrols', 'enrol'));
+    $ADMIN->add('modules', new admin_category('enrolments', new lang_string('enrolments', 'enrol')));
+    $temp = new admin_settingpage('manageenrols', new lang_string('manageenrols', 'enrol'));
     $temp->add(new admin_setting_manageenrols());
     if (empty($CFG->enrol_plugins_enabled)) {
         $enabled = array();
@@ -129,7 +129,7 @@ if ($hassiteconfig) {
             continue;
         }
 
-        $settings = new admin_settingpage('enrolsettings'.$enrol, get_string('pluginname', 'enrol_'.$enrol), 'moodle/site:config', !in_array($enrol, $enabled));
+        $settings = new admin_settingpage('enrolsettings'.$enrol, new lang_string('pluginname', 'enrol_'.$enrol), 'moodle/site:config', !in_array($enrol, $enabled));
         // settings.php may create a subcategory or unset the settings completely
         include("$enrolpath/settings.php");
         if ($settings) {
@@ -142,8 +142,8 @@ if ($hassiteconfig) {
 
 
 /// Editor plugins
-    $ADMIN->add('modules', new admin_category('editorsettings', get_string('editors', 'editor')));
-    $temp = new admin_settingpage('manageeditors', get_string('editorsettings', 'editor'));
+    $ADMIN->add('modules', new admin_category('editorsettings', new lang_string('editors', 'editor')));
+    $temp = new admin_settingpage('manageeditors', new lang_string('editorsettings', 'editor'));
     $temp->add(new admin_setting_manageeditors());
     $htmleditors = editors_get_available();
     $ADMIN->add('editorsettings', $temp);
@@ -151,7 +151,7 @@ if ($hassiteconfig) {
     $editors_available = editors_get_available();
     foreach ($editors_available as $editor=>$editorstr) {
         if (file_exists($CFG->dirroot . '/lib/editor/'.$editor.'/settings.php')) {
-            $settings = new admin_settingpage('editorsettings'.$editor, get_string('pluginname', 'editor_'.$editor), 'moodle/site:config');
+            $settings = new admin_settingpage('editorsettings'.$editor, new lang_string('pluginname', 'editor_'.$editor), 'moodle/site:config');
             // settings.php may create a subcategory or unset the settings completely
             include($CFG->dirroot . '/lib/editor/'.$editor.'/settings.php');
             if ($settings) {
@@ -161,56 +161,56 @@ if ($hassiteconfig) {
     }
 
 /// License types
-    $ADMIN->add('modules', new admin_category('licensesettings', get_string('licenses')));
-    $temp = new admin_settingpage('managelicenses', get_string('managelicenses', 'admin'));
+    $ADMIN->add('modules', new admin_category('licensesettings', new lang_string('licenses')));
+    $temp = new admin_settingpage('managelicenses', new lang_string('managelicenses', 'admin'));
 
     require_once($CFG->libdir . '/licenselib.php');
     $licenses = array();
     $array = explode(',', $CFG->licenses);
     foreach ($array as $value) {
-        $licenses[$value] = get_string($value, 'license');
+        $licenses[$value] = new lang_string($value, 'license');
     }
-    $temp->add(new admin_setting_configselect('sitedefaultlicense', get_string('configsitedefaultlicense','admin'), get_string('configsitedefaultlicensehelp','admin'), 'allrightsreserved', $licenses));
+    $temp->add(new admin_setting_configselect('sitedefaultlicense', new lang_string('configsitedefaultlicense','admin'), new lang_string('configsitedefaultlicensehelp','admin'), 'allrightsreserved', $licenses));
     $temp->add(new admin_setting_managelicenses());
     $ADMIN->add('licensesettings', $temp);
 
 /// Filter plugins
-    $ADMIN->add('modules', new admin_category('filtersettings', get_string('managefilters')));
+    $ADMIN->add('modules', new admin_category('filtersettings', new lang_string('managefilters')));
 
     $ADMIN->add('filtersettings', new admin_page_managefilters());
 
     // "filtersettings" settingpage
-    $temp = new admin_settingpage('commonfiltersettings', get_string('commonfiltersettings', 'admin'));
+    $temp = new admin_settingpage('commonfiltersettings', new lang_string('commonfiltersettings', 'admin'));
     if ($ADMIN->fulltree) {
         $cachetimes = array(
-            604800 => get_string('numdays','',7),
-            86400 => get_string('numdays','',1),
-            43200 => get_string('numhours','',12),
-            10800 => get_string('numhours','',3),
-            7200 => get_string('numhours','',2),
-            3600 => get_string('numhours','',1),
-            2700 => get_string('numminutes','',45),
-            1800 => get_string('numminutes','',30),
-            900 => get_string('numminutes','',15),
-            600 => get_string('numminutes','',10),
-            540 => get_string('numminutes','',9),
-            480 => get_string('numminutes','',8),
-            420 => get_string('numminutes','',7),
-            360 => get_string('numminutes','',6),
-            300 => get_string('numminutes','',5),
-            240 => get_string('numminutes','',4),
-            180 => get_string('numminutes','',3),
-            120 => get_string('numminutes','',2),
-            60 => get_string('numminutes','',1),
-            30 => get_string('numseconds','',30),
-            0 => get_string('no')
+            604800 => new lang_string('numdays','',7),
+            86400 => new lang_string('numdays','',1),
+            43200 => new lang_string('numhours','',12),
+            10800 => new lang_string('numhours','',3),
+            7200 => new lang_string('numhours','',2),
+            3600 => new lang_string('numhours','',1),
+            2700 => new lang_string('numminutes','',45),
+            1800 => new lang_string('numminutes','',30),
+            900 => new lang_string('numminutes','',15),
+            600 => new lang_string('numminutes','',10),
+            540 => new lang_string('numminutes','',9),
+            480 => new lang_string('numminutes','',8),
+            420 => new lang_string('numminutes','',7),
+            360 => new lang_string('numminutes','',6),
+            300 => new lang_string('numminutes','',5),
+            240 => new lang_string('numminutes','',4),
+            180 => new lang_string('numminutes','',3),
+            120 => new lang_string('numminutes','',2),
+            60 => new lang_string('numminutes','',1),
+            30 => new lang_string('numseconds','',30),
+            0 => new lang_string('no')
         );
         $items = array();
-        $items[] = new admin_setting_configselect('cachetext', get_string('cachetext', 'admin'), get_string('configcachetext', 'admin'), 60, $cachetimes);
-        $items[] = new admin_setting_configselect('filteruploadedfiles', get_string('filteruploadedfiles', 'admin'), get_string('configfilteruploadedfiles', 'admin'), 0,
-                array('0' => get_string('none'), '1' => get_string('allfiles'), '2' => get_string('htmlfilesonly')));
-        $items[] = new admin_setting_configcheckbox('filtermatchoneperpage', get_string('filtermatchoneperpage', 'admin'), get_string('configfiltermatchoneperpage', 'admin'), 0);
-        $items[] = new admin_setting_configcheckbox('filtermatchonepertext', get_string('filtermatchonepertext', 'admin'), get_string('configfiltermatchonepertext', 'admin'), 0);
+        $items[] = new admin_setting_configselect('cachetext', new lang_string('cachetext', 'admin'), new lang_string('configcachetext', 'admin'), 60, $cachetimes);
+        $items[] = new admin_setting_configselect('filteruploadedfiles', new lang_string('filteruploadedfiles', 'admin'), new lang_string('configfilteruploadedfiles', 'admin'), 0,
+                array('0' => new lang_string('none'), '1' => new lang_string('allfiles'), '2' => new lang_string('htmlfilesonly')));
+        $items[] = new admin_setting_configcheckbox('filtermatchoneperpage', new lang_string('filtermatchoneperpage', 'admin'), new lang_string('configfiltermatchoneperpage', 'admin'), 0);
+        $items[] = new admin_setting_configcheckbox('filtermatchonepertext', new lang_string('filtermatchonepertext', 'admin'), new lang_string('configfiltermatchonepertext', 'admin'), 0);
         foreach ($items as $item) {
             $item->set_updatedcallback('reset_text_filters_cache');
             $temp->add($item);
@@ -234,8 +234,8 @@ if ($hassiteconfig) {
 
     //== Portfolio settings ==
     require_once($CFG->libdir. '/portfoliolib.php');
-    $catname = get_string('portfolios', 'portfolio');
-    $manage = get_string('manageportfolios', 'portfolio');
+    $catname = new lang_string('portfolios', 'portfolio');
+    $manage = new lang_string('manageportfolios', 'portfolio');
     $url = "$CFG->wwwroot/$CFG->admin/portfolio.php";
 
     $ADMIN->add('modules', new admin_category('portfoliosettings', $catname, empty($CFG->enableportfolios)));
@@ -245,37 +245,37 @@ if ($hassiteconfig) {
     $ADMIN->add('portfoliosettings', $temp);
 
     // Add common settings page
-    $temp = new admin_settingpage('manageportfolioscommon', get_string('commonportfoliosettings', 'portfolio'));
-    $temp->add(new admin_setting_heading('manageportfolioscommon', '', get_string('commonsettingsdesc', 'portfolio')));
+    $temp = new admin_settingpage('manageportfolioscommon', new lang_string('commonportfoliosettings', 'portfolio'));
+    $temp->add(new admin_setting_heading('manageportfolioscommon', '', new lang_string('commonsettingsdesc', 'portfolio')));
     $fileinfo = portfolio_filesize_info(); // make sure this is defined in one place since its used inside portfolio too to detect insane settings
     $fileoptions = $fileinfo['options'];
     $temp->add(new admin_setting_configselect(
         'portfolio_moderate_filesize_threshold',
-        get_string('moderatefilesizethreshold', 'portfolio'),
-        get_string('moderatefilesizethresholddesc', 'portfolio'),
+        new lang_string('moderatefilesizethreshold', 'portfolio'),
+        new lang_string('moderatefilesizethresholddesc', 'portfolio'),
         $fileinfo['moderate'], $fileoptions));
     $temp->add(new admin_setting_configselect(
         'portfolio_high_filesize_threshold',
-        get_string('highfilesizethreshold', 'portfolio'),
-        get_string('highfilesizethresholddesc', 'portfolio'),
+        new lang_string('highfilesizethreshold', 'portfolio'),
+        new lang_string('highfilesizethresholddesc', 'portfolio'),
         $fileinfo['high'], $fileoptions));
 
     $temp->add(new admin_setting_configtext(
         'portfolio_moderate_db_threshold',
-        get_string('moderatedbsizethreshold', 'portfolio'),
-        get_string('moderatedbsizethresholddesc', 'portfolio'),
+        new lang_string('moderatedbsizethreshold', 'portfolio'),
+        new lang_string('moderatedbsizethresholddesc', 'portfolio'),
         20, PARAM_INTEGER, 3));
 
     $temp->add(new admin_setting_configtext(
         'portfolio_high_db_threshold',
-        get_string('highdbsizethreshold', 'portfolio'),
-        get_string('highdbsizethresholddesc', 'portfolio'),
+        new lang_string('highdbsizethreshold', 'portfolio'),
+        new lang_string('highdbsizethresholddesc', 'portfolio'),
         50, PARAM_INTEGER, 3));
 
     $ADMIN->add('portfoliosettings', $temp);
-    $ADMIN->add('portfoliosettings', new admin_externalpage('portfolionew', get_string('addnewportfolio', 'portfolio'), $url, 'moodle/site:config', true), '', $url);
-    $ADMIN->add('portfoliosettings', new admin_externalpage('portfoliodelete', get_string('deleteportfolio', 'portfolio'), $url, 'moodle/site:config', true), '', $url);
-    $ADMIN->add('portfoliosettings', new admin_externalpage('portfoliocontroller', get_string('manageportfolios', 'portfolio'), $url, 'moodle/site:config', true), '', $url);
+    $ADMIN->add('portfoliosettings', new admin_externalpage('portfolionew', new lang_string('addnewportfolio', 'portfolio'), $url, 'moodle/site:config', true), '', $url);
+    $ADMIN->add('portfoliosettings', new admin_externalpage('portfoliodelete', new lang_string('deleteportfolio', 'portfolio'), $url, 'moodle/site:config', true), '', $url);
+    $ADMIN->add('portfoliosettings', new admin_externalpage('portfoliocontroller', new lang_string('manageportfolios', 'portfolio'), $url, 'moodle/site:config', true), '', $url);
 
     foreach (portfolio_instances(false, false) as $portfolio) {
         require_once($CFG->dirroot . '/portfolio/' . $portfolio->get('plugin') . '/lib.php');
@@ -295,8 +295,8 @@ if ($hassiteconfig) {
 
     // repository setting
     require_once("$CFG->dirroot/repository/lib.php");
-    $catname =get_string('repositories', 'repository');
-    $managerepo = get_string('manage', 'repository');
+    $catname =new lang_string('repositories', 'repository');
+    $managerepo = new lang_string('manage', 'repository');
     $url = $CFG->wwwroot.'/'.$CFG->admin.'/repository.php';
     $ADMIN->add('modules', new admin_category('repositorysettings', $catname));
 
@@ -305,25 +305,25 @@ if ($hassiteconfig) {
     $ADMIN->add('repositorysettings', $temp);
 
     // Add common settings page
-    $temp = new admin_settingpage('managerepositoriescommon', get_string('commonrepositorysettings', 'repository'));
-    $temp->add(new admin_setting_configtext('repositorycacheexpire', get_string('cacheexpire', 'repository'), get_string('configcacheexpire', 'repository'), 120));
-    $temp->add(new admin_setting_configcheckbox('repositoryallowexternallinks', get_string('allowexternallinks', 'repository'), get_string('configallowexternallinks', 'repository'), 1));
-    $temp->add(new admin_setting_configcheckbox('legacyfilesinnewcourses', get_string('legacyfilesinnewcourses', 'admin'), get_string('legacyfilesinnewcourses_help', 'admin'), 0));
+    $temp = new admin_settingpage('managerepositoriescommon', new lang_string('commonrepositorysettings', 'repository'));
+    $temp->add(new admin_setting_configtext('repositorycacheexpire', new lang_string('cacheexpire', 'repository'), new lang_string('configcacheexpire', 'repository'), 120));
+    $temp->add(new admin_setting_configcheckbox('repositoryallowexternallinks', new lang_string('allowexternallinks', 'repository'), new lang_string('configallowexternallinks', 'repository'), 1));
+    $temp->add(new admin_setting_configcheckbox('legacyfilesinnewcourses', new lang_string('legacyfilesinnewcourses', 'admin'), new lang_string('legacyfilesinnewcourses_help', 'admin'), 0));
     $ADMIN->add('repositorysettings', $temp);
     $ADMIN->add('repositorysettings', new admin_externalpage('repositorynew',
-        get_string('addplugin', 'repository'), $url, 'moodle/site:config', true),
+        new lang_string('addplugin', 'repository'), $url, 'moodle/site:config', true),
         '', $url);
     $ADMIN->add('repositorysettings', new admin_externalpage('repositorydelete',
-        get_string('deleterepository', 'repository'), $url, 'moodle/site:config', true),
+        new lang_string('deleterepository', 'repository'), $url, 'moodle/site:config', true),
         '', $url);
     $ADMIN->add('repositorysettings', new admin_externalpage('repositorycontroller',
-        get_string('manage', 'repository'), $url, 'moodle/site:config', true),
+        new lang_string('manage', 'repository'), $url, 'moodle/site:config', true),
         '', $url);
     $ADMIN->add('repositorysettings', new admin_externalpage('repositoryinstancenew',
-        get_string('createrepository', 'repository'), $url, 'moodle/site:config', true),
+        new lang_string('createrepository', 'repository'), $url, 'moodle/site:config', true),
         '', $url);
     $ADMIN->add('repositorysettings', new admin_externalpage('repositoryinstanceedit',
-        get_string('editrepositoryinstance', 'repository'), $url, 'moodle/site:config', true),
+        new lang_string('editrepositoryinstance', 'repository'), $url, 'moodle/site:config', true),
         '', $url);
     foreach (repository::get_types() as $repositorytype) {
       //display setup page for plugins with: general options or multiple instances (e.g. has instance config)
@@ -340,46 +340,46 @@ if ($hassiteconfig) {
 }
 
 /// Web services
-    $ADMIN->add('modules', new admin_category('webservicesettings', get_string('webservices', 'webservice')));
+    $ADMIN->add('modules', new admin_category('webservicesettings', new lang_string('webservices', 'webservice')));
     /// overview page
-    $temp = new admin_settingpage('webservicesoverview', get_string('webservicesoverview', 'webservice'));
+    $temp = new admin_settingpage('webservicesoverview', new lang_string('webservicesoverview', 'webservice'));
     $temp->add(new admin_setting_webservicesoverview());
     $ADMIN->add('webservicesettings', $temp);
     //API documentation
-    $ADMIN->add('webservicesettings', new admin_externalpage('webservicedocumentation', get_string('wsdocapi', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/documentation.php", 'moodle/site:config', false));
+    $ADMIN->add('webservicesettings', new admin_externalpage('webservicedocumentation', new lang_string('wsdocapi', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/documentation.php", 'moodle/site:config', false));
     /// manage service
-    $temp = new admin_settingpage('externalservices', get_string('externalservices', 'webservice'));
+    $temp = new admin_settingpage('externalservices', new lang_string('externalservices', 'webservice'));
     $enablemobiledocurl = new moodle_url(get_docs_url('Enable_mobile_web_services'));
-    $enablemobiledoclink = html_writer::link($enablemobiledocurl, get_string('documentation'));
-    $temp->add(new admin_setting_enablemobileservice('enablemobilewebservice', get_string('enablemobilewebservice', 'admin'), get_string('configenablemobilewebservice', 'admin', $enablemobiledoclink), 0));
-    $temp->add(new admin_setting_heading('manageserviceshelpexplaination', get_string('information', 'webservice'), get_string('servicehelpexplanation', 'webservice')));
+    $enablemobiledoclink = html_writer::link($enablemobiledocurl, new lang_string('documentation'));
+    $temp->add(new admin_setting_enablemobileservice('enablemobilewebservice', new lang_string('enablemobilewebservice', 'admin'), new lang_string('configenablemobilewebservice', 'admin', $enablemobiledoclink), 0));
+    $temp->add(new admin_setting_heading('manageserviceshelpexplaination', new lang_string('information', 'webservice'), new lang_string('servicehelpexplanation', 'webservice')));
     $temp->add(new admin_setting_manageexternalservices());
     $ADMIN->add('webservicesettings', $temp);
-    $ADMIN->add('webservicesettings', new admin_externalpage('externalservice', get_string('editaservice', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/service.php", 'moodle/site:config', true));
-    $ADMIN->add('webservicesettings', new admin_externalpage('externalservicefunctions', get_string('externalservicefunctions', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/service_functions.php", 'moodle/site:config', true));
-    $ADMIN->add('webservicesettings', new admin_externalpage('externalserviceusers', get_string('externalserviceusers', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/service_users.php", 'moodle/site:config', true));
-    $ADMIN->add('webservicesettings', new admin_externalpage('externalserviceusersettings', get_string('serviceusersettings', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/service_user_settings.php", 'moodle/site:config', true));
+    $ADMIN->add('webservicesettings', new admin_externalpage('externalservice', new lang_string('editaservice', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/service.php", 'moodle/site:config', true));
+    $ADMIN->add('webservicesettings', new admin_externalpage('externalservicefunctions', new lang_string('externalservicefunctions', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/service_functions.php", 'moodle/site:config', true));
+    $ADMIN->add('webservicesettings', new admin_externalpage('externalserviceusers', new lang_string('externalserviceusers', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/service_users.php", 'moodle/site:config', true));
+    $ADMIN->add('webservicesettings', new admin_externalpage('externalserviceusersettings', new lang_string('serviceusersettings', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/service_user_settings.php", 'moodle/site:config', true));
     /// manage protocol page link
-    $temp = new admin_settingpage('webserviceprotocols', get_string('manageprotocols', 'webservice'));
+    $temp = new admin_settingpage('webserviceprotocols', new lang_string('manageprotocols', 'webservice'));
     $temp->add(new admin_setting_managewebserviceprotocols());
     if (empty($CFG->enablewebservices)) {
-        $temp->add(new admin_setting_heading('webservicesaredisabled', '', get_string('disabledwarning', 'webservice')));
+        $temp->add(new admin_setting_heading('webservicesaredisabled', '', new lang_string('disabledwarning', 'webservice')));
     }
 
     // We cannot use $OUTPUT this early, doing so means that we lose the ability
     // to set the page layout on all admin pages.
     // $wsdoclink = $OUTPUT->doc_link('How_to_get_a_security_key');
     $url = new moodle_url(get_docs_url('How_to_get_a_security_key'));
-    $wsdoclink = html_writer::tag('a', get_string('supplyinfo'),array('href'=>$url));
-    $temp->add(new admin_setting_configcheckbox('enablewsdocumentation', get_string('enablewsdocumentation',
-                        'admin'), get_string('configenablewsdocumentation', 'admin', $wsdoclink), false));
+    $wsdoclink = html_writer::tag('a', new lang_string('supplyinfo'),array('href'=>$url));
+    $temp->add(new admin_setting_configcheckbox('enablewsdocumentation', new lang_string('enablewsdocumentation',
+                        'admin'), new lang_string('configenablewsdocumentation', 'admin', $wsdoclink), false));
     $ADMIN->add('webservicesettings', $temp);
     /// links to protocol pages
     $webservices_available = get_plugin_list('webservice');
     $active_webservices = empty($CFG->webserviceprotocols) ? array() : explode(',', $CFG->webserviceprotocols);
     foreach ($webservices_available as $webservice => $location) {
         if (file_exists("$location/settings.php")) {
-            $name = get_string('pluginname', 'webservice_'.$webservice);
+            $name = new lang_string('pluginname', 'webservice_'.$webservice);
             $settings = new admin_settingpage('webservicesetting'.$webservice, $name, 'moodle/site:config', !in_array($webservice, $active_webservices) or empty($CFG->enablewebservices));
             include("$location/settings.php");
             if ($settings) {
@@ -388,29 +388,29 @@ if ($hassiteconfig) {
         }
     }
     /// manage token page link
-    $ADMIN->add('webservicesettings', new admin_externalpage('addwebservicetoken', get_string('managetokens', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/tokens.php", 'moodle/site:config', true));
-    $temp = new admin_settingpage('webservicetokens', get_string('managetokens', 'webservice'));
+    $ADMIN->add('webservicesettings', new admin_externalpage('addwebservicetoken', new lang_string('managetokens', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/tokens.php", 'moodle/site:config', true));
+    $temp = new admin_settingpage('webservicetokens', new lang_string('managetokens', 'webservice'));
     $temp->add(new admin_setting_managewebservicetokens());
     if (empty($CFG->enablewebservices)) {
-        $temp->add(new admin_setting_heading('webservicesaredisabled', '', get_string('disabledwarning', 'webservice')));
+        $temp->add(new admin_setting_heading('webservicesaredisabled', '', new lang_string('disabledwarning', 'webservice')));
     }
     $ADMIN->add('webservicesettings', $temp);
 
 // Question type settings
 if ($hassiteconfig || has_capability('moodle/question:config', $systemcontext)) {
     // Question behaviour settings.
-    $ADMIN->add('modules', new admin_category('qbehavioursettings', get_string('questionbehaviours', 'admin')));
+    $ADMIN->add('modules', new admin_category('qbehavioursettings', new lang_string('questionbehaviours', 'admin')));
     $ADMIN->add('qbehavioursettings', new admin_page_manageqbehaviours());
 
     // Question type settings.
-    $ADMIN->add('modules', new admin_category('qtypesettings', get_string('questiontypes', 'admin')));
+    $ADMIN->add('modules', new admin_category('qtypesettings', new lang_string('questiontypes', 'admin')));
     $ADMIN->add('qtypesettings', new admin_page_manageqtypes());
     $qtypes = get_plugin_list('qtype');
     foreach ($qtypes as $qtype => $path) {
         $settingsfile = $path . '/settings.php';
         if (file_exists($settingsfile)) {
             $settings = new admin_settingpage('qtypesetting' . $qtype,
-                    get_string('pluginname', 'qtype_' . $qtype), 'moodle/question:config');
+                    new lang_string('pluginname', 'qtype_' . $qtype), 'moodle/question:config');
             include($settingsfile);
             if ($settings) {
                 $ADMIN->add('qtypesettings', $settings);
@@ -421,17 +421,17 @@ if ($hassiteconfig || has_capability('moodle/question:config', $systemcontext))
 
 // Plagiarism plugin settings
 if ($hassiteconfig && !empty($CFG->enableplagiarism)) {
-    $ADMIN->add('modules', new admin_category('plagiarism', get_string('plagiarism', 'plagiarism')));
-    $temp = new admin_settingpage('plagiarismsettings', get_string('plagiarismsettings', 'plagiarism'));
+    $ADMIN->add('modules', new admin_category('plagiarism', new lang_string('plagiarism', 'plagiarism')));
+    $temp = new admin_settingpage('plagiarismsettings', new lang_string('plagiarismsettings', 'plagiarism'));
     $temp->add(new admin_setting_manageplagiarism());
     $ADMIN->add('plagiarism', $temp);
     foreach (get_plugin_list('plagiarism') as $plugin => $plugindir) {
         if (file_exists($plugindir.'/settings.php')) {
-            $ADMIN->add('plagiarism', new admin_externalpage('plagiarism'.$plugin, get_string($plugin, 'plagiarism_'.$plugin), "$CFG->wwwroot/plagiarism/$plugin/settings.php", 'moodle/site:config'));
+            $ADMIN->add('plagiarism', new admin_externalpage('plagiarism'.$plugin, new lang_string($plugin, 'plagiarism_'.$plugin), "$CFG->wwwroot/plagiarism/$plugin/settings.php", 'moodle/site:config'));
         }
     }
 }
-$ADMIN->add('reports', new admin_externalpage('comments', get_string('comments'), $CFG->wwwroot.'/comment/', 'moodle/site:viewreports'));
+$ADMIN->add('reports', new admin_externalpage('comments', new lang_string('comments'), $CFG->wwwroot.'/comment/', 'moodle/site:viewreports'));
 
 // Course reports settings
 if ($hassiteconfig) {
@@ -440,7 +440,7 @@ if ($hassiteconfig) {
         $file = $CFG->dirroot . '/course/report/' . $report . '/settings.php';
         if (file_exists($file)) {
             $settings = new admin_settingpage('coursereport' . $report,
-                    get_string('pluginname', 'coursereport_' . $report), 'moodle/site:config');
+                    new lang_string('pluginname', 'coursereport_' . $report), 'moodle/site:config');
             // settings.php may create a subcategory or unset the settings completely
             include($file);
             if ($settings) {
@@ -449,7 +449,7 @@ if ($hassiteconfig) {
         }
     }
     if (!empty($pages)) {
-        $ADMIN->add('modules', new admin_category('coursereports', get_string('coursereports')));
+        $ADMIN->add('modules', new admin_category('coursereports', new lang_string('coursereports')));
         foreach ($pages as $page) {
             $ADMIN->add('coursereports', $page);
         }
@@ -463,15 +463,15 @@ foreach (get_plugin_list('report') as $report => $plugindir) {
     $settings_path = "$plugindir/settings.php";
     if (file_exists($settings_path)) {
         $settings = new admin_settingpage('report' . $report,
-                get_string('pluginname', 'report_' . $report), 'moodle/site:config');
+                new lang_string('pluginname', 'report_' . $report), 'moodle/site:config');
         include($settings_path);
         if ($settings) {
             $pages[] = $settings;
         }
     }
 }
-$ADMIN->add('modules', new admin_category('reportplugins', get_string('reports')));
-$ADMIN->add('reportplugins', new admin_externalpage('managereports', get_string('reportsmanage', 'admin'),
+$ADMIN->add('modules', new admin_category('reportplugins', new lang_string('reports')));
+$ADMIN->add('reportplugins', new admin_externalpage('managereports', new lang_string('reportsmanage', 'admin'),
                                                     $CFG->wwwroot . '/' . $CFG->admin . '/reports.php'));
 foreach ($pages as $page) {
     $ADMIN->add('reportplugins', $page);
@@ -487,15 +487,15 @@ foreach (get_plugin_list('tool') as $plugin => $plugindir) {
 
 /// Add all admin tools
 if ($hassiteconfig) {
-    $ADMIN->add('modules', new admin_category('tools', get_string('tools', 'admin')));
-    $ADMIN->add('tools', new admin_externalpage('managetools', get_string('toolsmanage', 'admin'),
+    $ADMIN->add('modules', new admin_category('tools', new lang_string('tools', 'admin')));
+    $ADMIN->add('tools', new admin_externalpage('managetools', new lang_string('toolsmanage', 'admin'),
                                                      $CFG->wwwroot . '/' . $CFG->admin . '/tools.php'));
 }
 
 /// Add all local plugins - must be always last!
 if ($hassiteconfig) {
-    $ADMIN->add('modules', new admin_category('localplugins', get_string('localplugins')));
-    $ADMIN->add('localplugins', new admin_externalpage('managelocalplugins', get_string('localpluginsmanage'),
+    $ADMIN->add('modules', new admin_category('localplugins', new lang_string('localplugins')));
+    $ADMIN->add('localplugins', new admin_externalpage('managelocalplugins', new lang_string('localpluginsmanage'),
                                                         $CFG->wwwroot . '/' . $CFG->admin . '/localplugins.php'));
 }
 
index 382f3f2..6e499ac 100644 (file)
 if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
 
     // "ip blocker" settingpage
-    $temp = new admin_settingpage('ipblocker', get_string('ipblocker', 'admin'));
-    $temp->add(new admin_setting_configcheckbox('allowbeforeblock', get_string('allowbeforeblock', 'admin'), get_string('allowbeforeblockdesc', 'admin'), 0));
-    $temp->add(new admin_setting_configiplist('allowedip', get_string('allowediplist', 'admin'),
-                                                get_string('ipblockersyntax', 'admin'), ''));
-    $temp->add(new admin_setting_configiplist('blockedip', get_string('blockediplist', 'admin'),
-                                                get_string('ipblockersyntax', 'admin'), ''));
+    $temp = new admin_settingpage('ipblocker', new lang_string('ipblocker', 'admin'));
+    $temp->add(new admin_setting_configcheckbox('allowbeforeblock', new lang_string('allowbeforeblock', 'admin'), new lang_string('allowbeforeblockdesc', 'admin'), 0));
+    $temp->add(new admin_setting_configiplist('allowedip', new lang_string('allowediplist', 'admin'),
+                                                new lang_string('ipblockersyntax', 'admin'), ''));
+    $temp->add(new admin_setting_configiplist('blockedip', new lang_string('blockediplist', 'admin'),
+                                                new lang_string('ipblockersyntax', 'admin'), ''));
     $ADMIN->add('security', $temp);
 
     // "sitepolicies" settingpage
-    $temp = new admin_settingpage('sitepolicies', get_string('sitepolicies', 'admin'));
-    $temp->add(new admin_setting_configcheckbox('protectusernames', get_string('protectusernames', 'admin'), get_string('configprotectusernames', 'admin'), 1));
-    $temp->add(new admin_setting_configcheckbox('forcelogin', get_string('forcelogin', 'admin'), get_string('configforcelogin', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('forceloginforprofiles', get_string('forceloginforprofiles', 'admin'), get_string('configforceloginforprofiles', 'admin'), 1));
-    $temp->add(new admin_setting_configcheckbox('opentogoogle', get_string('opentogoogle', 'admin'), get_string('configopentogoogle', 'admin'), 0));
+    $temp = new admin_settingpage('sitepolicies', new lang_string('sitepolicies', 'admin'));
+    $temp->add(new admin_setting_configcheckbox('protectusernames', new lang_string('protectusernames', 'admin'), new lang_string('configprotectusernames', 'admin'), 1));
+    $temp->add(new admin_setting_configcheckbox('forcelogin', new lang_string('forcelogin', 'admin'), new lang_string('configforcelogin', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('forceloginforprofiles', new lang_string('forceloginforprofiles', 'admin'), new lang_string('configforceloginforprofiles', 'admin'), 1));
+    $temp->add(new admin_setting_configcheckbox('forceloginforprofileimage', new lang_string('forceloginforprofileimage', 'admin'), new lang_string('forceloginforprofileimage_help', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('opentogoogle', new lang_string('opentogoogle', 'admin'), new lang_string('configopentogoogle', 'admin'), 0));
     $temp->add(new admin_setting_pickroles('profileroles',
-        get_string('profileroles','admin'),
-        get_string('configprofileroles', 'admin'),
+        new lang_string('profileroles','admin'),
+        new lang_string('configprofileroles', 'admin'),
         array('student', 'teacher', 'editingteacher')));
 
     $max_upload_choices = get_max_upload_sizes();
     // maxbytes set to 0 will allow the maximum server limit for uploads
-    $max_upload_choices[0] = get_string('serverlimit', 'admin');
-    $temp->add(new admin_setting_configselect('maxbytes', get_string('maxbytes', 'admin'), get_string('configmaxbytes', 'admin'), 0, $max_upload_choices));
+    $max_upload_choices[0] = new lang_string('serverlimit', 'admin');
+    $temp->add(new admin_setting_configselect('maxbytes', new lang_string('maxbytes', 'admin'), new lang_string('configmaxbytes', 'admin'), 0, $max_upload_choices));
     // 100MB
     $defaultuserquota = 104857600;
     $params = new stdClass();
     $params->bytes = $defaultuserquota;
     $params->displaysize = display_size($defaultuserquota);
-    $temp->add(new admin_setting_configtext('userquota', get_string('userquota', 'admin'), get_string('configuserquota', 'admin', $params), $defaultuserquota));
-
-    $temp->add(new admin_setting_configcheckbox('allowobjectembed', get_string('allowobjectembed', 'admin'), get_string('configallowobjectembed', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('enabletrusttext', get_string('enabletrusttext', 'admin'), get_string('configenabletrusttext', 'admin'), 0));
-    $temp->add(new admin_setting_configselect('maxeditingtime', get_string('maxeditingtime','admin'), get_string('configmaxeditingtime','admin'), 1800,
-                 array(60 => get_string('numminutes', '', 1),
-                       300 => get_string('numminutes', '', 5),
-                       900 => get_string('numminutes', '', 15),
-                       1800 => get_string('numminutes', '', 30),
-                       2700 => get_string('numminutes', '', 45),
-                       3600 => get_string('numminutes', '', 60))));
-    $temp->add(new admin_setting_configselect('fullnamedisplay', get_string('fullnamedisplay', 'admin'), get_string('configfullnamedisplay', 'admin'),
-                  'language', array('language' => get_string('language'),
-                                              'firstname lastname' => get_string('firstname').' + '.get_string('lastname'),
-                                              'lastname firstname' => get_string('lastname').' + '.get_string('firstname'),
-                                              'firstname' => get_string('firstname'))));
-    $temp->add(new admin_setting_configcheckbox('extendedusernamechars', get_string('extendedusernamechars', 'admin'), get_string('configextendedusernamechars', 'admin'), 0));
-    $temp->add(new admin_setting_configtext('sitepolicy', get_string('sitepolicy', 'admin'), get_string('sitepolicy_help', 'admin'), '', PARAM_RAW));
-    $temp->add(new admin_setting_configtext('sitepolicyguest', get_string('sitepolicyguest', 'admin'), get_string('sitepolicyguest_help', 'admin'), (isset($CFG->sitepolicy) ? $CFG->sitepolicy : ''), PARAM_RAW));
-    $temp->add(new admin_setting_configcheckbox('extendedusernamechars', get_string('extendedusernamechars', 'admin'), get_string('configextendedusernamechars', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('keeptagnamecase', get_string('keeptagnamecase','admin'),get_string('configkeeptagnamecase', 'admin'),'1'));
-
-    $temp->add(new admin_setting_configcheckbox('profilesforenrolledusersonly', get_string('profilesforenrolledusersonly','admin'),get_string('configprofilesforenrolledusersonly', 'admin'),'1'));
-
-    $temp->add(new admin_setting_configcheckbox('cronclionly', get_string('cronclionly', 'admin'), get_string('configcronclionly', 'admin'), 0));
-    $temp->add(new admin_setting_configpasswordunmask('cronremotepassword', get_string('cronremotepassword', 'admin'), get_string('configcronremotepassword', 'admin'), ''));
-
-    $temp->add(new admin_setting_configcheckbox('passwordpolicy', get_string('passwordpolicy', 'admin'), get_string('configpasswordpolicy', 'admin'), 1));
-    $temp->add(new admin_setting_configtext('minpasswordlength', get_string('minpasswordlength', 'admin'), get_string('configminpasswordlength', 'admin'), 8, PARAM_INT));
-    $temp->add(new admin_setting_configtext('minpassworddigits', get_string('minpassworddigits', 'admin'), get_string('configminpassworddigits', 'admin'), 1, PARAM_INT));
-    $temp->add(new admin_setting_configtext('minpasswordlower', get_string('minpasswordlower', 'admin'), get_string('configminpasswordlower', 'admin'), 1, PARAM_INT));
-    $temp->add(new admin_setting_configtext('minpasswordupper', get_string('minpasswordupper', 'admin'), get_string('configminpasswordupper', 'admin'), 1, PARAM_INT));
-    $temp->add(new admin_setting_configtext('minpasswordnonalphanum', get_string('minpasswordnonalphanum', 'admin'), get_string('configminpasswordnonalphanum', 'admin'), 1, PARAM_INT));
-    $temp->add(new admin_setting_configtext('maxconsecutiveidentchars', get_string('maxconsecutiveidentchars', 'admin'), get_string('configmaxconsecutiveidentchars', 'admin'), 0, PARAM_INT));
-    $temp->add(new admin_setting_configcheckbox('groupenrolmentkeypolicy', get_string('groupenrolmentkeypolicy', 'admin'), get_string('groupenrolmentkeypolicy_desc', 'admin'), 1));
-    $temp->add(new admin_setting_configcheckbox('disableuserimages', get_string('disableuserimages', 'admin'), get_string('configdisableuserimages', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('emailchangeconfirmation', get_string('emailchangeconfirmation', 'admin'), get_string('configemailchangeconfirmation', 'admin'), 1));
-    $temp->add(new admin_setting_configselect('rememberusername', get_string('rememberusername','admin'), get_string('rememberusername_desc','admin'), 2, array(1=>get_string('yes'), 0=>get_string('no'), 2=>get_string('optional'))));
-    $temp->add(new admin_setting_configcheckbox('strictformsrequired', get_string('strictformsrequired', 'admin'), get_string('configstrictformsrequired', 'admin'), 0));
+    $temp->add(new admin_setting_configtext('userquota', new lang_string('userquota', 'admin'), new lang_string('configuserquota', 'admin', $params), $defaultuserquota));
+
+    $temp->add(new admin_setting_configcheckbox('allowobjectembed', new lang_string('allowobjectembed', 'admin'), new lang_string('configallowobjectembed', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('enabletrusttext', new lang_string('enabletrusttext', 'admin'), new lang_string('configenabletrusttext', 'admin'), 0));
+    $temp->add(new admin_setting_configselect('maxeditingtime', new lang_string('maxeditingtime','admin'), new lang_string('configmaxeditingtime','admin'), 1800,
+                 array(60 => new lang_string('numminutes', '', 1),
+                       300 => new lang_string('numminutes', '', 5),
+                       900 => new lang_string('numminutes', '', 15),
+                       1800 => new lang_string('numminutes', '', 30),
+                       2700 => new lang_string('numminutes', '', 45),
+                       3600 => new lang_string('numminutes', '', 60))));
+    $temp->add(new admin_setting_configselect('fullnamedisplay', new lang_string('fullnamedisplay', 'admin'), new lang_string('configfullnamedisplay', 'admin'),
+                  'language', array('language' => new lang_string('language'),
+                                              'firstname lastname' => new lang_string('firstname').' + '.new lang_string('lastname'),
+                                              'lastname firstname' => new lang_string('lastname').' + '.new lang_string('firstname'),
+                                              'firstname' => new lang_string('firstname'))));
+    $temp->add(new admin_setting_configcheckbox('extendedusernamechars', new lang_string('extendedusernamechars', 'admin'), new lang_string('configextendedusernamechars', 'admin'), 0));
+    $temp->add(new admin_setting_configtext('sitepolicy', new lang_string('sitepolicy', 'admin'), new lang_string('sitepolicy_help', 'admin'), '', PARAM_RAW));
+    $temp->add(new admin_setting_configtext('sitepolicyguest', new lang_string('sitepolicyguest', 'admin'), new lang_string('sitepolicyguest_help', 'admin'), (isset($CFG->sitepolicy) ? $CFG->sitepolicy : ''), PARAM_RAW));
+    $temp->add(new admin_setting_configcheckbox('extendedusernamechars', new lang_string('extendedusernamechars', 'admin'), new lang_string('configextendedusernamechars', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('keeptagnamecase', new lang_string('keeptagnamecase','admin'),new lang_string('configkeeptagnamecase', 'admin'),'1'));
+
+    $temp->add(new admin_setting_configcheckbox('profilesforenrolledusersonly', new lang_string('profilesforenrolledusersonly','admin'),new lang_string('configprofilesforenrolledusersonly', 'admin'),'1'));
+
+    $temp->add(new admin_setting_configcheckbox('cronclionly', new lang_string('cronclionly', 'admin'), new lang_string('configcronclionly', 'admin'), 0));
+    $temp->add(new admin_setting_configpasswordunmask('cronremotepassword', new lang_string('cronremotepassword', 'admin'), new lang_string('configcronremotepassword', 'admin'), ''));
+
+    $temp->add(new admin_setting_configcheckbox('passwordpolicy', new lang_string('passwordpolicy', 'admin'), new lang_string('configpasswordpolicy', 'admin'), 1));
+    $temp->add(new admin_setting_configtext('minpasswordlength', new lang_string('minpasswordlength', 'admin'), new lang_string('configminpasswordlength', 'admin'), 8, PARAM_INT));
+    $temp->add(new admin_setting_configtext('minpassworddigits', new lang_string('minpassworddigits', 'admin'), new lang_string('configminpassworddigits', 'admin'), 1, PARAM_INT));
+    $temp->add(new admin_setting_configtext('minpasswordlower', new lang_string('minpasswordlower', 'admin'), new lang_string('configminpasswordlower', 'admin'), 1, PARAM_INT));
+    $temp->add(new admin_setting_configtext('minpasswordupper', new lang_string('minpasswordupper', 'admin'), new lang_string('configminpasswordupper', 'admin'), 1, PARAM_INT));
+    $temp->add(new admin_setting_configtext('minpasswordnonalphanum', new lang_string('minpasswordnonalphanum', 'admin'), new lang_string('configminpasswordnonalphanum', 'admin'), 1, PARAM_INT));
+    $temp->add(new admin_setting_configtext('maxconsecutiveidentchars', new lang_string('maxconsecutiveidentchars', 'admin'), new lang_string('configmaxconsecutiveidentchars', 'admin'), 0, PARAM_INT));
+    $temp->add(new admin_setting_configcheckbox('groupenrolmentkeypolicy', new lang_string('groupenrolmentkeypolicy', 'admin'), new lang_string('groupenrolmentkeypolicy_desc', 'admin'), 1));
+    $temp->add(new admin_setting_configcheckbox('disableuserimages', new lang_string('disableuserimages', 'admin'), new lang_string('configdisableuserimages', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('emailchangeconfirmation', new lang_string('emailchangeconfirmation', 'admin'), new lang_string('configemailchangeconfirmation', 'admin'), 1));
+    $temp->add(new admin_setting_configselect('rememberusername', new lang_string('rememberusername','admin'), new lang_string('rememberusername_desc','admin'), 2, array(1=>new lang_string('yes'), 0=>new lang_string('no'), 2=>new lang_string('optional'))));
+    $temp->add(new admin_setting_configcheckbox('strictformsrequired', new lang_string('strictformsrequired', 'admin'), new lang_string('configstrictformsrequired', 'admin'), 0));
     $ADMIN->add('security', $temp);
 
 
 
 
     // "httpsecurity" settingpage
-    $temp = new admin_settingpage('httpsecurity', get_string('httpsecurity', 'admin'));
-    $temp->add(new admin_setting_configcheckbox('loginhttps', get_string('loginhttps', 'admin'), get_string('configloginhttps', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('cookiesecure', get_string('cookiesecure', 'admin'), get_string('configcookiesecure', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('cookiehttponly', get_string('cookiehttponly', 'admin'), get_string('configcookiehttponly', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('allowframembedding', get_string('allowframembedding', 'admin'), get_string('allowframembedding_help', 'admin'), 0));
-    $temp->add(new admin_setting_configcheckbox('loginpasswordautocomplete', get_string('loginpasswordautocomplete', 'admin'), get_string('loginpasswordautocomplete_help', 'admin'), 0));
+    $temp = new admin_settingpage('httpsecurity', new lang_string('httpsecurity', 'admin'));
+    $temp->add(new admin_setting_configcheckbox('loginhttps', new lang_string('loginhttps', 'admin'), new lang_string('configloginhttps', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('cookiesecure', new lang_string('cookiesecure', 'admin'), new lang_string('configcookiesecure', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('cookiehttponly', new lang_string('cookiehttponly', 'admin'), new lang_string('configcookiehttponly', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('allowframembedding', new lang_string('allowframembedding', 'admin'), new lang_string('allowframembedding_help', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('loginpasswordautocomplete', new lang_string('loginpasswordautocomplete', 'admin'), new lang_string('loginpasswordautocomplete_help', 'admin'), 0));
     $ADMIN->add('security', $temp);
 
 
     // "modulesecurity" settingpage
-    $temp = new admin_settingpage('modulesecurity', get_string('modulesecurity', 'admin'));
-    $temp->add(new admin_setting_configselect('restrictmodulesfor', get_string('restrictmodulesfor', 'admin'), get_string('configrestrictmodulesfor', 'admin'), 'none', array('none' => get_string('nocourses'),
-                                                                                                                                                                              'all' => get_string('fulllistofcourses'),
-                                                                                                                                                                              'requested' => get_string('requestedcourses'))));
-    $temp->add(new admin_setting_configcheckbox('restrictbydefault', get_string('restrictbydefault', 'admin'), get_string('configrestrictbydefault', 'admin'), 0));
+    $temp = new admin_settingpage('modulesecurity', new lang_string('modulesecurity', 'admin'));
+    $temp->add(new admin_setting_configselect('restrictmodulesfor', new lang_string('restrictmodulesfor', 'admin'), new lang_string('configrestrictmodulesfor', 'admin'), 'none', array('none' => new lang_string('nocourses'),
+                                                                                                                                                                              'all' => new lang_string('fulllistofcourses'),
+                                                                                                                                                                              'requested' => new lang_string('requestedcourses'))));
+    $temp->add(new admin_setting_configcheckbox('restrictbydefault', new lang_string('restrictbydefault', 'admin'), new lang_string('configrestrictbydefault', 'admin'), 0));
     $temp->add(new admin_setting_configmultiselect_modules('defaultallowedmodules',
-            get_string('defaultallowedmodules', 'admin'),
-            get_string('configdefaultallowedmodules', 'admin')));
+            new lang_string('defaultallowedmodules', 'admin'),
+            new lang_string('configdefaultallowedmodules', 'admin')));
     $ADMIN->add('security', $temp);
 
 
 
     // "notifications" settingpage
-    $temp = new admin_settingpage('notifications', get_string('notifications', 'admin'));
-    $temp->add(new admin_setting_configselect('displayloginfailures', get_string('displayloginfailures', 'admin'), get_string('configdisplayloginfailures', 'admin'), '', array('' => get_string('nobody'),
-                                                                                                                                                                                'admin' => get_string('administrators'),
-                                                                                                                                                                                'teacher' => get_string('administratorsandteachers'),
-                                                                                                                                                                                'everybody' => get_string('everybody'))));
-    $temp->add(new admin_setting_users_with_capability('notifyloginfailures', get_string('notifyloginfailures', 'admin'), get_string('confignotifyloginfailures', 'admin'), array(), 'moodle/site:config'));
+    $temp = new admin_settingpage('notifications', new lang_string('notifications', 'admin'));
+    $temp->add(new admin_setting_configselect('displayloginfailures', new lang_string('displayloginfailures', 'admin'), new lang_string('configdisplayloginfailures', 'admin'), '', array('' => new lang_string('nobody'),
+                                                                                                                                                                                'admin' => new lang_string('administrators'),
+                                                                                                                                                                                'teacher' => new lang_string('administratorsandteachers'),
+                                                                                                                                                                                'everybody' => new lang_string('everybody'))));
+    $temp->add(new admin_setting_users_with_capability('notifyloginfailures', new lang_string('notifyloginfailures', 'admin'), new lang_string('confignotifyloginfailures', 'admin'), array(), 'moodle/site:config'));
     $options = array();
     for ($i = 1; $i <= 100; $i++) {
         $options[$i] = $i;
     }
-    $temp->add(new admin_setting_configselect('notifyloginthreshold', get_string('notifyloginthreshold', 'admin'), get_string('confignotifyloginthreshold', 'admin'), '10', $options));
+    $temp->add(new admin_setting_configselect('notifyloginthreshold', new lang_string('notifyloginthreshold', 'admin'), new lang_string('confignotifyloginthreshold', 'admin'), '10', $options));
     $ADMIN->add('security', $temp);
 
 
@@ -118,12 +119,12 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
 
 
     // "antivirus" settingpage
-    $temp = new admin_settingpage('antivirus', get_string('antivirus', 'admin'));
-    $temp->add(new admin_setting_configcheckbox('runclamonupload', get_string('runclamavonupload', 'admin'), get_string('configrunclamavonupload', 'admin'), 0));
-    $temp->add(new admin_setting_configexecutable('pathtoclam', get_string('pathtoclam', 'admin'), get_string('configpathtoclam', 'admin'), ''));
-    $temp->add(new admin_setting_configdirectory('quarantinedir', get_string('quarantinedir', 'admin'), get_string('configquarantinedir', 'admin'), ''));
-    $temp->add(new admin_setting_configselect('clamfailureonupload', get_string('clamfailureonupload', 'admin'), get_string('configclamfailureonupload', 'admin'), 'donothing', array('donothing' => get_string('configclamdonothing', 'admin'),
-                                                                                                                                                                                      'actlikevirus' => get_string('configclamactlikevirus', 'admin'))));
+    $temp = new admin_settingpage('antivirus', new lang_string('antivirus', 'admin'));
+    $temp->add(new admin_setting_configcheckbox('runclamonupload', new lang_string('runclamavonupload', 'admin'), new lang_string('configrunclamavonupload', 'admin'), 0));
+    $temp->add(new admin_setting_configexecutable('pathtoclam', new lang_string('pathtoclam', 'admin'), new lang_string('configpathtoclam', 'admin'), ''));
+    $temp->add(new admin_setting_configdirectory('quarantinedir', new lang_string('quarantinedir', 'admin'), new lang_string('configquarantinedir', 'admin'), ''));
+    $temp->add(new admin_setting_configselect('clamfailureonupload', new lang_string('clamfailureonupload', 'admin'), new lang_string('configclamfailureonupload', 'admin'), 'donothing', array('donothing' => new lang_string('configclamdonothing', 'admin'),
+                                                                                                                                                                                      'actlikevirus' => new lang_string('configclamactlikevirus', 'admin'))));
     $ADMIN->add('security', $temp);
 
 } // end of speedup
index 8846819..90c8832 100644 (file)
@@ -6,19 +6,19 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
 
 
 // "systempaths" settingpage
-$temp = new admin_settingpage('systempaths', get_string('systempaths','admin'));
-$temp->add(new admin_setting_configselect('gdversion', get_string('gdversion','admin'), get_string('configgdversion', 'admin'), check_gd_version(), array('0' => get_string('gdnot'),
-                                                                                                                                                          '1' => get_string('gd1'),
-                                                                                                                                                          '2' => get_string('gd2'))));
-$temp->add(new admin_setting_configexecutable('pathtodu', get_string('pathtodu', 'admin'), get_string('configpathtodu', 'admin'), ''));
-$temp->add(new admin_setting_configexecutable('aspellpath', get_string('aspellpath', 'admin'), get_string('edhelpaspellpath'), ''));
-$temp->add(new admin_setting_configexecutable('pathtodot', get_string('pathtodot', 'admin'), get_string('pathtodot_help', 'admin'), ''));
+$temp = new admin_settingpage('systempaths', new lang_string('systempaths','admin'));
+$temp->add(new admin_setting_configselect('gdversion', new lang_string('gdversion','admin'), new lang_string('configgdversion', 'admin'), check_gd_version(), array('0' => new lang_string('gdnot'),
+                                                                                                                                                          '1' => new lang_string('gd1'),
+                                                                                                                                                          '2' => new lang_string('gd2'))));
+$temp->add(new admin_setting_configexecutable('pathtodu', new lang_string('pathtodu', 'admin'), new lang_string('configpathtodu', 'admin'), ''));
+$temp->add(new admin_setting_configexecutable('aspellpath', new lang_string('aspellpath', 'admin'), new lang_string('edhelpaspellpath'), ''));
+$temp->add(new admin_setting_configexecutable('pathtodot', new lang_string('pathtodot', 'admin'), new lang_string('pathtodot_help', 'admin'), ''));
 $ADMIN->add('server', $temp);
 
 
 
 // "supportcontact" settingpage
-$temp = new admin_settingpage('supportcontact', get_string('supportcontact','admin'));
+$temp = new admin_settingpage('supportcontact', new lang_string('supportcontact','admin'));
 if (isloggedin()) {
     global $USER;
     $primaryadminemail = $USER->email;
@@ -29,158 +29,158 @@ if (isloggedin()) {
     $primaryadminemail = NULL;
     $primaryadminname  = NULL;
 }
-$temp->add(new admin_setting_configtext('supportname', get_string('supportname', 'admin'), get_string('configsupportname', 'admin'), $primaryadminname, PARAM_NOTAGS));
-$temp->add(new admin_setting_configtext('supportemail', get_string('supportemail', 'admin'), get_string('configsupportemail', 'admin'), $primaryadminemail, PARAM_NOTAGS));
-$temp->add(new admin_setting_configtext('supportpage', get_string('supportpage', 'admin'), get_string('configsupportpage', 'admin'), '', PARAM_URL));
+$temp->add(new admin_setting_configtext('supportname', new lang_string('supportname', 'admin'), new lang_string('configsupportname', 'admin'), $primaryadminname, PARAM_NOTAGS));
+$temp->add(new admin_setting_configtext('supportemail', new lang_string('supportemail', 'admin'), new lang_string('configsupportemail', 'admin'), $primaryadminemail, PARAM_NOTAGS));
+$temp->add(new admin_setting_configtext('supportpage', new lang_string('supportpage', 'admin'), new lang_string('configsupportpage', 'admin'), '', PARAM_URL));
 $ADMIN->add('server', $temp);
 
 
 // "sessionhandling" settingpage
-$temp = new admin_settingpage('sessionhandling', get_string('sessionhandling', 'admin'));
-$temp->add(new admin_setting_configcheckbox('dbsessions', get_string('dbsessions', 'admin'), get_string('configdbsessions', 'admin'), 1));
-$temp->add(new admin_setting_configselect('sessiontimeout', get_string('sessiontimeout', 'admin'), get_string('configsessiontimeout', 'admin'), 7200, array(14400 => get_string('numhours', '', 4),
-                                                                                                                                                      10800 => get_string('numhours', '', 3),
-                                                                                                                                                      7200 => get_string('numhours', '', 2),
-                                                                                                                                                      5400 => get_string('numhours', '', '1.5'),
-                                                                                                                                                      3600 => get_string('numminutes', '', 60),
-                                                                                                                                                      2700 => get_string('numminutes', '', 45),
-                                                                                                                                                      1800 => get_string('numminutes', '', 30),
-                                                                                                                                                      900 => get_string('numminutes', '', 15),
-                                                                                                                                                      300 => get_string('numminutes', '', 5))));
-$temp->add(new admin_setting_configtext('sessioncookie', get_string('sessioncookie', 'admin'), get_string('configsessioncookie', 'admin'), '', PARAM_ALPHANUM));
-$temp->add(new admin_setting_configtext('sessioncookiepath', get_string('sessioncookiepath', 'admin'), get_string('configsessioncookiepath', 'admin'), '', PARAM_RAW));
-$temp->add(new admin_setting_configtext('sessioncookiedomain', get_string('sessioncookiedomain', 'admin'), get_string('configsessioncookiedomain', 'admin'), '', PARAM_RAW, 50));
+$temp = new admin_settingpage('sessionhandling', new lang_string('sessionhandling', 'admin'));
+$temp->add(new admin_setting_configcheckbox('dbsessions', new lang_string('dbsessions', 'admin'), new lang_string('configdbsessions', 'admin'), 1));
+$temp->add(new admin_setting_configselect('sessiontimeout', new lang_string('sessiontimeout', 'admin'), new lang_string('configsessiontimeout', 'admin'), 7200, array(14400 => new lang_string('numhours', '', 4),
+                                                                                                                                                      10800 => new lang_string('numhours', '', 3),
+                                                                                                                                                      7200 => new lang_string('numhours', '', 2),
+                                                                                                                                                      5400 => new lang_string('numhours', '', '1.5'),
+                                                                                                                                                      3600 => new lang_string('numminutes', '', 60),
+                                                                                                                                                      2700 => new lang_string('numminutes', '', 45),
+                                                                                                                                                      1800 => new lang_string('numminutes', '', 30),
+                                                                                                                                                      900 => new lang_string('numminutes', '', 15),
+                                                                                                                                                      300 => new lang_string('numminutes', '', 5))));
+$temp->add(new admin_setting_configtext('sessioncookie', new lang_string('sessioncookie', 'admin'), new lang_string('configsessioncookie', 'admin'), '', PARAM_ALPHANUM));
+$temp->add(new admin_setting_configtext('sessioncookiepath', new lang_string('sessioncookiepath', 'admin'), new lang_string('configsessioncookiepath', 'admin'), '', PARAM_RAW));
+$temp->add(new admin_setting_configtext('sessioncookiedomain', new lang_string('sessioncookiedomain', 'admin'), new lang_string('configsessioncookiedomain', 'admin'), '', PARAM_RAW, 50));
 $ADMIN->add('server', $temp);
 
 
 // "stats" settingpage
-$temp = new admin_settingpage('stats', get_string('stats'), 'moodle/site:config', empty($CFG->enablestats));
-$temp->add(new admin_setting_configselect('statsfirstrun', get_string('statsfirstrun', 'admin'), get_string('configstatsfirstrun', 'admin'), 'none', array('none' => get_string('none'),
-                                                                                                                                                           60*60*24*7 => get_string('numweeks','moodle',1),
-                                                                                                                                                           60*60*24*14 => get_string('numweeks','moodle',2),
-                                                                                                                                                           60*60*24*21 => get_string('numweeks','moodle',3),
-                                                                                                                                                           60*60*24*28 => get_string('nummonths','moodle',1),
-                                                                                                                                                           60*60*24*56 => get_string('nummonths','moodle',2),
-                                                                                                                                                           60*60*24*84 => get_string('nummonths','moodle',3),
-                                                                                                                                                           60*60*24*112 => get_string('nummonths','moodle',4),
-                                                                                                                                                           60*60*24*140 => get_string('nummonths','moodle',5),
-                                                                                                                                                           60*60*24*168 => get_string('nummonths','moodle',6),
-                                                                                                                                                           'all' => get_string('all') )));
-$temp->add(new admin_setting_configselect('statsmaxruntime', get_string('statsmaxruntime', 'admin'), get_string('configstatsmaxruntime3', 'admin'), 0, array(0 => get_string('untilcomplete'),
-                                                                                                                                                            60*30 => '10 '.get_string('minutes'),
-                                                                                                                                                            60*30 => '30 '.get_string('minutes'),
-                                                                                                                                                            60*60 => '1 '.get_string('hour'),
-                                                                                                                                                            60*60*2 => '2 '.get_string('hours'),
-                                                                                                                                                            60*60*3 => '3 '.get_string('hours'),
-                                                                                                                                                            60*60*4 => '4 '.get_string('hours'),
-                                                                                                                                                            60*60*5 => '5 '.get_string('hours'),
-                                                                                                                                                            60*60*6 => '6 '.get_string('hours'),
-                                                                                                                                                            60*60*7 => '7 '.get_string('hours'),
-                                                                                                                                                            60*60*8 => '8 '.get_string('hours') )));
-$temp->add(new admin_setting_configtext('statsruntimedays', get_string('statsruntimedays', 'admin'), get_string('configstatsruntimedays', 'admin'), 31, PARAM_INT));
-$temp->add(new admin_setting_configtime('statsruntimestarthour', 'statsruntimestartminute', get_string('statsruntimestart', 'admin'), get_string('configstatsruntimestart', 'admin'), array('h' => 0, 'm' => 0)));
-$temp->add(new admin_setting_configtext('statsuserthreshold', get_string('statsuserthreshold', 'admin'), get_string('configstatsuserthreshold', 'admin'), 0, PARAM_INT));
+$temp = new admin_settingpage('stats', new lang_string('stats'), 'moodle/site:config', empty($CFG->enablestats));
+$temp->add(new admin_setting_configselect('statsfirstrun', new lang_string('statsfirstrun', 'admin'), new lang_string('configstatsfirstrun', 'admin'), 'none', array('none' => new lang_string('none'),
+                                                                                                                                                           60*60*24*7 => new lang_string('numweeks','moodle',1),
+                                                                                                                                                           60*60*24*14 => new lang_string('numweeks','moodle',2),
+                                                                                                                                                           60*60*24*21 => new lang_string('numweeks','moodle',3),
+                                                                                                                                                           60*60*24*28 => new lang_string('nummonths','moodle',1),
+                                                                                                                                                           60*60*24*56 => new lang_string('nummonths','moodle',2),
+                                                                                                                                                           60*60*24*84 => new lang_string('nummonths','moodle',3),
+                                                                                                                                                           60*60*24*112 => new lang_string('nummonths','moodle',4),
+                                                                                                                                                           60*60*24*140 => new lang_string('nummonths','moodle',5),
+                                                                                                                                                           60*60*24*168 => new lang_string('nummonths','moodle',6),
+                                                                                                                                                           'all' => new lang_string('all') )));
+$temp->add(new admin_setting_configselect('statsmaxruntime', new lang_string('statsmaxruntime', 'admin'), new lang_string('configstatsmaxruntime3', 'admin'), 0, array(0 => new lang_string('untilcomplete'),
+                                                                                                                                                            60*30 => '10 '.new lang_string('minutes'),
+                                                                                                                                                            60*30 => '30 '.new lang_string('minutes'),
+                                                                                                                                                            60*60 => '1 '.new lang_string('hour'),
+                                                                                                                                                            60*60*2 => '2 '.new lang_string('hours'),
+                                                                                                                                                            60*60*3 => '3 '.new lang_string('hours'),
+                                                                                                                                                            60*60*4 => '4 '.new lang_string('hours'),
+                                                                                                                                                            60*60*5 => '5 '.new lang_string('hours'),
+                                                                                                                                                            60*60*6 => '6 '.new lang_string('hours'),
+                                                                                                                                                            60*60*7 => '7 '.new lang_string('hours'),
+                                                                                                                                                            60*60*8 => '8 '.new lang_string('hours') )));
+$temp->add(new admin_setting_configtext('statsruntimedays', new lang_string('statsruntimedays', 'admin'), new lang_string('configstatsruntimedays', 'admin'), 31, PARAM_INT));
+$temp->add(new admin_setting_configtime('statsruntimestarthour', 'statsruntimestartminute', new lang_string('statsruntimestart', 'admin'), new lang_string('configstatsruntimestart', 'admin'), array('h' => 0, 'm' => 0)));
+$temp->add(new admin_setting_configtext('statsuserthreshold', new lang_string('statsuserthreshold', 'admin'), new lang_string('configstatsuserthreshold', 'admin'), 0, PARAM_INT));
 $ADMIN->add('server', $temp);
 
 
 // "http" settingpage
-$temp = new admin_settingpage('http', get_string('http', 'admin'));
-$temp->add(new admin_setting_configcheckbox('slasharguments', get_string('slasharguments', 'admin'), get_string('configslasharguments', 'admin'), 1));
-$temp->add(new admin_setting_heading('reverseproxy', get_string('reverseproxy', 'admin'), '', ''));
+$temp = new admin_settingpage('http', new lang_string('http', 'admin'));
+$temp->add(new admin_setting_configcheckbox('slasharguments', new lang_string('slasharguments', 'admin'), new lang_string('configslasharguments', 'admin'), 1));
+$temp->add(new admin_setting_heading('reverseproxy', new lang_string('reverseproxy', 'admin'), '', ''));
 $options = array(
     0 => 'HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR, REMOTE_ADDR',
     GETREMOTEADDR_SKIP_HTTP_CLIENT_IP => 'HTTP_X_FORWARDED_FOR, REMOTE_ADDR',
     GETREMOTEADDR_SKIP_HTTP_X_FORWARDED_FOR => 'HTTP_CLIENT, REMOTE_ADDR',
     GETREMOTEADDR_SKIP_HTTP_X_FORWARDED_FOR|GETREMOTEADDR_SKIP_HTTP_CLIENT_IP => 'REMOTE_ADDR');
-$temp->add(new admin_setting_configselect('getremoteaddrconf', get_string('getremoteaddrconf', 'admin'), get_string('configgetremoteaddrconf', 'admin'), 0, $options));
-$temp->add(new admin_setting_heading('webproxy', get_string('webproxy', 'admin'), get_string('webproxyinfo', 'admin')));
-$temp->add(new admin_setting_configtext('proxyhost', get_string('proxyhost', 'admin'), get_string('configproxyhost', 'admin'), '', PARAM_HOST));
-$temp->add(new admin_setting_configtext('proxyport', get_string('proxyport', 'admin'), get_string('configproxyport', 'admin'), 0, PARAM_INT));
+$temp->add(new admin_setting_configselect('getremoteaddrconf', new lang_string('getremoteaddrconf', 'admin'), new lang_string('configgetremoteaddrconf', 'admin'), 0, $options));
+$temp->add(new admin_setting_heading('webproxy', new lang_string('webproxy', 'admin'), new lang_string('webproxyinfo', 'admin')));
+$temp->add(new admin_setting_configtext('proxyhost', new lang_string('proxyhost', 'admin'), new lang_string('configproxyhost', 'admin'), '', PARAM_HOST));
+$temp->add(new admin_setting_configtext('proxyport', new lang_string('proxyport', 'admin'), new lang_string('configproxyport', 'admin'), 0, PARAM_INT));
 $options = array('HTTP'=>'HTTP');
 if (defined('CURLPROXY_SOCKS5')) {
     $options['SOCKS5'] = 'SOCKS5';
 }
-$temp->add(new admin_setting_configselect('proxytype', get_string('proxytype', 'admin'), get_string('configproxytype','admin'), 'HTTP', $options));
-$temp->add(new admin_setting_configtext('proxyuser', get_string('proxyuser', 'admin'), get_string('configproxyuser', 'admin'), ''));
-$temp->add(new admin_setting_configpasswordunmask('proxypassword', get_string('proxypassword', 'admin'), get_string('configproxypassword', 'admin'), ''));
-$temp->add(new admin_setting_configtext('proxybypass', get_string('proxybypass', 'admin'), get_string('configproxybypass', 'admin'), 'localhost, 127.0.0.1'));
+$temp->add(new admin_setting_configselect('proxytype', new lang_string('proxytype', 'admin'), new lang_string('configproxytype','admin'), 'HTTP', $options));
+$temp->add(new admin_setting_configtext('proxyuser', new lang_string('proxyuser', 'admin'), new lang_string('configproxyuser', 'admin'), ''));
+$temp->add(new admin_setting_configpasswordunmask('proxypassword', new lang_string('proxypassword', 'admin'), new lang_string('configproxypassword', 'admin'), ''));
+$temp->add(new admin_setting_configtext('proxybypass', new lang_string('proxybypass', 'admin'), new lang_string('configproxybypass', 'admin'), 'localhost, 127.0.0.1'));
 $ADMIN->add('server', $temp);
 
-$temp = new admin_settingpage('maintenancemode', get_string('sitemaintenancemode', 'admin'));
-$options = array(0=>get_string('disable'), 1=>get_string('enable'));
-$temp->add(new admin_setting_configselect('maintenance_enabled', get_string('sitemaintenancemode', 'admin'),
-                                          get_string('helpsitemaintenance', 'admin'), 0, $options));
-$temp->add(new admin_setting_confightmleditor('maintenance_message', get_string('optionalmaintenancemessage', 'admin'),
+$temp = new admin_settingpage('maintenancemode', new lang_string('sitemaintenancemode', 'admin'));
+$options = array(0=>new lang_string('disable'), 1=>new lang_string('enable'));
+$temp->add(new admin_setting_configselect('maintenance_enabled', new lang_string('sitemaintenancemode', 'admin'),
+                                          new lang_string('helpsitemaintenance', 'admin'), 0, $options));
+$temp->add(new admin_setting_confightmleditor('maintenance_message', new lang_string('optionalmaintenancemessage', 'admin'),
                                               '', ''));
 $ADMIN->add('server', $temp);
 
-$temp = new admin_settingpage('cleanup', get_string('cleanup', 'admin'));
-$temp->add(new admin_setting_configselect('deleteunconfirmed', get_string('deleteunconfirmed', 'admin'), get_string('configdeleteunconfirmed', 'admin'), 168, array(0 => get_string('never'),
-                                                                                                                                                                    168 => get_string('numdays', '', 7),
-                                                                                                                                                                    144 => get_string('numdays', '', 6),
-                                                                                                                                                                    120 => get_string('numdays', '', 5),
-                                                                                                                                                                    96 => get_string('numdays', '', 4),
-                                                                                                                                                                    72 => get_string('numdays', '', 3),
-                                                                                                                                                                    48 => get_string('numdays', '', 2),
-                                                                                                                                                                    24 => get_string('numdays', '', 1),
-                                                                                                                                                                    12 => get_string('numhours', '', 12),
-                                                                                                                                                                    6 => get_string('numhours', '', 6),
-                                                                                                                                                                    1 => get_string('numhours', '', 1))));
-
-$temp->add(new admin_setting_configselect('deleteincompleteusers', get_string('deleteincompleteusers', 'admin'), get_string('configdeleteincompleteusers', 'admin'), 0, array(0 => get_string('never'),
-                                                                                                                                                                    168 => get_string('numdays', '', 7),
-                                                                                                                                                                    144 => get_string('numdays', '', 6),
-                                                                                                                                                                    120 => get_string('numdays', '', 5),
-                                                                                                                                                                    96 => get_string('numdays', '', 4),
-                                                                                                                                                                    72 => get_string('numdays', '', 3),
-                                                                                                                                                                    48 => get_string('numdays', '', 2),
-                                                                                                                                                                    24 => get_string('numdays', '', 1))));
-
-$temp->add(new admin_setting_configcheckbox('logguests', get_string('logguests', 'admin'),
-                                            get_string('logguests_help', 'admin'), 1));
-$temp->add(new admin_setting_configselect('loglifetime', get_string('loglifetime', 'admin'), get_string('configloglifetime', 'admin'), 0, array(0 => get_string('neverdeletelogs'),
-                                                                                                                                                1000 => get_string('numdays', '', 1000),
-                                                                                                                                                365 => get_string('numdays', '', 365),
-                                                                                                                                                180 => get_string('numdays', '', 180),
-                                                                                                                                                150 => get_string('numdays', '', 150),
-                                                                                                                                                120 => get_string('numdays', '', 120),
-                                                                                                                                                90 => get_string('numdays', '', 90),
-                                                                                                                                                60 => get_string('numdays', '', 60),
-                                                                                                                                                35 => get_string('numdays', '', 35),
-                                                                                                                                                10 => get_string('numdays', '', 10),
-                                                                                                                                                5 => get_string('numdays', '', 5),
-                                                                                                                                                2 => get_string('numdays', '', 2))));
-
-
-$temp->add(new admin_setting_configcheckbox('disablegradehistory', get_string('disablegradehistory', 'grades'),
-                                            get_string('disablegradehistory_help', 'grades'), 0));
-
-$temp->add(new admin_setting_configselect('gradehistorylifetime', get_string('gradehistorylifetime', 'grades'),
-                                          get_string('gradehistorylifetime_help', 'grades'), 0, array(0 => get_string('neverdeletehistory', 'grades'),
-                                                                                                   1000 => get_string('numdays', '', 1000),
-                                                                                                    365 => get_string('numdays', '', 365),
-                                                                                                    180 => get_string('numdays', '', 180),
-                                                                                                    150 => get_string('numdays', '', 150),
-                                                                                                    120 => get_string('numdays', '', 120),
-                                                                                                     90 => get_string('numdays', '', 90),
-                                                                                                     60 => get_string('numdays', '', 60),
-                                                                                                     30 => get_string('numdays', '', 30))));
+$temp = new admin_settingpage('cleanup', new lang_string('cleanup', 'admin'));
+$temp->add(new admin_setting_configselect('deleteunconfirmed', new lang_string('deleteunconfirmed', 'admin'), new lang_string('configdeleteunconfirmed', 'admin'), 168, array(0 => new lang_string('never'),
+                                                                                                                                                                    168 => new lang_string('numdays', '', 7),
+                                                                                                                                                                    144 => new lang_string('numdays', '', 6),
+                                                                                                                                                                    120 => new lang_string('numdays', '', 5),
+                                                                                                                                                                    96 => new lang_string('numdays', '', 4),
+                                                                                                                                                                    72 => new lang_string('numdays', '', 3),
+                                                                                                                                                                    48 => new lang_string('numdays', '', 2),
+                                                                                                                                                                    24 => new lang_string('numdays', '', 1),
+                                                                                                                                                                    12 => new lang_string('numhours', '', 12),
+                                                                                                                                                                    6 => new lang_string('numhours', '', 6),
+                                                                                                                                                                    1 => new lang_string('numhours', '', 1))));
+
+$temp->add(new admin_setting_configselect('deleteincompleteusers', new lang_string('deleteincompleteusers', 'admin'), new lang_string('configdeleteincompleteusers', 'admin'), 0, array(0 => new lang_string('never'),
+                                                                                                                                                                    168 => new lang_string('numdays', '', 7),
+                                                                                                                                                                    144 => new lang_string('numdays', '', 6),
+                                                                                                                                                                    120 => new lang_string('numdays', '', 5),
+                                                                                                                                                                    96 => new lang_string('numdays', '', 4),
+                                                                                                                                                                    72 => new lang_string('numdays', '', 3),
+                                                                                                                                                                    48 => new lang_string('numdays', '', 2),
+                                                                                                                                                                    24 => new lang_string('numdays', '', 1))));
+
+$temp->add(new admin_setting_configcheckbox('logguests', new lang_string('logguests', 'admin'),
+                                            new lang_string('logguests_help', 'admin'), 1));
+$temp->add(new admin_setting_configselect('loglifetime', new lang_string('loglifetime', 'admin'), new lang_string('configloglifetime', 'admin'), 0, array(0 => new lang_string('neverdeletelogs'),
+                                                                                                                                                1000 => new lang_string('numdays', '', 1000),
+                                                                                                                                                365 => new lang_string('numdays', '', 365),
+                                                                                                                                                180 => new lang_string('numdays', '', 180),
+                                                                                                                                                150 => new lang_string('numdays', '', 150),
+                                                                                                                                                120 => new lang_string('numdays', '', 120),
+                                                                                                                                                90 => new lang_string('numdays', '', 90),
+                                                                                                                                                60 => new lang_string('numdays', '', 60),
+                                                                                                                                                35 => new lang_string('numdays', '', 35),
+                                                                                                                                                10 => new lang_string('numdays', '', 10),
+                                                                                                                                                5 => new lang_string('numdays', '', 5),
+                                                                                                                                                2 => new lang_string('numdays', '', 2))));
+
+
+$temp->add(new admin_setting_configcheckbox('disablegradehistory', new lang_string('disablegradehistory', 'grades'),
+                                            new lang_string('disablegradehistory_help', 'grades'), 0));
+
+$temp->add(new admin_setting_configselect('gradehistorylifetime', new lang_string('gradehistorylifetime', 'grades'),
+                                          new lang_string('gradehistorylifetime_help', 'grades'), 0, array(0 => new lang_string('neverdeletehistory', 'grades'),
+                                                                                                   1000 => new lang_string('numdays', '', 1000),
+                                                                                                    365 => new lang_string('numdays', '', 365),
+                                                                                                    180 => new lang_string('numdays', '', 180),
+                                                                                                    150 => new lang_string('numdays', '', 150),
+                                                                                                    120 => new lang_string('numdays', '', 120),
+                                                                                                     90 => new lang_string('numdays', '', 90),
+                                                                                                     60 => new lang_string('numdays', '', 60),
+                                                                                                     30 => new lang_string('numdays', '', 30))));
 
 $ADMIN->add('server', $temp);
 
 
 
-$ADMIN->add('server', new admin_externalpage('environment', get_string('environment','admin'), "$CFG->wwwroot/$CFG->admin/environment.php"));
-$ADMIN->add('server', new admin_externalpage('phpinfo', get_string('phpinfo'), "$CFG->wwwroot/$CFG->admin/phpinfo.php"));
+$ADMIN->add('server', new admin_externalpage('environment', new lang_string('environment','admin'), "$CFG->wwwroot/$CFG->admin/environment.php"));
+$ADMIN->add('server', new admin_externalpage('phpinfo', new lang_string('phpinfo'), "$CFG->wwwroot/$CFG->admin/phpinfo.php"));
 
 
 // "performance" settingpage
-$temp = new admin_settingpage('performance', get_string('performance', 'admin'));
+$temp = new admin_settingpage('performance', new lang_string('performance', 'admin'));
 
-$temp->add(new admin_setting_configtext('numcoursesincombo', get_string('numcoursesincombo', 'admin'), get_string('numcoursesincombo_help', 'admin'), 500));
+$temp->add(new admin_setting_configtext('numcoursesincombo', new lang_string('numcoursesincombo', 'admin'), new lang_string('numcoursesincombo_help', 'admin'), 500));
 
-$temp->add(new admin_setting_configselect('extramemorylimit', get_string('extramemorylimit', 'admin'),
-                                          get_string('configextramemorylimit', 'admin'), '512M',
+$temp->add(new admin_setting_configselect('extramemorylimit', new lang_string('extramemorylimit', 'admin'),
+                                          new lang_string('configextramemorylimit', 'admin'), '512M',
                                           // if this option is set to 0, default 128M will be used
                                           array( '64M' => '64M',
                                                  '128M' => '128M',
@@ -188,37 +188,37 @@ $temp->add(new admin_setting_configselect('extramemorylimit', get_string('extram
                                                  '512M' => '512M',
                                                  '1024M' => '1024M'
                                              )));
-$temp->add(new admin_setting_configtext('curlcache', get_string('curlcache', 'admin'),
-                                        get_string('configcurlcache', 'admin'), 120, PARAM_INT));
+$temp->add(new admin_setting_configtext('curlcache', new lang_string('curlcache', 'admin'),
+                                        new lang_string('configcurlcache', 'admin'), 120, PARAM_INT));
 
-$temp->add(new admin_setting_configtext('curltimeoutkbitrate', get_string('curltimeoutkbitrate', 'admin'),
-                                        get_string('curltimeoutkbitrate_help', 'admin'), 56, PARAM_INT));
+$temp->add(new admin_setting_configtext('curltimeoutkbitrate', new lang_string('curltimeoutkbitrate', 'admin'),
+                                        new lang_string('curltimeoutkbitrate_help', 'admin'), 56, PARAM_INT));
 /* //TODO: we need to fix code instead of relying on slow rcache, enable this once we have some code that is actually using it
-$temp->add(new admin_setting_special_selectsetup('cachetype', get_string('cachetype', 'admin'),
-                                          get_string('configcachetype', 'admin'), '',
-                                          array( '' => get_string('none'),
+$temp->add(new admin_setting_special_selectsetup('cachetype', new lang_string('cachetype', 'admin'),
+                                          new lang_string('configcachetype', 'admin'), '',
+                                          array( '' => new lang_string('none'),
                                                  'internal' => 'internal',
                                                  'memcached' => 'memcached',
                                                  'eaccelerator' => 'eaccelerator')));
 // NOTE: $CFG->rcache is forced to bool in lib/setup.php
-$temp->add(new admin_setting_special_selectsetup('rcache', get_string('rcache', 'admin'),
-                                          get_string('configrcache', 'admin'), 0,
-                                          array( '0' => get_string('no'),
-                                                 '1' => get_string('yes'))));
-$temp->add(new admin_setting_configtext('rcachettl', get_string('rcachettl', 'admin'),
-                                        get_string('configrcachettl', 'admin'), 10));
-$temp->add(new admin_setting_configtext('intcachemax', get_string('intcachemax', 'admin'),
-                                        get_string('configintcachemax', 'admin'), 10));
-$temp->add(new admin_setting_configtext('memcachedhosts', get_string('memcachedhosts', 'admin'),
-                                        get_string('configmemcachedhosts', 'admin'), ''));
-$temp->add(new admin_setting_configselect('memcachedpconn', get_string('memcachedpconn', 'admin'),
-                                          get_string('configmemcachedpconn', 'admin'), 0,
-                                          array( '0' => get_string('no'),
-                                                 '1' => get_string('yes'))));
+$temp->add(new admin_setting_special_selectsetup('rcache', new lang_string('rcache', 'admin'),
+                                          new lang_string('configrcache', 'admin'), 0,
+                                          array( '0' => new lang_string('no'),
+                                                 '1' => new lang_string('yes'))));
+$temp->add(new admin_setting_configtext('rcachettl', new lang_string('rcachettl', 'admin'),
+                                        new lang_string('configrcachettl', 'admin'), 10));
+$temp->add(new admin_setting_configtext('intcachemax', new lang_string('intcachemax', 'admin'),
+                                        new lang_string('configintcachemax', 'admin'), 10));
+$temp->add(new admin_setting_configtext('memcachedhosts', new lang_string('memcachedhosts', 'admin'),
+                                        new lang_string('configmemcachedhosts', 'admin'), ''));
+$temp->add(new admin_setting_configselect('memcachedpconn', new lang_string('memcachedpconn', 'admin'),
+                                          new lang_string('configmemcachedpconn', 'admin'), 0,
+                                          array( '0' => new lang_string('no'),
+                                                 '1' => new lang_string('yes'))));
 */
 $ADMIN->add('server', $temp);
 
 
-$ADMIN->add('server', new admin_externalpage('adminregistration', get_string('registration','admin'), "$CFG->wwwroot/$CFG->admin/registration/index.php"));
+$ADMIN->add('server', new admin_externalpage('adminregistration', new lang_string('registration','admin'), "$CFG->wwwroot/$CFG->admin/registration/index.php"));
 
 } // end of speedup
index 49ca205..27e9511 100644 (file)
@@ -2,45 +2,45 @@
 
 if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
 
-    $optionalsubsystems->add(new admin_setting_configcheckbox('enableoutcomes', get_string('enableoutcomes', 'grades'), get_string('enableoutcomes_help', 'grades'), 0));
-    $optionalsubsystems->add(new admin_setting_configcheckbox('usecomments', get_string('enablecomments', 'admin'), get_string('configenablecomments', 'admin'), 1));
+    $optionalsubsystems->add(new admin_setting_configcheckbox('enableoutcomes', new lang_string('enableoutcomes', 'grades'), new lang_string('enableoutcomes_help', 'grades'), 0));
+    $optionalsubsystems->add(new admin_setting_configcheckbox('usecomments', new lang_string('enablecomments', 'admin'), new lang_string('configenablecomments', 'admin'), 1));
 
-    $optionalsubsystems->add(new admin_setting_configcheckbox('usetags', get_string('usetags','admin'),get_string('configusetags', 'admin'), '1'));
+    $optionalsubsystems->add(new admin_setting_configcheckbox('usetags', new lang_string('usetags','admin'),new lang_string('configusetags', 'admin'), '1'));
 
-    $optionalsubsystems->add(new admin_setting_configcheckbox('enablenotes', get_string('enablenotes', 'notes'), get_string('configenablenotes', 'notes'), 1));
+    $optionalsubsystems->add(new admin_setting_configcheckbox('enablenotes', new lang_string('enablenotes', 'notes'), new lang_string('configenablenotes', 'notes'), 1));
 
-    $optionalsubsystems->add(new admin_setting_configcheckbox('enableportfolios', get_string('enabled', 'portfolio'), get_string('enableddesc', 'portfolio'), 0));
+    $optionalsubsystems->add(new admin_setting_configcheckbox('enableportfolios', new lang_string('enabled', 'portfolio'), new lang_string('enableddesc', 'portfolio'), 0));
 
-    $optionalsubsystems->add(new admin_setting_configcheckbox('enablewebservices', get_string('enablewebservices', 'admin'), get_string('configenablewebservices', 'admin'), 0));
+    $optionalsubsystems->add(new admin_setting_configcheckbox('enablewebservices', new lang_string('enablewebservices', 'admin'), new lang_string('configenablewebservices', 'admin'), 0));
 
-    $optionalsubsystems->add(new admin_setting_configcheckbox('messaging', get_string('messaging', 'admin'), get_string('configmessaging','admin'), 1));
+    $optionalsubsystems->add(new admin_setting_configcheckbox('messaging', new lang_string('messaging', 'admin'), new lang_string('configmessaging','admin'), 1));
 
-    $optionalsubsystems->add(new admin_setting_configcheckbox('messaginghidereadnotifications', get_string('messaginghidereadnotifications', 'admin'), get_string('configmessaginghidereadnotifications','admin'), 0));
+    $optionalsubsystems->add(new admin_setting_configcheckbox('messaginghidereadnotifications', new lang_string('messaginghidereadnotifications', 'admin'), new lang_string('configmessaginghidereadnotifications','admin'), 0));
 
-    $options = array(DAYSECS=>get_string('secondstotime86400'), WEEKSECS=>get_string('secondstotime604800'), 2620800=>get_string('nummonths', 'moodle', 1), 15724800=>get_string('nummonths', 'moodle', 6),0=>get_string('never'));
-    $optionalsubsystems->add(new admin_setting_configselect('messagingdeletereadnotificationsdelay', get_string('messagingdeletereadnotificationsdelay', 'admin'), get_string('configmessagingdeletereadnotificationsdelay', 'admin'), 604800, $options));
+    $options = array(DAYSECS=>new lang_string('secondstotime86400'), WEEKSECS=>new lang_string('secondstotime604800'), 2620800=>new lang_string('nummonths', 'moodle', 1), 15724800=>new lang_string('nummonths', 'moodle', 6),0=>new lang_string('never'));
+    $optionalsubsystems->add(new admin_setting_configselect('messagingdeletereadnotificationsdelay', new lang_string('messagingdeletereadnotificationsdelay', 'admin'), new lang_string('configmessagingdeletereadnotificationsdelay', 'admin'), 604800, $options));
 
-    $optionalsubsystems->add(new admin_setting_configcheckbox('enablestats', get_string('enablestats', 'admin'), get_string('configenablestats', 'admin'), 0));
+    $optionalsubsystems->add(new admin_setting_configcheckbox('enablestats', new lang_string('enablestats', 'admin'), new lang_string('configenablestats', 'admin'), 0));
 
-   &