<?php
/**
 * clear_cache.php
 * Leert PHP OpCache
 */

require_once '../backend/config.php';
requireBackendAccess();

$pageTitle = 'Cache leeren';

$cleared = false;
$error = false;

// Cache leeren wenn Button geklickt
if (isset($_POST['clear_cache'])) {
    if (function_exists('opcache_reset')) {
        $cleared = opcache_reset();
    } else {
        $error = 'OpCache ist nicht aktiviert';
    }
}

include '../backend/layout/header.php';
?>

<!-- Main Content -->
<main class="backend-main">
<style>
.result-card {
    background: white;
    border-radius: 12px;
    padding: 40px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    margin: 30px auto;
    max-width: 600px;
}

.result-icon {
    font-size: 80px;
    margin-bottom: 20px;
}

.result-title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #2c3e50;
}

.result-message {
    font-size: 16px;
    color: #7f8c8d;
    line-height: 1.6;
    margin-bottom: 30px;
}

.success-card {
    border-top: 4px solid #27ae60;
}

.error-card {
    border-top: 4px solid #e74c3c;
}

.info-card {
    border-top: 4px solid #3498db;
}

.btn-primary {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    padding: 15px 40px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.2s;
}

.btn-primary:hover {
    transform: translateY(-2px);
}

.btn-secondary {
    background: white;
    color: #667eea;
    border: 2px solid #667eea;
    padding: 12px 30px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    margin-top: 15px;
    transition: all 0.2s;
}

.btn-secondary:hover {
    background: #f8f9fa;
}

.cache-info {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    text-align: left;
}

.cache-info h4 {
    margin: 0 0 15px 0;
    color: #2c3e50;
}

.cache-info ul {
    margin: 0;
    padding-left: 20px;
    color: #7f8c8d;
    line-height: 1.8;
}
</style>

<div class="content-header">
    <h1>🗑️ Cache leeren</h1>
    <p>PHP OpCache zurücksetzen</p>
</div>

<?php if ($cleared): ?>
<!-- ERFOLG -->
<div class="result-card success-card">
    <div class="result-icon">✅</div>
    <div class="result-title">Cache erfolgreich geleert!</div>
    <div class="result-message">
        Der PHP OpCache wurde zurückgesetzt. Änderungen an PHP-Dateien sollten nun sofort sichtbar sein.
    </div>
    <a href="diagnose_tools.php" class="btn-secondary">← Zurück zu Diagnose-Tools</a>
</div>

<?php elseif ($error): ?>
<!-- FEHLER -->
<div class="result-card error-card">
    <div class="result-icon">❌</div>
    <div class="result-title">OpCache nicht verfügbar</div>
    <div class="result-message">
        <?php echo htmlspecialchars($error); ?><br>
        OpCache ist auf diesem Server nicht aktiviert oder nicht verfügbar.
    </div>
    <a href="diagnose_tools.php" class="btn-secondary">← Zurück zu Diagnose-Tools</a>
</div>

<?php else: ?>
<!-- FORMULAR -->
<div class="result-card info-card">
    <div class="result-icon">🗑️</div>
    <div class="result-title">PHP OpCache leeren</div>
    <div class="result-message">
        Der OpCache speichert kompilierte PHP-Dateien zwischen. Wenn Änderungen an Dateien nicht sofort wirken, kann das Leeren des Cache helfen.
    </div>
    
    <form method="POST">
        <button type="submit" name="clear_cache" class="btn-primary">
            Cache jetzt leeren
        </button>
    </form>
    
    <div class="cache-info">
        <h4>📋 Wann sollte der Cache geleert werden?</h4>
        <ul>
            <li>Nach dem Hochladen neuer PHP-Dateien</li>
            <li>Wenn Änderungen nicht sichtbar werden</li>
            <li>Nach Updates oder Bugfixes</li>
            <li>Bei unerklärlichem Verhalten</li>
        </ul>
    </div>
    
    <a href="diagnose_tools.php" class="btn-secondary">← Zurück zu Diagnose-Tools</a>
</div>

<?php endif; ?>

</div>
<!-- End Content Wrapper -->

<?php include '../backend/layout/footer.php'; ?>
