From c224afea1c47930e36954eb3d1b2acf7486fb62d Mon Sep 17 00:00:00 2001
From: Ere Maijala <ere.maijala@helsinki.fi>
Date: Fri, 9 Mar 2018 14:17:24 +0200
Subject: [PATCH] Allow theme init and permissions manager to work in console
 mode. (#1136)

- More progress on VUFIND-999.
---
 .../src/VuFind/Role/PermissionProvider/IpRange.php   | 12 ++++++++----
 module/VuFindTheme/src/VuFindTheme/Initializer.php   |  3 +++
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/module/VuFind/src/VuFind/Role/PermissionProvider/IpRange.php b/module/VuFind/src/VuFind/Role/PermissionProvider/IpRange.php
index b8555a3b245..791cc23b7b9 100644
--- a/module/VuFind/src/VuFind/Role/PermissionProvider/IpRange.php
+++ b/module/VuFind/src/VuFind/Role/PermissionProvider/IpRange.php
@@ -31,7 +31,8 @@
 namespace VuFind\Role\PermissionProvider;
 
 use VuFind\Net\IpAddressUtils;
-use Zend\Http\PhpEnvironment\Request;
+use Zend\Console\Console;
+use Zend\Stdlib\RequestInterface;
 
 /**
  * IpRange permission provider for VuFind.
@@ -63,10 +64,10 @@ class IpRange implements PermissionProviderInterface
     /**
      * Constructor
      *
-     * @param Request        $request Request object
-     * @param IpAddressUtils $ipUtils IpAddressUtils object
+     * @param RequestInterface $request Request object
+     * @param IpAddressUtils   $ipUtils IpAddressUtils object
      */
-    public function __construct(Request $request, IpAddressUtils $ipUtils)
+    public function __construct(RequestInterface $request, IpAddressUtils $ipUtils)
     {
         $this->request = $request;
         $this->ipAddressUtils = $ipUtils;
@@ -82,6 +83,9 @@ class IpRange implements PermissionProviderInterface
      */
     public function getPermissions($options)
     {
+        if (Console::isConsole()) {
+            return [];
+        }
         // Check if any regex matches....
         $ip = $this->request->getServer()->get('REMOTE_ADDR');
         if ($this->ipAddressUtils->isInRange($ip, (array)$options)) {
diff --git a/module/VuFindTheme/src/VuFindTheme/Initializer.php b/module/VuFindTheme/src/VuFindTheme/Initializer.php
index 5ee1a14dd23..6ab4d9ad6a4 100644
--- a/module/VuFindTheme/src/VuFindTheme/Initializer.php
+++ b/module/VuFindTheme/src/VuFindTheme/Initializer.php
@@ -217,6 +217,9 @@ class Initializer
     {
         // Load standard configuration options:
         $standardTheme = $this->config->theme;
+        if (Console::isConsole()) {
+            return $standardTheme;
+        }
         $mobileTheme = $this->mobile->enabled()
             ? $this->config->mobile_theme : false;
 
-- 
GitLab