/** * Test the badge updated event. * */ public function test_badge_updated() { $badge = new badge($this->badgeid); $sink = $this->redirectEvents(); // Trigger and capture the event. $badge->save(); $events = $sink->get_events(); $event = reset($events); $this->assertCount(1, $events); // Check that the event data is valid. $this->assertInstanceOf('\\core\\event\\badge_updated', $event); $this->assertEquals($badge->id, $event->objectid); $this->assertDebuggingNotCalled(); $sink->close(); }
/** * Process badge image from form data * * @param badge $badge Badge object * @param string $iconfile Original file */ function badges_process_badge_image(badge $badge, $iconfile) { global $CFG, $USER; require_once $CFG->libdir . '/gdlib.php'; if (!empty($CFG->gdversion)) { if ($fileid = (int) process_new_icon($badge->get_context(), 'badges', 'badgeimage', $badge->id, $iconfile)) { $badge->image = $fileid; $badge->save(); } @unlink($iconfile); // Clean up file draft area after badge image has been saved. $context = context_user::instance($USER->id, MUST_EXIST); $fs = get_file_storage(); $fs->delete_area_files($context->id, 'user', 'draft'); } }