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

Software: nginx/1.23.4. PHP/5.6.40-65+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux foro-restaurado-2 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023
aarch64
 

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

Safe-mode: OFF (not secure)

/home/scripts/pba/phc-read-only/test/framework/   drwxrwxr-x
Free 83.25 GB of 96.73 GB (86.07%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     xml_roundtrip.php (3.37 KB)      -rw-rw-r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*
 * phc -- the open source PHP compiler
 * See doc/license/README.license for licensing information
 *
 * Check the XML output of a script is the same as if it was parsed from XML
 */

array_push($tests, new XML_roundtrip());
class 
XML_roundtrip extends AsyncTest
{
    function 
get_dependent_test_names ()
    {
        return array (
"BasicParseTest");
    }

    function 
check_prerequisites ()
    {
        global 
$xerces_compiled_in;
        return 
parent::check_prerequisites () and
            
$xerces_compiled_in != 'no';
    }
    
    function 
get_test_subjects ()
    {
        return 
get_all_scripts ();
    }

    
// This test is very CPU intensive.
    
function get_phc_num_procs_divisor ()
    {
        return 
2;
    }

    
// Dump after the last pass. Then dump after every pass, and reparse
    // it. Check that the final dump is that same.
    
function run_test ($subject)
    {
        global 
$phc;
        
$bundle = new AsyncBundle ($this$subject);

        
$passes get_pass_list ();
        
$last_pass $passes [count ($passes) - 1];


        
# Get the output going straight though the compiler
        
$bundle->commands[0]    = $this->get_command_line ($last_pass$subject);
        
$bundle->out_handlers[0] = "homogenize_output";
        
$bundle->commands[1] = $this->get_long_command_line ($subject$last_pass);
        
$bundle->out_handlers[1] = "homogenize_output";

        
$bundle->final "finish";

        
$bundle->start ();
    }

    function 
homogenize_output ($string)
    {
        return 
homogenize_xml ($string);
    }

    
// Construct a command line which pipes the xml output of one pass into the
    // XML input of the next pass.
    
function get_long_command_line ($subject$last_pass)
    {
        
$long_command "";
        
$prev_pass NULL;
        
$concatenator "";
        foreach (
get_pass_list () as $pass)
        {
            
$long_command .= $concatenator $this->get_command_line ($pass$subject);
            
            
$subject NULL// we dont need it after the first one
            
$concatenator " | "// we want to pipe  the commands together

            // dont always give the full list
            
if ($pass == $last_pass)
                break;
        }
        return 
$long_command;
    }


    function 
get_command_line ($pass$subject)
    {
        global 
$phc;
        
$command "$phc --no-hash-bang";

        if (
is_string ($subject)) $command .= $subject";
        if (
$subject == NULL$command .= " --read-xml=$pass";

        
// We can't read AST-to-HIR output with --read=hir
        
if ($pass == "AST-to-HIR"$pass "hir";
        if (
$pass == "HIR-to-MIR"$pass "mir";
        
$command .= " --dump-xml=$pass";

        return 
$command;
    }

    function 
finish ($bundle)
    {
        global 
$opt_debug;
        
$expected_final_xml $bundle->outs[0];
        
$final_xml $bundle->outs[1];
        if (
$final_xml === $expected_final_xml)
            
$this->async_success ($bundle);
        else
        {
            
$pass_string "";
            if (
$opt_debug// this will take a while
            
{
                
$last_pass end (get_pass_list ());
                
// find the failing part
                
foreach (get_pass_list() as $pass)
                {
                    
$command1 $this->get_command_line ($pass$bundle->subject);
                    
$command2 $this->get_long_command_line ($bundle->subject$pass);
                    if ((
$result1 complete_exec ($command1)) !== ($result2 complete_exec ($command2)))
                    {
                        
$bundle->commands[2] = $command1;
                        list (
$bundle->outs[2], $bundle->errs[2], $bundle->exits[2]) = $result1;

                        
$bundle->commands[3] = $command2;
                        list (
$bundle->outs[3], $bundle->errs[3], $bundle->exits[3]) = $result2;

                        
$pass_string " in pass '$pass'";
                        break;
                    }
                }
            }

            
$this->async_failure ("Final output doesnt match expected$pass_string"$bundle);
        }
    }

}

:: 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 HackingTool | HackingTool | Generation time: 0.0044 ]--