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!');
             }
         }