$label, 'type' => 'pages', 'layout' => 'list', 'status' => $status ]; if ($props === true) { $props = []; } if (is_string($props) === true) { $props = [ 'label' => $props ]; } // inject the global templates definition if (empty($templates) === false) { $props['templates'] = $props['templates'] ?? $templates; } return array_replace_recursive($defaults, $props); }; $sections = []; $drafts = $props['drafts'] ?? []; $unlisted = $props['unlisted'] ?? false; $listed = $props['listed'] ?? []; if ($drafts !== false) { $sections['drafts'] = $section(I18n::translate('pages.status.draft'), 'drafts', $drafts); } if ($unlisted !== false) { $sections['unlisted'] = $section(I18n::translate('pages.status.unlisted'), 'unlisted', $unlisted); } if ($listed !== false) { $sections['listed'] = $section(I18n::translate('pages.status.listed'), 'listed', $listed); } // cleaning up unset($props['drafts'], $props['unlisted'], $props['listed'], $props['templates']); return array_merge($props, ['sections' => $sections]); };