diff options
3 files changed, 11 insertions, 11 deletions
diff --git a/modules-available/serversetup-bwlp-ipxe/api.inc.php b/modules-available/serversetup-bwlp-ipxe/api.inc.php index 7a81f430..ec5fc577 100644 --- a/modules-available/serversetup-bwlp-ipxe/api.inc.php +++ b/modules-available/serversetup-bwlp-ipxe/api.inc.php @@ -71,8 +71,10 @@ if (substr($ip, 0, 7) === '::ffff:') { $menu = Request::get('menuid', false, 'int'); if ($menu !== false) { $menu = new IPxeMenu($menu); + $initLabel = 'slx_menu'; } else { $menu = IPxeMenu::forClient($ip, $uuid); + $initLabel = 'init'; } @@ -133,7 +135,7 @@ if ($slxExtensions) { $output = <<<HERE #!ipxe -goto init || goto fail || +goto $initLabel || goto fail || # functions diff --git a/modules-available/serversetup-bwlp-ipxe/page.inc.php b/modules-available/serversetup-bwlp-ipxe/page.inc.php index 8ea782b3..9b97ff01 100644 --- a/modules-available/serversetup-bwlp-ipxe/page.inc.php +++ b/modules-available/serversetup-bwlp-ipxe/page.inc.php @@ -390,6 +390,9 @@ class Page_ServerSetup extends Page $res = Database::simpleQuery("SELECT menuentryid, entryid, refmenuid, hotkey, title, hidden, sortval, plainpass FROM serversetup_menuentry WHERE menuid = :id ORDER BY sortval ASC", compact('id')); while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + if ($row['entryid'] === null && $row['refmenuid'] !== null) { + $row['entryid'] = 'menu:' . $row['refmenuid']; + } if ($row['entryid'] == $highlight) { $row['highlight'] = 'active'; } @@ -399,7 +402,7 @@ class Page_ServerSetup extends Page $menu['entrylist'] = array_merge( Database::queryAll("SELECT entryid, title, hotkey, data FROM serversetup_bootentry ORDER BY title ASC"), // Add all menus, so we can link - Database::queryAll("SELECT Concat('menu=', menuid) AS entryid, title FROM serversetup_menu ORDER BY title ASC") + Database::queryAll("SELECT Concat('menu:', menuid) AS entryid, title FROM serversetup_menu ORDER BY title ASC") ); class_exists('BootEntry'); // Leave this here for StandardBootEntry foreach ($menu['entrylist'] as &$bootentry) { @@ -649,7 +652,7 @@ class Page_ServerSetup extends Page 'hidden' => (int)$entry['hidden'], // TODO (needs hotkey to make sense) 'plainpass' => $entry['plainpass'], ]; - if (preg_match('/^menu=(\d+)$/', $entry['entryid'], $out)) { + if (preg_match('/^menu:(\d+)$/', $entry['entryid'], $out)) { $params['refmenuid'] = $out[1]; } else { $params['entryid'] = $entry['entryid']; diff --git a/modules-available/serversetup-bwlp-ipxe/templates/menu-edit.html b/modules-available/serversetup-bwlp-ipxe/templates/menu-edit.html index 701411bf..16d96d6b 100644 --- a/modules-available/serversetup-bwlp-ipxe/templates/menu-edit.html +++ b/modules-available/serversetup-bwlp-ipxe/templates/menu-edit.html @@ -69,17 +69,12 @@ <td class="text-nowrap"> <input class="entry-id" type="hidden" name="entry[{{menuentryid}}][entryid]" value="{{entryid}}"> - <button type="button" class="btn btn-default" style="width: 100%; text-align: left" {{disabled}} data-toggle="modal" data-target="#entry-chooser-modal"> + <button type="button" class="btn btn-default" style="width:100%;text-align:left" {{disabled}} data-toggle="modal" data-target="#entry-chooser-modal"> {{#entryid}} {{entryid}} {{/entryid}} {{^entryid}} - {{^refmenuid}} - {{lang_spacer}} - {{/refmenuid}} - {{#refmenuid}} - menu={{refmenuid}} - {{/refmenuid}} + {{lang_spacer}} {{/entryid}} </button> </td> @@ -333,7 +328,7 @@ $('#entry-list').change(function(e) { var modal = $('#entry-chooser-modal'); modal.find('.entrydata').hide(); - modal.find('#entrydata-' + $(this).val()).show(); + modal.find('#entrydata-' + $(this).val().replace(':', '\\:')).show(); }); var currentEntryButton = null; |