!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-netezza.inc.php (5.04 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.
 
  First cut at the Netezza Driver by Josh Eldridge joshuae74#hotmail.com
 Based on the previous postgres drivers.
 http://www.netezza.com/
 Major Additions/Changes:
    MetaDatabasesSQL, MetaTablesSQL, MetaColumnsSQL
    Note: You have to have admin privileges to access the system tables
    Removed non-working keys code (Netezza has no concept of keys)
    Fixed the way data types and lengths are returned in MetaColumns()
    as well as added the default lengths for certain types
    Updated public variables for Netezza
    Still need to remove blob functions, as Netezza doesn't suppport blob
*/
// security - hide paths
if (!defined('ADODB_DIR')) die();

include_once(
ADODB_DIR.'/drivers/adodb-postgres64.inc.php');

class 
ADODB_netezza extends ADODB_postgres64 {
    var 
$databaseType 'netezza';    
    var 
$dataProvider 'netezza';
    var 
$hasInsertID false;
    var 
$_resultid false;
      var 
$concat_operator='||';
      var 
$random 'random';
    var 
$metaDatabasesSQL "select objname from _v_object_data where objtype='database' order by 1";
    var 
$metaTablesSQL "select objname from _v_object_data where objtype='table' order by 1";
    var 
$isoDates true// accepts dates in ISO format
    
var $sysDate "CURRENT_DATE";
    var 
$sysTimeStamp "CURRENT_TIMESTAMP";
    var 
$blobEncodeType 'C';
    var 
$metaColumnsSQL "SELECT attname, atttype FROM _v_relation_column_def WHERE name = '%s' AND attnum > 0 ORDER BY attnum";
    var 
$metaColumnsSQL1 "SELECT attname, atttype FROM _v_relation_column_def WHERE name = '%s' AND attnum > 0 ORDER BY attnum";
    
// netezza doesn't have keys. it does have distributions, so maybe this is 
    // something that can be pulled from the system tables
    
var $metaKeySQL "";
    var 
$hasAffectedRows true;
    var 
$hasLimit true;    
    var 
$true 't';        // string that represents TRUE for a database
    
var $false 'f';        // string that represents FALSE for a database
    
var $fmtDate "'Y-m-d'";    // used by DBDate() as the default date format used by the database
    
var $fmtTimeStamp "'Y-m-d G:i:s'"// used by DBTimeStamp as the default timestamp fmt.
    
var $ansiOuter true;
    var 
$autoRollback true// apparently pgsql does not autorollback properly before 4.3.4
                            // http://bugs.php.net/bug.php?id=25404

                            
    
function ADODB_netezza() 
    {
    
    }
    
    function &
MetaColumns($table,$upper=true
    {
    
    
// Changed this function to support Netezza which has no concept of keys
    // could posisbly work on other things from the system table later.
    
    
global $ADODB_FETCH_MODE;
    
        
$table strtolower($table);

        
$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,$table));
        if (isset(
$savem)) $this->SetFetchMode($savem);
        
$ADODB_FETCH_MODE $save;
        
        if (
$rs === false) return false;

        
$retarr = array();
        while (!
$rs->EOF) {     
            
$fld = new ADOFieldObject();
            
$fld->name $rs->fields[0];
            
            
// since we're returning type and length as one string, 
            // split them out here.
            
            
if ($first strstr($rs->fields[1], "(")) {
             
$fld->max_length trim($first"()");
            } else {
             
$fld->max_length = -1;
            }
        
            if (
$first strpos($rs->fields[1], "(")) {
             
$fld->type substr($rs->fields[1], 0$first);
            } else {
             
$fld->type $rs->fields[1];
            }
            
            switch (
$fld->type) {
             case 
"byteint":
             case 
"boolean":
             
$fld->max_length 1;
             break;
             case 
"smallint":
             
$fld->max_length 2;
             break;
             case 
"integer":
             case 
"numeric":
             case 
"date":
             
$fld->max_length 4;
             break;
             case 
"bigint":
             case 
"time":
             case 
"timestamp":
             
$fld->max_length 8;
             break;
             case 
"timetz":
             case 
"time with time zone":
             
$fld->max_length 12;
             break;
            }
            
            if (
$ADODB_FETCH_MODE == ADODB_FETCH_NUM$retarr[] = $fld;    
            else 
$retarr[($upper) ? strtoupper($fld->name) : $fld->name] = $fld;
            
            
$rs->MoveNext();
        }
        
$rs->Close();
        return 
$retarr;    
        
    }

        
}
    
/*--------------------------------------------------------------------------------------
     Class Name: Recordset
--------------------------------------------------------------------------------------*/

class ADORecordSet_netezza extends ADORecordSet_postgres64
{
    var 
$databaseType "netezza";
    var 
$canSeek true;
    
    function 
ADORecordSet_netezza($queryID,$mode=false
    {
        if (
$mode === false) { 
            global 
$ADODB_FETCH_MODE;
            
$mode $ADODB_FETCH_MODE;
        }
        switch (
$mode)
        {
        case 
ADODB_FETCH_NUM$this->fetchMode PGSQL_NUM; break;
        case 
ADODB_FETCH_ASSOC:$this->fetchMode PGSQL_ASSOC; break;
        
        case 
ADODB_FETCH_DEFAULT:
        case 
ADODB_FETCH_BOTH:
        default: 
$this->fetchMode PGSQL_BOTH; break;
        }
        
$this->adodbFetchMode $mode;
        
$this->ADORecordSet($queryID);
    }
    
    
// _initrs modified to disable blob handling
    
function _initrs()
    {
    global 
$ADODB_COUNTRECS;
        
$this->_numOfRows = ($ADODB_COUNTRECS)? @pg_numrows($this->_queryID):-1;
        
$this->_numOfFields = @pg_numfields($this->_queryID);
    }

}
?>

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