diff --git a/app/Controller/System/AboutController.php b/app/Controller/System/AboutController.php
index 62bc48d..7842b26 100644
--- a/app/Controller/System/AboutController.php
+++ b/app/Controller/System/AboutController.php
@@ -16,6 +16,7 @@ declare(strict_types=1);
namespace App\Controller\System;
+use Composer\Autoload\ClassLoader;
use flight\Engine;
use flight\Session;
use Webapp\App\Register;
@@ -91,6 +92,28 @@ class AboutController {
$this->app->json($ajson);
}
+ public function composer() {
+ $packages = [];
+ if (class_exists(ClassLoader::class, false)) {
+ $baseDir = (function () {
+ $baseDir = null;
+ @include dirname((string) (new \ReflectionClass(ClassLoader::class))->getFileName()) . '/autoload_psr4.php'; // @ may not exist
+ return $baseDir;
+ })();
+ $composer = @json_decode((string) file_get_contents($baseDir . '/composer.lock')); // @ may not exist or be valid
+ $packages = (array) @$composer->packages; // @ keys may not exist
+ array_walk($packages, function ($package) {
+ $package->hash = $package->source->reference ?? $package->dist->reference ?? null;
+ }, $packages);
+ usort($packages, fn($a, $b): int => $a->name <=> $b->name);
+ }
+ $text = '';
+ foreach ($packages as $item) {
+ $text .= '- ' .$item->name. ' Version ' .$item->version. '
';
+ }
+ $this->app->json([ 'html' => $text ]);
+ }
+
public function index() {
$ajson = [];
$apps = $this->session->get('WEB_APP');
@@ -119,7 +142,10 @@ class AboutController {
Aplikasi dibuat dengan komponen :
- jQuery Version '+$().jquery+'
- Bootstrap Version '+$.fn.tooltip.Constructor.VERSION+'
- FoniaJS Version '+FoniaJS.version+'
- FoniaPHP Version '+FoniaJS.version+'
- jQuery Version '+$().jquery+'
- Bootstrap Version '+$.fn.tooltip.Constructor.VERSION+'
- FoniaJS Version '+FoniaJS.version+'