Current Path: > > opt > cloudlinux > alt-php55 > root > usr > share > > pear > Symfony > Bridge > > Twig > Extension
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 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
CodeExtension.php | File | 8115 bytes | December 18 2019 11:24:07. | |
ExpressionExtension.php | File | 1010 bytes | December 18 2019 11:24:07. | |
FormExtension.php | File | 4683 bytes | December 18 2019 11:24:07. | |
HttpKernelExtension.php | File | 2657 bytes | December 18 2019 11:24:07. | |
RoutingExtension.php | File | 3630 bytes | December 18 2019 11:24:07. | |
SecurityExtension.php | File | 1391 bytes | December 18 2019 11:24:07. | |
StopwatchExtension.php | File | 1133 bytes | December 18 2019 11:24:07. | |
TranslationExtension.php | File | 3323 bytes | December 18 2019 11:24:07. | |
YamlExtension.php | File | 1562 bytes | December 18 2019 11:24:07. |
<?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\Bridge\Twig\Extension; use Symfony\Component\Routing\Generator\UrlGeneratorInterface; /** * Provides integration of the Routing component with Twig. * * @author Fabien Potencier <fabien@symfony.com> */ class RoutingExtension extends \Twig_Extension { private $generator; public function __construct(UrlGeneratorInterface $generator) { $this->generator = $generator; } /** * Returns a list of functions to add to the existing list. * * @return array An array of functions */ public function getFunctions() { return array( new \Twig_SimpleFunction('url', array($this, 'getUrl'), array('is_safe_callback' => array($this, 'isUrlGenerationSafe'))), new \Twig_SimpleFunction('path', array($this, 'getPath'), array('is_safe_callback' => array($this, 'isUrlGenerationSafe'))), ); } public function getPath($name, $parameters = array(), $relative = false) { return $this->generator->generate($name, $parameters, $relative ? UrlGeneratorInterface::RELATIVE_PATH : UrlGeneratorInterface::ABSOLUTE_PATH); } public function getUrl($name, $parameters = array(), $schemeRelative = false) { return $this->generator->generate($name, $parameters, $schemeRelative ? UrlGeneratorInterface::NETWORK_PATH : UrlGeneratorInterface::ABSOLUTE_URL); } /** * Determines at compile time whether the generated URL will be safe and thus * saving the unneeded automatic escaping for performance reasons. * * The URL generation process percent encodes non-alphanumeric characters. So there is no risk * that malicious/invalid characters are part of the URL. The only character within an URL that * must be escaped in html is the ampersand ("&") which separates query params. So we cannot mark * the URL generation as always safe, but only when we are sure there won't be multiple query * params. This is the case when there are none or only one constant parameter given. * E.g. we know beforehand this will be safe: * - path('route') * - path('route', {'param': 'value'}) * But the following may not: * - path('route', var) * - path('route', {'param': ['val1', 'val2'] }) // a sub-array * - path('route', {'param1': 'value1', 'param2': 'value2'}) * If param1 and param2 reference placeholder in the route, it would still be safe. But we don't know. * * @param \Twig_Node $argsNode The arguments of the path/url function * * @return array An array with the contexts the URL is safe */ public function isUrlGenerationSafe(\Twig_Node $argsNode) { // support named arguments $paramsNode = $argsNode->hasNode('parameters') ? $argsNode->getNode('parameters') : ( $argsNode->hasNode(1) ? $argsNode->getNode(1) : null ); if (null === $paramsNode || $paramsNode instanceof \Twig_Node_Expression_Array && count($paramsNode) <= 2 && (!$paramsNode->hasNode(1) || $paramsNode->getNode(1) instanceof \Twig_Node_Expression_Constant) ) { return array('html'); } return array(); } /** * Returns the name of the extension. * * @return string The extension name */ public function getName() { return 'routing'; } }
SILENT KILLER Tool