Skip to content
Snippets Groups Projects
eventhandler.php 1.81 KiB
Newer Older
  • Learn to ignore specific revisions
  • <?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/>.
    
    /**
     * Auth plugin "LDAP SyncPlus" - Event handler
     *
     * @package    auth_ldap_syncplus
     * @copyright  2014 Alexander Bias, Ulm University <alexander.bias@uni-ulm.de>
     * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
     */
    
    defined('MOODLE_INTERNAL') || die;
    
    /**
     * Event handler function.
     *
     * @param object $eventdata Event data
     * @return void
     */
    function update_user_onevent($eventdata) {
        global $DB;
    
        // Do only if user id is enclosed in $eventdata.
        if (!empty($eventdata->relateduserid)) {
    
            // Get user data.
            $user = $DB->get_record('user', array('id' => $eventdata->relateduserid));
    
            // Do if user was found.
            if (!empty($user->username)) {
    
                // Do only if user has ldap_syncplus authentication.
                if (isset($user->auth) && $user->auth == 'ldap_syncplus') {
    
                    // Update user.
                    // Actually, we would want to call auth_plugin_base::update_user_record()
                    // which is lighter, but this function is unfortunately protected since Moodle 3.5.
                    update_user_record($user->username);
                }
            }
        }
    }