Enhance logoExists function to improve path resolution and add debug output for testing

This commit is contained in:
Fabian Schieder 2026-02-28 01:36:36 +01:00
parent 41c466733c
commit 9bf00fcf5e

View File

@ -61,11 +61,29 @@ $projects = [
*/ */
function logoExists(string $webPath): bool { function logoExists(string $webPath): bool {
$base = rtrim($_SERVER['DOCUMENT_ROOT'] ?? '/var/www/fabianschieder.com', '/'); $base = rtrim($_SERVER['DOCUMENT_ROOT'] ?? '/var/www/fabianschieder.com', '/');
$full = $base . ltrim($webPath, '.'); $full = $base . '/' . ltrim($webPath, '/');
// Debug: echo "<!-- checking: $full -->\n";
return is_file($full); return is_file($full);
} }
// ── DEBUG: Entferne diesen Block nach dem Testen ──────────────────────────
if (isset($_GET['debug'])) {
echo '<pre style="background:#111;color:#0f0;padding:1em;position:fixed;top:0;left:0;z-index:9999;font-size:12px;">';
echo "DOCUMENT_ROOT: " . ($_SERVER['DOCUMENT_ROOT'] ?? 'nicht gesetzt') . "\n";
echo "PHP __FILE__: " . __FILE__ . "\n";
echo "PHP dirname: " . dirname(__FILE__) . "\n\n";
$testIcons = ['/icons/gitea.svg', '/icons/nextcloud.svg', '/icons/geizkragen.png', '/icons/homeassistant.svg', '/icons/nas.svg'];
foreach ($testIcons as $icon) {
$base = rtrim($_SERVER['DOCUMENT_ROOT'] ?? '/var/www/fabianschieder.com', '/');
$full = $base . '/' . ltrim($icon, '/');
$alt = dirname(__FILE__) . '/' . ltrim($icon, '/');
echo $icon . "\n";
echo " via DOCUMENT_ROOT → " . $full . "" . (is_file($full) ? "✅ OK" : "❌ nicht gefunden") . "\n";
echo " via dirname → " . $alt . "" . (is_file($alt) ? "✅ OK" : "❌ nicht gefunden") . "\n\n";
}
echo '</pre>';
}
// ── END DEBUG ─────────────────────────────────────────────────────────────
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
<html lang="de"> <html lang="de">
@ -116,11 +134,21 @@ function logoExists(string $webPath): bool {
<div class="card-icon"> <div class="card-icon">
<?php if (!empty($project['logo'])): ?> <?php if (!empty($project['logo'])): ?>
<?php
// Prüfe zuerst via DOCUMENT_ROOT, dann via dirname(__FILE__)
$base1 = rtrim($_SERVER['DOCUMENT_ROOT'] ?? '', '/') . '/' . ltrim($project['logo'], '/');
$base2 = dirname(__FILE__) . '/' . ltrim($project['logo'], '/');
$logoOk = is_file($base1) || is_file($base2);
?>
<?php if ($logoOk): ?>
<img <img
src="<?= htmlspecialchars($project['logo'], ENT_QUOTES) ?>" src="<?= htmlspecialchars($project['logo'], ENT_QUOTES) ?>"
alt="<?= htmlspecialchars($project['title'], ENT_QUOTES) ?> Logo" alt="<?= htmlspecialchars($project['title'], ENT_QUOTES) ?> Logo"
class="card-logo" class="card-logo"
> >
<?php else: ?>
<i class="fas fa-folder" title="Logo nicht gefunden: <?= htmlspecialchars($project['logo'], ENT_QUOTES) ?>"></i>
<?php endif; ?>
<?php else: ?> <?php else: ?>
<i class="fas fa-folder"></i> <i class="fas fa-folder"></i>
<?php endif; ?> <?php endif; ?>