diff options
Diffstat (limited to 'modules-available/serversetup-bwlp-ipxe/inc/menuentry.inc.php')
-rw-r--r-- | modules-available/serversetup-bwlp-ipxe/inc/menuentry.inc.php | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/modules-available/serversetup-bwlp-ipxe/inc/menuentry.inc.php b/modules-available/serversetup-bwlp-ipxe/inc/menuentry.inc.php index eb4a98de..da94a16b 100644 --- a/modules-available/serversetup-bwlp-ipxe/inc/menuentry.inc.php +++ b/modules-available/serversetup-bwlp-ipxe/inc/menuentry.inc.php @@ -27,7 +27,7 @@ class MenuEntry */ public $sortval; /** - * @var BootEntry + * @var ?BootEntry */ public $bootEntry = null; @@ -35,11 +35,7 @@ class MenuEntry public $md5pass = null; - /** - * @param int $menuEntryId - * @return MenuEntry|null - */ - public static function get($menuEntryId) + public static function get(int $menuEntryId): ?MenuEntry { $row = Database::queryFirst("SELECT e.menuentryid, e.entryid, e.refmenuid, e.hotkey, e.title, e.hidden, e.sortval, e.plainpass, e.md5pass, b.module, b.data AS bootentry, b.title AS betitle @@ -56,48 +52,53 @@ class MenuEntry * * @param array $row row from database */ - public function __construct($row) + public function __construct(array $row) { - if (is_array($row)) { - if (empty($row['title']) && !empty($row['betitle'])) { - $row['title'] = $row['betitle']; - } - foreach ($row as $key => $value) { - if (property_exists($this, $key)) { - $this->{$key} = $value; - } - } - $this->hotkey = self::getKeyCode($row['hotkey'] ?? ''); - if (!empty($row['bootentry'])) { - $this->bootEntry = BootEntry::fromJson($row['module'], $row['bootentry']); - } elseif (isset($row['refmenuid'])) { - $this->bootEntry = BootEntry::forMenu($row['refmenuid']); + if (empty($row['title']) && !empty($row['betitle'])) { + $row['title'] = $row['betitle']; + } + foreach ($row as $key => $value) { + if (property_exists($this, $key)) { + $this->{$key} = $value; } - $this->gap = (array_key_exists('entryid', $row) && $row['entryid'] === null && $row['refmenuid'] === null); } + $this->hotkey = self::getKeyCode($row['hotkey'] ?? ''); + if (!empty($row['bootentry'])) { + $this->bootEntry = BootEntry::fromJson($row['module'], $row['bootentry']); + } elseif (isset($row['refmenuid'])) { + $this->bootEntry = BootEntry::forMenu($row['refmenuid']); + } + $this->gap = (array_key_exists('entryid', $row) && $row['entryid'] === null && $row['refmenuid'] === null); settype($this->hidden, 'bool'); settype($this->gap, 'bool'); settype($this->sortval, 'int'); settype($this->menuentryid, 'int'); } - public function getBootEntryScript($builder) + public function getBootEntryScript(ScriptBuilderBase $builder): string { if ($this->bootEntry === null) return ''; return $this->bootEntry->toScript($builder); } - public function menuEntryId() + public function menuEntryId(): int { return $this->menuentryid; } - public function title() + public function title(): string { return $this->title; } + public function internalId(): string + { + if ($this->bootEntry === null) + return ''; + return $this->bootEntry->internalId(); + } + /* * */ @@ -137,7 +138,7 @@ class MenuEntry * * @return string[] list of known key names */ - public static function getKeyList() + public static function getKeyList(): array { return array_keys(self::getKeyArray()); } @@ -146,10 +147,9 @@ class MenuEntry * Get the key code ipxe expects for the given named * key. Returns false if the key name is unknown. * - * @param string $keyName * @return false|string Key code as hex string, or false if not found */ - public static function getKeyCode($keyName) + public static function getKeyCode(string $keyName) { $data = self::getKeyArray(); if (isset($data[$keyName])) @@ -161,7 +161,7 @@ class MenuEntry * @param string $keyName desired key name * @return string $keyName if it's known, empty string otherwise */ - public static function filterKeyName($keyName) + public static function filterKeyName(string $keyName): string { $data = self::getKeyArray(); if (isset($data[$keyName])) |