From fddd134fa03e7f47d159acc1ac55940d8c582cc1 Mon Sep 17 00:00:00 2001 From: Franz Liedke <franz@develophp.org> Date: Mon, 3 Jul 2017 10:15:09 +0200 Subject: [PATCH] Inject settings repository in event listener `$this->app` was not defined here anyway. Refs #1032. --- src/Extension/DefaultLanguagePackGuard.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Extension/DefaultLanguagePackGuard.php b/src/Extension/DefaultLanguagePackGuard.php index 3ec124edc..d8fd3dc8a 100644 --- a/src/Extension/DefaultLanguagePackGuard.php +++ b/src/Extension/DefaultLanguagePackGuard.php @@ -13,10 +13,21 @@ namespace Flarum\Extension; use Flarum\Extension\Event\Disabling; use Flarum\Http\Exception\ForbiddenException; +use Flarum\Settings\SettingsRepositoryInterface; use Illuminate\Contracts\Events\Dispatcher; class DefaultLanguagePackGuard { + /** + * @var SettingsRepositoryInterface + */ + protected $settings; + + public function __construct(SettingsRepositoryInterface $settings) + { + $this->settings = $settings; + } + /** * @param Dispatcher $events */ @@ -32,9 +43,9 @@ class DefaultLanguagePackGuard public function whenExtensionWillBeDisabled(Disabling $event) { if (in_array('flarum-locale', $event->extension->extra)) { - $default_locale = $this->app->make('flarum.settings')->get('default_locale'); + $defaultLocale = $this->settings->get('default_locale'); $locale = array_get($event->extension->extra, 'flarum-locale.code'); - if ($locale === $default_locale) { + if ($locale === $defaultLocale) { throw new ForbiddenException('You cannot disable the default language pack!'); } }