!C99Shell v. 2.1 [PHP 8 Update] [02.02.2022]!

Software: Apache/2.4.53 (Unix) OpenSSL/1.1.1o PHP/7.4.29 mod_perl/2.0.12 Perl/v5.34.1. PHP/7.4.29 

uname -a: Linux vps-2738122-x 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 

uid=1(daemon) gid=1(daemon) grupos=1(daemon) 

Safe-mode: OFF (not secure)

/opt/lampp/lib/php/PHPUnit/Util/   drwxr-xr-x
Free 9.89 GB of 61.93 GB (15.97%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     File.php (10.83 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * PHPUnit
 *
 * Copyright (c) 2002-2011, Sebastian Bergmann <sebastian@phpunit.de>.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 *   * Redistributions of source code must retain the above copyright
 *     notice, this list of conditions and the following disclaimer.
 *
 *   * Redistributions in binary form must reproduce the above copyright
 *     notice, this list of conditions and the following disclaimer in
 *     the documentation and/or other materials provided with the
 *     distribution.
 *
 *   * Neither the name of Sebastian Bergmann nor the names of his
 *     contributors may be used to endorse or promote products derived
 *     from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 * @package    PHPUnit
 * @subpackage Util
 * @author     Sebastian Bergmann <sebastian@phpunit.de>
 * @copyright  2002-2011 Sebastian Bergmann <sebastian@phpunit.de>
 * @license    http://www.opensource.org/licenses/bsd-license.php  BSD License
 * @link       http://www.phpunit.de/
 * @since      File available since Release 3.4.0
 */

if (!defined('T_NAMESPACE')) {
    
define('T_NAMESPACE'377);
}

/**
 * File helpers.
 *
 * @package    PHPUnit
 * @subpackage Util
 * @author     Sebastian Bergmann <sebastian@phpunit.de>
 * @copyright  2002-2011 Sebastian Bergmann <sebastian@phpunit.de>
 * @license    http://www.opensource.org/licenses/bsd-license.php  BSD License
 * @version    Release: 3.6.0
 * @link       http://www.phpunit.de/
 * @since      Class available since Release 3.4.0
 */
class PHPUnit_Util_File
{
    
/**
     * @var array
     */
    
protected static $cache = array();

    
/**
     * Returns information on the classes declared in a sourcefile.
     *
     * @param  string $filename
     * @return array
     */
    
public static function getClassesInFile($filename)
    {
        if (!isset(
self::$cache[$filename])) {
            
self::$cache[$filename] = self::parseFile($filename);
        }

        return 
self::$cache[$filename];
    }

    
/**
     * Parses a file for class and method information.
     *
     * @param  string $filename
     * @return array
     */
    
protected static function parseFile($filename)
    {
        
$result = array();

        
$tokens                     token_get_all(
                                        
file_get_contents($filename)
                                      );
        
$numTokens                  count($tokens);
        
$blocks                     = array();
        
$line                       1;
        
$currentBlock               FALSE;
        
$currentNamespace           FALSE;
        
$currentClass               FALSE;
        
$currentFunction            FALSE;
        
$currentFunctionStartLine   FALSE;
        
$currentFunctionTokens      = array();
        
$currentDocComment          FALSE;
        
$currentSignature           FALSE;
        
$currentSignatureStartToken FALSE;

        for (
$i 0$i $numTokens$i++) {
            if (
$currentFunction !== FALSE) {
                
$currentFunctionTokens[] = $tokens[$i];
            }

            if (
is_string($tokens[$i])) {
                if (
$tokens[$i] == '{') {
                    if (
$currentBlock == T_CLASS) {
                        
$block $currentClass;
                    }

                    else if (
$currentBlock == T_FUNCTION) {
                        
$currentSignature '';

                        for (
$j $currentSignatureStartToken$j $i$j++) {
                            if (
is_string($tokens[$j])) {
                                
$currentSignature .= $tokens[$j];
                            } else {
                                
$currentSignature .= $tokens[$j][1];
                            }
                        }

                        
$currentSignature trim($currentSignature);

                        
$block                      $currentFunction;
                        
$currentSignatureStartToken FALSE;
                    }

                    else {
                        
$block FALSE;
                    }

                    
array_push($blocks$block);

                    
$currentBlock FALSE;
                }

                else if (
$tokens[$i] == '}') {
                    
$block array_pop($blocks);

                    if (
$block !== FALSE && $block !== NULL) {
                        if (
$block == $currentFunction) {
                            if (
$currentDocComment !== FALSE) {
                                
$docComment        $currentDocComment;
                                
$currentDocComment FALSE;
                            } else {
                                
$docComment '';
                            }

                            
$tmp = array(
                              
'docComment' => $docComment,
                              
'signature'  => $currentSignature,
                              
'startLine'  => $currentFunctionStartLine,
                              
'endLine'    => $line,
                              
'tokens'     => $currentFunctionTokens
                            
);

                            if (
$currentClass !== FALSE) {
                                
$result[$currentClass]['methods'][$currentFunction] = $tmp;
                            }

                            
$currentFunction          FALSE;
                            
$currentFunctionStartLine FALSE;
                            
$currentFunctionTokens    = array();
                            
$currentSignature         FALSE;
                        }

                        else if (
$block == $currentClass) {
                            
$result[$currentClass]['endLine'] = $line;

                            
$currentClass          FALSE;
                            
$currentClassStartLine FALSE;
                        }
                    }
                }

                continue;
            }

            switch (
$tokens[$i][0]) {
                case 
T_HALT_COMPILER: {
                    return;
                }
                break;

                case 
T_NAMESPACE: {
                    
$currentNamespace $tokens[$i+2][1];

                    for (
$j $i+3$j $numTokens$j += 2) {
                        if (
$tokens[$j][0] == T_NS_SEPARATOR) {
                            
$currentNamespace .= '\\' $tokens[$j+1][1];
                        } else {
                            break;
                        }
                    }
                }
                break;

                case 
T_CURLY_OPEN: {
                    
$currentBlock T_CURLY_OPEN;
                    
array_push($blocks$currentBlock);
                }
                break;

                case 
T_DOLLAR_OPEN_CURLY_BRACES: {
                    
$currentBlock T_DOLLAR_OPEN_CURLY_BRACES;
                    
array_push($blocks$currentBlock);
                }
                break;

                case 
T_CLASS: {
                    
$currentBlock T_CLASS;

                    if (
$currentNamespace === FALSE) {
                        
$currentClass $tokens[$i+2][1];
                    } else {
                        
$currentClass $currentNamespace '\\' .
                                        
$tokens[$i+2][1];
                    }

                    if (
$currentDocComment !== FALSE) {
                        
$docComment        $currentDocComment;
                        
$currentDocComment FALSE;
                    } else {
                        
$docComment '';
                    }

                    
$result[$currentClass] = array(
                      
'methods'    => array(),
                      
'docComment' => $docComment,
                      
'startLine'  => $line
                    
);
                }
                break;

                case 
T_FUNCTION: {
                    if (!((
is_array($tokens[$i+2]) &&
                          
$tokens[$i+2][0] == T_STRING) ||
                         (
is_string($tokens[$i+2]) &&
                          
$tokens[$i+2] == '&' &&
                          
is_array($tokens[$i+3]) &&
                          
$tokens[$i+3][0] == T_STRING))) {
                        continue;
                    }

                    
$currentBlock             T_FUNCTION;
                    
$currentFunctionStartLine $line;

                    
$done                       FALSE;
                    
$currentSignatureStartToken $i 1;

                    do {
                        switch (
$tokens[$currentSignatureStartToken][0]) {
                            case 
T_ABSTRACT:
                            case 
T_FINAL:
                            case 
T_PRIVATE:
                            case 
T_PUBLIC:
                            case 
T_PROTECTED:
                            case 
T_STATIC:
                            case 
T_WHITESPACE: {
                                
$currentSignatureStartToken--;
                            }
                            break;

                            default: {
                                
$currentSignatureStartToken++;
                                
$done TRUE;
                            }
                        }
                    }
                    while (!
$done);

                    if (isset(
$tokens[$i+2][1])) {
                        
$functionName $tokens[$i+2][1];
                    }

                    else if (isset(
$tokens[$i+3][1])) {
                        
$functionName $tokens[$i+3][1];
                    }

                    if (
$currentNamespace === FALSE) {
                        
$currentFunction $functionName;
                    } else {
                        
$currentFunction $currentNamespace '\\' .
                                           
$functionName;
                    }
                }
                break;

                case 
T_DOC_COMMENT: {
                    
$currentDocComment $tokens[$i][1];
                }
                break;
            }

            
$line += substr_count($tokens[$i][1], "\n");
        }

        return 
$result;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

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

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

--[ c99shell v. 2.1 [PHP 8 Update] [02.02.2022] maintained byC99Shell Github | Generation time: 0.5273 ]--