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

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/public_html/phpmyadmin/libraries/classes/Navigation/   drwxr-xr-x
Free 28.76 GB of 117.98 GB (24.38%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     NodeFactory.php (3.16 KB)      -rwxr-x---
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * This class is responsible for creating Node objects
 */

declare(strict_types=1);

namespace 
PhpMyAdmin\Navigation;

use 
PhpMyAdmin\Navigation\Nodes\Node;

use function 
__;
use function 
class_exists;
use function 
preg_match;
use function 
sprintf;
use function 
trigger_error;

use const 
E_USER_ERROR;

/**
 * Node factory - instantiates Node objects or objects derived from the Node class
 */
class NodeFactory
{
    
/** @var string */
    
protected static $namespace 'PhpMyAdmin\\Navigation\\Nodes\\%s';

    
/**
     * Sanitizes the name of a Node class
     *
     * @param string $class The class name to be sanitized
     *
     * @return string
     * @psalm-return class-string
     */
    
private static function sanitizeClass($class)
    {
        if (! 
preg_match('@^Node\w*$@'$class)) {
            
$class 'Node';
            
trigger_error(
                
sprintf(
                    
/* l10n: The word "Node" must not be translated here */
                    
__('Invalid class name "%1$s", using default of "Node"'),
                    
$class
                
),
                
E_USER_ERROR
            
);
        }

        return 
self::checkClass($class);
    }

    
/**
     * Checks if a class exists and try to load it.
     * Will return the default class name back if the
     * file for some subclass is not available
     *
     * @param string $class The class name to check
     *
     * @return string
     * @psalm-return class-string
     */
    
private static function checkClass($class)
    {
        
/** @var class-string $class */
        
$class sprintf(self::$namespace$class);

        if (! 
class_exists($class)) {
            
/** @var class-string $class */
            
$class sprintf(self::$namespace'Node');
            
trigger_error(
                
sprintf(
                    
__('Could not load class "%1$s"'),
                    
$class
                
),
                
E_USER_ERROR
            
);
        }

        return 
$class;
    }

    
/**
     * Instantiates a Node object
     *
     * @param string       $class   The name of the class to instantiate
     * @param string|array $name    An identifier for the new node
     * @param int          $type    Type of node, may be one of CONTAINER or OBJECT
     * @param bool         $isGroup Whether this object has been created while grouping nodes
     */
    
public static function getInstance(
        
$class 'Node',
        
$name 'default',
        
$type Node::OBJECT,
        
$isGroup false
    
): Node {
        
$class self::sanitizeClass($class);

        
/** @var Node $node */
        
$node = new $class($name$type$isGroup);

        return 
$node;
    }

    
/**
     * Instantiates a Node object that will be used only for "New db/table/etc.." objects
     *
     * @param string $name    An identifier for the new node
     * @param string $classes Extra CSS classes for the node
     */
    
public static function getInstanceForNewNode(
        
string $name,
        
string $classes
    
): Node {
        
$node = new Node($nameNode::OBJECTfalse);
        
$node->title $name;
        
$node->isNew true;
        
$node->classes $classes;

        return 
$node;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

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