31 lines
627 B
PHP
31 lines
627 B
PHP
<?php
|
|
|
|
namespace Modules\ManagementTools\Services\ExecutiveCockpit;
|
|
|
|
use Nwidart\Modules\Facades\Module;
|
|
|
|
class ModuleStatusResolver
|
|
{
|
|
protected ?array $statuses = null;
|
|
|
|
public function all(): array
|
|
{
|
|
if ($this->statuses !== null) {
|
|
return $this->statuses;
|
|
}
|
|
|
|
$this->statuses = [];
|
|
|
|
foreach (Module::all() as $module) {
|
|
$this->statuses[$module->getName()] = $module->isEnabled();
|
|
}
|
|
|
|
return $this->statuses;
|
|
}
|
|
|
|
public function isEnabled(string $moduleKey): bool
|
|
{
|
|
return (bool) ($this->all()[$moduleKey] ?? false);
|
|
}
|
|
}
|