1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <?php
- declare(strict_types=1);
- /**
- * @package Grav\Common\Flex
- *
- * @copyright Copyright (c) 2015 - 2023 Trilby Media, LLC. All rights reserved.
- * @license MIT License; see LICENSE file for details.
- */
- namespace Grav\Common\Flex\Traits;
- use Grav\Common\Grav;
- use Grav\Common\User\Interfaces\UserInterface;
- use Grav\Framework\Flex\Flex;
- /**
- * Implements Grav specific logic
- */
- trait FlexGravTrait
- {
- /**
- * @return Grav
- */
- protected function getContainer(): Grav
- {
- return Grav::instance();
- }
- /**
- * @return Flex
- */
- protected function getFlexContainer(): Flex
- {
- $container = $this->getContainer();
- /** @var Flex $flex */
- $flex = $container['flex'];
- return $flex;
- }
- /**
- * @return UserInterface|null
- */
- protected function getActiveUser(): ?UserInterface
- {
- $container = $this->getContainer();
- /** @var UserInterface|null $user */
- $user = $container['user'] ?? null;
- return $user;
- }
- /**
- * @return bool
- */
- protected function isAdminSite(): bool
- {
- $container = $this->getContainer();
- return isset($container['admin']);
- }
- /**
- * @return string
- */
- protected function getAuthorizeScope(): string
- {
- return $this->isAdminSite() ? 'admin' : 'site';
- }
- }
|