AdvancedMod Rewrite Plugin 0.3.0 fr Contenido 4.8.4

####################################################################################################
TOC (Table of contents)

- BESCHREIBUNG
- CHANGELOG
- FEATURES
- VORAUSSETZUNGEN
- INSTALLATION
- WICHTIGE NDERUNGEN
- FAQ
- ADVANCED MOD REWRITE THEMEN IM CONTENIDO FORUM
- SCHLUSSBEMERKUNG


####################################################################################################
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.


####################################################################################################
CHANGELOG

2008-05-26 AdvancedMod Rewrite Plugin 0.3.0
    * change: Adapted to Contenido 4.8.4
    * bugfix: Usage of new configuration in ModRewriteController::_setIdart() instead of 
              clientsetting
    * new:    Feature to add default articlenames (userdefined name or name os startarticle) to 
              created category URLs
    * change: Some cleanup and improvement of query execution
    
2008-05-20: AdvancedMod Rewrite Plugin 0.2.1rc
    * bugfix: Hard coded path in include.mod_rewrite_content.php (thanks to tono)
    * bugfix: Added file_put_contents() function in file class.confighandler.php to support PHP4
              (thanks to tono)
    * bugfix: Added missed handling of defined rootdir for .htaccess file in 
              class.modrewritecontroller.php (thanks to tono)

2008-05-19: AdvancedMod Rewrite Plugin 0.2rc
    * first release

    
####################################################################################################
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 


####################################################################################################
FAQ

Wie richte ich Advanced Mod Rewrite fr eine Contenidoinstallation in einem Unterverzeichnis ein?
-------------------------------------------------------------------------------------------------

Als Beispiel gehen wir davon aus, dass Contenido im Verzeichnis /mypage/ unterhalb vom Webroot 
installiert wurde und das Mandantenverzeichnis per default /mypage/cms/ ist.

In der Pluginkonfiguration (Backend) den Pfad zur .htaccess Datei (aus Sicht des Web-Browsers) 
folgendermaen anpassen:
[code]
/mypage/
[/code]

Die /mypage/.htaccess ffnen und die RewriteBase folgendermaen anpassen:
[code]
RewriteBase /mypage/cms/
[/code]


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

Plugin Advanced Mod Rewrite fr Contenido 4.8.x:
http://www.contenido.de/forum/viewtopic.php?t=21578

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

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

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


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

Benutzung des Plugins auf eigene Gefahr!

Murat Purc, murat@purc.de
