diff options
Diffstat (limited to '')
-rw-r--r-- | databases/adminer/files/adminer-plugins-example.php | 20 | ||||
-rw-r--r-- | databases/adminer/files/makephar.php | 23 |
2 files changed, 39 insertions, 4 deletions
diff --git a/databases/adminer/files/adminer-plugins-example.php b/databases/adminer/files/adminer-plugins-example.php new file mode 100644 index 000000000000..61400c6dc82b --- /dev/null +++ b/databases/adminer/files/adminer-plugins-example.php @@ -0,0 +1,20 @@ +<?php +/** + * List of all included plugins can be found at the + * beginning of index.php + */ +return [ + new AdminerDarkSwitcher, + + new AdminerPrettyJsonColumn, + + new AdminerDumpJson, + + new AdminerDumpXml, + + // install zip extension to use this + new AdminerDumpZip, + + // install bz2 extension to use this + new AdminerDumpBz2, +]; diff --git a/databases/adminer/files/makephar.php b/databases/adminer/files/makephar.php index 4e463e7fdc4e..ad54a3cfe4cb 100644 --- a/databases/adminer/files/makephar.php +++ b/databases/adminer/files/makephar.php @@ -54,15 +54,30 @@ foreach(new DirectoryIterator(__DIR__ . '/plugins') as $file) if ($file->isFile()) { $contents = php_strip_whitespace($file->getRealPath()); - $pharFile = 'adminer-plugins/' . $file->getFileName(); - $plugins[$pharFile] = $contents; - if (preg_match('/class\s(A[a-zA-Z]+)\sextends\sAdminer/', $contents, $m)) - { + $fileName = $file->getFileName(); + $pharFile = 'adminer-plugins/' . $fileName; + + if ( + /** + * Skip affected plugin + * https://nvd.nist.gov/vuln/detail/CVE-2023-45197 + */ + $fileName !== 'file-upload.php' + /** + * Adminer editor's plugins are only relevant + * in Adminer editor. + */ + && !str_starts_with($fileName, 'editor') + && preg_match('/class\s(A[a-zA-Z0-9]+)\sextends\sAdminer/', $contents, $m) + ) { + $plugins[$pharFile] = $contents; $classMap[$m[1]] = $file->getFileName(); } } } +ksort($classMap); + $phar->setStub( sprintf( $stub, |