SILENT KILLERPanel

Current Path: > > opt > cloudlinux > alt-php53 > root > usr > share > > pear > Symfony > > Component > Form


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //opt/cloudlinux/alt-php53/root/usr/share//pear/Symfony//Component/Form

NameTypeSizeLast ModifiedActions
Exception Directory - -
Extension Directory - -
Guess Directory - -
Resources Directory - -
Test Directory - -
Util Directory - -
AbstractExtension.php File 4885 bytes December 18 2019 11:20:41.
AbstractRendererEngine.php File 7634 bytes December 18 2019 11:20:41.
AbstractType.php File 1080 bytes December 18 2019 11:20:41.
AbstractTypeExtension.php File 993 bytes December 18 2019 11:20:41.
Button.php File 8826 bytes December 18 2019 11:20:41.
ButtonBuilder.php File 18523 bytes December 18 2019 11:20:41.
ButtonTypeInterface.php File 462 bytes December 18 2019 11:20:41.
CallbackTransformer.php File 2138 bytes December 18 2019 11:20:41.
ClickableInterface.php File 559 bytes December 18 2019 11:20:41.
DataMapperInterface.php File 1130 bytes December 18 2019 11:20:41.
DataTransformerInterface.php File 3159 bytes December 18 2019 11:20:41.
Form.php File 34865 bytes December 18 2019 11:20:41.
FormBuilder.php File 7871 bytes December 18 2019 11:20:41.
FormBuilderInterface.php File 2335 bytes December 18 2019 11:20:41.
FormConfigBuilder.php File 21680 bytes December 18 2019 11:20:41.
FormConfigBuilderInterface.php File 8666 bytes December 18 2019 11:20:41.
FormConfigInterface.php File 6437 bytes December 18 2019 11:20:41.
FormError.php File 2563 bytes December 18 2019 11:20:41.
FormEvent.php File 1247 bytes December 18 2019 11:20:41.
FormEvents.php File 1140 bytes December 18 2019 11:20:41.
FormExtensionInterface.php File 1668 bytes December 18 2019 11:20:41.
FormFactory.php File 5225 bytes December 18 2019 11:20:41.
FormFactoryBuilder.php File 3609 bytes December 18 2019 11:20:41.
FormFactoryBuilderInterface.php File 3058 bytes December 18 2019 11:20:41.
FormFactoryInterface.php File 4244 bytes December 18 2019 11:20:41.
FormInterface.php File 8328 bytes December 18 2019 11:20:41.
FormRegistry.php File 4753 bytes December 18 2019 11:20:41.
FormRegistryInterface.php File 1442 bytes December 18 2019 11:20:41.
FormRenderer.php File 11954 bytes December 18 2019 11:20:41.
FormRendererEngineInterface.php File 7063 bytes December 18 2019 11:20:41.
FormRendererInterface.php File 3279 bytes December 18 2019 11:20:41.
FormTypeExtensionInterface.php File 2125 bytes December 18 2019 11:20:41.
FormTypeGuesserChain.php File 2880 bytes December 18 2019 11:20:41.
FormTypeGuesserInterface.php File 2170 bytes December 18 2019 11:20:41.
FormTypeInterface.php File 3222 bytes December 18 2019 11:20:41.
FormView.php File 3524 bytes December 18 2019 11:20:41.
Forms.php File 5899 bytes December 18 2019 11:20:41.
NativeRequestHandler.php File 5612 bytes December 18 2019 11:20:41.
PreloadedExtension.php File 2317 bytes December 18 2019 11:20:41.
RequestHandlerInterface.php File 668 bytes December 18 2019 11:20:41.
ResolvedFormType.php File 7662 bytes December 18 2019 11:20:41.
ResolvedFormTypeFactory.php File 658 bytes December 18 2019 11:20:41.
ResolvedFormTypeFactoryInterface.php File 1302 bytes December 18 2019 11:20:41.
ResolvedFormTypeInterface.php File 3307 bytes December 18 2019 11:20:41.
ReversedTransformer.php File 1256 bytes December 18 2019 11:20:41.
SubmitButton.php File 1137 bytes December 18 2019 11:20:41.
SubmitButtonBuilder.php File 624 bytes December 18 2019 11:20:41.
SubmitButtonTypeInterface.php File 474 bytes December 18 2019 11:20:41.
autoloader.php File 334 bytes December 18 2019 11:20:41.

Reading File: //opt/cloudlinux/alt-php53/root/usr/share//pear/Symfony//Component/Form/AbstractRendererEngine.php

<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Form;

/**
 * Default implementation of {@link FormRendererEngineInterface}.
 *
 * @author Bernhard Schussek <bschussek@gmail.com>
 */
abstract class AbstractRendererEngine implements FormRendererEngineInterface
{
    /**
     * The variable in {@link FormView} used as cache key.
     */
    const CACHE_KEY_VAR = 'cache_key';

    /**
     * @var array
     */
    protected $defaultThemes;

    /**
     * @var array
     */
    protected $themes = array();

    /**
     * @var array
     */
    protected $resources = array();

    /**
     * @var array
     */
    private $resourceHierarchyLevels = array();

    /**
     * Creates a new renderer engine.
     *
     * @param array $defaultThemes The default themes. The type of these
     *                             themes is open to the implementation.
     */
    public function __construct(array $defaultThemes = array())
    {
        $this->defaultThemes = $defaultThemes;
    }

    /**
     * {@inheritdoc}
     */
    public function setTheme(FormView $view, $themes)
    {
        $cacheKey = $view->vars[self::CACHE_KEY_VAR];

        // Do not cast, as casting turns objects into arrays of properties
        $this->themes[$cacheKey] = is_array($themes) ? $themes : array($themes);

        // Unset instead of resetting to an empty array, in order to allow
        // implementations (like TwigRendererEngine) to check whether $cacheKey
        // is set at all.
        unset($this->resources[$cacheKey]);
        unset($this->resourceHierarchyLevels[$cacheKey]);
    }

