Example #1
0
 /**
  * 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();
 }
Example #2
0
/**
 * 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');
    }
}