!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\adodb\drivers\   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:     adodb-pdo_mysql.inc.php (4.66 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php


/*
V4.96 24 Sept 2007  (c) 2000-2007 John Lim (jlim#natsoft.com.my). All rights reserved.
  Released under both BSD license and Lesser GPL library license. 
  Whenever there is any discrepancy between the two licenses, 
  the BSD license will take precedence.
  Set tabs to 8.
 
*/ 

class ADODB_pdo_mysql extends ADODB_pdo {
    var 
$metaTablesSQL "SHOW TABLES";    
    var 
$metaColumnsSQL "SHOW COLUMNS FROM `%s`";
    var 
$sysDate 'CURDATE()';
    var 
$sysTimeStamp 'NOW()';
    var 
$nameQuote '`';

    function 
_init($parentDriver)
    {
    
        
$parentDriver->hasTransactions false;
        
$parentDriver->_bindInputArray false;
        
$parentDriver->hasInsertID true;
        
$parentDriver->_connectionID->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,true);
    }
    
        
// dayFraction is a day in floating point
    
function OffsetDate($dayFraction,$date=false)
    {        
        if (!
$date$date $this->sysDate;
        
        
$fraction $dayFraction 24 3600;
        return 
$date ' + INTERVAL ' .     $fraction.' SECOND';
        
//        return "from_unixtime(unix_timestamp($date)+$fraction)";
    
}
    
    function 
ServerInfo()
    {
        
$arr['description'] = ADOConnection::GetOne("select version()");
        
$arr['version'] = ADOConnection::_findvers($arr['description']);
        return 
$arr;
    }
    
    function &
MetaTables($ttype=false,$showSchema=false,$mask=false
    {    
        
$save $this->metaTablesSQL;
        if (
$showSchema && is_string($showSchema)) {
            
$this->metaTablesSQL .= " from $showSchema";
        }
        
        if (
$mask) {
            
$mask $this->qstr($mask);
            
$this->metaTablesSQL .= " like $mask";
        }
        
$ret =& ADOConnection::MetaTables($ttype,$showSchema);
        
        
$this->metaTablesSQL $save;
        return 
$ret;
    }
    
    function 
SetTransactionMode$transaction_mode 
    {
        
$this->_transmode  $transaction_mode;
        if (empty(
$transaction_mode)) {
            
$this->Execute('SET TRANSACTION ISOLATION LEVEL REPEATABLE READ');
            return;
        }
        if (!
stristr($transaction_mode,'isolation')) $transaction_mode 'ISOLATION LEVEL '.$transaction_mode;
        
$this->Execute("SET SESSION TRANSACTION ".$transaction_mode);
    }
    
     function &
MetaColumns($table
    {
        
$this->_findschema($table,$schema);
        if (
$schema) {
            
$dbName $this->database;
            
$this->SelectDB($schema);
        }
        global 
$ADODB_FETCH_MODE;
        
$save $ADODB_FETCH_MODE;
        
$ADODB_FETCH_MODE ADODB_FETCH_NUM;
        
        if (
$this->fetchMode !== false$savem $this->SetFetchMode(false);
        
$rs $this->Execute(sprintf($this->metaColumnsSQL,$table));
        
        if (
$schema) {
            
$this->SelectDB($dbName);
        }
        
        if (isset(
$savem)) $this->SetFetchMode($savem);
        
$ADODB_FETCH_MODE $save;
        if (!
is_object($rs)) {
            
$false false;
            return 
$false;
        }
            
        
$retarr = array();
        while (!
$rs->EOF){
            
$fld = new ADOFieldObject();
            
$fld->name $rs->fields[0];
            
$type $rs->fields[1];
            
            
// split type into type(length):
            
$fld->scale null;
            if (
preg_match("/^(.+)\((\d+),(\d+)/"$type$query_array)) {
                
$fld->type $query_array[1];
                
$fld->max_length is_numeric($query_array[2]) ? $query_array[2] : -1;
                
$fld->scale is_numeric($query_array[3]) ? $query_array[3] : -1;
            } elseif (
preg_match("/^(.+)\((\d+)/"$type$query_array)) {
                
$fld->type $query_array[1];
                
$fld->max_length is_numeric($query_array[2]) ? $query_array[2] : -1;
            } elseif (
preg_match("/^(enum)\((.*)\)$/i"$type$query_array)) {
                
$fld->type $query_array[1];
                
$arr explode(",",$query_array[2]);
                
$fld->enums $arr;
                
$zlen max(array_map("strlen",$arr)) - 2// PHP >= 4.0.6
                
$fld->max_length = ($zlen 0) ? $zlen 1;
            } else {
                
$fld->type $type;
                
$fld->max_length = -1;
            }
            
$fld->not_null = ($rs->fields[2] != 'YES');
            
$fld->primary_key = ($rs->fields[3] == 'PRI');
            
$fld->auto_increment = (strpos($rs->fields[5], 'auto_increment') !== false);
            
$fld->binary = (strpos($type,'blob') !== false);
            
$fld->unsigned = (strpos($type,'unsigned') !== false);
                
            if (!
$fld->binary) {
                
$d $rs->fields[4];
                if (
$d != '' && $d != 'NULL') {
                    
$fld->has_default true;
                    
$fld->default_value $d;
                } else {
                    
$fld->has_default false;
                }
            }
            
            if (
$save == ADODB_FETCH_NUM) {
                
$retarr[] = $fld;
            } else {
                
$retarr[strtoupper($fld->name)] = $fld;
            }
                
$rs->MoveNext();
            }
        
            
$rs->Close();
            return 
$retarr;    
    }
        
    
    
// parameters use PostgreSQL convention, not MySQL
    
function &SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs=0)
    {
        
$offsetStr =($offset>=0) ? "$offset," '';
        
// jason judge, see http://phplens.com/lens/lensforum/msgs.php?id=9220
        
if ($nrows 0$nrows '18446744073709551615'
        
        if (
$secs)
            
$rs =& $this->CacheExecute($secs,$sql." LIMIT $offsetStr$nrows",$inputarr);
        else
            
$rs =& $this->Execute($sql." LIMIT $offsetStr$nrows",$inputarr);
        return 
$rs;
    }
}
?>

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