!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: nginx/1.23.4. PHP/5.6.40-65+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux foro-restaurado-2 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023
aarch64
 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/share/php/Symfony/Component/Config/Definition/Dumper/   drwxr-xr-x
Free 83.34 GB of 96.73 GB (86.16%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     XmlReferenceDumper.php (10.11 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

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

namespace Symfony\Component\Config\Definition\Dumper;

use 
Symfony\Component\Config\Definition\ArrayNode;
use 
Symfony\Component\Config\Definition\BaseNode;
use 
Symfony\Component\Config\Definition\ConfigurationInterface;
use 
Symfony\Component\Config\Definition\EnumNode;
use 
Symfony\Component\Config\Definition\NodeInterface;
use 
Symfony\Component\Config\Definition\PrototypedArrayNode;

/**
 * Dumps an XML reference configuration for the given configuration/node instance.
 *
 * @author Wouter J <[email protected]>
 */
class XmlReferenceDumper
{
    private 
$reference;

    public function 
dump(ConfigurationInterface $configurationstring $namespace null)
    {
        return 
$this->dumpNode($configuration->getConfigTreeBuilder()->buildTree(), $namespace);
    }

    public function 
dumpNode(NodeInterface $nodestring $namespace null)
    {
        
$this->reference '';
        
$this->writeNode($node0true$namespace);
        
$ref $this->reference;
        
$this->reference null;

        return 
$ref;
    }

    private function 
writeNode(NodeInterface $nodeint $depth 0bool $root falsestring $namespace null)
    {
        
$rootName = ($root 'config' $node->getName());
        
$rootNamespace = ($namespace ?: ($root 'http://example.org/schema/dic/'.$node->getName() : null));

        
// xml remapping
        
if ($node->getParent()) {
            
$remapping array_filter($node->getParent()->getXmlRemappings(), function (array $mapping) use ($rootName) {
                return 
$rootName === $mapping[1];
            });

            if (\
count($remapping)) {
                [
$singular] = current($remapping);
                
$rootName $singular;
            }
        }
        
$rootName str_replace('_''-'$rootName);

        
$rootAttributes = [];
        
$rootAttributeComments = [];
        
$rootChildren = [];
        
$rootComments = [];

        if (
$node instanceof ArrayNode) {
            
$children $node->getChildren();

            
// comments about the root node
            
if ($rootInfo $node->getInfo()) {
                
$rootComments[] = $rootInfo;
            }

            if (
$rootNamespace) {
                
$rootComments[] = 'Namespace: '.$rootNamespace;
            }

            
// render prototyped nodes
            
if ($node instanceof PrototypedArrayNode) {
                
$prototype $node->getPrototype();

                
$info 'prototype';
                if (
null !== $prototype->getInfo()) {
                    
$info .= ': '.$prototype->getInfo();
                }
                
array_unshift($rootComments$info);

                if (
$key $node->getKeyAttribute()) {
                    
$rootAttributes[$key] = str_replace('-'' '$rootName).' '.$key;
                }

                if (
$prototype instanceof PrototypedArrayNode) {
                    
$prototype->setName($key ?? '');
                    
$children = [$key => $prototype];
                } elseif (
$prototype instanceof ArrayNode) {
                    
$children $prototype->getChildren();
                } else {
                    if (
$prototype->hasDefaultValue()) {
                        
$prototypeValue $prototype->getDefaultValue();
                    } else {
                        switch (\
get_class($prototype)) {
                            case 
'Symfony\Component\Config\Definition\ScalarNode':
                                
$prototypeValue 'scalar value';
                                break;

                            case 
'Symfony\Component\Config\Definition\FloatNode':
                            case 
'Symfony\Component\Config\Definition\IntegerNode':
                                
$prototypeValue 'numeric value';
                                break;

                            case 
'Symfony\Component\Config\Definition\BooleanNode':
                                
$prototypeValue 'true|false';
                                break;

                            case 
'Symfony\Component\Config\Definition\EnumNode':
                                
$prototypeValue implode('|'array_map('json_encode'$prototype->getValues()));
                                break;

                            default:
                                
$prototypeValue 'value';
                        }
                    }
                }
            }

            
// get attributes and elements
            
foreach ($children as $child) {
                if (
$child instanceof ArrayNode) {
                    
// get elements
                    
$rootChildren[] = $child;

                    continue;
                }

                
// get attributes

                // metadata
                
$name str_replace('_''-'$child->getName());
                
$value '%%%%not_defined%%%%'// use a string which isn't used in the normal world

                // comments
                
$comments = [];
                if (
$child instanceof BaseNode && $info $child->getInfo()) {
                    
$comments[] = $info;
                }

                if (
$child instanceof BaseNode && $example $child->getExample()) {
                    
$comments[] = 'Example: '.$example;
                }

                if (
$child->isRequired()) {
                    
$comments[] = 'Required';
                }

                if (
$child instanceof BaseNode && $child->isDeprecated()) {
                    
$deprecation $child->getDeprecation($child->getName(), $node->getPath());
                    
$comments[] = sprintf('Deprecated (%s)', ($deprecation['package'] || $deprecation['version'] ? "Since {$deprecation['package']} {$deprecation['version']}: " '').$deprecation['message']);
                }

                if (
$child instanceof EnumNode) {
                    
$comments[] = 'One of '.implode('; 'array_map('json_encode'$child->getValues()));
                }

                if (\
count($comments)) {
                    
$rootAttributeComments[$name] = implode(";\n"$comments);
                }

                
// default values
                
if ($child->hasDefaultValue()) {
                    
$value $child->getDefaultValue();
                }

                
// append attribute
                
$rootAttributes[$name] = $value;
            }
        }

        
// render comments

        // root node comment
        
if (\count($rootComments)) {
            foreach (
$rootComments as $comment) {
                
$this->writeLine('<!-- '.$comment.' -->'$depth);
            }
        }

        
// attribute comments
        
if (\count($rootAttributeComments)) {
            foreach (
$rootAttributeComments as $attrName => $comment) {
                
$commentDepth $depth + \strlen($attrName) + 2;
                
$commentLines explode("\n"$comment);
                
$multiline = (\count($commentLines) > 1);
                
$comment implode(\PHP_EOL.str_repeat(' '$commentDepth), $commentLines);

                if (
$multiline) {
                    
$this->writeLine('<!--'$depth);
                    
$this->writeLine($attrName.': '.$comment$depth 4);
                    
$this->writeLine('-->'$depth);
                } else {
                    
$this->writeLine('<!-- '.$attrName.': '.$comment.' -->'$depth);
                }
            }
        }

        
// render start tag + attributes
        
$rootIsVariablePrototype = isset($prototypeValue);
        
$rootIsEmptyTag = (=== \count($rootChildren) && !$rootIsVariablePrototype);
        
$rootOpenTag '<'.$rootName;
        if (
>= ($attributesCount = \count($rootAttributes))) {
            if (
=== $attributesCount) {
                
$rootOpenTag .= sprintf(' %s="%s"'current(array_keys($rootAttributes)), $this->writeValue(current($rootAttributes)));
            }

            
$rootOpenTag .= $rootIsEmptyTag ' />' '>';

            if (
$rootIsVariablePrototype) {
                
$rootOpenTag .= $prototypeValue.'</'.$rootName.'>';
            }

            
$this->writeLine($rootOpenTag$depth);
        } else {
            
$this->writeLine($rootOpenTag$depth);

            
$i 1;

            foreach (
$rootAttributes as $attrName => $attrValue) {
                
$attr sprintf('%s="%s"'$attrName$this->writeValue($attrValue));

                
$this->writeLine($attr$depth 4);

                if (
$attributesCount === $i++) {
                    
$this->writeLine($rootIsEmptyTag '/>' '>'$depth);

                    if (
$rootIsVariablePrototype) {
                        
$rootOpenTag .= $prototypeValue.'</'.$rootName.'>';
                    }
                }
            }
        }

        
// render children tags
        
foreach ($rootChildren as $child) {
            
$this->writeLine('');
            
$this->writeNode($child$depth 4);
        }

        
// render end tag
        
if (!$rootIsEmptyTag && !$rootIsVariablePrototype) {
            
$this->writeLine('');

            
$rootEndTag '</'.$rootName.'>';
            
$this->writeLine($rootEndTag$depth);
        }
    }

    
/**
     * Outputs a single config reference line.
     */
    
private function writeLine(string $textint $indent 0)
    {
        
$indent = \strlen($text) + $indent;
        
$format '%'.$indent.'s';

        
$this->reference .= sprintf($format$text).\PHP_EOL;
    }

    
/**
     * Renders the string conversion of the value.
     *
     * @param mixed $value
     */
    
private function writeValue($value): string
    
{
        if (
'%%%%not_defined%%%%' === $value) {
            return 
'';
        }

        if (\
is_string($value) || is_numeric($value)) {
            return 
$value;
        }

        if (
false === $value) {
            return 
'false';
        }

        if (
true === $value) {
            return 
'true';
        }

        if (
null === $value) {
            return 
'null';
        }

        if (empty(
$value)) {
            return 
'';
        }

        if (\
is_array($value)) {
            return 
implode(','$value);
        }

        return 
'';
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by HackingTool | HackingTool | Generation time: 0.0054 ]--