Current Path : C:/Users/Mahmood/Desktop/moodle8/blocks/recent_activity/classes/ |
Current File : C:/Users/Mahmood/Desktop/moodle8/blocks/recent_activity/classes/observer.php |
<?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/>. /** * Event observer. * * @package block_recent_activity * @copyright 2014 Marina Glancy * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); /** * Event observer. * Stores all actions about modules create/update/delete in plugin own's table. * This allows the block to avoid expensive queries to the log table. * * @package block_recent_activity * @copyright 2014 Marina Glancy * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class block_recent_activity_observer { /** @var int indicates that course module was created */ const CM_CREATED = 0; /** @var int indicates that course module was udpated */ const CM_UPDATED = 1; /** @var int indicates that course module was deleted */ const CM_DELETED = 2; /** * Store all actions about modules create/update/delete in own table. * * @param \core\event\base $event */ public static function store(\core\event\base $event) { global $DB; $eventdata = new \stdClass(); switch ($event->eventname) { case '\core\event\course_module_created': $eventdata->action = self::CM_CREATED; break; case '\core\event\course_module_updated': $eventdata->action = self::CM_UPDATED; break; case '\core\event\course_module_deleted': $eventdata->action = self::CM_DELETED; $eventdata->modname = $event->other['modulename']; break; default: return; } $eventdata->timecreated = $event->timecreated; $eventdata->courseid = $event->courseid; $eventdata->cmid = $event->objectid; $eventdata->userid = $event->userid; $DB->insert_record('block_recent_activity', $eventdata); } }