Skip to content

LicenseUsageController

Der LicenseUsageController ist verantwortlich für die Überwachung und Validierung von Lizenzlimits in CrispyCMS. Er stellt verschiedene Methoden zur Verfügung, um den aktuellen Verbrauch zu ermitteln und zu prüfen, ob Limits überschritten wurden.

Namespace

Crispy\Controllers\LicenseUsageController

Verfügbare Methoden

licenseAvailable() Boolean

Prüft, ob eine gültige Lizenz verfügbar ist.

Diese Methode überprüft die Verfügbarkeit einer gültigen Lizenz im System. Sie ist die Grundlage für alle weiteren Lizenzprüfungen und sollte vor der Verwendung anderer Lizenz-abhängiger Features aufgerufen werden.

Beispiel
{% if LicenseUsageController.licenseAvailable() %}
    <p>Lizenz ist verfügbar</p>
{% else %}
    <p>Keine gültige Lizenz gefunden</p>
{% endif %}
<?php

use Crispy\Controllers\LicenseUsageController;

$controller = new LicenseUsageController();

if ($controller->licenseAvailable()) {
    echo "Lizenz ist verfügbar";
}
isPluginFeatureEnabled() Boolean

Prüft, ob die Plugin-Funktionalität in der aktuellen Lizenz aktiviert ist.

Diese Methode überprüft, ob Plugins in der aktuellen Lizenz aktiviert sind. Wenn keine Lizenz verfügbar ist, wird standardmäßig true zurückgegeben.

Beispiel
{% if LicenseUsageController.isPluginFeatureEnabled() %}
    <div class="plugin-section">
        <!-- Plugin-Bereiche anzeigen -->
    </div>
{% endif %}
<?php

$controller = new LicenseUsageController();

if ($controller->isPluginFeatureEnabled()) {
    // Plugin-Funktionalität aktivieren
}
getMonthlyCaptchaCount() Integer

Gibt die Anzahl der verbrauchten Captcha-Responses im aktuellen Monat zurück.

Diese Methode liefert die aktuelle Anzahl der im laufenden Monat verwendeten Captcha-Responses. Der Wert wird automatisch monatlich zurückgesetzt.

Beispiel
<p>Captcha-Verbrauch diesen Monat: {{ LicenseUsageController.getMonthlyCaptchaCount() }}</p>
<?php

$controller = new LicenseUsageController();
$captchaCount = $controller->getMonthlyCaptchaCount();

echo "Captcha-Verbrauch: " . $captchaCount;
getMonthlyPageViewCount() Integer

Gibt die Anzahl der Seitenaufrufe im aktuellen Monat zurück.

Diese Methode liefert die Gesamtanzahl der Seitenaufrufe im laufenden Monat. Der Zähler wird automatisch am Monatsanfang zurückgesetzt.

Beispiel
<p>Seitenaufrufe diesen Monat: {{ LicenseUsageController.getMonthlyPageViewCount() }}</p>
<?php

$controller = new LicenseUsageController();
$pageViews = $controller->getMonthlyPageViewCount();

echo "Monatliche Seitenaufrufe: " . $pageViews;
getActiveUsersCount() Integer

Gibt die Anzahl der aktiven Benutzer zurück.

Diese Methode liefert die Gesamtanzahl der aktiven Benutzer im System. Falls keine Cache-Daten vorhanden sind, werden die Metriken automatisch aktualisiert.

Beispiel
<p>Aktive Benutzer: {{ LicenseUsageController.getActiveUsersCount() }}</p>
<?php

$controller = new LicenseUsageController();
$userCount = $controller->getActiveUsersCount();

if ($userCount === -1) {
    echo "Benutzerdaten werden aktualisiert...";
} else {
    echo "Aktive Benutzer: " . $userCount;
}
getAllPageCount() Integer

Gibt die Gesamtanzahl aller Seiten im System zurück.

Diese Methode liefert die Gesamtanzahl aller im System erstellten Seiten. Die Daten werden bei Bedarf automatisch aus der Datenbank aktualisiert.

Beispiel
<p>Gesamtanzahl Seiten: {{ LicenseUsageController.getAllPageCount() }}</p>
<?php

$controller = new LicenseUsageController();
$pageCount = $controller->getAllPageCount();

echo "Seiten im System: " . $pageCount;
getAllTemplatesCount() Integer

