getChannels(); foreach ($savedChannels as $id => &$channel) { $channel['enabled'] = isset($post['enabled'][$id]); $channel['favorite'] = isset($post['favorite'][$id]); $channel['number'] = (int)($post['number'][$id] ?? $channel['number'] ?? 999999); $channel['group'] = trim($post['group'][$id] ?? $channel['group'] ?? 'Unknown'); } unset($channel); $config->saveChannels($this->sortChannels($savedChannels)); @unlink('/var/www/cache/guide.json'); @unlink('/var/www/cache/guide.version'); } public function getSortedChannels(Config $config): array { return $this->sortChannels($config->getChannels()); } private function sortChannels(array $channels): array { uasort($channels, function ($a, $b) { return [ (int)($a['number'] ?? 999999), strtolower($a['name'] ?? '') ] <=> [ (int)($b['number'] ?? 999999), strtolower($b['name'] ?? '') ]; }); return $channels; } }