CaiWuXiTong/app/Utilities/BusinessNavigation.php
WuYongJie 9595267ee7
Some checks failed
Tests / PHP 8.1 (push) Has been cancelled
Tests / PHP 8.2 (push) Has been cancelled
Tests / PHP 8.3 (push) Has been cancelled
chore: 导入 Akaunting 初始源码与团队协作规则
2026-07-20 18:20:25 +08:00

40 lines
1.1 KiB
PHP

<?php
namespace App\Utilities;
class BusinessNavigation
{
/**
* Return the configured business navigation with this company's title overrides applied.
*/
public static function all(): array
{
$navigation = config('business_navigation', []);
$titles = (array) setting('navigation.titles', []);
$sectionTitles = (array) ($titles['sections'] ?? []);
$pageTitles = (array) ($titles['pages'] ?? []);
foreach ($navigation as &$section) {
$sectionSlug = $section['slug'];
$section['title'] = self::title($sectionTitles[$sectionSlug] ?? null, $section['title']);
foreach ($section['pages'] ?? [] as $pageIndex => $page) {
$section['pages'][$pageIndex]['title'] = self::title(
$pageTitles[$sectionSlug][$page['slug']] ?? null,
$page['title']
);
}
}
unset($section);
return $navigation;
}
private static function title($value, string $default): string
{
$value = trim((string) $value);
return $value === '' ? $default : $value;
}
}