$cfgDir = '/var/www/html/content/news'; $cfgDb = 'news.db'; $cfgTable = 'news'; $cfgPrefix = 'nws'; $cfgLink = 'news'; $cfgTopSort = 'tardix'; $cfgSortMode = 'date'; $availableFlags = require '/var/www/html/core/lang/flags.php'; $siteLang = $lang ?? 'fr'; $activeLang = $_GET['db_lang'] ?? $siteLang; $allItems = []; $allTags = []; $existingLangs = []; if (is_dir($cfgDir)) { foreach (glob($cfgDir . '/*', GLOB_ONLYDIR) as $dir) { $folderLang = basename($dir); $dbPath = $dir . '/' . $cfgDb; if (file_exists($dbPath)) { $existingLangs[] = $folderLang; } if ($folderLang === $activeLang) { if (file_exists($dbPath)) { try { $pdo = new PDO('sqlite:' . $dbPath); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $pdo->query("SELECT * FROM " . $cfgTable); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($rows as &$row) { $row['lang'] = $folderLang; if (!empty($row['tags'])) { $tagsArray = explode(' ', $row['tags']); foreach ($tagsArray as $tag) { $cleanTag = trim($tag); if ($cleanTag !== '') $allTags[] = $cleanTag; } } } $allItems = array_merge($allItems, $rows); } catch (PDOException $e) { } } foreach (glob($dir . '/*.php') as $phpFile) { $filename = basename($phpFile); if ($filename === 'main.php' || $filename === 'index.php') continue; $linkName = basename($phpFile, '.php'); $content = file_get_contents($phpFile); preg_match_all('/\$page_([a-z_]+)\s*=\s*[\'"](.*?)[\'"];/is', $content, $matches); if (!empty($matches[1])) { $meta = ['lang' => $folderLang, 'link_href' => $linkName]; foreach ($matches[1] as $index => $key) { $meta[$key] = $matches[2][$index]; } if (!empty($meta['title'])) { if (!empty($meta['tags'])) { $tagsArray = explode(' ', $meta['tags']); foreach ($tagsArray as $tag) { $cleanTag = trim($tag); if ($cleanTag !== '') $allTags[] = $cleanTag; } } $allItems[] = $meta; } } } } } } $uniqueTags = array_unique($allTags); sort($uniqueTags); if ($cfgSortMode === 'random') { shuffle($allItems); } usort($allItems, function($a, $b) use ($activeLang, $cfgTopSort, $cfgSortMode) { if ($a['lang'] === $activeLang && $b['lang'] !== $activeLang) return -1; if ($a['lang'] !== $activeLang && $b['lang'] === $activeLang) return 1; $aTop = (strpos($a['section_id'] ?? '', $cfgTopSort) === 0) ? 0 : 1; $bTop = (strpos($b['section_id'] ?? '', $cfgTopSort) === 0) ? 0 : 1; if ($aTop !== $bTop) return $aTop - $bTop; if ($cfgSortMode === 'date') { $dateA = strtotime($a['date'] ?? '1970-01-01'); $dateB = strtotime($b['date'] ?? '1970-01-01'); return $dateB <=> $dateA; } if ($cfgSortMode === 'alpha') { return strcmp($a['title'] ?? '', $b['title'] ?? ''); } return 0; }); $imgBase = isset($img) ? $img : ''; ?>
↑
Neuigkeiten
▼
Kein Filter
Keine Daten für diese Auswahl verfügbar.