Refactor template and content handling logic

Add constants for file extensions

Extract helper functions for common operations

Improve PDF file detection

Simplify directory scanning operations

Standardize template resolution

Optimize content rendering pipeline
This commit is contained in:
Ruben 2025-11-01 22:54:42 +01:00
parent 149ba03359
commit 32449d2edd
6 changed files with 98 additions and 145 deletions

View file

@ -14,12 +14,7 @@ $userContentDir = $_SERVER['DOCUMENT_ROOT'];
$demoContentDir = __DIR__ . '/default/content';
// Check if user content directory has actual content (more than just . and ..)
$hasUserContent = false;
if (is_dir($userContentDir)) {
$userFiles = scandir($userContentDir) ?: [];
$userFiles = array_diff($userFiles, ['.', '..']);
$hasUserContent = count($userFiles) > 0;
}
$hasUserContent = is_dir($userContentDir) && count(scandir($userContentDir) ?: []) > 2;
$contentDir = $hasUserContent ? realpath($userContentDir) : realpath($demoContentDir);
@ -37,15 +32,7 @@ if (!empty($pathParts[0]) && in_array($pathParts[0], $availableLangs) && $pathPa
$requestPath = implode('/', $pathParts);
}
// Use custom templates with fallback to defaults
$customBaseTemplate = dirname(__DIR__) . '/custom/templates/base.php';
$defaultBaseTemplate = __DIR__ . '/default/templates/base.php';
$baseTemplate = file_exists($customBaseTemplate) ? $customBaseTemplate : $defaultBaseTemplate;
$customPageTemplate = dirname(__DIR__) . '/custom/templates/page.php';
$defaultPageTemplate = __DIR__ . '/default/templates/page.php';
$pageTemplate = file_exists($customPageTemplate) ? $customPageTemplate : $defaultPageTemplate;
$customListTemplate = dirname(__DIR__) . '/custom/templates/list.php';
$defaultListTemplate = __DIR__ . '/default/templates/list.php';
$listTemplate = file_exists($customListTemplate) ? $customListTemplate : $defaultListTemplate;
// Resolve templates with custom fallback to defaults
$baseTemplate = resolveTemplate('base');
$pageTemplate = resolveTemplate('page');
$listTemplate = resolveTemplate('list');