Applied PHP formatting rules

This commit is contained in:
Bernd Bestel
2020-08-31 20:40:31 +02:00
parent 33325d5560
commit d4c5da2173
58 changed files with 3667 additions and 3082 deletions

View File

@@ -2,22 +2,21 @@
namespace Grocy\Middleware;
use Grocy\Services\ApiKeyService;
use Psr\Http\Message\ResponseFactoryInterface;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Routing\RouteContext;
use Grocy\Services\ApiKeyService;
class ApiKeyAuthMiddleware extends AuthMiddleware
{
protected $ApiKeyHeaderName;
public function __construct(\DI\Container $container, ResponseFactoryInterface $responseFactory)
{
parent::__construct($container, $responseFactory);
$this->ApiKeyHeaderName = $this->AppContainer->get('ApiKeyHeaderName');
}
protected $ApiKeyHeaderName;
function authenticate(Request $request)
{
if (!defined('GROCY_SHOW_AUTH_VIEWS'))
@@ -34,7 +33,7 @@ class ApiKeyAuthMiddleware extends AuthMiddleware
$apiKeyService = new ApiKeyService();
// First check of the API key in the configured header
// First check of the API key in the configured header
if (!$request->hasHeader($this->ApiKeyHeaderName) || !$apiKeyService->IsValidApiKey($request->getHeaderLine($this->ApiKeyHeaderName)))
{
$validApiKey = false;
@@ -44,14 +43,14 @@ class ApiKeyAuthMiddleware extends AuthMiddleware
$usedApiKey = $request->getHeaderLine($this->ApiKeyHeaderName);
}
// Not recommended, but it's also possible to provide the API key via a query parameter (same name as the configured header)
// Not recommended, but it's also possible to provide the API key via a query parameter (same name as the configured header)
if (!$validApiKey && !empty($request->getQueryParam($this->ApiKeyHeaderName)) && $apiKeyService->IsValidApiKey($request->getQueryParam($this->ApiKeyHeaderName)))
{
$validApiKey = true;
$usedApiKey = $request->getQueryParam($this->ApiKeyHeaderName);
}
// Handling of special purpose API keys
// Handling of special purpose API keys
if (!$validApiKey)
{
if ($routeName === 'calendar-ical')
@@ -60,7 +59,9 @@ class ApiKeyAuthMiddleware extends AuthMiddleware
{
$validApiKey = true;
}
}
}
if ($validApiKey)
@@ -72,5 +73,7 @@ class ApiKeyAuthMiddleware extends AuthMiddleware
{
return null;
}
}
}

View File

