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

/usr/share/nginx/html/phpMY/libraries/export/   drwxrwxr-x
Free 83.29 GB of 96.73 GB (86.11%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     codegen.php (11.56 KB)      -rw-rw-r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Set of functions used to build NHibernate dumps of tables
 *
 * @package PhpMyAdmin-Export
 * @subpackage Codegen
 */
if (! defined('PHPMYADMIN')) {
    exit;
}

/**
 * This gets executed twice so avoid a notice
 */
if (! defined('CG_FORMAT_NHIBERNATE_CS')) {
    
define("CG_FORMAT_NHIBERNATE_CS""NHibernate C# DO");
    
define("CG_FORMAT_NHIBERNATE_XML""NHibernate XML");

    
define("CG_HANDLER_NHIBERNATE_CS_BODY""handleNHibernateCSBody");
    
define("CG_HANDLER_NHIBERNATE_XML_BODY""handleNHibernateXMLBody");
}

$CG_FORMATS = array(CG_FORMAT_NHIBERNATE_CSCG_FORMAT_NHIBERNATE_XML);
$CG_HANDLERS = array(CG_HANDLER_NHIBERNATE_CS_BODYCG_HANDLER_NHIBERNATE_XML_BODY);

/**
 *
 */
if (isset($plugin_list)) {
    
$plugin_list['codegen'] = array(
        
'text' => 'CodeGen',
        
'extension' => 'cs',
        
'mime_type' => 'text/cs',
        
'options' => array(
            array(
'type' => 'begin_group''name' => 'general_opts'),
            array(
'type' => 'hidden''name' => 'structure_or_data'),
            array(
'type' => 'select''name' => 'format''text' => __('Format:'), 'values' => $CG_FORMATS),
            array(
'type' => 'end_group')
            ),
        
'options_text' => __('Options'),
        );
} else {

    
/**
     * Set of functions used to build exports of tables
     */

    /**
     * Outputs export footer
     *
     * @return  bool        Whether it succeeded
     *
     * @access  public
     */
    
function PMA_exportFooter()
    {
        return 
true;
    }

    
/**
     * Outputs export header
     *
     * @return  bool        Whether it succeeded
     *
     * @access  public
     */
    
function PMA_exportHeader()
    {
        return 
true;
    }

    
/**
     * Outputs database header
     *
     * @param string  $db Database name
     * @return  bool        Whether it succeeded
     *
     * @access  public
     */
    
function PMA_exportDBHeader($db)
    {
        return 
true;
    }

    
/**
     * Outputs database footer
     *
     * @param string  $db Database name
     * @return  bool        Whether it succeeded
     *
     * @access  public
     */
    
function PMA_exportDBFooter($db)
    {
        return 
true;
    }

    
/**
     * Outputs CREATE DATABASE statement
     *
     * @param string  $db Database name
     * @return  bool        Whether it succeeded
     *
     * @access  public
     */
    
function PMA_exportDBCreate($db)
    {
        return 
true;
    }

    
/**
     * Outputs the content of a table in NHibernate format
     *
     * @param string  $db         database name
     * @param string  $table      table name
     * @param string  $crlf       the end of line sequence
     * @param string  $error_url  the url to go back in case of error
     * @param string  $sql_query  SQL query for obtaining data
     * @return  bool        Whether it succeeded
     *
     * @access  public
     */
    
function PMA_exportData($db$table$crlf$error_url$sql_query)
    {
        global 
$CG_FORMATS$CG_HANDLERS$what;
        
$format $GLOBALS[$what '_format'];
        if (isset(
$CG_FORMATS[$format])) {
            return 
PMA_exportOutputHandler($CG_HANDLERS[$format]($db$table$crlf));
        }
        return 
PMA_exportOutputHandler(sprintf("%s is not supported."$format));
    }

    
/**
     *
     * @package PhpMyAdmin-Export
     * @subpackage Codegen
     */
    
class TableProperty
    
{
        public 
$name;
        public 
$type;
        public 
$nullable;
        public 
$key;
        public 
$defaultValue;
        public 
$ext;
        function 
__construct($row)
        {
            
$this->name trim($row[0]);
            
$this->type trim($row[1]);
            
$this->nullable trim($row[2]);
            
$this->key trim($row[3]);
            
$this->defaultValue trim($row[4]);
            
$this->ext trim($row[5]);
        }
        function 
getPureType()
        {
            
$pos=strpos($this->type"(");
            if (
$pos 0)
                return 
substr($this->type0$pos);
            return 
$this->type;
        }
        function 
isNotNull()
        {
            return 
$this->nullable == "NO" "true" "false";
        }
        function 
isUnique()
        {
            return 
$this->key == "PRI" || $this->key == "UNI" "true" "false";
        }
        function 
getDotNetPrimitiveType()
        {
            if (
strpos($this->type"int") === 0) return "int";
            if (
strpos($this->type"long") === 0) return "long";
            if (
strpos($this->type"char") === 0) return "string";
            if (
strpos($this->type"varchar") === 0) return "string";
            if (
strpos($this->type"text") === 0) return "string";
            if (
strpos($this->type"longtext") === 0) return "string";
            if (
strpos($this->type"tinyint") === 0) return "bool";
            if (
strpos($this->type"datetime") === 0) return "DateTime";
            return 
"unknown";
        }
        function 
getDotNetObjectType()
        {
            if (
strpos($this->type"int") === 0) return "Int32";
            if (
strpos($this->type"long") === 0) return "Long";
            if (
strpos($this->type"char") === 0) return "String";
            if (
strpos($this->type"varchar") === 0) return "String";
            if (
strpos($this->type"text") === 0) return "String";
            if (
strpos($this->type"longtext") === 0) return "String";
            if (
strpos($this->type"tinyint") === 0) return "Boolean";
            if (
strpos($this->type"datetime") === 0) return "DateTime";
            return 
"Unknown";
        }
        function 
getIndexName()
        {
            if (
strlen($this->key)>0)
                return 
"index=\"" htmlspecialchars($this->nameENT_COMPAT'UTF-8') . "\"";
            return 
"";
        }
        function 
isPK()
        {
            return 
$this->key=="PRI";
        }
        function 
formatCs($text)
        {
            
$text=str_replace("#name#"cgMakeIdentifier($this->namefalse), $text);
            return 
$this->format($text);
        }
        function 
formatXml($text)
        {
            
$text=str_replace("#name#"htmlspecialchars($this->nameENT_COMPAT'UTF-8'), $text);
            
$text=str_replace("#indexName#"$this->getIndexName(), $text);
            return 
$this->format($text);
        }
        function 
format($text)
        {
            
$text=str_replace("#ucfirstName#"cgMakeIdentifier($this->name), $text);
            
$text=str_replace("#dotNetPrimitiveType#"$this->getDotNetPrimitiveType(), $text);
            
$text=str_replace("#dotNetObjectType#"$this->getDotNetObjectType(), $text);
            
$text=str_replace("#type#"$this->getPureType(), $text);
            
$text=str_replace("#notNull#"$this->isNotNull(), $text);
            
$text=str_replace("#unique#"$this->isUnique(), $text);
            return 
$text;
        }
    }

    function 
cgMakeIdentifier($str$ucfirst true)
    {
        
// remove unsafe characters
        
$str preg_replace('/[^\p{L}\p{Nl}_]/u'''$str);
        
// make sure first character is a letter or _
        
if (!preg_match('/^\pL/u'$str)) {
            
$str '_' $str;
        }
        if (
$ucfirst) {
            
$str ucfirst($str);
        }
        return 
$str;
    }

    function 
handleNHibernateCSBody($db$table$crlf)
    {
        
$lines=array();
        
$result=PMA_DBI_query(sprintf('DESC %s.%s'PMA_backquote($db), PMA_backquote($table)));
        if (
$result) {
            
$tableProperties=array();
            while (
$row PMA_DBI_fetch_row($result)) {
                
$tableProperties[] = new TableProperty($row);
            }
            
PMA_DBI_free_result($result);
            
$lines[] = 'using System;';
            
$lines[] = 'using System.Collections;';
            
$lines[] = 'using System.Collections.Generic;';
            
$lines[] = 'using System.Text;';
            
$lines[] = 'namespace ' cgMakeIdentifier($db);
            
$lines[] = '{';
            
$lines[] = '    #region ' cgMakeIdentifier($table);
            
$lines[] = '    public class ' cgMakeIdentifier($table);
            
$lines[] = '    {';
            
$lines[] = '        #region Member Variables';
            foreach (
$tableProperties as $tablePropertie) {
                
$lines[] = $tablePropertie->formatCs('        protected #dotNetPrimitiveType# _#name#;');
            }
            
$lines[] = '        #endregion';
            
$lines[] = '        #region Constructors';
            
$lines[] = '        public ' cgMakeIdentifier($table).'() { }';
            
$temp = array();
            foreach (
$tableProperties as $tablePropertie) {
                if (! 
$tablePropertie->isPK()) {
                    
$temp[] = $tablePropertie->formatCs('#dotNetPrimitiveType# #name#');
                }
            }
            
$lines[] = '        public ' cgMakeIdentifier($table) . '(' implode(', '$temp) . ')';
            
$lines[] = '        {';
            foreach (
$tableProperties as $tablePropertie) {
                if (! 
$tablePropertie->isPK()) {
                    
$lines[] = $tablePropertie->formatCs('            this._#name#=#name#;');
                }
            }
            
$lines[] = '        }';
            
$lines[] = '        #endregion';
            
$lines[] = '        #region Public Properties';
            foreach (
$tableProperties as $tablePropertie) {
                
$lines[] = $tablePropertie->formatCs(''
                    
'        public virtual #dotNetPrimitiveType# #ucfirstName#' "\n"
                    
'        {' "\n"
                    
'            get {return _#name#;}' "\n"
                    
'            set {_#name#=value;}' "\n"
                    
'        }'
                    
);
            }
            
$lines[] = '        #endregion';
            
$lines[] = '    }';
            
$lines[] = '    #endregion';
            
$lines[] = '}';
        }
        return 
implode("\n"$lines);
    }

    function 
handleNHibernateXMLBody($db$table$crlf)
    {
        
$lines = array();
        
$lines[] = '<?xml version="1.0" encoding="utf-8" ?' '>';
        
$lines[] = '<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" '
            
'namespace="' cgMakeIdentifier($db) . '" '
            
'assembly="' cgMakeIdentifier($db) . '">';
        
$lines[] = '    <class '
            
'name="' cgMakeIdentifier($table) . '" '
            
'table="' cgMakeIdentifier($table) . '">';
        
$result PMA_DBI_query(sprintf("DESC %s.%s"PMA_backquote($db), PMA_backquote($table)));
        if (
$result) {
            while (
$row PMA_DBI_fetch_row($result)) {
                
$tablePropertie = new TableProperty($row);
                if (
$tablePropertie->isPK())
                    
$lines[] = $tablePropertie->formatXml(''
                        
'        <id name="#ucfirstName#" type="#dotNetObjectType#" unsaved-value="0">' "\n"
                        
'            <column name="#name#" sql-type="#type#" not-null="#notNull#" unique="#unique#" index="PRIMARY"/>' "\n"
                        
'            <generator class="native" />' "\n"
                        
'        </id>');
                else
                    
$lines[] = $tablePropertie->formatXml(''
                        
'        <property name="#ucfirstName#" type="#dotNetObjectType#">' "\n"
                        
'            <column name="#name#" sql-type="#type#" not-null="#notNull#" #indexName#/>' "\n"
                        
'        </property>');
            }
            
PMA_DBI_free_result($result);
        }
        
$lines[] = '    </class>';
        
$lines[] = '</hibernate-mapping>';
        return 
implode("\n"$lines);
    }
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

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

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by HackingTool | HackingTool | Generation time: 0.0048 ]--