Update V3.2 » V3.3

CKEditor

Update des CKEditors auf Version 4.6.2.

Das Google-Map Plugin bzw. die Google-Map funktioniert nur noch mit dem API-Key. Den Key muss man in der globalvars.php unter $webutler_config['googlemaps_key'] eintragen.

In der Stile-Auswahlliste können jetzt beliebig viele CSS-Klassen ausgewählt werden, wenn diese in der CSS entsprechend definiert wurden.

Das "Javascript einfügen" Plugin wurde entfernt. Alle Javascripte müssen jetzt in der compress.php eingetragen werden.

CSRF Token

Alle Adminseiten wurden um einen CSRF Token ergänzt.

URL Variable $_GET['page']

Die URL Variable "page" wurde in "wbpagefile" umbenannt. Alle Links die WEButler-Seiten aufrufen müssen geändert werden:
index.php?page=__DATEINAME__ wird zu index.php?wbpagefile=__DATEINAME__

Die Variable "page" gibt es auch in der admin.php von ModMaker-Modulen. Dort wurde die Variable in "area" umbeannt:
admin.php?page=__BEREICH__ wird zu index.php?area=__BEREICH__

Komprimierung von CSS- & JS-Dateien

Ich war nicht glücklich mit der Erweiterung für komprimierte CSS- und JS-Dateien aus der letzten Version, nicht praktikabel! In der neuen Version wird ein kompfortablerer Weg gegangen.

Der neue Weg ist KEIN KANN! CSS- und JS-Dateien funktionieren nur noch mit der neuen Komprimierung und MÜSSEN in der compress.php eingetragen sein!

Der Schritt aus der letzten Version muss erstmal rückgängig gemacht werden. Die unkomprimierten Dateien aus folgenden /source-Verzeichnissen wieder zurück auf eine Verzeichnisebene höher verschieben und das /source-Verzeichnis löschen:

Das automatische Laden einzelner Stylesheets wurde aus folgenden Dateien entfernt:

Benötigte CSS-Dateien müssen manuell in die Datei /settings/compress.php eingetragen werden.

Aus selbst erstellten ModMaker-Modulen muss das Laden der Stylesheet-Datei ebenfalls aus der view.php entfernt und in die compress.php eingetragen werden.

Neue Datei /settings/compress.php

In der Datei /compress.php werden alle zu komprimierenden CSS- und JS-Dateien eingetragen. Es muss der gesamte Dateipfad ohne führenden Slash angegeben werden.
Stylesheet-Dateien werden unter dem Array-Key 'css',
Javascript-Dateien unter dem Array-Key 'js' abgelegt.

Dateien zusammenfügen und komprimieren

In /compress.php eingetragene CSS-Dateien werden zusammengefügt, komprimiert und als Datei 'style_ZEITSTEMPEL.css' im Verzeichnis /content/compress abgelegt.
Eingetragene JS-Dateien werden zusammengefügt, komprimiert und als Datei 'script_ZEITSTEMPEL.js' ebenfalls im Verzeichnis /content/compress abgelegt.

Dieser Vorgang wird automatisch ausgelöst, wenn eine Datei im Onlineeditor geöffnet und gespeichert wird. Wer seine Dateien nicht online bearbeitet, kann den Vorgang auch manuell im Fenster 'Erweiterte Administratorfunktionen' auslösen. Oder bei zeitaufwendigeren Entwicklungen die Variablen 'compressor_onload_css' und/oder 'compressor_onload_js' in der /globalvars.php auf 1 setzen.

Die Dateien style_ZEITSTEMPEL.css und script_ZEITSTEMPEL.js werden automatisch in jede Seite geladen. Alle in den Seiten enthaltenen CSS- und JS-Dateien müssen entfernt werden!

Bearbeitung von Stylesheets

Dateien in /content/style können jetzt in Unterverzeichnisse sortiert werden. Dateien in Unterverzeichnissen werden gefunden und können im Editor geöffnet werden. Wer seine CSS-Dateien von Modulen oder aus den /includes-Verzeichnissen bearbeitbar machen will, kann sie einfach in /content/style verschieben. Nicht vergessen den Pfad in der compress.php anzupassen/einzutragen.

Bearbeitung von Javascripten

Javascripte sind jetzt genauso online bearbeitbar wie Stylesheets. Dafür wurde das gesamte Verzeichnis /javascript aus /includes nach /content verschoben. Im Script /lightbox/lightbox_plus.js gibt es kleine Änderungen, am besten einfach die neue Datei hochladen. Dateien in /content/javascript können ebenfalls in Unterverzeichnisse sortiert werden.

Kategorien wird zu Verzeichnisse

Es gibt im WEButler zweimal den Punkt Kategorien. Einmal im normalen Adminmenü zum erzeugen virtueller URL-Verzeichnisse und einmal in ModMaker Modulen. Um diesen Punkt eindeutiger zu machen, wurden die Kategorien der URLs in Verzeichnisse umbenannt. Wenn dieser Punkt genutzt wird, müssen die Datei categories.php sowie die Variablen $webutler_categories und $webutler_config['categories'] umbenannt werden.