Gibt die Gesamtanzahl aller Templates im System zurück.

Diese Methode liefert die Anzahl aller verfügbaren Templates. Wird für die Lizenzvalidierung von Template-Limits verwendet.

Beispiel
<p>Verfügbare Templates: {{ LicenseUsageController.getAllTemplatesCount() }}</p>
<?php

$controller = new LicenseUsageController();
$templateCount = $controller->getAllTemplatesCount();

echo "Templates: " . $templateCount;
getAllLayoutsCount() Integer

Gibt die Gesamtanzahl aller Layouts im System zurück.

Diese Methode liefert die Anzahl aller verfügbaren Layouts für die Lizenzvalidierung.

Beispiel
<p>Verfügbare Layouts: {{ LicenseUsageController.getAllLayoutsCount() }}</p>
<?php

$controller = new LicenseUsageController();
$layoutCount = $controller->getAllLayoutsCount();

echo "Layouts: " . $layoutCount;
getAllCategoriesCount() Integer

Gibt die Gesamtanzahl aller Kategorien im System zurück.

Diese Methode liefert die Anzahl aller im System erstellten Kategorien für die Lizenzprüfung.

Beispiel
<p>Kategorien: {{ LicenseUsageController.getAllCategoriesCount() }}</p>
<?php

$controller = new LicenseUsageController();
$categoryCount = $controller->getAllCategoriesCount();

echo "Kategorien: " . $categoryCount;
getAllRolesCount() Integer

Gibt die Gesamtanzahl aller Rollen im System zurück.

Diese Methode liefert die Anzahl aller definierten Benutzerrollen für die Lizenzvalidierung.

Beispiel
<p>Benutzerrollen: {{ LicenseUsageController.getAllRolesCount() }}</p>
<?php

$controller = new LicenseUsageController();
$roleCount = $controller->getAllRolesCount();

echo "Rollen: " . $roleCount;
captchaCountLimitExceeded() Boolean

Prüft, ob das monatliche Limit für Captcha-Responses überschritten wurde.

Diese Methode überprüft, ob der monatliche Verbrauch von Captcha-Responses das lizenzierte Limit erreicht oder überschritten hat.

Beispiel
{% if LicenseUsageController.captchaCountLimitExceeded() %}
    <div class="alert alert-danger">
        Captcha-Limit überschritten!
    </div>
{% endif %}
<?php

$controller = new LicenseUsageController();

if ($controller->captchaCountLimitExceeded()) {
    // Captcha-Feature deaktivieren oder Warnung anzeigen
    throw new Exception("Captcha-Limit überschritten");
}
captchaNearlyExceedLimit() Boolean

Prüft, ob 80% des monatlichen Captcha-Limits erreicht wurden.

Diese Methode warnt frühzeitig vor einer Limitüberschreitung, wenn 80% des Captcha-Limits erreicht sind.

Beispiel
{% if LicenseUsageController.captchaNearlyExceedLimit() %}
    <div class="alert alert-warning">
        Captcha-Limit bald erreicht (80%)!
    </div>
{% endif %}
<?php

$controller = new LicenseUsageController();

if ($controller->captchaNearlyExceedLimit()) {
    // Warnung senden oder Admin benachrichtigen
    Logger::warning("Captcha-Limit bei 80% erreicht");
}
pageViewsExceedLimit() Boolean

Prüft, ob das monatliche Limit für Seitenaufrufe überschritten wurde.

Diese Methode überprüft, ob die monatlichen Seitenaufrufe das lizenzierte Limit erreicht oder überschritten haben.

Beispiel
{% if LicenseUsageController.pageViewsExceedLimit() %}
    <div class="alert alert-danger">
        Seitenaufruf-Limit überschritten!
    </div>
{% endif %}
<?php

$controller = new LicenseUsageController();

if ($controller->pageViewsExceedLimit()) {
    // Seite sperren oder Upgrade-Hinweis anzeigen
    redirect('/upgrade-required');
}
pageViewNearlyExceedLimit() Boolean

Prüft, ob 80% des monatlichen Seitenaufruf-Limits erreicht wurden.

Diese Methode warnt frühzeitig vor einer Limitüberschreitung bei Seitenaufrufen.

Beispiel
{% if LicenseUsageController.pageViewNearlyExceedLimit() %}
    <div class="alert alert-warning">
        Seitenaufruf-Limit bald erreicht!
    </div>
{% endif %}
<?php

