!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g. PHP/5.2.4-2ubuntu5.12 

uname -a: Linux forum.circlefusion.com 2.6.24-19-server #1 SMP Wed Jun 18 15:18:00 UTC 2008 i686 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/home/doku/axrepos/ax/pgadmin/classes/database/   drwxr-xr-x
Free 11.53 GB of 97.11 GB (11.88%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


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

/**
 * PostgreSQL 8.2 support
 *
 * $Id: Postgres82.php,v 1.10 2007/12/28 16:21:25 ioguix Exp $
 */

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

class 
Postgres82 extends Postgres81 {

    var 
$major_version 8.2;

    
// Array of allowed index types
    
var $typIndexes = array('BTREE''RTREE''GIST''GIN''HASH');

    
// Last oid assigned to a system object
    
var $_lastSystemOID 17231;

      
// List of all legal privileges that can be applied to different types
      // of objects.
      
var $privlist = array(
          
'table' => array('SELECT''INSERT''UPDATE''DELETE''RULE''REFERENCES''TRIGGER''ALL PRIVILEGES'),
          
'view' => array('SELECT''INSERT''UPDATE''DELETE''RULE''REFERENCES''TRIGGER''ALL PRIVILEGES'),
          
'sequence' => array('SELECT''UPDATE''ALL PRIVILEGES'),
          
'database' => array('CREATE''TEMPORARY''CONNECT''ALL PRIVILEGES'),
          
'function' => array('EXECUTE''ALL PRIVILEGES'),
          
'language' => array('USAGE''ALL PRIVILEGES'),
          
'schema' => array('CREATE''USAGE''ALL PRIVILEGES'),
          
'tablespace' => array('CREATE''ALL PRIVILEGES')
      );

      
// List of characters in acl lists and the privileges they
      // refer to.
      
var $privmap = array(
          
'r' => 'SELECT',
          
'w' => 'UPDATE',
          
'a' => 'INSERT',
          
'd' => 'DELETE',
          
'R' => 'RULE',
          
'x' => 'REFERENCES',
          
't' => 'TRIGGER',
          
'X' => 'EXECUTE',
          
'U' => 'USAGE',
          
'C' => 'CREATE',
          
'T' => 'TEMPORARY',
          
'c' => 'CONNECT'
      
);

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

    
// Help functions

    
function getHelpPages() {
        include_once(
'./help/PostgresDoc82.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 pr.rolname='{$username}'";
        }
        else 
$clause '';

        if (
$currentdatabase != NULL)
            
$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, pr.rolname AS datowner, pg_encoding_to_char(encoding) AS datencoding,
                       (SELECT description FROM pg_catalog.pg_shdescription pd WHERE pdb.oid=pd.objoid) AS datcomment,
                       (SELECT spcname FROM pg_catalog.pg_tablespace pt WHERE pt.oid=pdb.dattablespace) AS tablespace,
                       CASE WHEN pg_catalog.has_database_privilege(current_user, pdb.oid, 'CONNECT') 
                                THEN pg_catalog.pg_database_size(pdb.oid) 
                            ELSE NULL END as dbsize 
                FROM pg_catalog.pg_database pdb LEFT JOIN pg_catalog.pg_roles pr ON (pdb.datdba = pr.oid)
                WHERE true 
            {$where}
            {$clause}
            {$orderby}"
;

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

    
/**
     * Alters a database
     * the multiple return vals are for postgres 8+ which support more functionality in alter database
     * @param $dbName The name of the database
     * @param $newName new name for the database
     * @param $newOwner The new owner for the database
     * @return 0 success
     * @return -1 transaction error
     * @return -2 owner error
     * @return -3 rename error
     * @return -4 comment error
     */
    
function alterDatabase($dbName$newName$newOwner ''$comment '')
    {
        
$this->clean($dbName);
        
$this->clean($newName);
        
$this->clean($newOwner);
        
$this->clean($comment);

        
$status $this->beginTransaction();
        if (
$status != 0) {
            
$this->rollbackTransaction();
            return -
1;
        }

        if (
$dbName != $newName) {
            
$status $this->alterDatabaseRename($dbName$newName);
            if (
$status != 0) {
                
$this->rollbackTransaction();
                return -
3;
            }
        }

        
$status $this->alterDatabaseOwner($newName$newOwner);
        if (
$status != 0) {
            
$this->rollbackTransaction();
            return -
2;
        }

        if (
trim($comment) != '' ) {
            
$status $this->setComment('DATABASE'$dbName''$comment);
            if (
$status != 0) {
                
$this->rollbackTransaction();
                return -
4;
            }
        }
        return 
$this->endTransaction();
    }

    
/**
     * Return the database comment of a db from the shared description table
     * @param string $database the name of the database to get the comment for
     * @return recordset of the db comment info
     */
    
function getDatabaseComment($database) {
        
$this->clean($database);
        
$sql "SELECT description FROM pg_catalog.pg_database JOIN pg_catalog.pg_shdescription ON (oid=objoid) WHERE pg_database.datname = '{$database}' ";
        return 
$this->selectSet($sql);
    }

    
// Tablespace functions

    /**
     * Retrieves information for all tablespaces
     * @param $all Include all tablespaces (necessary when moving objects back to the default space)
     * @return A recordset
     */
    
function getTablespaces($all false) {
        global 
$conf;

        
$sql "SELECT spcname, pg_catalog.pg_get_userbyid(spcowner) AS spcowner, spclocation,
                    (SELECT description FROM pg_catalog.pg_shdescription pd WHERE pg_tablespace.oid=pd.objoid) AS spccomment
                    FROM pg_catalog.pg_tablespace"
;

        if (!
$conf['show_system'] && !$all) {
            
$sql .= " WHERE spcname NOT LIKE 'pg\\\\_%'";
        }

        
$sql .= " ORDER BY spcname";

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

    
/**
     * Retrieves a tablespace's information
     * @return A recordset
     */
    
function getTablespace($spcname) {
        
$this->clean($spcname);

        
$sql "SELECT spcname, pg_catalog.pg_get_userbyid(spcowner) AS spcowner, spclocation,
                    (SELECT description FROM pg_catalog.pg_shdescription pd WHERE pg_tablespace.oid=pd.objoid) AS spccomment
                    FROM pg_catalog.pg_tablespace WHERE spcname='{$spcname}'"
;

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

    
// Constraints methods

    /**
     * Returns a list of all constraints on a table,
     * including constraint name, definition, related col and referenced namespace,
     * table and col if needed
     * @param $table the table where we are looking for fk
     * @return a recordset
     */
    
function getConstraintsWithFields($table) {
        global 
$data;

        
$data->clean($table);

        
// get the max number of col used in a constraint for the table
        
$sql "SELECT DISTINCT
                max(SUBSTRING(array_dims(c.conkey) FROM  E'^\\\[.*:(.*)\\\]$')) as nb
        FROM
              pg_catalog.pg_constraint AS c
          JOIN pg_catalog.pg_class AS r ON (c.conrelid = r.oid)
              JOIN pg_catalog.pg_namespace AS ns ON r.relnamespace=ns.oid
        WHERE
            r.relname = '$table' AND ns.nspname='"
$this->_schema ."'";

        
$rs $this->selectSet($sql);

        if (
$rs->EOF$max_col 0;
        else 
$max_col $rs->fields['nb'];

        
$sql '
            SELECT
                c.contype, c.conname, pg_catalog.pg_get_constraintdef(c.oid, true) AS consrc,
                ns1.nspname as p_schema, r1.relname as p_table, ns2.nspname as f_schema,
                r2.relname as f_table, f1.attname as p_field, f2.attname as f_field,
                pg_catalog.obj_description(c.oid, \'pg_constraint\') AS constcomment
            FROM
                pg_catalog.pg_constraint AS c
                JOIN pg_catalog.pg_class AS r1 ON (c.conrelid=r1.oid)
                JOIN pg_catalog.pg_attribute AS f1 ON (f1.attrelid=r1.oid AND (f1.attnum=c.conkey[1]'
;
        for (
$i 2$i <= $rs->fields['nb']; $i++) {
            
$sql.= " OR f1.attnum=c.conkey[$i]";
        }
        
$sql.= '))
                JOIN pg_catalog.pg_namespace AS ns1 ON r1.relnamespace=ns1.oid
                LEFT JOIN (
                    pg_catalog.pg_class AS r2 JOIN pg_catalog.pg_namespace AS ns2 ON (r2.relnamespace=ns2.oid)
                ) ON (c.confrelid=r2.oid)
                LEFT JOIN pg_catalog.pg_attribute AS f2 ON
                    (f2.attrelid=r2.oid AND ((c.confkey[1]=f2.attnum AND c.conkey[1]=f1.attnum)'
;
        for (
$i 2$i <= $rs->fields['nb']; $i++)
            
$sql.= "OR (c.confkey[$i]=f2.attnum AND c.conkey[$i]=f1.attnum)";

        
$sql .= sprintf("))
            WHERE
                r1.relname = '%s' AND ns1.nspname='%s'
            ORDER BY 1"
$table$this->_schema);

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

    
// Capabilities
    
function hasSharedComments() {return true;}
    function 
hasCreateTableLikeWithConstraints() {return true;}
}

?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

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

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

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0303 ]--