AdvancedMod Rewrite Plugin 0.2 fr Contenido 4.8.3

####################################################################################################
BESCHREIBUNG

Das Plugin Advanced Mod Rewrite basiert auf die geniale Erweiterung Advanced Mod Rewrite fr 
Contenido, welches als Bundle von stese bis zur Contenido Version 4.6.15 entwickelt und betreut 
wurde.

Wichtiger Aspekt bei der Umsetzung war die Implementierung als Plugin mit so wenig wie mglichen 
Eingriffen in den Contenido Core (trotzdem ging es nicht ohne einige Anpassungen an bestimmten 
Sourcen).

Daher enthlt das Archiv einige berarbeitete Contenido Sourcen, die eventuell nicht auf dem 
neuesten Stand sein knnen.


####################################################################################################
FEATURES

- Erstellung Suchmaschinenoptimierter URLs, Contenido interne URLs wie 
  /front_content.php?idcat=12&idart=34 werden z. B. als /kategoriename/artikelname.html umschrieben
- Untersttzung mehrerer Sprachen 
- Untersttzung mehrerer Mandanten im gleichen Verzeichnis 
- Umschreiben der URLs entweder bei der Ausgabe des HTML Codes oder beim Generieren des Codes der 
  Seiten 
- Routing von URLs (Umleiten eingehender URLs auf andere Ziel-URLs)


####################################################################################################
VORAUSSETZUNGEN

- Alle Voraussetzungen von Contenido 4.8.x gelten auch fr das Plugin 
- PHP ab 4.4.x (Das Plugin selber verwendet noch keine Features von PHP 5) 
- Apache HTTP Server 2 mit Mod Rewrite 


####################################################################################################
INSTALLATION

- Backup der Contenido Installation also der Sourcen und der Datenbank (Damit es ein Weg zurck gibt) 
- Kopieren aller Dateien in die entsprechenden Verzeichnisse. 
- Schreibrechte fr PHP in das Verzeichnis /contenido/plugins/mod_rewrite/includes/ setzen. Das 
  Plugin speichert die Advanced Mod Rewrite Konfiguration der Mandanten in das Verzeichnis.
  (Der einfachste Weg ist das Setzen der Rechte auf 777, empfohlen ist eine restriktivere Vergabe) 
- In die Adresszeile des Browsers http://localhost/contenido/plugins/mod_rewrite/install.php 
  eingeben, dann sollte das Anmeldefenster des Backends erscheinen.
  ("http://localhost/" ist eventuell gegen anderen virtual Host oder Domainnamen ersetzen) 
- Im Backend anmelden 
- Advanced Mod Rewrite Plugin installieren 
  HINWEIS: Der Plugininstaller erstellt eine Kopie der Tabelle "{prefix}_plugins_{YYYYMMDD}", falls 
  die Tabelle die Voraussetzungen des Plugins nicht erfllt. Wenn vorher Plugins installiert wurden, 
  mssen die Eintrge von der Kopie der Tabelle manuell in die neue Tabelle bernommen werden. 
- Advanced Mod Rewrite konfigurieren (Im Backend unter Men "Content" -> "Advanced Mod Rewrite") 


####################################################################################################
WICHTIGE NDERUNGEN

.htaccess:
----------
Die .htaccess wurde etwas entschlackt und leitet die Anfragen an index_controller.php im Ordner "cms"

cms/index_controller.php:
-------------------------
Analysiert die REQUEST_URI und lst sie in die Bestandteile auf (je nach Konfiguration in $client, 
$lang, $idart, $idcat usw.).
Gefundene Teile werden gleich gesetzt, am Ende wird dann die front_content.php includiert.

contenido/plugins/mod_rewrite/:
-------------------------------
Die Sourcen des Plugins.

contenido/classes/mp/class.cec_hook.php:
----------------------------------------
Contenido Extension Chainer Hook Klasse, steuert den Aufruf registrierter Chain-Funktionen.
Vorteil ist weniger Code, da meistens immer durch die Chain-Funktionen iteriert wird, dies wird von 
CEC_Hook erledigt.

contenido/classes/mp/class.confighandler.php:
---------------------------------------------
Klassen zur Verwaltung von serialisierten Kofigurationen in Dateien oder in der Datenbank.

contenido/classes/mp/class.mpdebug.php:
---------------------------------------
Eine Klasse zum Debuggen von Variablen und zur Ausgabe der Debuginformationen ohne das Layout zu 
zerstren (Inspiriert von symfony Frameworks Web Debug Toolbar).

contenido/includes/config.chains.php:
-------------------------------------
Einige neue Chains sind hinzugekommen, um die Funktionen des Advanced Mod Rewrite Plugins an 
bestimmten Stellen einzubinden: 
- Contenido.Article.conMoveArticles_Loop 
- Contenido.Article.conCopyArtLang_AfterInsert 
- Contenido.Article.conSyncArticle_AfterInsert 
- Contenido.Frontend.CreateURL 
- Contenido.Content.conGenerateCode 
- Contenido.Frontend.HTMLCodeOutput 


####################################################################################################
ADVANCED MOD REWRITE THEMEN IM CONTENIDO FORUM

Advanced Mod Rewriting Contenido 4.4.4:
http://www.contenido.de/forum/viewtopic.php?t=6713

Original Advanced Mod Rewrite 4.6.15:
http://www.contenido.de/forum/viewtopic.php?t=11162

Original Advanced Mod Rewrite 4.6.23:
http://www.contenido.de/forum/viewtopic.php?t=18454


####################################################################################################
SCHLUSSBEMERKUNG

Benutzung des Plugins auf eigene Gefahr!

Murat Purc, murat@purc.de
