!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

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

Safe-mode: OFF (not secure)

/var/www/html/cloud_campaign/vendor/phpdocumentor/reflection-docblock/src/DocBlock/   drwxr-xr-x
Free 13.32 GB of 57.97 GB (22.97%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

declare(strict_types=1);

/**
 * This file is part of phpDocumentor.
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 *
 * @link http://phpdoc.org
 */

namespace phpDocumentor\Reflection\DocBlock;

use 
phpDocumentor\Reflection\DocBlock;
use 
phpDocumentor\Reflection\DocBlock\Tags\Formatter;
use 
phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter;
use function 
sprintf;
use function 
str_repeat;
use function 
str_replace;
use function 
strlen;
use function 
wordwrap;

/**
 * Converts a DocBlock back from an object to a complete DocComment including Asterisks.
 */
class Serializer
{
    
/** @var string The string to indent the comment with. */
    
protected $indentString ' ';

    
/** @var int The number of times the indent string is repeated. */
    
protected $indent 0;

    
/** @var bool Whether to indent the first line with the given indent amount and string. */
    
protected $isFirstLineIndented true;

    
/** @var int|null The max length of a line. */
    
protected $lineLength;

    
/** @var Formatter A custom tag formatter. */
    
protected $tagFormatter;

    
/**
     * Create a Serializer instance.
     *
     * @param int       $indent          The number of times the indent string is repeated.
     * @param string    $indentString    The string to indent the comment with.
     * @param bool      $indentFirstLine Whether to indent the first line.
     * @param int|null  $lineLength      The max length of a line or NULL to disable line wrapping.
     * @param Formatter $tagFormatter    A custom tag formatter, defaults to PassthroughFormatter.
     */
    
public function __construct(
        
int $indent 0,
        
string $indentString ' ',
        
bool $indentFirstLine true,
        ?
int $lineLength null,
        ?
Formatter $tagFormatter null
    
) {
        
$this->indent              $indent;
        
$this->indentString        $indentString;
        
$this->isFirstLineIndented $indentFirstLine;
        
$this->lineLength          $lineLength;
        
$this->tagFormatter        $tagFormatter ?: new PassthroughFormatter();
    }

    
/**
     * Generate a DocBlock comment.
     *
     * @param DocBlock $docblock The DocBlock to serialize.
     *
     * @return string The serialized doc block.
     */
    
public function getDocComment(DocBlock $docblock) : string
    
{
        
$indent      str_repeat($this->indentString$this->indent);
        
$firstIndent $this->isFirstLineIndented $indent '';
        
// 3 === strlen(' * ')
        
$wrapLength $this->lineLength $this->lineLength strlen($indent) - null;

        
$text $this->removeTrailingSpaces(
            
$indent,
            
$this->addAsterisksForEachLine(
                
$indent,
                
$this->getSummaryAndDescriptionTextBlock($docblock$wrapLength)
            )
        );

        
$comment $firstIndent "/**\n";
        if (
$text) {
            
$comment .= $indent ' * ' $text "\n";
            
$comment .= $indent " *\n";
        }

        
$comment $this->addTagBlock($docblock$wrapLength$indent$comment);

        return 
$comment $indent ' */';
    }

    private function 
removeTrailingSpaces(string $indentstring $text) : string
    
{
        return 
str_replace(
            
sprintf("\n%s * \n"$indent),
            
sprintf("\n%s *\n"$indent),
            
$text
        
);
    }

    private function 
addAsterisksForEachLine(string $indentstring $text) : string
    
{
        return 
str_replace(
            
"\n",
            
sprintf("\n%s * "$indent),
            
$text
        
);
    }

    private function 
getSummaryAndDescriptionTextBlock(DocBlock $docblock, ?int $wrapLength) : string
    
{
        
$text $docblock->getSummary() . ((string) $docblock->getDescription() ? "\n\n" $docblock->getDescription()
                : 
'');
        if (
$wrapLength !== null) {
            
$text wordwrap($text$wrapLength);

            return 
$text;
        }

        return 
$text;
    }

    private function 
addTagBlock(DocBlock $docblock, ?int $wrapLengthstring $indentstring $comment) : string
    
{
        foreach (
$docblock->getTags() as $tag) {
            
$tagText $this->tagFormatter->format($tag);
            if (
$wrapLength !== null) {
                
$tagText wordwrap($tagText$wrapLength);
            }

            
$tagText str_replace(
                
"\n",
                
sprintf("\n%s * "$indent),
                
$tagText
            
);

            
$comment .= sprintf("%s * %s\n"$indent$tagText);
        }

        return 
$comment;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

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

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

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.005 ]--