diff --git a/lib/adminlib.php b/lib/adminlib.php index 1177b59775a..5b8b87fcc62 100644 --- a/lib/adminlib.php +++ b/lib/adminlib.php @@ -6732,32 +6732,6 @@ class admin_page_managemessageoutputs extends admin_externalpage { } } -/** - * Default message outputs configuration - * - * @deprecated since Moodle 3.7 MDL-64495. Please use admin_page_managemessageoutputs instead. - * @todo MDL-64866 This will be deleted in Moodle 3.11. - * - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ -class admin_page_defaultmessageoutputs extends admin_page_managemessageoutputs { - /** - * Calls parent::__construct with specific arguments - * - * @deprecated since Moodle 3.7 MDL-64495. Please use admin_page_managemessageoutputs instead. - * @todo MDL-64866 This will be deleted in Moodle 3.11. - */ - public function __construct() { - global $CFG; - - debugging('admin_page_defaultmessageoutputs class is deprecated. Please use admin_page_managemessageoutputs instead.', - DEBUG_DEVELOPER); - - admin_externalpage::__construct('defaultmessageoutputs', get_string('defaultmessageoutputs', 'message'), new moodle_url('/message/defaultoutputs.php')); - } -} - - /** * Manage question behaviours page * diff --git a/lib/upgrade.txt b/lib/upgrade.txt index 4cee02afd29..6d4e6119861 100644 --- a/lib/upgrade.txt +++ b/lib/upgrade.txt @@ -22,6 +22,8 @@ information provided here is intended especially for developers. returned capability array. * Spout has been upgraded to the latest version - 3.1.0 * emoji-data has been upgraded to 6.0.0. +* The final deprecation of /message/defaultoutputs.php file and admin_page_defaultmessageoutputs. + All their settings moved to admin/message.php (see MDL-64495). Please use admin_page_managemessageoutputs class instead. === 3.10 === * PHPUnit has been upgraded to 8.5. That comes with a few changes: diff --git a/message/defaultoutputs.php b/message/defaultoutputs.php deleted file mode 100644 index 62272ae9a4e..00000000000 --- a/message/defaultoutputs.php +++ /dev/null @@ -1,124 +0,0 @@ -. - -/** - * Default message outputs configuration page - * - * @package core_message - * @copyright 2011 Lancaster University Network Services Limited - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - * - * @deprecated since Moodle 3.7 MDL-64495. Please use /admin/message.php instead. - * @todo MDL-64866 This will be deleted in Moodle 3.11. - */ -require_once(__DIR__ . '/../config.php'); -require_once($CFG->dirroot . '/message/lib.php'); -require_once($CFG->libdir.'/adminlib.php'); - -// This is an admin page -admin_externalpage_setup('defaultmessageoutputs'); - -// Fetch processors -$processors = get_message_processors(true); -// Fetch message providers -$providers = get_message_providers(); - -if (($form = data_submitted()) && confirm_sesskey()) { - $preferences = array(); - // Prepare default message outputs settings - foreach ( $providers as $provider) { - $componentproviderbase = $provider->component.'_'.$provider->name; - $disableprovidersetting = $componentproviderbase.'_disable'; - $providerdisabled = false; - if (!isset($form->$disableprovidersetting)) { - $providerdisabled = true; - $preferences[$disableprovidersetting] = 1; - } else { - $preferences[$disableprovidersetting] = 0; - } - - foreach (array('permitted', 'loggedin', 'loggedoff') as $setting){ - $value = null; - $componentprovidersetting = $componentproviderbase.'_'.$setting; - if ($setting == 'permitted') { - // if we deal with permitted select element, we need to create individual - // setting for each possible processor. Note that this block will - // always be processed first after entring parental foreach iteration - // so we can change form values on this stage. - foreach($processors as $processor) { - $value = ''; - if (isset($form->{$componentprovidersetting}[$processor->name])) { - $value = $form->{$componentprovidersetting}[$processor->name]; - } - // Ensure that loggedin loggedoff options are set correctly - // for this permission - if (($value == 'disallowed') || $providerdisabled) { - // It might be better to unset them, but I can't figure out why that cause error - $form->{$componentproviderbase.'_loggedin'}[$processor->name] = 0; - $form->{$componentproviderbase.'_loggedoff'}[$processor->name] = 0; - } else if ($value == 'forced') { - $form->{$componentproviderbase.'_loggedin'}[$processor->name] = 1; - $form->{$componentproviderbase.'_loggedoff'}[$processor->name] = 1; - } - // record the site preference - $preferences[$processor->name.'_provider_'.$componentprovidersetting] = $value; - } - } else if (property_exists($form, $componentprovidersetting)) { - // we must be processing loggedin or loggedoff checkboxes. Store - // defained comma-separated processors as setting value. - // Using array_filter eliminates elements set to 0 above - $value = join(',', array_keys(array_filter($form->{$componentprovidersetting}))); - if (empty($value)) { - $value = null; - } - } - if ($setting != 'permitted') { - // we have already recoded site preferences for 'permitted' type - $preferences['message_provider_'.$componentprovidersetting] = $value; - } - } - } - - // Update database - $transaction = $DB->start_delegated_transaction(); - foreach ($preferences as $name => $value) { - set_config($name, $value, 'message'); - } - $transaction->allow_commit(); - - // Redirect - $url = new moodle_url('defaultoutputs.php'); - redirect($url); -} - - - -// Page settings -$PAGE->set_context(context_system::instance()); -$PAGE->requires->js_init_call('M.core_message.init_defaultoutputs'); - -// Grab the renderer -$renderer = $PAGE->get_renderer('core', 'message'); - -// Display the manage message outputs interface -$preferences = get_message_output_default_preferences(); -$messageoutputs = $renderer->manage_defaultmessageoutputs($processors, $providers, $preferences); - -// Display the page -echo $OUTPUT->header(); -echo $OUTPUT->heading(get_string('defaultmessageoutputs', 'message')); -echo $messageoutputs; -echo $OUTPUT->footer();