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

C:\Intranet\C\xampp\php\PEAR\MDB\   drwxrwxrwx
Free 4.09 GB of 39.52 GB (10.36%)
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:     peardb_wrapper.php (17.49 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
// +----------------------------------------------------------------------+
// | PHP Version 4                                                        |
// +----------------------------------------------------------------------+
// | Copyright (c) 1998-2004 Manuel Lemos, Tomas V.V.Cox,                 |
// | Stig. S. Bakken, Lukas Smith                                         |
// | All rights reserved.                                                 |
// +----------------------------------------------------------------------+
// | MDB is a merge of PEAR DB and Metabases that provides a unified DB   |
// | API as well as database abstraction for PHP applications.            |
// | This LICENSE is in the BSD license style.                            |
// |                                                                      |
// | Redistribution and use in source and binary forms, with or without   |
// | modification, are permitted provided that the following conditions   |
// | are met:                                                             |
// |                                                                      |
// | Redistributions of source code must retain the above copyright       |
// | notice, this list of conditions and the following disclaimer.        |
// |                                                                      |
// | Redistributions in binary form must reproduce the above copyright    |
// | notice, this list of conditions and the following disclaimer in the  |
// | documentation and/or other materials provided with the distribution. |
// |                                                                      |
// | Neither the name of Manuel Lemos, Tomas V.V.Cox, Stig. S. Bakken,    |
// | Lukas Smith nor the names of his contributors may be used to endorse |
// | or promote products derived from this software without specific prior|
// | written permission.                                                  |
// |                                                                      |
// | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS  |
// | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT    |
// | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS    |
// | FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE      |
// | REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,          |
// | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
// | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS|
// |  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED  |
// | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT          |
// | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY|
// | WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE          |
// | POSSIBILITY OF SUCH DAMAGE.                                          |
// +----------------------------------------------------------------------+
// | Author: Lukas Smith <smith@backendmedia.com>                         |
// +----------------------------------------------------------------------+
//
// $Id: peardb_wrapper.php,v 1.32.4.2 2004/04/08 17:19:01 lsmith Exp $
//

/*
 * The method mapErrorCode in each MDB_dbtype implementation maps
 * native error codes to one of these.
 *
 * If you add an error code here, make sure you also add a textual
 * version of it in DB::errorMessage().
 */

define('DB_OK',                         MDB_OK);
define('DB_ERROR',                      MDB_ERROR);
define('DB_ERROR_SYNTAX',               MDB_ERROR_SYNTAX);
define('DB_ERROR_CONSTRAINT',           MDB_ERROR_CONSTRAINT);
define('DB_ERROR_NOT_FOUND',            MDB_ERROR_NOT_FOUND);
define('DB_ERROR_ALREADY_EXISTS',       MDB_ERROR_ALREADY_EXISTS);
define('DB_ERROR_UNSUPPORTED',          MDB_ERROR_UNSUPPORTED);
define('DB_ERROR_MISMATCH',             MDB_ERROR_MISMATCH);
define('DB_ERROR_INVALID',              MDB_ERROR_INVALID);
define('DB_ERROR_NOT_CAPABLE',          MDB_ERROR_NOT_CAPABLE);
define('DB_ERROR_TRUNCATED',            MDB_ERROR_TRUNCATED);
define('DB_ERROR_INVALID_NUMBER',       MDB_ERROR_INVALID_NUMBER);
define('DB_ERROR_INVALID_DATE',         MDB_ERROR_INVALID_DATE);
define('DB_ERROR_DIVZERO',              MDB_ERROR_DIVZERO);
define('DB_ERROR_NODBSELECTED',         MDB_ERROR_NODBSELECTED);
define('DB_ERROR_CANNOT_CREATE',        MDB_ERROR_CANNOT_CREATE);
define('DB_ERROR_CANNOT_DELETE',        MDB_ERROR_CANNOT_DELETE);
define('DB_ERROR_CANNOT_DROP',          MDB_ERROR_CANNOT_DROP);
define('DB_ERROR_NOSUCHTABLE',          MDB_ERROR_NOSUCHTABLE);
define('DB_ERROR_NOSUCHFIELD',          MDB_ERROR_NOSUCHFIELD);
define('DB_ERROR_NEED_MORE_DATA',       MDB_ERROR_NEED_MORE_DATA);
define('DB_ERROR_NOT_LOCKED',           MDB_ERROR_NOT_LOCKED);
define('DB_ERROR_VALUE_COUNT_ON_ROW',   MDB_ERROR_VALUE_COUNT_ON_ROW);
define('DB_ERROR_INVALID_DSN',          MDB_ERROR_INVALID_DSN);
define('DB_ERROR_CONNECT_FAILED',       MDB_ERROR_CONNECT_FAILED);
define('DB_ERROR_EXTENSION_NOT_FOUND',  MDB_ERROR_EXTENSION_NOT_FOUND);
define('DB_ERROR_ACCESS_VIOLATION',     MDB_ERROR_ACCESS_VIOLATION);
define('DB_ERROR_NOSUCHDB',             MDB_ERROR_NOSUCHDB);

define('DB_WARNING',           -1000);
define('DB_WARNING_READ_ONLY', -1001);

define('DB_PARAM_SCALAR',   MDB_PARAM_SCALAR);
define('DB_PARAM_OPAQUE',   MDB_PARAM_OPAQUE);
define('DB_PARAM_MISC',     MDB_PARAM_MISC);

define('DB_BINMODE_PASSTHRU',   MDB_BINMODE_PASSTHRU);
define('DB_BINMODE_RETURN',     MDB_BINMODE_RETURN);
define('DB_BINMODE_CONVERT',    MDB_BINMODE_CONVERT);

define('DB_FETCHMODE_DEFAULT',      MDB_FETCHMODE_DEFAULT);
define('DB_FETCHMODE_ORDERED',      MDB_FETCHMODE_ORDERED);
define('DB_FETCHMODE_ASSOC',        MDB_FETCHMODE_ASSOC);
define('DB_FETCHMODE_OBJECT',       3);
define('DB_FETCHMODE_FLIPPED',      MDB_FETCHMODE_FLIPPED);

define('DB_GETMODE_ORDERED'DB_FETCHMODE_ORDERED);
define('DB_GETMODE_ASSOC',   DB_FETCHMODE_ASSOC);
define('DB_GETMODE_FLIPPED'DB_FETCHMODE_FLIPPED);

define('DB_TABLEINFO_ORDER',        MDB_TABLEINFO_ORDER);
define('DB_TABLEINFO_ORDERTABLE',   MDB_TABLEINFO_ORDERTABLE);
define('DB_TABLEINFO_FULL',         MDB_TABLEINFO_FULL);

define('DB_AUTOQUERY_INSERT'1);
define('DB_AUTOQUERY_UPDATE'2);

/**
 * Wrapper that makes MDB behave like PEAR DB
 *
 * @package MDB
 * @category Database
 * @author  Lukas Smith <smith@backendmedia.com>
 */
class DB
{
    function &
factory($type)
    {
        
$db =& MDB::factory($type);
        if(
PEAR::isError($db)) {
            return(
$db);
        }
        
$obj =& new MDB_PEAR_PROXY($db);
        return(
$obj);
    }

    function &
connect($dsn$options FALSE)
    {
        if (!
is_array($options) && $options) {
            
$options['persistent'] = TRUE;
        }
        
$db =& MDB::connect($dsn$options);
        if(
PEAR::isError($db)) {
            return(
$db);
        }
        
$obj =& new MDB_PEAR_PROXY($db);
        return(
$obj);
    }

    function 
apiVersion()
    {
        return(
2);
    }

    function 
isError($value)
    {
        return(
MDB::isError($value));
    }

    function 
isManip($query)
    {
        return(
MDB::isManip($query));
    }

    function 
errorMessage($value)
    {
        return(
MDB::errorMessage($value));
    }

    function 
parseDSN($dsn)
    {
        return(
MDB::parseDSN($dsn));
    }

    function 
assertExtension($name)
    {
        if (!
extension_loaded($name)) {
            
$dlext OS_WINDOWS '.dll' '.so';
            @
dl($name $dlext);
        }
        return 
extension_loaded($name);
    }
}

/**
 * MDB_Error implements a class for reporting portable database error
 * messages.
 *
 * @package MDB
 * @category Database
 * @author  Stig Bakken <ssb@fast.no>
 */
class DB_Error extends PEAR_Error
{
    function 
DB_Error($code DB_ERROR$mode PEAR_ERROR_RETURN,
              
$level E_USER_NOTICE$debuginfo NULL)
    {
        if (
is_int($code)) {
            
$this->PEAR_Error('DB Error: ' DB::errorMessage($code), $code$mode$level$debuginfo);
        } else {
            
$this->PEAR_Error("DB Error: $code"DB_ERROR$mode$level$debuginfo);
        }
    }
}

/**
 * Wrapper that makes MDB behave like PEAR DB
 *
 * @package MDB
 * @category Database
 * @author  Lukas Smith <smith@backendmedia.com>
 */
class DB_result
{
    var 
$dbh;
    var 
$result;
    var 
$row_counter NULL;

    var 
$limit_from  NULL;

    var 
$limit_count NULL;

    function 
DB_result(&$dbh$result)
    {
        
$this->dbh = &$dbh;
        
$this->result $result;
    }

    function 
fetchRow($fetchmode DB_FETCHMODE_DEFAULT$rownum 0)
    {
        
$arr $this->dbh->fetchInto($this->result$fetchmode$rownum);
        if(
is_array($arr)) {
            return(
$arr);
        }
        else {
            return(
NULL);
        }
    }

    function 
fetchInto(&$arr$fetchmode DB_FETCHMODE_DEFAULT$rownum 0)
    {
        
$arr $this->dbh->fetchInto($this->result$fetchmode$rownum);
        if(
MDB::isError($arr)) {
            return(
$arr);
        }
        if(
$arr === NULL) {
            return(
$arr);
        }
        return(
DB_OK);
    }

    function 
numCols()
    {
        return(
$this->dbh->numCols($this->result));
    }

    function 
numRows()
    {
        return(
$this->dbh->numRows($this->result));
    }

    function 
nextResult()
    {
        return(
$this->dbh->nextResult($this->result));
    }

    function 
free()
    {
        
$err $this->dbh->freeResult($this->result);
        if(
MDB::isError($err)) {
            return(
$err);
        }
        
$this->result FALSE;
        return(
TRUE);
    }

    function 
tableInfo($mode NULL)
    {
        return(
$this->dbh->tableInfo($this->result$mode));
    }

    function 
getRowCounter()
    {
        return(
$this->dbh->highest_fetched_row[$this->result]);
    }
}

class 
DB_row
{
    function 
DB_row(&$arr)
    {
        for (
reset($arr); $key key($arr); next($arr)) {
            
$this->$key = &$arr[$key];
        }
    }
}

class 
MDB_PEAR_PROXY
{
    var 
$MDB_object;

    function 
MDB_PEAR_PROXY($MDB_object)
    {
        
$this->MDB_object $MDB_object;
        
$this->MDB_object->option['sequence_col_name'] = 'id';
    }

    function 
connect($dsninfo$persistent FALSE)
    {
        return(
$this->MDB_object->connect($dsninfo$persistent));
    }

    function 
disconnect()
    {
        return(
$this->MDB_object->disconnect());
    }

    function 
quoteString($string)
    {
        
$string $this->_quote($string);
        if (
$string{0} == "'") {
            return 
substr($string1, -1);
        }
        return(
$string);
    }

    function 
quote($string)
    {
        if (
$string === NULL) {
            return 
'NULL';
        }
        return(
$this->MDB_object->_quote($string));
    }

    function 
provides($feature)
    {
        return(
$this->MDB_object->support($feature));
    }

    function 
errorCode($nativecode)
    {
        return(
$this->MDB_object->errorCode($nativecode));
    }

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

    function &
raiseError($code DB_ERROR$mode NULL$options NULL,
                         
$userinfo NULL$nativecode NULL)
    {
        return(
$this->MDB_object->raiseError($code DB_ERROR$mode$options$userinfo$nativecode));
    }

    function 
setFetchMode($fetchmode$object_class NULL)
    {
        return(
$this->MDB_object->setFetchMode($fetchmode$object_class));
    }

    function 
setOption($option$value)
    {
        return(
$this->MDB_object->setOption($option$value));
    }

    function 
getOption($option)
    {
        return(
$this->MDB_object->getOption($option));
    }

    function 
prepare($query)
    {
        return(
$this->MDB_object->prepareQuery($query));
    }

    function 
autoPrepare($table$table_fields$mode DB_AUTOQUERY_INSERT$where false)
    {
        
$query $this->buildManipSQL($table$table_fields$mode$where);
        return(
$this->prepare($query));
    }

    function 
autoExecute($table$fields_values$mode DB_AUTOQUERY_INSERT$where false)
    {
        
$sth $this->autoPrepare($tablearray_keys($fields_values), $mode$where);
        return(
$this->execute($stharray_values($fields_values)));
    }

    function 
buildManipSQL($table$table_fields$mode$where false)
    {
        if (
count($table_fields) == 0) {
            
$this->raiseError(DB_ERROR_NEED_MORE_DATA);
        }
        
$first true;
        switch (
$mode) {
            case 
DB_AUTOQUERY_INSERT:
                
$values '';
                
$names '';
                while (list(, 
$value) = each($table_fields)) {
                    if (
$first) {
                        
$first false;
                    } else {
                        
$names .= ',';
                        
$values .= ',';
                    }
                    
$names .= $value;
                    
$values .= '?';
                }
                return 
"INSERT INTO $table ($names) VALUES ($values)";
                break;
            case 
DB_AUTOQUERY_UPDATE:
                
$set '';
                while (list(, 
$value) = each($table_fields)) {
                    if (
$first) {
                        
$first false;
                    } else {
                        
$set .= ',';
                    }
                    
$set .= "$value = ?";
                }
                
$sql "UPDATE $table SET $set";
                if (
$where) {
                    
$sql .= " WHERE $where";
                }
                return(
$sql);
                break;
            default:
                
$this->raiseError(DB_ERROR_SYNTAX);
        }
    }

    function 
execute($stmt$data FALSE)
    {
        
$result $this->MDB_object->execute($stmtNULL$data);
        if (
MDB::isError($result) || $result === DB_OK) {
            return(
$result);
        } else {
            return new 
DB_result($this->MDB_object$result);
        }
    }

    function 
executeMultiple$stmt, &$data )
    {
        return(
$this->MDB_object->executeMultiple($stmtNULL$data));
    }

    function &
query($query$params = array()) {
        if (
sizeof($params) > 0) {
            
$sth $this->MDB_object->prepare($query);
            if (
MDB::isError($sth)) {
                return(
$sth);
            }
            return(
$this->MDB_object->execute($sth$params));
        } else {
            
$result $this->MDB_object->query($query);
            if (
MDB::isError($result) || $result === DB_OK) {
                return(
$result);
            } else {
                return new 
DB_result($this->MDB_object$result);
            }
        }
    }

    function 
simpleQuery($query) {
        return(
$this->MDB_object->query($query));
    }

    function 
limitQuery($query$from$count)
    {
        
$result $this->MDB_object->limitQuery($queryNULL$from$count);
        if (
MDB::isError($result) || $result === DB_OK) {
            return(
$result);
        } else {
            return new 
DB_result($this->MDB_object$result);
        }
    }

    function &
getOne($query$params = array())
    {
        return(
$this->MDB_object->getOne($queryNULL$params));
    }

    function &
getRow($query,
                     
$params NULL,
                     
$fetchmode DB_FETCHMODE_DEFAULT)
    {
        return(
$this->MDB_object->getRow($queryNULL$paramsNULL$fetchmode));
    }

    function &
getCol($query$col 0$params = array())
    {
        return(
$this->MDB_object->getCol($queryNULL$paramsNULL$col));
    }

    function &
getAssoc($query$force_array FALSE$params = array(),
                       
$fetchmode DB_FETCHMODE_ORDERED$group FALSE)
    {
        return(
$this->MDB_object->getAssoc($queryNULL$paramsNULL$fetchmode$force_array$group));
    }

    function &
getAll($query,
                     
$params NULL,
                     
$fetchmode DB_FETCHMODE_DEFAULT)
    {
        return(
$this->MDB_object->getAll($queryNULL$paramsNULL$fetchmode));
    }

    function 
autoCommit($onoff FALSE)
    {
        return(
$this->MDB_object->autoCommit($onoff));
    }

    function 
commit()
    {
        return(
$this->MDB_object->commit());
    }

    function 
rollback()
    {
        return(
$this->MDB_object->rollback());
    }

    function 
numRows($result)
    {
        return(
$this->MDB_object->numRows($result));
    }

    function 
affectedRows()
    {
        return(
$this->MDB_object->affectedRows());
    }

    function 
errorNative()
    {
        return(
$this->MDB_object->errorNative());
    }

    function 
nextId($seq_name$ondemand TRUE)
    {
        return(
$this->MDB_object->nextId($seq_name$ondemand));
    }

    function 
createSequence($seq_name)
    {
        return(
$this->MDB_object->createSequence($seq_name1));
    }

    function 
dropSequence($seq_name)
    {
        return(
$this->MDB_object->dropSequence($seq_name));
    }

    function 
tableInfo($result$mode NULL)
    {
        return(
$this->MDB_object->tableInfo($result$mode));
    }

    function 
getTables()
    {
        return(
$this->getListOf('tables'));
    }

    function 
getListOf($type)
    {
        switch (
$type) {
            case 
'tables':
                return(
$this->MDB_object->listTables());
            case 
'views':
                return(
$this->MDB_object->listViews());
            case 
'users':
                return(
$this->MDB_object->listUsers());
            case 
'functions':
                return(
$this->MDB_object->listFunctions());
            case 
'databases':
                return(
$this->MDB_object->listDatabases());
            default:
                return(
$this->raiseError(DB_ERROR_UNSUPPORTED));
        }
    }
}
?>

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