    /**
     * {@inheritdoc}
     */
    public function getResourceForBlockName(FormView $view, $blockName)
    {
        $cacheKey = $view->vars[self::CACHE_KEY_VAR];

        if (!isset($this->resources[$cacheKey][$blockName])) {
            $this->loadResourceForBlockName($cacheKey, $view, $blockName);
        }

        return $this->resources[$cacheKey][$blockName];
    }

    /**
     * {@inheritdoc}
     */
    public function getResourceForBlockNameHierarchy(FormView $view, array $blockNameHierarchy, $hierarchyLevel)
    {
        $cacheKey = $view->vars[self::CACHE_KEY_VAR];
        $blockName = $blockNameHierarchy[$hierarchyLevel];

        if (!isset($this->resources[$cacheKey][$blockName])) {
            $this->loadResourceForBlockNameHierarchy($cacheKey, $view, $blockNameHierarchy, $hierarchyLevel);
        }

        return $this->resources[$cacheKey][$blockName];
    }

    /**
     * {@inheritdoc}
     */
    public function getResourceHierarchyLevel(FormView $view, array $blockNameHierarchy, $hierarchyLevel)
    {
        $cacheKey = $view->vars[self::CACHE_KEY_VAR];
        $blockName = $blockNameHierarchy[$hierarchyLevel];

        if (!isset($this->resources[$cacheKey][$blockName])) {
            $this->loadResourceForBlockNameHierarchy($cacheKey, $view, $blockNameHierarchy, $hierarchyLevel);
        }

        // If $block was previously rendered loaded with loadTemplateForBlock(), the template
        // is cached but the hierarchy level is not. In this case, we know that the  block
        // exists at this very hierarchy level, so we can just set it.
        if (!isset($this->resourceHierarchyLevels[$cacheKey][$blockName])) {
            $this->resourceHierarchyLevels[$cacheKey][$blockName] = $hierarchyLevel;
        }

        return $this->resourceHierarchyLevels[$cacheKey][$blockName];
    }

    /**
     * Loads the cache with the resource for a given block name.
     *
     * @see getResourceForBlock()
     *
     * @param string   $cacheKey  The cache key of the form view.
     * @param FormView $view      The form view for finding the applying themes.
     * @param string   $blockName The name of the block to load.
     *
     * @return Boolean True if the resource could be loaded, false otherwise.
     */
    abstract protected function loadResourceForBlockName($cacheKey, FormView $view, $blockName);

    /**
     * Loads the cache with the resource for a specific level of a block hierarchy.
     *
     * @see getResourceForBlockHierarchy()
     *
     * @param string   $cacheKey           The cache key used for storing the
     *                                     resource.
     * @param FormView $view               The form view for finding the applying
     *                                     themes.
     * @param array    $blockNameHierarchy The block hierarchy, with the most
     *                                     specific block name at the end.
     * @param integer  $hierarchyLevel     The level in the block hierarchy that
     *                                     should be loaded.
     *
     * @return Boolean True if the resource could be loaded, false otherwise.
     */
    private function loadResourceForBlockNameHierarchy($cacheKey, FormView $view, array $blockNameHierarchy, $hierarchyLevel)
    {
        $blockName = $blockNameHierarchy[$hierarchyLevel];

        // Try to find a template for that block
        if ($this->loadResourceForBlockName($cacheKey, $view, $blockName)) {
            // If loadTemplateForBlock() returns true, it was able to populate the
            // cache. The only missing thing is to set the hierarchy level at which
            // the template was found.
            $this->resourceHierarchyLevels[$cacheKey][$blockName] = $hierarchyLevel;

            return true;
        }

        if ($hierarchyLevel > 0) {
            $parentLevel = $hierarchyLevel - 1;
            $parentBlockName = $blockNameHierarchy[$parentLevel];

            // The next two if statements contain slightly duplicated code. This is by intention
            // and tries to avoid execution of unnecessary checks in order to increase performance.

            if (isset($this->resources[$cacheKey][$parentBlockName])) {
                // It may happen that the parent block is already loaded, but its level is not.
                // In this case, the parent block must have been loaded by loadResourceForBlock(),
                // which does not check the hierarchy of the block. Subsequently the block must have
                // been found directly on the parent level.
                if (!isset($this->resourceHierarchyLevels[$cacheKey][$parentBlockName])) {
                    $this->resourceHierarchyLevels[$cacheKey][$parentBlockName] = $parentLevel;
                }

                // Cache the shortcuts for further accesses
                $this->resources[$cacheKey][$blockName] = $this->resources[$cacheKey][$parentBlockName];
                $this->resourceHierarchyLevels[$cacheKey][$blockName] = $this->resourceHierarchyLevels[$cacheKey][$parentBlockName];

                return true;
            }

            if ($this->loadResourceForBlockNameHierarchy($cacheKey, $view, $blockNameHierarchy, $parentLevel)) {
                // Cache the shortcuts for further accesses
                $this->resources[$cacheKey][$blockName] = $this->resources[$cacheKey][$parentBlockName];
                $this->resourceHierarchyLevels[$cacheKey][$blockName] = $this->resourceHierarchyLevels[$cacheKey][$parentBlockName];

                return true;
            }
        }

        // Cache the result for further accesses
        $this->resources[$cacheKey][$blockName] = false;
        $this->resourceHierarchyLevels[$cacheKey][$blockName] = false;

        return false;
    }
}

SILENT KILLER Tool