Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.217.117
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
v3.cesa.co.za /
vendor /
symfony /
form /
Delete
Unzip
Name
Size
Permission
Date
Action
ChoiceList
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Command
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Console
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
DependencyInjection
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Event
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Exception
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Extension
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Guess
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Resources
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Test
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Util
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
.htaccess
237
B
-r-xr-xr-x
2026-08-17 03:12
AbstractExtension.php
4.46
KB
-rwxrwxr-x
2026-03-13 14:59
AbstractRendererEngine.php
7.79
KB
-rwxrwxr-x
2026-03-13 14:59
AbstractType.php
1.3
KB
-rwxrwxr-x
2026-03-13 14:59
AbstractTypeExtension.php
970
B
-rwxrwxr-x
2026-03-13 14:59
Button.php
7.93
KB
-rwxrwxr-x
2026-03-13 14:59
ButtonBuilder.php
15.71
KB
-rwxrwxr-x
2026-03-13 14:59
ButtonTypeInterface.php
462
B
-rwxrwxr-x
2026-03-13 14:59
CHANGELOG.md
32.58
KB
-rwxrwxr-x
2026-03-13 14:59
CallbackTransformer.php
832
B
-rwxrwxr-x
2026-03-13 14:59
ClearableErrorsInterface.php
648
B
-rwxrwxr-x
2026-03-13 14:59
ClickableInterface.php
501
B
-rwxrwxr-x
2026-03-13 14:59
DataAccessorInterface.php
1.57
KB
-rwxrwxr-x
2026-03-13 14:59
DataMapperInterface.php
2.47
KB
-rwxrwxr-x
2026-03-13 14:59
DataTransformerInterface.php
3.89
KB
-rwxrwxr-x
2026-03-13 14:59
FileUploadError.php
338
B
-rwxrwxr-x
2026-03-13 14:59
Form.php
36.11
KB
-rwxrwxr-x
2026-03-13 14:59
FormBuilder.php
6.85
KB
-rwxrwxr-x
2026-03-13 14:59
FormBuilderInterface.php
1.86
KB
-rwxrwxr-x
2026-03-13 14:59
FormConfigBuilder.php
18.16
KB
-rwxrwxr-x
2026-03-13 14:59
FormConfigBuilderInterface.php
7.15
KB
-rwxrwxr-x
2026-03-13 14:59
FormConfigInterface.php
5.13
KB
-rwxrwxr-x
2026-03-13 14:59
FormError.php
3.14
KB
-rwxrwxr-x
2026-03-13 14:59
FormErrorIterator.php
7.39
KB
-rwxrwxr-x
2026-03-13 14:59
FormEvent.php
1.05
KB
-rwxrwxr-x
2026-03-13 14:59
FormEvents.php
4.02
KB
-rwxrwxr-x
2026-03-13 14:59
FormExtensionInterface.php
1.4
KB
-rwxrwxr-x
2026-03-13 14:59
FormFactory.php
3.76
KB
-rwxrwxr-x
2026-03-13 14:59
FormFactoryBuilder.php
3.85
KB
-rwxrwxr-x
2026-03-13 14:59
FormFactoryBuilderInterface.php
2.35
KB
-rwxrwxr-x
2026-03-13 14:59
FormFactoryInterface.php
3.06
KB
-rwxrwxr-x
2026-03-13 14:59
FormInterface.php
9.26
KB
-rwxrwxr-x
2026-03-13 14:59
FormRegistry.php
4.57
KB
-rwxrwxr-x
2026-03-13 14:59
FormRegistryInterface.php
1.13
KB
-rwxrwxr-x
2026-03-13 14:59
FormRenderer.php
11.84
KB
-rwxrwxr-x
2026-03-13 14:59
FormRendererEngineInterface.php
6.11
KB
-rwxrwxr-x
2026-03-13 14:59
FormRendererInterface.php
3
KB
-rwxrwxr-x
2026-03-13 14:59
FormTypeExtensionInterface.php
1.71
KB
-rwxrwxr-x
2026-03-13 14:59
FormTypeGuesserChain.php
2.55
KB
-rwxrwxr-x
2026-03-13 14:59
FormTypeGuesserInterface.php
1.09
KB
-rwxrwxr-x
2026-03-13 14:59
FormTypeInterface.php
2.89
KB
-rwxrwxr-x
2026-03-13 14:59
FormView.php
3.46
KB
-rwxrwxr-x
2026-03-13 14:59
Forms.php
2.73
KB
-rwxrwxr-x
2026-03-13 14:59
LICENSE
1.04
KB
-rwxrwxr-x
2026-03-13 14:59
NativeRequestHandler.php
7.33
KB
-rwxrwxr-x
2026-03-13 14:59
PreloadedExtension.php
1.97
KB
-rwxrwxr-x
2026-03-13 14:59
README.md
483
B
-rwxrwxr-x
2026-03-13 14:59
RequestHandlerInterface.php
705
B
-rwxrwxr-x
2026-03-13 14:59
ResolvedFormType.php
5.32
KB
-rwxrwxr-x
2026-03-13 14:59
ResolvedFormTypeFactory.php
649
B
-rwxrwxr-x
2026-03-13 14:59
ResolvedFormTypeFactoryInterface.php
1.15
KB
-rwxrwxr-x
2026-03-13 14:59
ResolvedFormTypeInterface.php
2.17
KB
-rwxrwxr-x
2026-03-13 14:59
ReversedTransformer.php
1008
B
-rwxrwxr-x
2026-03-13 14:59
SubmitButton.php
1.07
KB
-rwxrwxr-x
2026-03-13 14:59
SubmitButtonBuilder.php
592
B
-rwxrwxr-x
2026-03-13 14:59
SubmitButtonTypeInterface.php
474
B
-rwxrwxr-x
2026-03-13 14:59
composer.json
2.25
KB
-rwxrwxr-x
2026-03-13 14:59
Save
Rename
<?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; use Symfony\Contracts\Service\ResetInterface; /** * Default implementation of {@link FormRendererEngineInterface}. * * @author Bernhard Schussek <bschussek@gmail.com> */ abstract class AbstractRendererEngine implements FormRendererEngineInterface, ResetInterface { /** * The variable in {@link FormView} used as cache key. */ public const CACHE_KEY_VAR = 'cache_key'; /** * @var array */ protected $defaultThemes; /** * @var array[] */ protected $themes = []; /** * @var bool[] */ protected $useDefaultThemes = []; /** * @var array[] */ protected $resources = []; /** * @var array<array<int|false>> */ private array $resourceHierarchyLevels = []; /** * @var array<string, array<string, bool>> */ private array $resourceInheritability = []; /** * 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 = []) { $this->defaultThemes = $defaultThemes; } /** * @return void */ public function setTheme(FormView $view, mixed $themes, bool $useDefaultThemes = true) { $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 : [$themes]; $this->useDefaultThemes[$cacheKey] = $useDefaultThemes; // 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], $this->resourceHierarchyLevels[$cacheKey], $this->resourceInheritability[$cacheKey]); } protected function setResourceInheritability(string $cacheKey, string $blockName, bool $inheritable): void { $this->resourceInheritability[$cacheKey][$blockName] = $inheritable; } protected function isResourceInheritable(string $cacheKey, string $blockName): bool { return $this->resourceInheritability[$cacheKey][$blockName] ?? false; } public function getResourceForBlockName(FormView $view, string $blockName): mixed { $cacheKey = $view->vars[self::CACHE_KEY_VAR]; if (!isset($this->resources[$cacheKey][$blockName])) { $this->loadResourceForBlockName($cacheKey, $view, $blockName); } return $this->resources[$cacheKey][$blockName]; } public function getResourceForBlockNameHierarchy(FormView $view, array $blockNameHierarchy, int $hierarchyLevel): mixed { $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]; } public function getResourceHierarchyLevel(FormView $view, array $blockNameHierarchy, int $hierarchyLevel): int|false { $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() * * @return bool */ abstract protected function loadResourceForBlockName(string $cacheKey, FormView $view, string $blockName); /** * Loads the cache with the resource for a specific level of a block hierarchy. * * @see getResourceForBlockHierarchy() */ private function loadResourceForBlockNameHierarchy(string $cacheKey, FormView $view, array $blockNameHierarchy, int $hierarchyLevel): bool { $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; $this->setResourceInheritability($cacheKey, $blockName, true); 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]; $this->setResourceInheritability($cacheKey, $blockName, false); 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]; $this->setResourceInheritability($cacheKey, $blockName, false); return true; } } // Cache the result for further accesses $this->resources[$cacheKey][$blockName] = false; $this->resourceHierarchyLevels[$cacheKey][$blockName] = false; $this->setResourceInheritability($cacheKey, $blockName, true); return false; } public function reset(): void { $this->themes = []; $this->useDefaultThemes = []; $this->resources = []; $this->resourceHierarchyLevels = []; $this->resourceInheritability = []; } }