public function manageForCabin(string $cabinName = '')
{
$cabins = $this->getCabinNamespaces();
if (!\in_array($cabinName, $cabins)) {
\Airship\redirect($this->airship_cabin_prefix . '/gadgets');
}
if (!$this->can('update')) {
\Airship\redirect($this->airship_cabin_prefix . '/gadgets');
}
$gadgets = \Airship\loadJSON(ROOT . '/Cabin/' . $cabinName . '/config/gadgets.json');
$post = $this->post(GadgetsFilter::fromConfig(\array_keys($gadgets)));
if ($post) {
if ($this->updateCabinGadgets($gadgets, $post, $cabinName)) {
\Airship\clear_cache();
\Airship\redirect($this->airship_cabin_prefix . '/gadgets/cabin/' . $cabinName);
}
}
$this->lens('gadget_manage', ['cabins' => $cabins, 'gadgets' => $gadgets, 'title' => \__('Gadgets for %s', 'default', Util::noHTML($cabinName))]);
}