@@ -2,24 +2,23 @@
namespace Grocy\Middleware;
use Grocy\Services\SessionService;
use Psr\Http\Message\ResponseFactoryInterface;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
use Slim\Routing\RouteContext;
use Grocy\Services\SessionService;
abstract class AuthMiddleware extends BaseMiddleware
{
protected $ResponseFactory;
public function __construct(\DI\Container $container, ResponseFactoryInterface $responseFactory)
{
parent::__construct($container);
$this->ResponseFactory = $responseFactory;
}
protected $ResponseFactory;
public function __invoke(Request $request, RequestHandler $handler): Response
{
$routeContext = RouteContext::fromRequest($request);
@@ -31,11 +30,14 @@ abstract class AuthMiddleware extends BaseMiddleware
{
return $handler->handle($request);
}
else if ($routeName === 'login')
else
if ($routeName === 'login')
{
define('GROCY_AUTHENTICATED', false);
return $handler->handle($request);
}
if (GROCY_MODE === 'dev' || GROCY_MODE === 'demo' || GROCY_MODE === 'prerelease' || GROCY_IS_EMBEDDED_INSTALL || GROCY_DISABLE_AUTH)
{
$sessionService = SessionService::getInstance();
@@ -55,6 +57,7 @@ abstract class AuthMiddleware extends BaseMiddleware
define('GROCY_AUTHENTICATED', false);
$response = $this->ResponseFactory->createResponse();
if ($isApiRoute)
{
return $response->withStatus(401);
@@ -63,6 +66,7 @@ abstract class AuthMiddleware extends BaseMiddleware
{
return $response->withHeader('Location', $this->AppContainer->get('UrlManager')->ConstructUrl('/login'));
}
}
else
{
@@ -72,7 +76,9 @@ abstract class AuthMiddleware extends BaseMiddleware
return $response = $handler->handle($request);
}
}
}
/**

View File

@@ -2,16 +2,17 @@
namespace Grocy\Middleware;
use \Grocy\Services\ApplicationService;
use Grocy\Services\ApplicationService;
class BaseMiddleware
{
protected $AppContainer;
protected $ApplicationService;
public function __construct(\DI\Container $container)
{
$this->AppContainer = $container;
$this->ApplicationService = ApplicationService::getInstance();
}
protected $AppContainer;
protected $ApplicationService;
}

View File

@@ -3,10 +3,9 @@
namespace Grocy\Middleware;
use Psr\Http\Message\ResponseFactoryInterface;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
use Psr\Http\Message\ResponseInterface as Response;
use Slim\Routing\RouteContext;
class CorsMiddleware
{
@@ -22,15 +21,21 @@ class CorsMiddleware
public function __invoke(Request $request, RequestHandler $handler): Response
{
if ($request->getMethod() == "OPTIONS")
if ($request->getMethod() == 'OPTIONS')
{
$response = $this->responseFactory->createResponse(200);
else {
}
else
{
$response = $handler->handle($request);
}
//$routeContext = RouteContext::fromRequest($request);
//$routingResults = $routeContext->getRoutingResults();
//$methods = $routingResults->getAllowedMethods();
//$routeContext = RouteContext::fromRequest($request);
//$routingResults = $routeContext->getRoutingResults();
//$methods = $routingResults->getAllowedMethods();
//$requestHeaders = $request->getHeaderLine('Access-Control-Request-Headers');
$response = $response->withHeader('Access-Control-Allow-Origin', '*');
@@ -39,4 +44,5 @@ class CorsMiddleware
return $response;
}
}

View File

@@ -11,6 +11,7 @@ class DefaultAuthMiddleware extends AuthMiddleware
// First try to authenticate by API key
$auth = new ApiKeyAuthMiddleware($this->AppContainer, $this->ResponseFactory);
$user = $auth->authenticate($request);
if ($user !== null)
{
return $user;
@@ -21,4 +22,5 @@ class DefaultAuthMiddleware extends AuthMiddleware
$user = $auth->authenticate($request);
return $user;
}
}

View File

@@ -2,9 +2,9 @@
namespace Grocy\Middleware;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
use Psr\Http\Message\ResponseInterface as Response;
class JsonMiddleware extends BaseMiddleware
{
@@ -25,5 +25,7 @@ class JsonMiddleware extends BaseMiddleware
return $response;
}
}
}

View File

@@ -1,9 +1,7 @@
<?php
namespace Grocy\Middleware;
use Grocy\Services\UsersService;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
@@ -11,7 +9,6 @@ use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
class LocaleMiddleware extends BaseMiddleware
{
public function __invoke(Request $request, RequestHandler $handler): Response
{
$locale = $this->getLocale($request);
@@ -21,22 +18,28 @@ class LocaleMiddleware extends BaseMiddleware
protected function getLocale(Request $request)
{
if(GROCY_AUTHENTICATED)
if (GROCY_AUTHENTICATED)
{
$locale = UsersService::getInstance()->GetUserSetting(GROCY_USER_ID, 'locale');
if (isset($locale) && !empty($locale)) {
if (in_array($locale, scandir(__DIR__ . '/../localization'))) {
if (isset($locale) && !empty($locale))
{
if (in_array($locale, scandir(__DIR__ . '/../localization')))
{
return $locale;
}
}
}
$langs = join(',', $request->getHeader('Accept-Language'));
$langs = implode(',', $request->getHeader('Accept-Language'));
// src: https://gist.github.com/spolischook/0cde9c6286415cddc088
$prefLocales = array_reduce(
explode(',', $langs),
function ($res, $el) {
function ($res, $el)
{
list($l, $q) = array_merge(explode(';q=', $el), [1]);
$res[$l] = (float) $q;
return $res;
@@ -44,24 +47,33 @@ class LocaleMiddleware extends BaseMiddleware
arsort($prefLocales);
$availableLocales = scandir(__DIR__ . '/../localization');
foreach ($prefLocales as $locale => $q) {
if(in_array($locale, $availableLocales))
foreach ($prefLocales as $locale => $q)
{
if (in_array($locale, $availableLocales))
{
return $locale;
}
// e.g. en_GB
if(in_array(substr($locale, 0, 5), $availableLocales))
// e.g. en_GB
if (in_array(substr($locale, 0, 5), $availableLocales))
{
return substr($locale, 0, 5);
}
// e.g: cs
// or en
// or de
if(in_array(substr($locale, 0, 2), $availableLocales))
// e.g: cs
// or en
// or de
if (in_array(substr($locale, 0, 2), $availableLocales))
{
return substr($locale, 0, 2);
}
}
return GROCY_DEFAULT_LOCALE;
}
}

View File

@@ -2,10 +2,9 @@
namespace Grocy\Middleware;
use Psr\Http\Message\ServerRequestInterface as Request;
use Grocy\Services\DatabaseService;
use Grocy\Services\UsersService;
use Psr\Http\Message\ServerRequestInterface as Request;
class ReverseProxyAuthMiddleware extends AuthMiddleware
{
@@ -23,7 +22,7 @@ class ReverseProxyAuthMiddleware extends AuthMiddleware
if (count($username) !== 1)
{
// Invalid configuration of Proxy
throw new \Exception("ReverseProxyAuthMiddleware: Invalid username from proxy: " . var_dump($username));
throw new \Exception('ReverseProxyAuthMiddleware: Invalid username from proxy: ' . var_dump($username));
}
$username = $username[0];
@@ -37,4 +36,5 @@ class ReverseProxyAuthMiddleware extends AuthMiddleware
return $user;
}
}

View File

@@ -1,23 +1,21 @@
<?php
namespace Grocy\Middleware;
use Grocy\Services\SessionService;
use Psr\Http\Message\ResponseFactoryInterface;
use Psr\Http\Message\ServerRequestInterface as Request;
use Grocy\Services\SessionService;
class SessionAuthMiddleware extends AuthMiddleware
{
protected $SessionCookieName;
public function __construct(\DI\Container $container, ResponseFactoryInterface $responseFactory)
{
parent::__construct($container, $responseFactory);
$this->SessionCookieName = $this->AppContainer->get('LoginControllerInstance')->GetSessionCookieName();
}
protected $SessionCookieName;
function authenticate(Request $request)
{
if (!defined('GROCY_SHOW_AUTH_VIEWS'))
@@ -26,6 +24,7 @@ class SessionAuthMiddleware extends AuthMiddleware
}
$sessionService = SessionService::getInstance();
if (!isset($_COOKIE[$this->SessionCookieName]) || !$sessionService->IsValidSession($_COOKIE[$this->SessionCookieName]))
{
return null;
@@ -34,5 +33,7 @@ class SessionAuthMiddleware extends AuthMiddleware
{
return $sessionService->GetUserBySessionKey($_COOKIE[$this->SessionCookieName]);
}
}
}