. // }}} namespace Component\Media; use App\Core\Event; use App\Core\Module; use App\Util\Common; use App\Util\Nickname; use Exception; use Symfony\Component\Asset\Package; use Symfony\Component\Asset\VersionStrategy\EmptyVersionStrategy; class Media extends Module { public static function __callStatic(string $name, array $args) { return Utils::$name(...$args); } public function onAddRoute($r) { $r->connect('avatar', '/{nickname<' . Nickname::DISPLAY_FMT . '>}/avatar/{size?full}', [Controller\Avatar::class, 'send']); return Event::next; } public function onEndTwigPopulateVars(array &$vars) { try { $user = Common::user(); if ($user != null) { $vars['user_avatar'] = self::getAvatar($user->getNickname())->getUrl(); return Event::next; } } catch (Exception $e) { } $package = new Package(new EmptyVersionStrategy()); $vars['user_avatar'] = $package->getUrl(Common::config('avatar', 'default')); return Event::next; } }