Skip to content

FeatureController

Der FeatureController ist verantwortlich für die Verwaltung und Aktivierung von Features in CrispyCMS basierend auf Lizenzlimits und Konfigurationseinstellungen. Er stellt Methoden zur Verfügung, um zu prüfen, ob bestimmte Features verfügbar und aktiviert sind.

Namespace

Crispy\Controllers\FeatureController

Verfügbare Methoden

isCaptchaEnabled() Boolean

Prüft, ob die Captcha-Funktionalität aktiviert und verfügbar ist.

Diese Methode überprüft zwei Bedingungen für die Captcha-Aktivierung: 1. Das monatliche Captcha-Limit wurde nicht überschritten 2. Ein gültiger HMAC-Schlüssel für Captcha ist konfiguriert (CMSControl_Captcha_HMAC)

Nur wenn beide Bedingungen erfüllt sind, wird true zurückgegeben.

Beispiel
{% if FeatureController.isCaptchaEnabled() %}
    <!-- Captcha-Formular anzeigen -->
    <div class="captcha-container">
        <input type="text" name="captcha" placeholder="Captcha eingeben">
    </div>
{% else %}
    <!-- Kein Captcha verfügbar -->
    <p class="text-muted">Captcha temporär nicht verfügbar</p>
{% endif %}
<?php

use Crispy\Controllers\FeatureController;

$featureController = new FeatureController();

if ($featureController->isCaptchaEnabled()) {
    // Captcha-Feature aktivieren
    echo '<div class="captcha-field">';
    echo generateCaptchaHTML();
    echo '</div>';
} else {
    // Alternative Sicherheitsmaßnahmen
    Logger::info("Captcha deaktiviert - Limit erreicht oder nicht konfiguriert");
}

Verwendung in Templates

Der FeatureController ist global in Twig-Templates verfügbar:

{# Dynamische Feature-Anzeige #}
<div class="feature-status">
    <h3>Verfügbare Features:</h3>
    <ul>
        <li>
            Captcha: 
            {% if FeatureController.isCaptchaEnabled() %}
                <span class="badge bg-success">Aktiviert</span>
            {% else %}
                <span class="badge bg-danger">Deaktiviert</span>
            {% endif %}
        </li>
    </ul>
</div>