Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.2.x will end 22 April 2024 (12 months).
  • Bug fixes for security issues in 4.2.x will end 7 October 2024 (18 months).
  • PHP version: minimum PHP 8.0.0 Note: minimum PHP version has increased since Moodle 4.1. PHP 8.1.x is supported too.
   1  <?php
   2  // This file is part of Moodle - http://moodle.org/
   3  //
   4  // Moodle is free software: you can redistribute it and/or modify
   5  // it under the terms of the GNU General Public License as published by
   6  // the Free Software Foundation, either version 3 of the License, or
   7  // (at your option) any later version.
   8  //
   9  // Moodle is distributed in the hope that it will be useful,
  10  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12  // GNU General Public License for more details.
  13  //
  14  // You should have received a copy of the GNU General Public License
  15  // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
  16  
  17  declare(strict_types=1);
  18  
  19  namespace tool_moodlenet\task;
  20  
  21  /**
  22   * Ad-hoc task to send the notification to admin stating MoodleNet is automatically enabled after upgrade.
  23   *
  24   * @package   tool_moodlenet
  25   * @copyright 2022 Shamim Rezaie <shamim@moodle.com>
  26   * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  27   */
  28  class send_enable_notification extends \core\task\adhoc_task {
  29      public function execute(): void {
  30          $message = new \core\message\message();
  31          $message->component = 'moodle';
  32          $message->name = 'notices';
  33          $message->userfrom = \core_user::get_noreply_user();
  34          $message->userto = get_admin();
  35          $message->notification = 1;
  36          $message->contexturl = (new \moodle_url('/admin/settings.php',
  37              ['section' => 'optionalsubsystems'], 'admin-enablemoodlenet'))->out(false);
  38          $message->contexturlname = get_string('advancedfeatures', 'admin');
  39          $message->subject = get_string('autoenablenotification_subject', 'tool_moodlenet');
  40          $message->fullmessageformat = FORMAT_HTML;
  41          $message->fullmessagehtml = get_string('autoenablenotification', 'tool_moodlenet', (object) [
  42              'settingslink' => (new \moodle_url('/admin/settings.php', ['section' => 'tool_moodlenet']))->out(false),
  43          ]);
  44          $message->smallmessage = strip_tags($message->fullmessagehtml);
  45          message_send($message);
  46      }
  47  }