feat: lokales Google-Fonts-Hosting + "Lizenz upgraden"-button (v1.3.0)
- Lizenz-Tab: bei vollen Plaetzen erscheint ein "Lizenz upgraden"-Button (https://lucas-orth.de/wp-plugins/gdpr-content-blocker/) zusaetzlich zur domain-freigabe. - Neues Feature "Schriften": Google Fonts lokal hosten (button-modell). Admin klickt "Jetzt herunterladen & einbinden" -> plugin scannt die seiten, laedt googleapis-CSS + gstatic-schriftdateien einmalig in den uploads-ordner, schreibt die pfade lokal um und tauscht sie per output-buffer im quelltext. Abgedeckt: <link>, inline-@import/url() UND @import/url() in gleicher-origin externen CSS-dateien (mit absolutierung der restlichen relativen pfade). preconnect/dns-prefetch zu google-font-hosts werden entfernt (kein IP-leak). Toggle zum aus/einschalten + "Lokale Schriften loeschen". - i18n-pipeline robuster: build-en-mo.py nutzt jetzt translations-en.json (lookup per quell-string, reihenfolge-unabhaengig) und bricht mit liste ab, falls eine uebersetzung fehlt. Alle neuen strings DE/EN ergaenzt (139). - version 1.3.0 (header + CB_VERSION). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -170,6 +170,7 @@ class CB_Settings {
|
||||
'newServiceLbl' => __( 'Neuer Dienst', 'gdpr-content-blocker' ),
|
||||
'ajaxUrl' => admin_url( 'admin-ajax.php' ),
|
||||
'scanNonce' => wp_create_nonce( 'cb_scan' ),
|
||||
'fontsNonce' => wp_create_nonce( 'cb_fonts' ),
|
||||
'i18n' => [
|
||||
'scanning' => __( 'Scanne Webseite …', 'gdpr-content-blocker' ),
|
||||
'scanError' => __( 'Scan fehlgeschlagen:', 'gdpr-content-blocker' ),
|
||||
@@ -188,6 +189,9 @@ class CB_Settings {
|
||||
'templateAvail' => __( 'Vorlage verfügbar', 'gdpr-content-blocker' ),
|
||||
'scannedPages'=> __( 'Gescannte Seiten:', 'gdpr-content-blocker' ),
|
||||
'foundOn' => __( 'Gefunden auf', 'gdpr-content-blocker' ),
|
||||
'fontsFetching' => __( 'Schriften werden heruntergeladen …', 'gdpr-content-blocker' ),
|
||||
'fontsError' => __( 'Fehler beim Herunterladen:', 'gdpr-content-blocker' ),
|
||||
'fontsClearConfirm'=> __( 'Lokale Schriften wirklich löschen?', 'gdpr-content-blocker' ),
|
||||
],
|
||||
] );
|
||||
}
|
||||
@@ -273,6 +277,9 @@ class CB_Settings {
|
||||
<a href="#cb-tab-style" class="nav-tab" data-cb-tab="style">
|
||||
<?php esc_html_e( 'Darstellung', 'gdpr-content-blocker' ); ?>
|
||||
</a>
|
||||
<a href="#cb-tab-fonts" class="nav-tab" data-cb-tab="fonts">
|
||||
<?php esc_html_e( 'Schriften', 'gdpr-content-blocker' ); ?>
|
||||
</a>
|
||||
<a href="#cb-tab-shortcodes" class="nav-tab" data-cb-tab="shortcodes">
|
||||
<?php esc_html_e( 'Shortcodes', 'gdpr-content-blocker' ); ?>
|
||||
</a>
|
||||
@@ -345,6 +352,11 @@ class CB_Settings {
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- Fonts Tab -->
|
||||
<div id="cb-tab-fonts" class="cb-tab-content" style="display:none;">
|
||||
<?php CB_Fonts::render_tab(); ?>
|
||||
</div>
|
||||
|
||||
<!-- Shortcodes Tab -->
|
||||
<div id="cb-tab-shortcodes" class="cb-tab-content" style="display:none;">
|
||||
<?php self::render_shortcodes_help(); ?>
|
||||
@@ -735,7 +747,7 @@ class CB_Settings {
|
||||
* Build the list of URLs to scan: the home page plus a few published
|
||||
* pages/posts, so the scan covers more than just the front page.
|
||||
*/
|
||||
private static function scan_urls(): array {
|
||||
public static function scan_urls(): array {
|
||||
$urls = [ home_url( '/' ) ];
|
||||
|
||||
$posts = get_posts( [
|
||||
|
||||
Reference in New Issue
Block a user