Seiten- und Verzeichnisnamen

In Seiten- und Verzeichnisnamen sind jetzt alle Buchstaben möglich, nicht mehr nur A bis Z. Wer Dateien manuell benennt und nicht über die WEButler-Administration, muss die Namen encodieren.

Beziehungen zwischen Seiten in verschiedenen Sprachen

Im Sprachen-Fenster können jetzt Beziehungen zwischen Seiten mit gleichem Inhalt in verschiedenen Sprachen festgelegt werden. Wenn man im Sprachenblock auf ein Fähnchen klickt, wird nicht mehr die Startseite der Sprache, sondern die entsprechende verbundene Seite aufgerufen.

Sitemap

Die Sitemap wurde um den <lastmod>-Tag mit dem Datum der letzten Änderung der Seite erweitert. Außerdem erscheinen <link>-Tags mit hreflang-Angaben bei mehrsprachigen Seiten, wenn entsprechende Beziehungen zwischen Seiten festgelegt wurden. Bei ModMaker-Modulen erscheinen die <link>-Tags nur wenn das Modul mit der Option "Identische Seiten für alle Sprachen" angelegt wurde.

Weitere Administratoren

Im Fenster "Erweiterte Administratorfunktionen" können weitere Administratoren angelegt, geändert und gelöscht werden.

Template für Fehlermeldungen in ModMaker Modulen

Fehlermeldungen in ModMaker Modulen wurden bisher einfach als einfacher Text ausgegeben. Mit dem neuen Template kann der Text jetzt formatiert werden.

Verzeichnisschutz

Einige Ordner haben einen Verzeichnisschutz. Ab Apache 2.4 hat sich die Directive geändert
Order allow,deny
Deny from all
wird zu
Require all denied
Wer Apache 2.4 oder höher nutzt, muss die .htaccess Dateien aktualisieren.

