!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache/2.2.22 (Debian). PHP/5.6.36 

uname -a: Linux h05.hvosting.ua 4.9.110-amd64 #3 SMP Sun Nov 4 16:27:09 UTC 2018 x86_64 

uid=1389(h33678) gid=1099(h33678) groups=1099(h33678),502(mgrsecure) 

Safe-mode: OFF (not secure)

/usr/share/phppgadmin/classes/database/   drwxr-xr-x
Free 1.42 GB of 7.22 GB (19.68%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     Postgres80.php (10.14 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/**
 * PostgreSQL 8.0 support
 *
 * $Id: Postgres80.php,v 1.28 2007/12/12 04:11:10 xzilla Exp $
 */

include_once('./classes/database/Postgres81.php');

class 
Postgres80 extends Postgres81 {

    var 
$major_version 8.0;
    
// Map of database encoding names to HTTP encoding names.  If a
    // database encoding does not appear in this list, then its HTTP
    // encoding name is the same as its database encoding name.
    
var $codemap = array(
        
'ALT' => 'CP866',
        
'EUC_CN' => 'GB2312',
        
'EUC_JP' => 'EUC-JP',
        
'EUC_KR' => 'EUC-KR',
        
'EUC_TW' => 'EUC-TW',
        
'ISO_8859_5' => 'ISO-8859-5',
        
'ISO_8859_6' => 'ISO-8859-6',
        
'ISO_8859_7' => 'ISO-8859-7',
        
'ISO_8859_8' => 'ISO-8859-8',
        
'JOHAB' => 'CP1361',
        
'KOI8' => 'KOI8-R',
        
'LATIN1' => 'ISO-8859-1',
        
'LATIN2' => 'ISO-8859-2',
        
'LATIN3' => 'ISO-8859-3',
        
'LATIN4' => 'ISO-8859-4',
        
// The following encoding map is a known error in PostgreSQL < 7.2
        // See the constructor for Postgres72.
        
'LATIN5' => 'ISO-8859-5',
        
'LATIN6' => 'ISO-8859-10',
        
'LATIN7' => 'ISO-8859-13',
        
'LATIN8' => 'ISO-8859-14',
        
'LATIN9' => 'ISO-8859-15',
        
'LATIN10' => 'ISO-8859-16',
        
'SQL_ASCII' => 'US-ASCII',
        
'TCVN' => 'CP1258',
        
'UNICODE' => 'UTF-8',
        
'WIN' => 'CP1251',
        
'WIN874' => 'CP874',
        
'WIN1256' => 'CP1256'
    
);

    
/**
     * Constructor
     * @param $conn The database connection
     */
    
function Postgres80($conn) {
        
$this->Postgres81($conn);
    }

    
// Help functions

    
function getHelpPages() {
        include_once(
'./help/PostgresDoc80.php');
        return 
$this->help_page;
    }

    
// Database functions

    /**
     * Return all database available on the server
     * @return A list of databases, sorted alphabetically
     */
    
function getDatabases($currentdatabase NULL) {
        global 
$conf$misc;

        
$server_info $misc->getServerInfo();

        if (isset(
$conf['owned_only']) && $conf['owned_only'] && !$this->isSuperUser($server_info['username'])) {
            
$username $server_info['username'];
            
$this->clean($username);
            
$clause " AND pu.usename='{$username}'";
        }
        else 
$clause '';

        if (
$currentdatabase != NULL) {
            
$this->clean($currentdatabase);
            
$orderby "ORDER BY pdb.datname = '{$currentdatabase}' DESC, pdb.datname";
        }
        else
            
$orderby "ORDER BY pdb.datname";

        if (!
$conf['show_system'])
            
$where ' AND NOT pdb.datistemplate';
        else
            
$where ' AND pdb.datallowconn';

        
$sql "SELECT pdb.datname AS datname, pu.usename AS datowner, pg_encoding_to_char(encoding) AS datencoding,
                               (SELECT description FROM pg_description pd WHERE pdb.oid=pd.objoid) AS datcomment,
                               (SELECT spcname FROM pg_catalog.pg_tablespace pt WHERE pt.oid=pdb.dattablespace) AS tablespace
                        FROM pg_database pdb, pg_user pu
            WHERE pdb.datdba = pu.usesysid
            
{$where}
            
{$clause}
            
{$orderby}";

        return 
$this->selectSet($sql);
    }

    
// Schema functions

    /**
     * Return all schemas in the current database.
     * @return All schemas, sorted alphabetically
     */
    
function getSchemas() {
        global 
$conf$slony;

        if (!
$conf['show_system']) {
            
$where "WHERE nspname NOT LIKE 'pg@_%' ESCAPE '@' AND nspname != 'information_schema'";
            if (isset(
$slony) && $slony->isEnabled()) {
                
$temp $slony->slony_schema;
                
$this->clean($temp);
                
$where .= " AND nspname != '{$temp}'";
            }

        }
        else 
$where "WHERE nspname !~ '^pg_t(emp_[0-9]+|oast)$'";
        
$sql "
            SELECT pn.nspname, pu.usename AS nspowner,
                pg_catalog.obj_description(pn.oid, 'pg_namespace') AS nspcomment
            FROM pg_catalog.pg_namespace pn
                LEFT JOIN pg_catalog.pg_user pu ON (pn.nspowner = pu.usesysid)
            
{$where}
            ORDER BY nspname"
;

        return 
$this->selectSet($sql);
    }

    
/**
     * Return all information relating to a schema
     * @param $schema The name of the schema
     * @return Schema information
     */
    
function getSchemaByName($schema) {
        
$this->clean($schema);
        
$sql "
            SELECT nspname, nspowner, u.usename AS ownername, nspacl,
                pg_catalog.obj_description(pn.oid, 'pg_namespace') as nspcomment
            FROM pg_catalog.pg_namespace pn
                LEFT JOIN pg_shadow as u ON pn.nspowner = u.usesysid
            WHERE nspname='
{$schema}'";
        return 
$this->selectSet($sql);
    }

    
// Table functions

    /**
     * Protected method which alter a table
     * SHOULDN'T BE CALLED OUTSIDE OF A TRANSACTION
     * @param $tblrs The table recordSet returned by getTable()
     * @param $name The new name for the table
     * @param $owner The new owner for the table
     * @param $schema The new schema for the table
     * @param $comment The comment on the table
     * @param $tablespace The new tablespace for the table ('' means leave as is)
     * @return 0 success
     * @return -3 rename error
     * @return -4 comment error
     * @return -5 owner error
     * @return -6 tablespace error
     */
    
protected
    function 
_alterTable($tblrs$name$owner$schema$comment$tablespace) {

        
/* $schema not supported in pg80- */

        // Comment
        
$status $this->setComment('TABLE'''$tblrs->fields['relname'], $comment);
        if (
$status != 0) return -4;

        
// Owner
        
$this->fieldClean($owner);
        
$status $this->alterTableOwner($tblrs$owner);
        if (
$status != 0) return -5;

        
// Tablespace
        
$this->fieldClean($tablespace);
        
$status $this->alterTableTablespace($tblrs$tablespace);
            if (
$status != 0) return -6;

        
// Rename
        
$this->fieldClean($name);
        
$status $this->alterTableName($tblrs$name);
        if (
$status != 0) return -3;

        return 
0;
    }

    
// View functions

    /**
     * Protected method which alter a view
     * SHOULDN'T BE CALLED OUTSIDE OF A TRANSACTION
     * @param $vwrs The view recordSet returned by getView()
     * @param $name The new name for the view
     * @param $owner The new owner for the view
     * @param $comment The comment on the view
     * @return 0 success
     * @return -3 rename error
     * @return -4 comment error
     * @return -5 owner error
     */
    
protected
    function 
_alterView($vwrs$name$owner$schema$comment) {

        
/* $schema not supported in pg80- */
        
$this->fieldArrayClean($vwrs->fields);

        
// Comment
        
if ($this->setComment('VIEW'$vwrs->fields['relname'], ''$comment) != 0)
            return -
4;

        
// Owner
        
$this->fieldClean($owner);
        
$status $this->alterViewOwner($vwrs$owner);
        if (
$status != 0) return -5;

        
// Rename
        
$this->fieldClean($name);
        
$status $this->alterViewName($vwrs$name);
        if (
$status != 0) return -3;

        return 
0;
    }

    
// Sequence functions

    /**
     * Protected method which alter a sequence
     * SHOULDN'T BE CALLED OUTSIDE OF A TRANSACTION
     * @param $seqrs The sequence recordSet returned by getSequence()
     * @param $name The new name for the sequence
     * @param $comment The comment on the sequence
     * @param $owner The new owner for the sequence
     * @param $schema The new schema for the sequence
     * @param $increment The increment
     * @param $minvalue The min value
     * @param $maxvalue The max value
     * @param $restartvalue The starting value
     * @param $cachevalue The cache value
     * @param $cycledvalue True if cycled, false otherwise
     * @param $startvalue The sequence start value when issueing a restart
     * @return 0 success
     * @return -3 rename error
     * @return -4 comment error
     * @return -5 owner error
     * @return -6 get sequence props error
     * @return -7 schema error
     */
    
protected
    function 
_alterSequence($seqrs$name$comment$owner$schema$increment,
    
$minvalue$maxvalue$restartvalue$cachevalue$cycledvalue$startvalue) {

        
/* $schema not supported in pg80- */
        
$this->fieldArrayClean($seqrs->fields);

        
// Comment
        
$status $this->setComment('SEQUENCE'$seqrs->fields['seqname'], ''$comment);
        if (
$status != 0)
            return -
4;

        
// Owner
        
$this->fieldClean($owner);
        
$status $this->alterSequenceOwner($seqrs$owner);
        if (
$status != 0)
            return -
5;

        
// Props
        
$this->clean($increment);
        
$this->clean($minvalue);
        
$this->clean($maxvalue);
        
$this->clean($restartvalue);
        
$this->clean($cachevalue);
        
$this->clean($cycledvalue);
        
$this->clean($startvalue);
        
$status $this->alterSequenceProps($seqrs$increment,    $minvalue,
            
$maxvalue$restartvalue$cachevalue$cycledvaluenull);
        if (
$status != 0)
            return -
6;

        
// Rename
        
$this->fieldClean($name);
        
$status $this->alterSequenceName($seqrs$name);
        if (
$status != 0)
            return -
3;

        return 
0;
    }

    
// Role, User/group functions

    /**
     * Changes a user's password
     * @param $username The username
     * @param $password The new password
     * @return 0 success
     */
    
function changePassword($username$password) {
        
$enc $this->_encryptPassword($username$password);
        
$this->fieldClean($username);
        
$this->clean($enc);

        
$sql "ALTER USER \"{$username}\" WITH ENCRYPTED PASSWORD '{$enc}'";

        return 
$this->execute($sql);
    }

    
// Aggregate functions

    /**
     * Gets all information for an aggregate
     * @param $name The name of the aggregate
     * @param $basetype The input data type of the aggregate
     * @return A recordset
     */
    
function getAggregate($name$basetype) {
        
$c_schema $this->_schema;
        
$this->clean($c_schema);
        
$this->clean($name);
        
$this->clean($basetype);

        
$sql "
            SELECT p.proname,
                CASE p.proargtypes[0]
                    WHEN 'pg_catalog.\"any\"'::pg_catalog.regtype THEN NULL
                    ELSE pg_catalog.format_type(p.proargtypes[0], NULL)
                END AS proargtypes, a.aggtransfn, format_type(a.aggtranstype, NULL) AS aggstype,
                a.aggfinalfn, a.agginitval, u.usename, pg_catalog.obj_description(p.oid, 'pg_proc') AS aggrcomment
            FROM pg_catalog.pg_proc p, pg_catalog.pg_namespace n, pg_catalog.pg_user u, pg_catalog.pg_aggregate a
            WHERE n.oid = p.pronamespace AND p.proowner=u.usesysid AND p.oid=a.aggfnoid
                AND p.proisagg AND n.nspname='
{$c_schema}'
                AND p.proname='
{$name}'
                AND CASE p.proargtypes[0]
                    WHEN 'pg_catalog.\"any\"'::pg_catalog.regtype THEN ''
                    ELSE pg_catalog.format_type(p.proargtypes[0], NULL)
                END ='
{$basetype}'";

        return 
$this->selectSet($sql);
    }

    
// Capabilities

    
function hasAggregateSortOp() { return false; }
    function 
hasAlterTableSchema() { return false; }
    function 
hasAutovacuum() { return false; }
    function 
hasDisableTriggers() { return false; }
    function 
hasFunctionAlterSchema() { return false; }
    function 
hasPreparedXacts() { return false; }
    function 
hasRoles() { return false; }
    function 
hasAlterSequenceSchema() { return false; }
    function 
hasServerAdminFuncs() { return false; }
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

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

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by PinoyWH1Z | C99Shell Github | Generation time: 0.0425 ]--