123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- /**
- * @package Grav\Plugin\Admin
- *
- * @copyright Copyright (c) 2015 - 2023 Trilby Media, LLC. All rights reserved.
- * @license MIT License; see LICENSE file for details.
- */
- declare(strict_types=1);
- namespace Grav\Plugin\Admin;
- use Grav\Common\Grav;
- use Grav\Common\Page\Interfaces\PageInterface;
- use Grav\Common\Page\Page;
- use Grav\Framework\Form\Interfaces\FormFactoryInterface;
- use Grav\Framework\Form\Interfaces\FormInterface;
- /**
- * Class FlexFormFactory
- * @package Grav\Plugin\FlexObjects
- */
- class AdminFormFactory implements FormFactoryInterface
- {
- /**
- * @param Page $page
- * @param string $name
- * @param array $form
- * @return FormInterface|null
- */
- public function createPageForm(Page $page, string $name, array $form): ?FormInterface
- {
- return $this->createFormForPage($page, $name, $form);
- }
- /**
- * @param PageInterface $page
- * @param string $name
- * @param array $form
- * @return FormInterface|null
- */
- public function createFormForPage(PageInterface $page, string $name, array $form): ?FormInterface
- {
- /** @var Admin|null $admin */
- $admin = Grav::instance()['admin'] ?? null;
- $object = $admin->form ?? null;
- return $object && $object->getName() === $name ? $object : null;
- }
- }
|