$controller = new LicenseUsageController();

if ($controller->pageViewNearlyExceedLimit()) {
    // Frühwarnung an Administrator
    notifyAdmin("Seitenaufruf-Limit bei 80%");
}
usersExceedLimit() Boolean

Prüft, ob das Limit für aktive Benutzer überschritten wurde.

Diese Methode überprüft, ob die Anzahl der aktiven Benutzer das lizenzierte Limit erreicht oder überschritten hat.

Beispiel
{% if LicenseUsageController.usersExceedLimit() %}
    <div class="alert alert-danger">
        Benutzerlimit überschritten!
    </div>
{% endif %}
<?php

$controller = new LicenseUsageController();

if ($controller->usersExceedLimit()) {
    // Neue Registrierungen blockieren
    $registrationEnabled = false;
}
pagesExceedLimit() Boolean

Prüft, ob das Limit für die Gesamtanzahl der Seiten überschritten wurde.

Diese Methode überprüft, ob die Anzahl der erstellten Seiten das lizenzierte Limit erreicht oder überschritten hat.

Beispiel
{% if LicenseUsageController.pagesExceedLimit() %}
    <div class="alert alert-danger">
        Seitenlimit überschritten!
    </div>
{% endif %}
<?php

$controller = new LicenseUsageController();

if ($controller->pagesExceedLimit()) {
    // Erstellung neuer Seiten blockieren
    throw new Exception("Seitenlimit erreicht");
}
templatesExceedLimit() Boolean

Prüft, ob das Limit für die Gesamtanzahl der Templates überschritten wurde.

Diese Methode überprüft, ob die Anzahl der Templates das lizenzierte Limit erreicht oder überschritten hat.

Beispiel
{% if LicenseUsageController.templatesExceedLimit() %}
    <div class="alert alert-danger">
        Template-Limit überschritten!
    </div>
{% endif %}
<?php

$controller = new LicenseUsageController();

if ($controller->templatesExceedLimit()) {
    // Template-Upload blockieren
    return false;
}
layoutsExceedLimit() Boolean

Prüft, ob das Limit für die Gesamtanzahl der Layouts überschritten wurde.

Diese Methode überprüft, ob die Anzahl der Layouts das lizenzierte Limit erreicht oder überschritten hat.

Beispiel
{% if LicenseUsageController.layoutsExceedLimit() %}
    <div class="alert alert-danger">
        Layout-Limit überschritten!
    </div>
{% endif %}
<?php

$controller = new LicenseUsageController();

if ($controller->layoutsExceedLimit()) {
    // Layout-Erstellung blockieren
    disableLayoutCreation();
}
categoriesExceedLimit() Boolean

Prüft, ob das Limit für die Gesamtanzahl der Kategorien überschritten wurde.

Diese Methode überprüft, ob die Anzahl der Kategorien das lizenzierte Limit erreicht oder überschritten hat.

Beispiel
{% if LicenseUsageController.categoriesExceedLimit() %}
    <div class="alert alert-danger">
        Kategorien-Limit überschritten!
    </div>
{% endif %}
<?php

$controller = new LicenseUsageController();

if ($controller->categoriesExceedLimit()) {
    // Kategorien-Erstellung blockieren
    return "Limit erreicht";
}
rolesExceedLimit() Boolean

Prüft, ob das Limit für die Gesamtanzahl der Rollen überschritten wurde.

Diese Methode überprüft, ob die Anzahl der Benutzerrollen das lizenzierte Limit erreicht oder überschritten hat.

Beispiel
{% if LicenseUsageController.rolesExceedLimit() %}
    <div class="alert alert-danger">
        Rollen-Limit überschritten!
    </div>
{% endif %}
<?php

$controller = new LicenseUsageController();

if ($controller->rolesExceedLimit()) {
    // Rollen-Erstellung blockieren
    throw new Exception("Rollenlimit erreicht");
}

Hinweise

  • Alle Limit-Prüfungen geben false zurück, wenn keine Lizenz verfügbar ist
  • Bei nicht gesetzten oder ungültigen Limits (≤ 0) wird ebenfalls false zurückgegeben
  • Die Zähler-Methoden aktualisieren automatisch die Metriken bei fehlenden Cache-Daten
  • Monatliche Zähler werden automatisch zurückgesetzt