From 3546ade6abd5cbe6a5637b2e82617f1a3f15beeb Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Mon, 7 Mar 2022 13:11:07 +0200 Subject: [PATCH] type fixes --- application/Espo/Core/AclManager.php | 5 ++++- .../Acl/AccessChecker/AccessCheckerFactory.php | 12 +++++++++--- .../Core/Portal/Acl/DefaultAccessChecker.php | 10 ++++++++-- .../OwnershipCheckerFactory.php | 10 ++++++++-- application/Espo/Core/Portal/AclManager.php | 17 +++++++---------- .../Espo/Core/Portal/AclManagerContainer.php | 5 ++++- application/Espo/Core/Portal/Container.php | 2 +- .../Espo/Core/Portal/Loaders/Language.php | 9 +-------- application/Espo/Core/Portal/Utils/Config.php | 16 ++++++++++++++-- application/Espo/Core/Portal/Utils/Language.php | 6 +----- application/Espo/Core/Utils/Config.php | 1 + 11 files changed, 58 insertions(+), 35 deletions(-) diff --git a/application/Espo/Core/AclManager.php b/application/Espo/Core/AclManager.php index ec845d760a..3bb979a9e2 100644 --- a/application/Espo/Core/AclManager.php +++ b/application/Espo/Core/AclManager.php @@ -78,6 +78,9 @@ class AclManager protected $mapHashMap = []; + /** + * @var class-string + */ protected $userAclClassName = Acl::class; protected const PERMISSION_ASSIGNMENT = 'assignment'; @@ -287,7 +290,7 @@ class AclManager return $this->checkScope($user, $subject, $action); } - /** @var mixed */ + /** @var mixed $entity */ $entity = $subject; if ($entity instanceof Entity) { diff --git a/application/Espo/Core/Portal/Acl/AccessChecker/AccessCheckerFactory.php b/application/Espo/Core/Portal/Acl/AccessChecker/AccessCheckerFactory.php index 78e9f83bad..274ba4ccee 100644 --- a/application/Espo/Core/Portal/Acl/AccessChecker/AccessCheckerFactory.php +++ b/application/Espo/Core/Portal/Acl/AccessChecker/AccessCheckerFactory.php @@ -44,13 +44,16 @@ use Espo\Core\{ class AccessCheckerFactory { + /** + * @var class-string + */ private $defaultClassName = DefaultAccessChecker::class; - private $classFinder; + private ClassFinder $classFinder; - private $metadata; + private Metadata $metadata; - private $injectableFactory; + private InjectableFactory $injectableFactory; public function __construct( ClassFinder $classFinder, @@ -76,6 +79,9 @@ class AccessCheckerFactory return $this->injectableFactory->createWithBinding($className, $bindingContainer); } + /** + * @return class-string + */ private function getClassName(string $scope): string { $className1 = $this->metadata->get(['aclDefs', $scope, 'portalAccessCheckerClassName']); diff --git a/application/Espo/Core/Portal/Acl/DefaultAccessChecker.php b/application/Espo/Core/Portal/Acl/DefaultAccessChecker.php index effea35124..516332dc91 100644 --- a/application/Espo/Core/Portal/Acl/DefaultAccessChecker.php +++ b/application/Espo/Core/Portal/Acl/DefaultAccessChecker.php @@ -47,6 +47,12 @@ use Espo\Core\{ /** * A default implementation for access checking for portal. + * + * @implements AccessEntityCreateChecker + * @implements AccessEntityReadChecker + * @implements AccessEntityEditChecker + * @implements AccessEntityDeleteChecker + * @implements AccessEntityStreamChecker */ class DefaultAccessChecker implements @@ -56,9 +62,9 @@ class DefaultAccessChecker implements AccessEntityDeleteChecker, AccessEntityStreamChecker { - private $aclManager; + private PortalAclManager $aclManager; - private $scopeChecker; + private ScopeChecker $scopeChecker; public function __construct( PortalAclManager $aclManager, diff --git a/application/Espo/Core/Portal/Acl/OwnershipChecker/OwnershipCheckerFactory.php b/application/Espo/Core/Portal/Acl/OwnershipChecker/OwnershipCheckerFactory.php index 4c0d3b735a..f74f265269 100644 --- a/application/Espo/Core/Portal/Acl/OwnershipChecker/OwnershipCheckerFactory.php +++ b/application/Espo/Core/Portal/Acl/OwnershipChecker/OwnershipCheckerFactory.php @@ -43,11 +43,14 @@ use Espo\Core\{ class OwnershipCheckerFactory { + /** + * @var class-string + */ private $defaultClassName = DefaultOwnershipChecker::class; - private $metadata; + private Metadata $metadata; - private $injectableFactory; + private InjectableFactory $injectableFactory; public function __construct( Metadata $metadata, @@ -71,6 +74,9 @@ class OwnershipCheckerFactory return $this->injectableFactory->createWithBinding($className, $bindingContainer); } + /** + * @return class-string + */ private function getClassName(string $scope): string { $className = $this->metadata->get(['aclDefs', $scope, 'portalOwnershipCheckerClassName']); diff --git a/application/Espo/Core/Portal/AclManager.php b/application/Espo/Core/Portal/AclManager.php index 606b7cc992..57605236d3 100644 --- a/application/Espo/Core/Portal/AclManager.php +++ b/application/Espo/Core/Portal/AclManager.php @@ -60,21 +60,18 @@ use RuntimeException; class AclManager extends InternalAclManager { + /** + * @var class-string + */ protected $userAclClassName = Acl::class; - private $internalAclManager = null; + private ?InternalAclManager $internalAclManager = null; - private $portal = null; + private ?Portal $portal = null; - /** - * @var TableFactory - */ - private $portalTableFactory; + private TableFactory $portalTableFactory; - /** - * @var MapFactory - */ - private $portalMapFactory; + private MapFactory $portalMapFactory; public function __construct( AccessCheckerFactory $accessCheckerFactory, diff --git a/application/Espo/Core/Portal/AclManagerContainer.php b/application/Espo/Core/Portal/AclManagerContainer.php index 2cf0d24c0a..da281475b6 100644 --- a/application/Espo/Core/Portal/AclManagerContainer.php +++ b/application/Espo/Core/Portal/AclManagerContainer.php @@ -44,9 +44,12 @@ use Espo\Core\Exceptions\Error; */ class AclManagerContainer { + /** + * @var array + */ private $data = []; - private $injectableFactory; + private InjectableFactory $injectableFactory; public function __construct(InjectableFactory $injectableFactory) { diff --git a/application/Espo/Core/Portal/Container.php b/application/Espo/Core/Portal/Container.php index 7547198773..06cb1275b6 100644 --- a/application/Espo/Core/Portal/Container.php +++ b/application/Espo/Core/Portal/Container.php @@ -38,7 +38,7 @@ use Espo\Core\{ class Container extends BaseContainer { - private $portalIsSet = false; + private bool $portalIsSet = false; public function setPortal(PortalEntity $portal): void { diff --git a/application/Espo/Core/Portal/Loaders/Language.php b/application/Espo/Core/Portal/Loaders/Language.php index 87add3a8f2..10e2f19013 100644 --- a/application/Espo/Core/Portal/Loaders/Language.php +++ b/application/Espo/Core/Portal/Loaders/Language.php @@ -38,7 +38,6 @@ use Espo\Core\{ use Espo\Entities\{ Preferences, - Portal, }; class Language implements Loader @@ -49,18 +48,14 @@ class Language implements Loader private $preferences; - private $portal; - public function __construct( InjectableFactory $injectableFactory, Config $config, - Preferences $preferences, - Portal $portal + Preferences $preferences ) { $this->injectableFactory = $injectableFactory; $this->config = $config; $this->preferences = $preferences; - $this->portal = $portal; } public function load(): LanguageService @@ -70,8 +65,6 @@ class Language implements Loader 'useCache' => $this->config->get('useCache') ?? false, ]); - $language->setPortal($this->portal); - return $language; } } diff --git a/application/Espo/Core/Portal/Utils/Config.php b/application/Espo/Core/Portal/Utils/Config.php index 97919acb3e..9bbc01f639 100644 --- a/application/Espo/Core/Portal/Utils/Config.php +++ b/application/Espo/Core/Portal/Utils/Config.php @@ -38,10 +38,16 @@ use stdClass; class Config extends BaseConfig { - private $portalParamsSet = false; + private bool $portalParamsSet = false; + /** + * @var array + */ private $portalData = []; + /** + * @var string[] + */ private $portalParamList = [ 'companyLogoId', 'tabList', @@ -57,6 +63,10 @@ class Config extends BaseConfig 'defaultCurrency', ]; + /** + * @param mixed $default + * @return mixed + */ public function get(string $name, $default = null) { if (array_key_exists($name, $this->portalData)) { @@ -88,8 +98,10 @@ class Config extends BaseConfig /** * Override parameters for a portal. Can be called only once. + * + * @param array $data */ - public function setPortalParameters(array $data = []) + public function setPortalParameters(array $data = []): void { if ($this->portalParamsSet) { throw new Error("Can't set portal params second time."); diff --git a/application/Espo/Core/Portal/Utils/Language.php b/application/Espo/Core/Portal/Utils/Language.php index 643a6844cf..6a54019df9 100644 --- a/application/Espo/Core/Portal/Utils/Language.php +++ b/application/Espo/Core/Portal/Utils/Language.php @@ -29,11 +29,7 @@ namespace Espo\Core\Portal\Utils; -use Espo\Entities\Portal; - class Language extends \Espo\Core\Utils\Language { - public function setPortal($portal) - { - } + } diff --git a/application/Espo/Core/Utils/Config.php b/application/Espo/Core/Utils/Config.php index 616b09aaab..fe8f75be55 100644 --- a/application/Espo/Core/Utils/Config.php +++ b/application/Espo/Core/Utils/Config.php @@ -93,6 +93,7 @@ class Config /** * Get a parameter value. * + * @param mixed $default * @return mixed */ public function get(string $name, $default = null)