// Check if moodle campaign content setting is enabled or not.
$showcampaigncontent = !isset($CFG->showcampaigncontent) || $CFG->showcampaigncontent;
+// Encourage admins to enable the user feedback feature if it is not enabled already.
+$showfeedbackencouragement = empty($CFG->enableuserfeedback);
+
admin_externalpage_setup('adminnotifications');
$output = $PAGE->get_renderer('core', 'admin');
$maintenancemode, $availableupdates, $availableupdatesfetch, $buggyiconvnomb,
$registered, $cachewarnings, $eventshandlers, $themedesignermode, $devlibdir,
$mobileconfigured, $overridetossl, $invalidforgottenpasswordurl, $croninfrequent,
- $showcampaigncontent);
+ $showcampaigncontent, $showfeedbackencouragement);
* @param bool $invalidforgottenpasswordurl Whether the forgotten password URL does not link to a valid URL.
* @param bool $croninfrequent If true, warn that cron hasn't run in the past few minutes
* @param bool $showcampaigncontent Whether the campaign content should be visible or not.
+ * @param bool $showfeedbackencouragement Whether the feedback encouragement content should be displayed or not.
*
* @return string HTML to output.
*/
$buggyiconvnomb, $registered, array $cachewarnings = array(), $eventshandlers = 0,
$themedesignermode = false, $devlibdir = false, $mobileconfigured = false,
$overridetossl = false, $invalidforgottenpasswordurl = false, $croninfrequent = false,
- $showcampaigncontent = false) {
+ $showcampaigncontent = false, bool $showfeedbackencouragement = false) {
global $CFG;
$output = '';
$output .= $this->registration_warning($registered);
$output .= $this->mobile_configuration_warning($mobileconfigured);
$output .= $this->forgotten_password_url_warning($invalidforgottenpasswordurl);
+ $output .= $this->userfeedback_encouragement($showfeedbackencouragement);
$output .= $this->campaign_content($showcampaigncontent);
//////////////////////////////////////////////////////////////////////////////////////////////////
return $this->output->box($out);
}
+
+ /**
+ * Display message about benefits of enabling the user feedback feature.
+ *
+ * @param bool $showfeedbackencouragement Whether the encouragement content should be displayed or not
+ * @return string
+ */
+ protected function userfeedback_encouragement(bool $showfeedbackencouragement): string {
+ $output = '';
+
+ if ($showfeedbackencouragement) {
+ $settingslink = new moodle_url('/admin/settings.php', ['section' => 'userfeedback']);
+ $output .= $this->warning(get_string('userfeedbackencouragement', 'admin', $settingslink->out()), 'info');
+ }
+
+ return $output;
+ }
}
$backpacks = badges_get_site_backpacks();
$choices = array();
+ $defaultchoice = 0;
foreach ($backpacks as $backpack) {
$choices[$backpack->id] = $backpack->backpackweburl;
+ if ($backpack->backpackweburl == BADGRIO_BACKPACKWEBURL) {
+ $defaultchoice = $backpack->id;
+ }
}
$globalsettings->add(new admin_setting_configcheckbox('badges_allowcoursebadges',
new lang_string('allowexternalbackpack', 'badges'),
new lang_string('allowexternalbackpack_desc', 'badges'), 1));
- $bp = $DB->get_record('badge_external_backpack', ['backpackweburl' => BADGRIO_BACKPACKWEBURL]);
$backpacksettings->add(new admin_setting_configselect('badges_site_backpack',
new lang_string('sitebackpack', 'badges'),
new lang_string('sitebackpack_help', 'badges'),
- $bp->id, $choices));
-
- $warning = badges_verify_site_backpack();
- if (!empty($warning)) {
- $backpacksettings->add(new admin_setting_description('badges_site_backpack_verify',
- new lang_string('sitebackpackverify', 'badges'),
- $warning));
- }
+ $defaultchoice, $choices));
$ADMIN->add('badges', $backpacksettings);
$userfeedback->add(new admin_setting_configcheckbox('enableuserfeedback',
new lang_string('enableuserfeedback', 'admin'),
- new lang_string('enableuserfeedback_desc', 'admin'), 1, 1, 0));
+ new lang_string('enableuserfeedback_desc', 'admin'), 0, 1, 0));
$options = [
core_userfeedback::REMIND_AFTER_UPGRADE => new lang_string('userfeedbackafterupgrade', 'admin'),
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_analytics'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->component = 'tool_availabilityconditions';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'tool_behat'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_capability'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2020020600; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_cohortroles'; // Full name of the plugin (used for diagnostics).
$plugin->dependencies = array(
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->component = 'tool_customlang'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die;
-$plugin->version = 2019121700;
-$plugin->requires = 2019111200; // Moodle 3.5dev (Build 2018031600) and upwards.
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->component = 'tool_dataprivacy';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_dbtransfer'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->component = 'tool_filetypes';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->component = 'tool_generator';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'tool_health'; // Full name of the plugin (used for diagnostics)
$plugin->maturity = MATURITY_ALPHA; // this version's maturity level
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_httpsreplace'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'tool_innodb'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
$plugin->component = 'tool_installaddon';
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->maturity = MATURITY_STABLE;
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'tool_langimport'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2020050600;
-$plugin->requires = 2020050200; // Requires this Moodle version.
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_licensemanager';
$plugin->maturity = MATURITY_STABLE;
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'logstore_database'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'logstore_legacy'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'logstore_standard'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_log'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_lp'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_lpimportcsv'; // Full name of the plugin (used for diagnostics).
-$plugin->dependencies = array('tool_lp' => 2019111200);
+$plugin->dependencies = array('tool_lp' => 2020060900);
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_lpmigrate'; // Full name of the plugin (used for diagnostics).
$plugin->dependencies = array(
'tool_lp' => ANY_VERSION
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->component = 'tool_messageinbound';
*/
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111802; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_mobile'; // Full name of the plugin (used for diagnostics).
$plugin->dependencies = array(
- 'webservice_rest' => 2019111200
+ 'webservice_rest' => 2020060900
);
defined('MOODLE_INTERNAL') || die;
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_monitor'; // Full name of the plugin (used for diagnostics).
upgrade_plugin_savepoint(true, 2020060500, 'tool', 'moodlenet');
}
+ if ($oldversion < 2020061501) {
+ // Change the domain.
+ $defaultmoodlenet = get_config('tool_moodlenet', 'defaultmoodlenet');
+
+ if ($defaultmoodlenet === 'https://home.moodle.net') {
+ set_config('defaultmoodlenet', 'https://moodle.net', 'tool_moodlenet');
+ }
+
+ // Change the name.
+ $defaultmoodlenetname = get_config('tool_moodlenet', 'defaultmoodlenetname');
+
+ if ($defaultmoodlenetname === 'Moodle HQ MoodleNet') {
+ set_config('defaultmoodlenetname', 'MoodleNet Central', 'tool_moodlenet');
+ }
+
+ upgrade_plugin_savepoint(true, 2020061501, 'tool', 'moodlenet');
+ }
+
return true;
}
$string['browsecontentmoodlenet'] = "Or browse for content on MoodleNet";
$string['clearsearch'] = "Clear search";
$string['connectandbrowse'] = "Connect to and browse:";
-$string['defaultmoodlenet'] = "Default MoodleNet URL";
-$string['defaultmoodlenet_desc'] = "The URL to either Moodle HQ's MoodleNet instance, or your preferred instance.";
+$string['defaultmoodlenet'] = 'MoodleNet URL';
+$string['defaultmoodlenet_desc'] = 'The URL of the MoodleNet instance available via the activity chooser.';
$string['defaultmoodlenetname'] = "MoodleNet instance name";
-$string['defaultmoodlenetname_desc'] = 'The name of either Moodle HQ\'s MoodleNet instance or your preferred MoodleNet instance to browse on.';
+$string['defaultmoodlenetnamevalue'] = 'MoodleNet Central';
+$string['defaultmoodlenetname_desc'] = 'The name of the MoodleNet instance available via the activity chooser.';
$string['enablemoodlenet'] = 'Enable MoodleNet integration';
-$string['enablemoodlenet_desc'] = 'Enabling the integration allows users with the capability to create and manage activities to
-browse MoodleNet from the activity chooser and import MoodleNet resources into their course. It also allows users with the
-capability to restore backups, to push backup files from MoodleNet into Moodle.';
+$string['enablemoodlenet_desc'] = 'If enabled, a user with the capability to create and manage activities can browse MoodleNet via the activity chooser and import MoodleNet resources into their course. In addition, a user with the capability to restore backups can select a backup file on MoodleNet and restore it into Moodle.';
$string['errorduringdownload'] = 'An error occurred while downloading the file: {$a}';
-$string['forminfo'] = "It will be automatically saved on your moodle profile.";
+$string['forminfo'] = 'Your MoodleNet profile will be automatically saved in your profile on this site.';
$string['footermessage'] = "Or browse for content on";
$string['instancedescription'] = "MoodleNet is an open social media platform for educators, with a focus on the collaborative curation of collections of open resources. ";
$string['instanceplaceholder'] = '@yourprofile@moodle.net';
$string['invalidmoodlenetprofile'] = '$userprofile is not correctly formatted';
$string['importconfirm'] = 'You are about to import the content "{$a->resourcename} ({$a->resourcetype})" into the course "{$a->coursename}". Are you sure you want to continue?';
$string['importconfirmnocourse'] = 'You are about to import the content "{$a->resourcename} ({$a->resourcetype})" into your site. Are you sure you want to continue?';
-$string['importformatselectguidingtext'] = 'In which format would you like this content "{$a->name} ({$a->type})" to be added to your course?';
+$string['importformatselectguidingtext'] = 'In which format would you like the content "{$a->name} ({$a->type})" to be added to your course?';
$string['importformatselectheader'] = 'Choose the content display format';
$string['missinginvalidpostdata'] = 'The resource information from MoodleNet is either missing, or is in an incorrect format.
If this happens repeatedly, please contact the site administrator.';
$string['mnetprofile'] = 'MoodleNet profile';
-$string['mnetprofiledesc'] = '<p>Enter in your MoodleNet profile details here to be redirected to your profile while visiting MoodleNet.</p>';
+$string['mnetprofiledesc'] = '<p>Enter your MoodleNet profile details here to be redirected to your profile while visiting MoodleNet.</p>';
$string['moodlenetsettings'] = 'MoodleNet settings';
-$string['moodlenetnotenabled'] = 'The MoodleNet integration must be enabled before resource imports can be processed.
-To enable this feature, see the \'enablemoodlenet\' setting.';
+$string['moodlenetnotenabled'] = 'The MoodleNet integration must be enabled in Site administration / MoodleNet before resource imports can be processed.';
$string['notification'] = 'You are about to import the content "{$a->name} ({$a->type})" into your site. Select the course in which it should be added, or <a href="{$a->cancellink}">cancel</a>.';
$string['searchcourses'] = "Search courses";
$string['selectpagetitle'] = 'Select page';
$temp = new admin_setting_configtext('tool_moodlenet/defaultmoodlenetname',
get_string('defaultmoodlenetname', 'tool_moodlenet'), new lang_string('defaultmoodlenetname_desc', 'tool_moodlenet'),
- 'Moodle HQ MoodleNet');
+ new lang_string('defaultmoodlenetnamevalue', 'tool_moodlenet'));
$settings->add($temp);
$temp = new admin_setting_configtext('tool_moodlenet/defaultmoodlenet', get_string('defaultmoodlenet', 'tool_moodlenet'),
- new lang_string('defaultmoodlenet_desc', 'tool_moodlenet'), 'https://home.moodle.net');
+ new lang_string('defaultmoodlenet_desc', 'tool_moodlenet'), 'https://moodle.net');
$settings->add($temp);
}
defined('MOODLE_INTERNAL') || die();
$plugin->component = 'tool_moodlenet';
-$plugin->version = 2020060500;
-$plugin->requires = 2020022800.01;
+$plugin->version = 2020061501;
+$plugin->requires = 2020060900;
$plugin->maturity = MATURITY_ALPHA;
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'tool_multilangupgrade'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_oauth2'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'tool_phpunit'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_policy'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'tool_profiling'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_recyclebin'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'tool_replace'; // Full name of the plugin (used for diagnostics)
$plugin->maturity = MATURITY_ALPHA; // this version's maturity level
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->component = 'tool_spamcleaner'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'tool_task'; // Full name of the plugin (used for diagnostics)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_templatelibrary'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'tool_unsuproles'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_uploadcourse'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'tool_uploaduser'; // Full name of the plugin (used for diagnostics)
// the format filename => version. The version value needs to
// be increased if the tour has been updated.
$shippedtours = [
- '36_dashboard.json' => 3
];
// These are tours that we used to ship but don't ship any longer.
// We do not remove them, but we do disable them.
$unshippedtours = [
+ // Formerly included in Moodle 3.2.0.
'boost_administrator.json' => 1,
'boost_course_view.json' => 1,
- ];
- if ($CFG->messaging) {
- $shippedtours['36_messaging.json'] = 3;
- } else {
- $unshippedtours['36_messaging.json'] = 3;
- }
+ // Formerly included in Moodle 3.6.0.
+ '36_dashboard.json' => 3,
+ '36_messaging.json' => 3,
+ ];
$existingtourrecords = $DB->get_recordset('tool_usertours_tours');
// Automatically generated Moodle v3.5.0 release upgrade line.
// Put any upgrade step following this.
- if ($oldversion < 2018113002) {
- // Update the tours shipped with Moodle.
- manager::update_shipped_tours();
-
- upgrade_plugin_savepoint(true, 2018113002, 'tool', 'usertours');
- }
-
// Automatically generated Moodle v3.6.0 release upgrade line.
// Put any upgrade step following this.
- if ($oldversion < 2019030600) {
- // Update the tours shipped with Moodle.
- manager::update_shipped_tours();
-
- upgrade_plugin_savepoint(true, 2019030600, 'tool', 'usertours');
- }
-
// Automatically generated Moodle v3.7.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.8.0 release upgrade line.
// Put any upgrade step following this.
- if ($oldversion < 2020031900) {
+ if ($oldversion < 2020061501) {
// Updating shipped tours will fix broken sortorder records in existing tours.
manager::update_shipped_tours();
- upgrade_plugin_savepoint(true, 2020031900, 'tool', 'usertours');
+ upgrade_plugin_savepoint(true, 2020061501, 'tool', 'usertours');
}
return true;
*/
class tool_usertours_privacy_testcase extends \core_privacy\tests\provider_testcase {
+ protected function create_test_tour(): tour {
+ return (new tour())
+ ->set_name('test_tour')
+ ->set_description('Test tour')
+ ->set_enabled(true)
+ ->set_pathmatch('/')
+ ->persist();
+ }
+
/**
* Ensure that get_metadata exports valid content.
*/
$this->resetAfterTest();
$this->setAdminUser();
- $alltours = $DB->get_records('tool_usertours_tours');
- $tourdata = reset($alltours);
+ $tour = $this->create_test_tour();
$user = \core_user::get_user_by_username('admin');
- $tour = tour::instance($tourdata->id);
$tour->mark_user_completed();
provider::export_user_preferences($user->id);
$this->resetAfterTest();
$this->setAdminUser();
- $alltours = $DB->get_records('tool_usertours_tours');
- $tourdata = reset($alltours);
+ $tour = $this->create_test_tour();
$user = \core_user::get_user_by_username('admin');
- $tour = tour::instance($tourdata->id);
$tour->mark_user_completed();
$tour->request_user_reset();
provider::export_user_preferences($user->id);
$this->resetAfterTest();
$this->setAdminUser();
+ $tour1 = $this->create_test_tour();
+ $tour2 = $this->create_test_tour();
+
$user = \core_user::get_user_by_username('admin');
$alltours = $DB->get_records('tool_usertours_tours');
- $tour1 = tour::instance(array_shift($alltours)->id);
$tour1->mark_user_completed();
- $tour2 = tour::instance(array_shift($alltours)->id);
$tour2->mark_user_completed();
$tour2->remove();
+++ /dev/null
-{"name":"Dashboard","description":"New dashboard features","pathmatch":"\/my\/%","enabled":"1","sortorder":"3","configdata":"{\"placement\":\"top\",\"orphan\":\"0\",\"backdrop\":\"0\",\"reflex\":\"0\",\"filtervalues\":{\"category\":[],\"course\":[\"0\"],\"courseformat\":[],\"role\":[],\"theme\":[]},\"majorupdatetime\":1543396938}","version":"2018051400","steps":[{"title":"tour3_title_dashboard,tool_usertours","content":"tour3_content_dashboard,tool_usertours","targettype":"2","targetvalue":"","sortorder":"0","configdata":"{\"backdrop\":\"1\"}"},{"title":"tour3_title_dashboard,tool_usertours","content":"tour3_content_timeline,tool_usertours","targettype":"1","targetvalue":"timeline","sortorder":"1","configdata":"{\"reflex\":\"0\"}"},{"title":"tour3_title_recentcourses,tool_usertours","content":"tour3_content_recentcourses,tool_usertours","targettype":"1","targetvalue":"recentlyaccessedcourses","sortorder":"2","configdata":"{\"placement\":\"top\",\"backdrop\":\"1\"}"},{"title":"tour3_title_overview,tool_usertours","content":"tour3_content_overview,tool_usertours","targettype":"1","targetvalue":"myoverview","sortorder":"3","configdata":"{}"},{"title":"tour3_title_starring,tool_usertours","content":"tour3_content_starring,tool_usertours","targettype":"0","targetvalue":".block-myoverview [data-display=\"cards\"] [data-region=\"course-content\"] .coursemenubtn","sortorder":"4","configdata":"{\"placement\":\"right\"}"},{"title":"tour3_title_starring,tool_usertours","content":"tour3_content_starring,tool_usertours","targettype":"0","targetvalue":".block-myoverview [data-display]:not([data-display=\"cards\"]) [data-region=\"course-content\"] .coursemenubtn","sortorder":"5","configdata":"{}"},{"title":"tour3_title_displayoptions,tool_usertours","content":"tour3_content_displayoptions,tool_usertours","targettype":"0","targetvalue":"#sortingdropdown","sortorder":"6","configdata":"{\"placement\":\"top\"}"},{"title":"tour_final_step_title,tool_usertours","content":"tour_final_step_content,tool_usertours","targettype":"2","targetvalue":"","sortorder":"7","configdata":"{}"}]}
+++ /dev/null
-{"name":"New Messaging System","description":"New messaging interface in Moodle 3.6","pathmatch":"\/course\/view.php%","enabled":"1","sortorder":"2","configdata":"{\"placement\":\"bottom\",\"orphan\":\"0\",\"backdrop\":\"0\",\"reflex\":\"0\",\"filtervalues\":{\"category\":[],\"course\":[\"0\"],\"courseformat\":[],\"role\":[],\"theme\":[]},\"majorupdatetime\":1543468823}","version":"2018051400","steps":[{"title":"tour4_title_messaging,tool_usertours","content":"tour4_content_messaging,tool_usertours","targettype":"2","targetvalue":"","sortorder":"0","configdata":"{\"backdrop\":\"1\"}"},{"title":"tour4_title_icon,tool_usertours","content":"tour4_content_icon,tool_usertours","targettype":"0","targetvalue":"[id^=message-drawer-toggle]","sortorder":"1","configdata":"{\"backdrop\":\"0\",\"reflex\":\"1\"}"},{"title":"tour4_title_groupconvo,tool_usertours","content":"tour4_content_groupconvo,tool_usertours","targettype":"0","targetvalue":".message-drawer:not(.hidden) [data-region=\"view-overview-group-messages\"]","sortorder":"2","configdata":"{\"placement\":\"left\"}"},{"title":"tour4_title_starred,tool_usertours","content":"tour4_content_starred,tool_usertours","targettype":"0","targetvalue":".message-drawer:not(.hidden) [data-region=\"view-overview-favourites\"]","sortorder":"3","configdata":"{\"placement\":\"left\"}"},{"title":"tour4_title_settings,tool_usertours","content":"tour4_content_settings,tool_usertours","targettype":"0","targetvalue":".message-drawer:not(.hidden) [data-route=\"view-settings\"]","sortorder":"4","configdata":"{\"reflex\":\"1\"}"},{"title":"tour_final_step_title,tool_usertours","content":"tour_final_step_content,tool_usertours","targettype":"2","targetvalue":"","sortorder":"5","configdata":"{}"}]}
+++ /dev/null
-{"name":"Boost - administrator","description":"A tour of some new features in the Boost theme, for administrators","pathmatch":"FRONTPAGE","enabled":"1","sortorder":"0","configdata":"{\"placement\":\"bottom\",\"orphan\":\"0\",\"backdrop\":\"1\",\"reflex\":\"0\",\"filtervalues\":{\"role\":[\"-1\"],\"theme\":[\"boost\"]},\"majorupdatetime\":1479366244,\"default_tour\":true,\"filename\":\"boost_administrator.json\",\"version\":1}","version":"2016102001","steps":[{"title":"tour1_title_welcome,tool_usertours","content":"tour1_content_welcome,tool_usertours","targettype":"2","targetvalue":"","sortorder":"0","configdata":"{}"},{"title":"tour1_title_navigation,tool_usertours","content":"tour1_content_navigation,tool_usertours","targettype":"0","targetvalue":"[data-region=\"drawer-toggle\"] button[data-action=\"toggle-drawer\"]","sortorder":"1","configdata":"{}"},{"title":"tour1_title_customisation,tool_usertours","content":"tour1_content_customisation,tool_usertours","targettype":"0","targetvalue":"body:not(.editing) #page-header .card-block","sortorder":"2","configdata":"{\"placement\":\"bottom\"}"},{"title":"tour1_title_blockregion,tool_usertours","content":"tour1_content_blockregion,tool_usertours","targettype":"0","targetvalue":"body.editing [data-region=\"blocks-column\"]","sortorder":"3","configdata":"{}"},{"title":"tour1_title_addingblocks,tool_usertours","content":"tour1_content_addingblocks,tool_usertours","targettype":"0","targetvalue":"body.editing [data-region=\"blocks-column\"]","sortorder":"4","configdata":"{\"placement\":\"bottom\"}"},{"title":"tour1_title_end,tool_usertours","content":"tour1_content_end,tool_usertours","targettype":"2","targetvalue":"","sortorder":"5","configdata":"{}"}]}
-
+++ /dev/null
-{"name":"Boost - course view","description":"A tour for introducing administrators and teachers to courses in the Boost theme","pathmatch":"\/course\/view.php%","enabled":"1","sortorder":"1","configdata":"{\"placement\":\"bottom\",\"orphan\":\"0\",\"backdrop\":\"1\",\"reflex\":\"0\",\"filtervalues\":{\"role\":[\"-1\",\"editingteacher\"],\"theme\":[\"boost\"]},\"majorupdatetime\":1480050104,\"shipped_tour\":true,\"shipped_filename\":\"boost_course_view.json\",\"shipped_version\":1}","version":"2016120501","steps":[{"title":"tour2_title_welcome,tool_usertours","content":"tour2_content_welcome,tool_usertours","targettype":"2","targetvalue":"","sortorder":"0","configdata":"{}"},{"title":"tour2_title_customisation,tool_usertours","content":"tour2_content_customisation,tool_usertours","targettype":"0","targetvalue":"body:not(.editing) #page-header .card-block","sortorder":"1","configdata":"{}"},{"title":"tour2_title_navigation,tool_usertours","content":"tour2_content_navigation,tool_usertours","targettype":"0","targetvalue":"[data-region=\"drawer-toggle\"] button[data-action=\"toggle-drawer\"]","sortorder":"2","configdata":"{}"},{"title":"tour2_title_opendrawer,tool_usertours","content":"tour2_content_opendrawer,tool_usertours","targettype":"0","targetvalue":"body:not(.drawer-open-left) [data-region=\"drawer-toggle\"] button[data-action=\"toggle-drawer\"]","sortorder":"3","configdata":"{}"},{"title":"tour2_title_participants,tool_usertours","content":"tour2_content_participants,tool_usertours","targettype":"0","targetvalue":"body.drawer-open-left [data-region=\"drawer\"] [data-key=\"participants\"]","sortorder":"4","configdata":"{\"placement\":\"bottom\",\"backdrop\":\"0\"}"},{"title":"tour2_title_addblock,tool_usertours","content":"tour2_content_addblock,tool_usertours","targettype":"0","targetvalue":"body.drawer-open-left:not(.editing) [data-region=\"drawer\"]","sortorder":"5","configdata":"{\"placement\":\"right\",\"orphan\":\"0\",\"backdrop\":\"0\",\"reflex\":\"0\"}"},{"title":"tour2_title_addingblocks,tool_usertours","content":"tour2_content_addingblocks,tool_usertours","targettype":"0","targetvalue":"body.drawer-open-left.editing [data-region=\"drawer\"] [data-key=\"addblock\"]","sortorder":"6","configdata":"{\"backdrop\":\"0\",\"placement\":\"top\"}"},{"title":"tour2_title_end,tool_usertours","content":"tour2_content_end,tool_usertours","targettype":"2","targetvalue":"","sortorder":"7","configdata":"{}"}]}
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2020031900; // The current module version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061501; // The current module version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'tool_usertours'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'tool_xmldb'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'auth_cas'; // Full name of the plugin (used for diagnostics)
-$plugin->dependencies = array('auth_ldap' => 2019111200);
+$plugin->dependencies = array('auth_ldap' => 2020060900);
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'auth_db'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die;
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'auth_email'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'auth_ldap'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'auth_lti'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'auth_manual'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'auth_mnet'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'auth_nologin'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111801; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'auth_none'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'auth_oauth2'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'auth_shibboleth'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'auth_webservice'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2020032600;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->component = 'availability_completion';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->component = 'availability_date';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->component = 'availability_grade';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->component = 'availability_group';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->component = 'availability_grouping';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->component = 'availability_profile';
* point is backup when some behavior/approach channged, in order to allow
* conditional coding based on it.
*/
- const VERSION = 2019111800;
+ const VERSION = 2020061500;
/**
* Usually same than major release zero version, mainly for informative/historic purposes.
*/
echo $output->heading(get_string('managebackpacks', 'badges'));
$form->display();
+} else if ($action == 'test') {
+ // If no backpack has been selected, there isn't anything to test.
+ if (empty($id)) {
+ redirect($url);
+ }
+
+ echo $OUTPUT->header();
+ echo $output->render_test_backpack_result($id);
} else {
echo $OUTPUT->header();
echo $output->heading(get_string('managebackpacks', 'badges'));
} else {
$backpack->canedit = false;
}
+ $backpack->cantest = ($backpack->apiversion == OPEN_BADGES_V2);
$backpack->iscurrent = ($backpack->id == $CFG->badges_site_backpack);
$data->backpacks[] = $backpack;
}
- $data->warning = badges_verify_site_backpack();
return $data;
}
$data = $page->export_for_template($this);
return parent::render_from_template('core_badges/external_backpacks_page', $data);
}
+
+ /**
+ * Get the result of a backpack validation with its settings. It returns:
+ * - A informative message if the backpack version is different from OBv2.
+ * - A warning with the error if it's not possible to connect to this backpack.
+ * - A successful message if the connection has worked.
+ *
+ * @param int $backpackid The backpack identifier.
+ * @return string A message with the validation result.
+ */
+ public function render_test_backpack_result(int $backpackid): string {
+ // Get the backpack.
+ $backpack = badges_get_site_backpack($backpackid);
+
+ // Add the header to the result.
+ $result = $this->heading(get_string('testbackpack', 'badges', $backpack->backpackweburl));
+
+ if ($backpack->apiversion != OPEN_BADGES_V2) {
+ // Only OBv2 supports this validation.
+ $result .= get_string('backpackconnectionnottested', 'badges');
+ } else {
+ $message = badges_verify_backpack($backpackid);
+ if (empty($message)) {
+ $result .= get_string('backpackconnectionok', 'badges');
+ } else {
+ $result .= $message;
+ }
+ }
+
+ return $result;
+ }
}
Example context (json):
{
"backpacks": [
- {"backpackweburl": "http://localhost/", "sitebackpack": true, "canedit": false}
- ],
- "warning": "<span class='text-warning'>Could not login</span>"
+ {"backpackweburl": "http://localhost/", "sitebackpack": true, "canedit": false, "cantest": true}
+ ]
}
}}
{{#pix}}t/delete, core,{{#str}}delete{{/str}}{{/pix}}
</a>
{{/iscurrent}}
+ {{#cantest}}
+ <a href="{{baseurl}}?id={{id}}&action=test">{{#pix}}t/check, core,{{#str}}testsettings, core_badges{{/str}}{{/pix}}</a>
+ {{/cantest}}
</td>
</tr>
{{/backpacks}}
</tbody>
-</table>
-{{{warning}}}
+</table>
\ No newline at end of file
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_activity_modules'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'block_activity_results'; // Full name of the plugin (used for diagnostics).
\ No newline at end of file
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_admin_bookmarks'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'block_badges';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_blog_menu'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_blog_recent'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_blog_tags'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_calendar_month'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_calendar_upcoming'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_comments'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'block_completionstatus';
-$plugin->dependencies = array('report_completion' => 2019111200);
+$plugin->dependencies = array('report_completion' => 2020060900);
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_course_list'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_course_summary'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_feedback'; // Full name of the plugin (used for diagnostics)
-$plugin->dependencies = array('mod_feedback' => 2019111200);
+$plugin->dependencies = array('mod_feedback' => 2020060900);
defined('MOODLE_INTERNAL') || die;
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->component = 'block_globalsearch';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_glossary_random'; // Full name of the plugin (used for diagnostics)
-$plugin->dependencies = array('mod_glossary' => 2019111200);
+$plugin->dependencies = array('mod_glossary' => 2020060900);
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_html'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_login'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->component = 'block_lp';
$plugin->dependencies = array(
'tool_lp' => ANY_VERSION
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_mentees'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_mnet_hosts'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111801; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'block_myoverview'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_myprofile'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_navigation'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_news_items'; // Full name of the plugin (used for diagnostics)
-$plugin->dependencies = array('mod_forum' => 2019111200);
+$plugin->dependencies = array('mod_forum' => 2020060900);
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_online_users'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_private_files'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_quiz_results'; // Full name of the plugin (used for diagnostics)
-$plugin->dependencies = array('mod_quiz' => 2019111200);
+$plugin->dependencies = array('mod_quiz' => 2020060900);
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_recent_activity'; // Full name of the plugin (used for diagnostics)
*/
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'block_recentlyaccessedcourses'; // Full name of the plugin (used for diagnostics).
*/
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'block_recentlyaccesseditems'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_rss_client'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_search_forums'; // Full name of the plugin (used for diagnostics)
-$plugin->dependencies = array('mod_forum' => 2019111200);
+$plugin->dependencies = array('mod_forum' => 2020060900);
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_section_links'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_selfcompletion'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_settings'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_site_main_menu'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_social_activities'; // Full name of the plugin (used for diagnostics)
*/
defined('MOODLE_INTERNAL') || die;
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->component = 'block_starredcourses';
\ No newline at end of file
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_tag_flickr'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_tag_youtube'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'block_tags'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'block_timeline'; // Full name of the plugin (used for diagnostics).
}
$successfullyset = $this->get_store()->set_many($data);
if ($this->perfdebug && $successfullyset) {
- cache_helper::record_cache_set($this->store, $this->get_definition(), $successfullyset);
+ cache_helper::record_cache_set($this->get_store(), $this->get_definition(), $successfullyset);
}
return $successfullyset;
}
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'cachelock_file'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die;
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->maturity = MATURITY_STABLE;
$plugin->component = 'cachestore_apcu';
defined('MOODLE_INTERNAL') || die;
-$plugin->version = 2019111800; // The current module version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current module version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'cachestore_file'; // Full name of the plugin.
\ No newline at end of file
defined('MOODLE_INTERNAL') || die;
-$plugin->version = 2019111800; // The current module version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current module version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'cachestore_memcached'; // Full name of the plugin.
\ No newline at end of file
defined('MOODLE_INTERNAL') || die;
-$plugin->version = 2019111800; // The current module version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current module version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'cachestore_mongodb'; // Full name of the plugin.
\ No newline at end of file
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->maturity = MATURITY_STABLE;
$plugin->component = 'cachestore_redis';
-$plugin->release = '3.0.4 (Build: 20160509)';
defined('MOODLE_INTERNAL') || die;
-$plugin->version = 2019111800; // The current module version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current module version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'cachestore_session'; // Full name of the plugin.
\ No newline at end of file
defined('MOODLE_INTERNAL') || die;
-$plugin->version = 2019111800; // The current module version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current module version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'cachestore_static'; // Full name of the plugin.
\ No newline at end of file
$startstats[$requestid]['stores']['default_request']['hits']);
$this->assertEquals(0, $endstats[$requestid]['stores']['default_request']['sets'] -
$startstats[$requestid]['stores']['default_request']['sets']);
+
+ $startstats = cache_helper::get_stats();
+
+ // Check that stores register through set_many.
+ $this->assertEquals(2, $application->set_many(['setMe1' => 1, 'setMe2' => 2]));
+ $this->assertEquals(3, $session->set_many(['setMe1' => 1, 'setMe2' => 2, 'setMe3' => 3]));
+ $this->assertEquals(4, $request->set_many(['setMe1' => 1, 'setMe2' => 2, 'setMe3' => 3, 'setMe4' => 4]));
+
+ $endstats = cache_helper::get_stats();
+
+ $this->assertEquals(0, $endstats[$applicationid]['stores']['default_application']['misses'] -
+ $startstats[$applicationid]['stores']['default_application']['misses']);
+ $this->assertEquals(0, $endstats[$applicationid]['stores']['default_application']['hits'] -
+ $startstats[$applicationid]['stores']['default_application']['hits']);
+ $this->assertEquals(2, $endstats[$applicationid]['stores']['default_application']['sets'] -
+ $startstats[$applicationid]['stores']['default_application']['sets']);
+ $this->assertEquals(0, $endstats[$sessionid]['stores']['default_session']['misses'] -
+ $startstats[$sessionid]['stores']['default_session']['misses']);
+ $this->assertEquals(0, $endstats[$sessionid]['stores']['default_session']['hits'] -
+ $startstats[$sessionid]['stores']['default_session']['hits']);
+ $this->assertEquals(3, $endstats[$sessionid]['stores']['default_session']['sets'] -
+ $startstats[$sessionid]['stores']['default_session']['sets']);
+ $this->assertEquals(0, $endstats[$requestid]['stores']['default_request']['misses'] -
+ $startstats[$requestid]['stores']['default_request']['misses']);
+ $this->assertEquals(0, $endstats[$requestid]['stores']['default_request']['hits'] -
+ $startstats[$requestid]['stores']['default_request']['hits']);
+ $this->assertEquals(4, $endstats[$requestid]['stores']['default_request']['sets'] -
+ $startstats[$requestid]['stores']['default_request']['sets']);
}
public function test_static_cache() {
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'calendartype_gregorian'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2020051500.01; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2020041500.00; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'contenttype_h5p'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'format_singleactivity'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'format_social'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'format_topics'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'format_weeks'; // Full name of the plugin (used for diagnostics).
// Get the content items using both the live and the caching repos.
$items = $cir->find_all_for_course($course, $user);
$cacheditems = $ccir->find_all_for_course($course, $user);
- $itemsfiltered = array_filter($items, function($item) {
- return $item->get_component_name() == 'mod_assign';
- });
- $cacheditemsfiltered = array_filter($cacheditems, function($item) {
- return $item->get_component_name() == 'mod_assign';
- });
+ $itemsfiltered = array_values(array_filter($items, function($item) {
+ return $item->get_component_name() == 'mod_book';
+ }));
+ $cacheditemsfiltered = array_values(array_filter($cacheditems, function($item) {
+ return $item->get_component_name() == 'mod_book';
+ }));
- // Verify the assign module is in both result sets.
- $module = $DB->get_record('modules', ['name' => 'assign']);
+ // Verify the book module is in both result sets.
+ $module = $DB->get_record('modules', ['name' => 'book']);
$this->assertEquals($module->name, $itemsfiltered[0]->get_name());
$this->assertEquals($module->name, $cacheditemsfiltered[0]->get_name());
$DB->set_field("modules", "visible", "0", ["id" => $module->id]);
$items = $cir->find_all_for_course($course, $user);
$cacheditems = $ccir->find_all_for_course($course, $user);
- $itemsfiltered = array_filter($items, function($item) {
- return $item->get_component_name() == 'mod_assign';
- });
- $cacheditemsfiltered = array_filter($cacheditems, function($item) {
- return $item->get_component_name() == 'mod_assign';
- });
+ $itemsfiltered = array_values(array_filter($items, function($item) {
+ return $item->get_component_name() == 'mod_book';
+ }));
+ $cacheditemsfiltered = array_values(array_filter($cacheditems, function($item) {
+ return $item->get_component_name() == 'mod_book';
+ }));
// The caching repo should return the same list, while the live repo will return the updated list.
$this->assertEquals($module->name, $cacheditemsfiltered[0]->get_name());
defined('MOODLE_INTERNAL') || die();
$plugin->component = 'customfield_checkbox';
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
defined('MOODLE_INTERNAL') || die();
$plugin->component = 'customfield_date';
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
defined('MOODLE_INTERNAL') || die();
$plugin->component = 'customfield_select';
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
defined('MOODLE_INTERNAL') || die();
$plugin->component = 'customfield_text';
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
defined('MOODLE_INTERNAL') || die();
$plugin->component = 'customfield_textarea';
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'dataformat_csv';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'dataformat_excel';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'dataformat_html';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'dataformat_json';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'dataformat_ods';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'dataformat_pdf';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'enrol_category'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'enrol_cohort'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'enrol_database'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDRR)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDRR)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'enrol_flatfile'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'enrol_guest'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'enrol_imsenterprise';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'enrol_ldap'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component = 'enrol_lti'; // Full name of the plugin (used for diagnostics).
import ModalFactory from 'core/modal_factory';
import Notification from 'core/notification';
import jQuery from 'jquery';
+import Pending from 'core/pending';
import Prefetch from 'core/prefetch';
const Selectors = {
* @returns {Promise}
*/
const showModal = (dynamicTable, contextId) => {
+ const pendingPromise = new Pending('enrol_manual/quickenrolment:showModal');
+
return ModalFactory.create({
type: ModalFactory.types.SAVE_CANCEL,
large: true,
})
.catch();
+ pendingPromise.resolve();
+
return modal;
})
.catch(Notification.exception);
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'enrol_manual'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'enrol_meta'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'enrol_mnet'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'enrol_paypal'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'enrol_self'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'fileconverter_googledrive'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'fileconverter_unoconv'; // Full name of the plugin (used for diagnostics).
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'filter_activitynames'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'filter_algebra'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'filter_censor'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component= 'filter_data';
-$plugin->dependencies = array('mod_data' => 2019111200);
+$plugin->dependencies = array('mod_data' => 2020060900);
defined('MOODLE_INTERNAL') || die;
-$plugin->version = 2020031700;
-$plugin->requires = 2019111200;
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900;
$plugin->component = 'filter_displayh5p';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'filter_emailprotect'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2020051200; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'filter_emoticon'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800;
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component= 'filter_glossary';
-$plugin->dependencies = array('mod_glossary' => 2019111200);
+$plugin->dependencies = array('mod_glossary' => 2020060900);
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2020050401;
-$plugin->requires = 2019111200; // Requires this Moodle version.
+$plugin->version = 2020061500;
+$plugin->requires = 2020060900; // Requires this Moodle version.
$plugin->component= 'filter_mathjaxloader';
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'filter_mediaplugin'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'filter_multilang'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'filter_tex'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'filter_tidy'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2020051200; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'filter_urltolink'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Requires this Moodle version
+$plugin->version = 2020061500; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires = 2020060900; // Requires this Moodle version
$plugin->component = 'gradeexport_ods'; // Full name of the plugin (used for diagnostics)
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires = 2019111200; // Req