Update von Version 3.2 - Was ist zu tun?

  1. Das komplette /admin-Verzeichnis vom Server löschen und das neue Verzeichnis hochladen
  2. Die Dateien /index.php und .htaccess im Root durch die neuen Dateien ersetzen
  3. Die Dateien /loader.php, /wbclass.php und /mmclass.php im Verzeichnis /includes durch die neuen Dateien ersetzen
  4. In den Verzeichnissen /content/blocks, /content/menus und /content/pages alle Dateien nach index.php?page= durchsuchen und in index.php?wbpagefile= umbenennen. Die Dateien in /content/layouts und /content/pattern sollten ebenfalls kontrolliert werden.
  5. ModMaker Module um AdminToken erweitern, GET Variable page in area ändern, geänderte (ModMaker) login.php
    1. Der einfache Weg
      • Den ModMaker öffnen, sein(e) Modul(e) zur Bearbeitung öffnen, neu herunterladen und entpacken
      • Die alten Dateien /admin.php und /admin/login.php (wenn vorhanden) des Moduls durch die neuen Dateien aus dem Download ersetzen
    2. Der etwas kompliziertere Weg
      • Die Datei /modules/__MODULNAME__/admin.php öffnen
        nach $webutlermodadmin->checkadmin() suchen und nach der Abfrage
        if(!$webutlermodadmin->checktoken()) exit('no access'); einfügen
        Außerdem nach Links suchen, die mit "admin.php?..." beginnen
        Die Links erweitern mit: &admintoken=<?PHP echo $_SESSION['admintoken']; ?>
      • Ebenfalls in der Datei /modules/__MODULNAME__/admin.php
        nach $_GET['page'] suchen und in $_GET['area'] ändern
        nach "admin.php?page=..." suchen und in "admin.php?area=..." ändern
      • In der Datei /admin/login.php (wenn vorhanden) gibt es sehr viele Änderungen. Am besten die Datei /makemod/draft/admin/login.php herunterladen, in einem Editor öffnen und über suchen/ersetzen ###MODULENAME### mit dem Ordnernamen des Moduls (in Kleinbuchstaben) ersetzen. Außerdem _MODMAKERLANGADMIN_ mit _[Ordnername des Moduls]LANGADMIN_ (alles in Großbuchstaben) ersetzen.
  6. In ModMaker-Modulen ist der URL-Parameter "pager" jetzt konfigurierbar. Jeweils die Datei /modules/__MODULNAME__/data/config.php öffnen und im Array 'urlparams' das Key-Value Paar 'pager' => 'pager' ergänzen. Value ist frei wählbar.
  7. Für neue ModMaker-Module sind die URL-Parameter 'caturl', 'topicurl' und 'dataurl' hinzugekommen. Deshalb müssen auch die bisherigen Parameter-Keys im Array 'urlparams', soweit vorhanden, geändert werden:
    • order ändern in catorder
    • cat ändern in catid
    • topic ändern in topicid
    • data ändern in dataid
  8. Im ModMaker-Adminverzeichnis die Datei /admin/makemod/draft/view/tpls/notice.tpl kopieren und ins Templateverzeichnis selbst erstellter ModMaker-Module einfügen: /modules/__MODULNAME__/view/tpls.
  9. "categories" in "directories" ändern
    • Datei /access/categories.php in /access/directories.php umbenennen (wenn vorhanden)
    • Die Datei öffnen und $webutler_categories in $webutler_directories umbenennen
    • Außerdem den Array-Key $webutler_categories['cats'] in $webutler_directories['dirs'] umbenennen
  10. Laden von Stylesheets
    • CSS-Dateien aus den /source-Verzeichnissen eine Verzeichnisebene höher verschieben und das /source-Verzeichnis löschen
    • Das neue Verzeichnis /content/compress anlegen
    • Die neue Datei /settings/compress.php uploaden
    • Alle für die Homepage benötigten Stylesheets in die compress.php eintragen
    • Laden von Modulstylesheets in ModMaker Modulen aus der view.php entfernen, stattdessen in die compress.php eintragen
  11. Verzeichnis /javascript von /includes nach /content verschieben und evtl. chmod setzen
    • Die neue Datei /lightbox/lightbox_plus.js hochladen (Pfade in der Datei haben sich geändert)
    • Wer den Flash Videoplayer oder den Flash MP3-Player nutzt, muss den Pfad zum Player in seinen HTML-Dateien anpassen
      • aus includes/javascript/player/flvplayer.swf?flv=...
        wird content/javascript/player/flvplayer.swf?flv=...
      • aus includes/javascript/player/mp3player.swf?mp3=...
        wird content/javascript/player/mp3player.swf?mp3=...
      also jeweils includes mit content ersetzen
    • Laden der lightbox_plus.js in ModMaker Modulen aus der view.php entfernen (wenn vorhanden), das Script stattdessen in die compress.php eintragen
  12. Folgende aktualisierte Dateien hochladen:
    • /includes/sitemap/index.php
    • /includes/language/langblock.php
    • /includes/search/search.php
    • /includes/search/tpls/searchbox.tpl (index.php?page= wurde in index.php?wbpagefile= geändert)
    • /includes/users/loginblock.php und
    • /includes/users/userpage.php
  13. Neue Variablen in der globalvars.php
    • $webutler_config['enabled_adminlangs'] - Aktivierte Administrator Sprachen
    • $webutler_config['edit_css_js'] - Menüpunkt Bearbeitung von CSS- und JS-Dateien ein-/ausschalten
    • $webutler_config['adminsubadmins'] - Bearbeitungsfunktionen für weitere Administratoren ein-/ausschalten
    • $webutler_config['subadminslen'] - Maximale Anzahl an anlegbaren Administratoren
    • $webutler_config['compressor_onload_css'] und $webutler_config['compressor_onload_js'] - CSS- / JS-Dateien bei jedem Laden der Seite komprimieren
    • $webutler_config['googlemaps_key'] - Die Google-Map funktioniert nur noch mit einem API-Key
    • $webutler_config['cssnotineditor'] - wurde entfernt, es wird nur noch die style_TIMESTAMP.css aus dem Verzeichnis /compress geladen
    • $webutler_config['ckecssclasses'] - wurde entfernt, für die Übersichtlichkeit wurden die Klassen in die neue Datei editor_classes.css verschoben
    • Für die Übersichtlichkeit wurden die im Editor genutzten CSS-Klassen in die neue Datei editor_classes.css verschoben, diese Datei ebenfalls hochladen.
  14. Geänderte Variablen in der globalvars.php, folgende Array-Keys müssen geändert werden:
    • admin_name ändern in master_name
    • admin_pass ändern in master_pass
    • admin_lang ändern in master_lang
    • urlendung ändern in urlext
    • offline_links ändern in offlinelinks
    • schritte_zurueck ändern in stepsback
    • admin_erweitert ändern in admin_advanced
    • categories ändern in directories
  15. Neue Variable in der baseconfig.php
    • $webutler_config['sub_admins'] = array(); - Zugangsdaten für weitere Administratoren
  16. Geänderte Variablen in der baseconfig.php, folgende Array-Keys müssen geändert werden:
    • user_name ändern in admin_name
    • user_pass ändern in admin_pass
    • user_lang ändern in admin_lang
    • startseite ändern in startpage
    • ownerrorpage ändern in errorpage
  17. Wer Apache 2.4 oder höher nutzt, muss die .htaccess Dateien für den Verzeichnisschutz aktualisieren. Die .htaccess aus /content/access kopieren und in folgende Verzeichnisse einfügen (die vorhandene Datei überschreiben):
    • /admin/makemod/draft
    • /admin/makemod/draft/data
    • /admin/makemod/draft/media/files
    • /admin/makemod/draft/view/tpls
    • /content/access
    • /content/blocks
    • /content/columns/source
    • /content/layouts
    • /content/menus
    • /content/pages
    • /content/pattern/files
    • /includes/forms/tpls
    • /includes/language/tpls
    • /includes/search/tpls
    • /includes/users/tpls
    • In allen ModMaker-Modulen jeweils in
      • /modules/__MODULNAME__/data
      • /modules/__MODULNAME__/media/files
      • /modules/__MODULNAME__/view/tpls
    • /settings