MDL-39961 Events: Replace Legacy events - User
This change includes: * Added user_updated event, replacing old event * Added user_created event, replacing old event * Added user_deleted event, replacing old event * Added user_loggedout event, replacing old event * Added user_enrolment_created event, replacing old event * Added user_enrolment_deleted event, replacing old event * Added user_enrolment_updated event, replacing old event
This commit is contained in:
committed by
Damyon Wiese
parent
80032fea02
commit
bb78e249cd
@@ -72,7 +72,7 @@ class core_badges_observer {
|
||||
/**
|
||||
* Triggered when 'course_completed' event is triggered.
|
||||
*
|
||||
* @param \core\event\course_completed $event
|
||||
* @param \core\event\course_completed $event
|
||||
*/
|
||||
public static function course_criteria_review(\core\event\course_completed $event) {
|
||||
global $DB, $CFG;
|
||||
@@ -105,4 +105,36 @@ class core_badges_observer {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Triggered when 'user_updated' event happens.
|
||||
*
|
||||
* @param \core\event\user_updated $event event generated when user profile is updated.
|
||||
*/
|
||||
public static function profile_criteria_review(\core\event\user_updated $event) {
|
||||
global $DB, $CFG;
|
||||
|
||||
if (!empty($CFG->enablebadges)) {
|
||||
require_once($CFG->dirroot.'/lib/badgeslib.php');
|
||||
$userid = $event->objectid;
|
||||
|
||||
if ($rs = $DB->get_records('badge_criteria', array('criteriatype' => BADGE_CRITERIA_TYPE_PROFILE))) {
|
||||
foreach ($rs as $r) {
|
||||
$badge = new badge($r->badgeid);
|
||||
if (!$badge->is_active() || $badge->is_issued($userid)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($badge->criteria[BADGE_CRITERIA_TYPE_PROFILE]->review($userid)) {
|
||||
$badge->criteria[BADGE_CRITERIA_TYPE_PROFILE]->mark_complete($userid);
|
||||
|
||||
if ($badge->criteria[BADGE_CRITERIA_TYPE_OVERALL]->review($userid)) {
|
||||
$badge->criteria[BADGE_CRITERIA_TYPE_OVERALL]->mark_complete($userid);
|
||||
$badge->issue($userid);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user