diff --git a/admin/registration/index.php b/admin/registration/index.php index 8b3301436b2..b9aeb18f8d7 100644 --- a/admin/registration/index.php +++ b/admin/registration/index.php @@ -181,13 +181,8 @@ if (empty($cancel) and $unregistration and !$confirm) { echo $OUTPUT->header(); //check if the site is registered on Moodle.org and display a message about registering on MOOCH - $registered = $DB->count_records('registration_hubs', array('huburl' => HUB_MOODLEORGHUBURL, 'confirmed' => 1)); - if (empty($registered)) { - $warningmsg = get_string('registermoochtips', 'hub'); - $warningmsg .= $renderer->single_button(new moodle_url('register.php', array('huburl' => HUB_MOODLEORGHUBURL - , 'hubname' => 'Moodle.org')), get_string('register', 'admin')); - echo $renderer->box($warningmsg, 'buttons mdl-align generalbox adminwarning'); - } + $adminrenderer = $PAGE->get_renderer('core', 'admin'); + echo $adminrenderer->warn_if_not_registered(); //do not check sesskey if confirm = false because this script is linked into email message if (!empty($errormessage)) { diff --git a/admin/registration/register.php b/admin/registration/register.php index 895ae5c8ac4..43d2e42ebf2 100644 --- a/admin/registration/register.php +++ b/admin/registration/register.php @@ -189,17 +189,19 @@ if (!empty($error)) { // Some Moodle.org registration explanation. if ($huburl == HUB_MOODLEORGHUBURL) { + $notificationtype = \core\output\notification::NOTIFY_ERROR; if (!empty($registeredhub->token)) { if ($registeredhub->timemodified == 0) { $registrationmessage = get_string('pleaserefreshregistrationunknown', 'admin'); } else { $lastupdated = userdate($registeredhub->timemodified, get_string('strftimedate', 'langconfig')); $registrationmessage = get_string('pleaserefreshregistration', 'admin', $lastupdated); + $notificationtype = \core\output\notification::NOTIFY_INFO; } } else { $registrationmessage = get_string('registrationwarning', 'admin'); } - echo $OUTPUT->notification($registrationmessage); + echo $OUTPUT->notification($registrationmessage, $notificationtype); echo $OUTPUT->heading(get_string('registerwithmoodleorg', 'admin')); $renderer = $PAGE->get_renderer('core', 'register'); diff --git a/admin/renderer.php b/admin/renderer.php index 2d6c362e0e9..f7d1516e679 100644 --- a/admin/renderer.php +++ b/admin/renderer.php @@ -782,17 +782,36 @@ class core_admin_renderer extends plugin_renderer_base { if (!$registered) { - $registerbutton = $this->single_button(new moodle_url('/admin/registration/register.php', + if (has_capability('moodle/site:config', context_system::instance())) { + $registerbutton = $this->single_button(new moodle_url('/admin/registration/register.php', array('huburl' => HUB_MOODLEORGHUBURL, 'hubname' => 'Moodle.org')), get_string('register', 'admin')); + $str = 'registrationwarning'; + } else { + $registerbutton = ''; + $str = 'registrationwarningcontactadmin'; + } - return $this->warning( get_string('registrationwarning', 'admin') - . ' ' . $this->help_icon('registration', 'admin') . $registerbutton ); + return $this->warning( get_string($str, 'admin') + . ' ' . $this->help_icon('registration', 'admin') . $registerbutton , + 'error alert alert-danger'); } return ''; } + /** + * Return an admin page warning if site is not registered with moodle.org + * + * @return string + */ + public function warn_if_not_registered() { + global $CFG; + require_once($CFG->dirroot . '/' . $CFG->admin . '/registration/lib.php'); + $registrationmanager = new registration_manager(); + return $this->registration_warning($registrationmanager->get_registeredhub(HUB_MOODLEORGHUBURL) ? true : false); + } + /** * Helper method to render the information about the available Moodle update * diff --git a/admin/search.php b/admin/search.php index 7dd8e2c0a77..fb38431137b 100644 --- a/admin/search.php +++ b/admin/search.php @@ -38,6 +38,12 @@ if ($data = data_submitted() and confirm_sesskey() and isset($data->action) and // to modify them echo $OUTPUT->header($focus); +// Display a warning if site is not registered. +if (empty($query)) { + $adminrenderer = $PAGE->get_renderer('core', 'admin'); + echo $adminrenderer->warn_if_not_registered(); +} + echo $OUTPUT->heading(get_string('administrationsite')); if ($errormsg !== '') { diff --git a/lang/en/admin.php b/lang/en/admin.php index 84e3c02e90a..13267b80a3a 100644 --- a/lang/en/admin.php +++ b/lang/en/admin.php @@ -944,6 +944,7 @@ $string['registerwithmoodleorg'] = 'Register your site'; $string['registration'] = 'Registration'; $string['registration_help'] = 'It is recommended that you register your site in order to receive security alerts and access to Moodle.net, our course sharing platform.'; $string['registrationwarning'] = 'Your site is not yet registered.'; +$string['registrationwarningcontactadmin'] = 'Your site is not yet registered. Please notify your administrator.'; $string['releasenoteslink'] = 'For information about this version of Moodle, please see the online Release Notes'; $string['rememberusername'] = 'Remember username'; $string['rememberusername_desc'] = 'Enable if you want to store permanent cookies with usernames during user login. Permanent cookies may be considered a privacy issue if used without consent.'; diff --git a/lang/en/deprecated.txt b/lang/en/deprecated.txt index bbdb91ad0ae..55a0e70b83b 100644 --- a/lang/en/deprecated.txt +++ b/lang/en/deprecated.txt @@ -60,3 +60,4 @@ error:badjson,core_badges error:backpackloginfailed,core_badges signinwithyouremail,core_badges sectionusedefaultname,core +registermoochtips,core_hub diff --git a/lang/en/hub.php b/lang/en/hub.php index 3bf13d51afc..0d168b8a3cb 100644 --- a/lang/en/hub.php +++ b/lang/en/hub.php @@ -164,7 +164,6 @@ $string['registeredmoodleorg'] = 'Moodle ({$a})'; $string['registeredon'] = 'Where your site is registered'; $string['registereduserdevices'] = 'Number of users with registered mobile devices ({$a})'; $string['registeredactiveuserdevices'] = 'Number of active users with registered mobile devices which are receiving notifications ({$a})'; -$string['registermoochtips'] = 'Register your site with Moodle to get security alerts and access to Moodle.net, our course sharing platform.'; $string['registersite'] = 'Register with {$a}'; $string['registerwith'] = 'Register with a hub'; $string['registrationconfirmed'] = 'Site registration confirmed'; @@ -268,3 +267,6 @@ $string['wrongurlformat'] = 'Bad URL format'; $string['xmlrpcdisabledcommunity'] = 'The XML-RPC extension is not enabled on the server. You can not search and download courses.'; $string['xmlrpcdisabledpublish'] = 'The XML-RPC extension is not enabled on the server. You can not publish courses or manage published courses.'; $string['xmlrpcdisabledregistration'] = 'The XML-RPC extension is not enabled on the server. You will not be able to unregister or update your registration until you enable it.'; + +// Deprecated since Moodle 3.4. +$string['registermoochtips'] = 'Register your site with Moodle to get security alerts and access to Moodle.net, our course sharing platform.'; diff --git a/message/output/airnotifier/requestaccesskey.php b/message/output/airnotifier/requestaccesskey.php index 0b5ff281b6f..3d1991fc3e2 100644 --- a/message/output/airnotifier/requestaccesskey.php +++ b/message/output/airnotifier/requestaccesskey.php @@ -23,7 +23,6 @@ */ require('../../../config.php'); -require_once($CFG->dirroot . '/' . $CFG->admin . '/registration/lib.php'); define('AIRNOTIFIER_PUBLICURL', 'https://messages.moodle.net'); @@ -50,10 +49,10 @@ $msg = ""; // If we are requesting a key to the official message system, verify first that this site is registered. // This check is also done in Airnotifier. if (strpos($CFG->airnotifierurl, AIRNOTIFIER_PUBLICURL) !== false ) { - $registrationmanager = new registration_manager(); - if (!$registrationmanager->get_registeredhub(HUB_MOODLEORGHUBURL)) { - $msg = get_string('sitemustberegistered', 'message_airnotifier'); - $msg .= $OUTPUT->continue_button($returl); + $adminrenderer = $PAGE->get_renderer('core', 'admin'); + $msg = $adminrenderer->warn_if_not_registered(); + if ($msg) { + $msg .= html_writer::div(get_string('sitemustberegistered', 'message_airnotifier')); echo $OUTPUT->header(); echo $OUTPUT->box($msg, 'generalbox');