This may need to be reworked to move the warning to an earlier stage. In the
meantime, we have
- at INFO parsing time we read MNET_EXTERNALUSERS into the backup info obj
- at restore_check time, we warn the user that external users are in the
package. If the situation looks dodgy, we say so. But don't block the
user, as it may be a valid situation.
$hidden["file"] = $file;
$hidden["id"] = $id;
print_string('longtimewarning','admin');
+
+ if ($restore->users && !empty($info->mnet_externalusers)
+ && $info->mnet_externalusers === 'true') {
+ if ($info->original_wwwroot === $CFG->wwwroot) {
+ print '<p>'.get_string('mnetrestore_extusers','admin').'</p>';
+ } else {
+ print '<p>'. get_string('mnetrestore_extusers_mismatch','admin').'</p>';
+ }
+ }
print_single_button("restore.php", $hidden, get_string("restorecoursenow"),"post");
echo "</center>";
} else {
case "ORIGINAL_WWWROOT":
$this->info->original_wwwroot = $this->getContents();
break;
+ case "MNET_EXTERNALUSERS":
+ $this->info->mnet_externalusers = $this->getContents();
+ break;
}
}
if ($this->tree[3] == "DETAILS") {
$string['memcachedpconn'] = 'memcached use persistent connections';
$string['messaging'] = 'Enable messaging system';
$string['misc'] = 'Miscellaneous';
+$string['mnetrestore_extusers'] = '<strong>Note:</strong> This backup file contains remote Moodle Network user accounts which will be restored as part of the process.';
+$string['mnetrestore_extusers_mismatch'] = '<strong>Note:</strong> This backup file apparently originates from a different Moodle installation and contains remote Moodle Network user accounts that may fail to restore. This operation is unsupported. If you are certain that it was created on this Moodle installation, or you can ensure that all the needed Moodle Network Hosts are configured, you may want to still try the restore.';
$string['modulesecurity'] = 'Module security';
$string['multilangforceold'] = 'Force old multilang syntax: <span> without the class=\"multilang\" and <lang>';
$string['multilangupgrade'] = 'Multilang upgrade';