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

Software: nginx/1.23.4. PHP/5.6.40-65+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux foro-restaurado-2 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023
aarch64
 

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

Safe-mode: OFF (not secure)

/usr/share/phpmyadmin/libraries/classes/Export/   drwxr-xr-x
Free 83.36 GB of 96.73 GB (86.18%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


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

declare(strict_types=1);

namespace 
PhpMyAdmin\Export;

use 
PhpMyAdmin\Core;
use 
PhpMyAdmin\Encoding;
use 
PhpMyAdmin\Plugins;
use 
PhpMyAdmin\Plugins\ExportPlugin;
use 
PhpMyAdmin\Query\Utilities;
use 
PhpMyAdmin\Relation;
use 
PhpMyAdmin\Table;
use 
PhpMyAdmin\Util;
use function 
explode;
use function 
function_exists;
use function 
in_array;
use function 
is_array;
use function 
mb_strpos;
use function 
strlen;
use function 
urldecode;

final class 
Options
{
    
/** @var Relation */
    
private $relation;

    
/** @var TemplateModel */
    
private $templateModel;

    public function 
__construct(Relation $relationTemplateModel $templateModel)
    {
        
$this->relation $relation;
        
$this->templateModel $templateModel;
    }

    
/**
     * Outputs appropriate checked statement for checkbox.
     *
     * @param string $str option name
     *
     * @return bool
     */
    
private function checkboxCheck($str)
    {
        return isset(
$GLOBALS['cfg']['Export'][$str])
            && 
$GLOBALS['cfg']['Export'][$str];
    }

    
/**
     * Prints Html For Export Selection Options
     *
     * @param string $tmpSelect Tmp selected method of export
     *
     * @return array
     */
    
public function getDatabasesForSelectOptions($tmpSelect '')
    {
        
// Check if the selected databases are defined in $_POST
        // (from clicking Back button on /export page)
        
if (isset($_POST['db_select'])) {
            
$_POST['db_select'] = urldecode($_POST['db_select']);
            
$_POST['db_select'] = explode(','$_POST['db_select']);
        }

        
$databases = [];
        foreach (
$GLOBALS['dblist']->databases as $currentDb) {
            if (
Utilities::isSystemSchema($currentDbtrue)) {
                continue;
            }
            
$isSelected false;
            if (isset(
$_POST['db_select'])) {
                if (
in_array($currentDb$_POST['db_select'])) {
                    
$isSelected true;
                }
            } elseif (! empty(
$tmpSelect)) {
                if (
mb_strpos(
                    
' ' $tmpSelect,
                    
'|' $currentDb '|'
                
)) {
                    
$isSelected true;
                }
            } else {
                
$isSelected true;
            }
            
$databases[] = [
                
'name' => $currentDb,
                
'is_selected' => $isSelected,
            ];
        }

        return 
$databases;
    }

    
/**
     * @param string         $exportType   export type: server|database|table
     * @param string         $db           selected DB
     * @param string         $table        selected table
     * @param string         $sqlQuery     SQL query
     * @param int|string     $numTables    number of tables
     * @param int|string     $unlimNumRows unlimited number of rows
     * @param ExportPlugin[] $exportList
     *
     * @return array<string, mixed>
     */
    
public function getOptions(
        
$exportType,
        
$db,
        
$table,
        
$sqlQuery,
        
$numTables,
        
$unlimNumRows,
        array 
$exportList
    
) {
        global 
$cfg;

        
$cfgRelation $this->relation->getRelationsParam();

        
$templates = [];

        if (
$cfgRelation['exporttemplateswork']) {
            
$templates $this->templateModel->getAll(
                
$cfgRelation['db'],
                
$cfgRelation['export_templates'],
                
$GLOBALS['cfg']['Server']['user'],
                
$exportType
            
);

            
$templates is_array($templates) ? $templates : [];
        }

        
$dropdown Plugins::getChoice('Export''what'$exportList'format');
        
$tableObject = new Table($table$db);
        
$rows = [];

        if (
strlen($table) > && empty($numTables) && ! $tableObject->isMerge() && $exportType !== 'raw') {
            
$rows = [
                
'allrows' => $_POST['allrows'] ?? null,
                
'limit_to' => $_POST['limit_to'] ?? null,
                
'limit_from' => $_POST['limit_from'] ?? null,
                
'unlim_num_rows' => $unlimNumRows,
                
'number_of_rows' => $tableObject->countRecords(),
            ];
        }

        
$hasAliases = isset($_SESSION['tmpval']['aliases']) && ! Core::emptyRecursive($_SESSION['tmpval']['aliases']);
        
$aliases $_SESSION['tmpval']['aliases'] ?? [];
        unset(
$_SESSION['tmpval']['aliases']);
        
$filenameTemplate $this->getFileNameTemplate($exportType$_POST['filename_template'] ?? null);
        
$isEncodingSupported Encoding::isSupported();
        
$selectedCompression $_POST['compression'] ?? $cfg['Export']['compression'] ?? 'none';

        if (isset(
$cfg['Export']['as_separate_files']) && $cfg['Export']['as_separate_files']) {
            
$selectedCompression 'zip';
        }

        
$hiddenInputs = [
            
'db' => $db,
            
'table' => $table,
            
'export_type' => $exportType,
            
'export_method' => $_POST['export_method'] ?? $cfg['Export']['method'] ?? 'quick',
            
'template_id' => $_POST['template_id'] ?? '',
        ];

        if (! empty(
$GLOBALS['single_table'])) {
            
$hiddenInputs['single_table'] = true;
        }

        if (! empty(
$sqlQuery)) {
            
$hiddenInputs['sql_query'] = $sqlQuery;
        }

        return [
            
'export_type' => $exportType,
            
'db' => $db,
            
'table' => $table,
            
'templates' => [
                
'is_enabled' => $cfgRelation['exporttemplateswork'],
                
'templates' => $templates,
                
'selected' => $_POST['template_id'] ?? null,
            ],
            
'sql_query' => $sqlQuery,
            
'hidden_inputs' => $hiddenInputs,
            
'export_method' => $_POST['quick_or_custom'] ?? $cfg['Export']['method'] ?? '',
            
'dropdown' => $dropdown,
            
'options' => Plugins::getOptions('Export'$exportList),
            
'can_convert_kanji' => Encoding::canConvertKanji(),
            
'exec_time_limit' => $cfg['ExecTimeLimit'],
            
'rows' => $rows,
            
'has_save_dir' => isset($cfg['SaveDir']) && ! empty($cfg['SaveDir']),
            
'save_dir' => Util::userDir($cfg['SaveDir'] ?? ''),
            
'export_is_checked' => $this->checkboxCheck('quick_export_onserver'),
            
'export_overwrite_is_checked' => $this->checkboxCheck('quick_export_onserver_overwrite'),
            
'has_aliases' => $hasAliases,
            
'aliases' => $aliases,
            
'is_checked_lock_tables' => $this->checkboxCheck('lock_tables'),
            
'is_checked_asfile' => $this->checkboxCheck('asfile'),
            
'is_checked_as_separate_files' => $this->checkboxCheck('as_separate_files'),
            
'is_checked_export' => $this->checkboxCheck('onserver'),
            
'is_checked_export_overwrite' => $this->checkboxCheck('onserver_overwrite'),
            
'is_checked_remember_file_template' => $this->checkboxCheck('remember_file_template'),
            
'repopulate' => isset($_POST['repopulate']),
            
'lock_tables' => isset($_POST['lock_tables']),
            
'is_encoding_supported' => $isEncodingSupported,
            
'encodings' => $isEncodingSupported Encoding::listEncodings() : [],
            
'export_charset' => $cfg['Export']['charset'],
            
'export_asfile' => $cfg['Export']['asfile'],
            
'has_zip' => $cfg['ZipDump'] && function_exists('gzcompress'),
            
'has_gzip' => $cfg['GZipDump'] && function_exists('gzencode'),
            
'selected_compression' => $selectedCompression,
            
'filename_template' => $filenameTemplate,
        ];
    }

    private function 
getFileNameTemplate(string $exportType, ?string $filename null): string
    
{
        global 
$cfg$PMA_Config;

        if (
$filename !== null) {
            return 
$filename;
        }

        if (
$exportType === 'database') {
            return (string) 
$PMA_Config->getUserValue(
                
'pma_db_filename_template',
                
$cfg['Export']['file_template_database']
            );
        }

        if (
$exportType === 'table') {
            return (string) 
$PMA_Config->getUserValue(
                
'pma_table_filename_template',
                
$cfg['Export']['file_template_table']
            );
        }

        return (string) 
$PMA_Config->getUserValue(
            
'pma_server_filename_template',
            
$cfg['Export']['file_template_server']
        );
    }
}

:: 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 HackingTool | HackingTool | Generation time: 0.0048 ]--