AutorÃa | Ultima modificación | Ver Log |
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* This plugin sends users a welcome message after logging in
* and notify a moderator a new user has been added
* it has a settings page that allow you to configure the messages
* send.
*
* @package local
* @subpackage welcome
* @copyright 2017 Bas Brands, basbrands.nl, bas@sonsbeekmedia.nl
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace local_welcome;
defined('MOODLE_INTERNAL') || die();
class observer {
public static function send_welcome(\core\event\user_created $event) {
global $CFG, $SITE;
$eventdata = $event->get_data();
$user = \core_user::get_user($eventdata['objectid']);
$sender = get_admin();
// Sender can be false when unit tests are running.
if ($sender === false) {
return;
}
if (!empty($user->email)) {
$config = get_config('local_welcome');
$moderator = clone($sender);
if (!empty($config->auth_plugins)) {
$auths = explode(',', $config->auth_plugins);
if (!in_array($user->auth, $auths)) {
return '';
}
} else {
return '';
}
$moderator->email = $config->moderator_email;
$sender->email = $config->sender_email;
$sender->firstname = $config->sender_firstname;
$sender->lastname = $config->sender_lastname;
$messageuserenabled = $config->message_user_enabled;
$messageuser = $config->message_user;
$messageusersubject = $config->message_user_subject;
$messagemoderatorenabled = $config->message_moderator_enabled;
$messagemoderator = $config->message_moderator;
$messagemoderatorsubject = $config->message_moderator_subject;
$welcome = new \local_welcome\message();
$messageuser = $welcome->replace_values($user, $messageuser);
$messageusersubject = $welcome->replace_values($user, $messageusersubject);
$messagemoderator = $welcome->replace_values($user, $messagemoderator);
$messagemoderatorsubject = $welcome->replace_values($user, $messagemoderatorsubject);
if (!empty($messageuser) && !empty($sender->email) && $messageuserenabled) {
email_to_user($user, $sender, $messageusersubject, html_to_text($messageuser), $messageuser);
}
if (!empty($messagemoderator) && !empty($sender->email) && $messagemoderatorenabled) {
email_to_user($moderator, $sender, $messagemoderatorsubject,
html_to_text($messagemoderator), $messagemoderator);
}
}
}
}