Knowledge Base
Aktionen bei der MOD-Installation
Aktionen, die für die Installation eines MODs durchgeführt werden müssen, sind in der MOD-Installationsanleitung
nach folgendem Schema aufgefürt:
#
#-----[ ACTION ]------------------------------------------
#
bzw. wenn zu der Aktion ein Kommentar vorhanden ist:
#
#-----[ ACTION ]------------------------------------------
#
# Hier steht der Kommentar.
#
Die Auflistung der Aktionen ist der wichtigste Teil der Installationsanleitung.
Dieser Part der Anleitung sollte
in Ruhe und sehr sorgfälltig durchgeführt werden. Wenn man hier einen Fehler macht, dann läuft im ungünstigsten Fall das Board
hinterher nicht mehr. Daher auch zuerst ein Backup des Boards anlegen und dann erst den MOD installieren.
Liste der möglichen Aktionen
Folgende Aktionen können in der Installationsanleitung
vorkommen:
• SQL
• COPY
• DIY INSTRUCTIONS
• OPEN
• FIND
• REPLACE WITH
• AFTER, ADD
• BEFORE, ADD
• INCREMENT
• IN-LINE FIND
• IN-LINE AFTER, ADD
• IN-LINE BEFORE, ADD
• IN-LINE REPLACE WITH
Die SQL Aktion
#
#-----[ SQL ]------------------------------------------
#
INSERT INTO phpbb_config ( config_name, config_value ) VALUES ('foo', 'bar');
Die SQL Aktion gibt an, welche SQL-Anfrage ausgeführt werden muss. Diese sind für MySQL geschrieben.
Wenn man ein anderes Tabellenpräfix als "phpbb_" verwendet, dann muss dieses entsprechend in der Anfrage geändert werden.
Die COPY Aktion
#
#-----[ COPY ]------------------------------------------
#
copy foo.php to foo.php
copy includes/bar.php to includes/bar.php
copy images/*.gif to images/*.gif
copy files/*.txt to files/*.txt
copy cache/*.* to cache/*.*
Die COPY Aktion gibt an welche Dateien wohin kopiert werden müssen. Die Verzeichnisangabe der Quelldateien erfolgt dabei relativ vom Verzeichnis aus,
in dem sich die Installationsanleitung befindet. Das Zielverzeichnis ist relativ zum Hauptverzeichnis des Boards angegeben.
Der Platzhalter * steht für eine beliebige Zeichenkombination. Die Anweisung
copy images/*.gif to images/*.gif
bezieht sich also auf alle
gif-Dateien des images-Verzeichnises. Die Anweisung
cache/*.* to cache/*.*
entsprechend auf alle Dateien des Verzeichnises cache.
Die DIY INSTRUCTIONS Aktion
#
#-----[ DIY INSTRUCTIONS ]------------------------------------------
#
CHMOD foo.php and bar.php to 777
Open in your web browser and follow the instructions in db_install.php
DIY steht für Do it yourself.
Bei diesen Aktionen handelt es sich nicht um Codeänderungen, die vorgenommen werden müssen. Meistens handelt es sich um Skripte, die ausgeführt
werden müssen um die Datenbank anzupassen, oder um Änderungen des CHMODs einzelner Dateien oder Verzeichnisse.
Die OPEN Aktion
#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/index_body.tpl
Die OPEN Aktion gibt an, welche Datei geöffnet werden soll. Nachfolgende Aktionen beziehen sich dann auf den Code dieser Datei bis zur nächsten
OPEN Aktion. Der Verzeichnispfad ist relativ zum Hauptverzeichnis des Boards angegeben.
Die FIND Aktion
#
#-----[ FIND ]------------------------------------------
#
$lang['General'] = 'General Admin';
Der nach FIND angegebene Code ist in der geöffneten Datei zu suchen. Es kann die gesamte Codezeile oder auch nur ein Teil der Codezeile angegeben sein.
So wären in diesem Beispiel auch
#
#-----[ FIND ]------------------------------------------
#
$lang['General'] =
oder
#
#-----[ FIND ]------------------------------------------
#
Admin';
möglich. Zudem kann, um die Codestelle eindeutig zu identifizieren, mehr als eine Codezeile angegeben sein. Nachfolgend wird nicht mehr gesondert
darauf hingewiesen, dass es sich auch um mehrer Zeilen handeln kann.
Die REPLACE WITH Aktion
#
#-----[ REPLACE WITH ]------------------------------------------
#
$lang['General'] = 'New string';
Die REPLACE WITH Aktion gibt an, das die vorher per FIND gefundene Codezeile durch die hier angegebene(n) Codezeile(n) zu ersetzen ist.
Die AFTER, ADD Aktion
#
#-----[ AFTER, ADD ]------------------------------------------
#
if ( $userdata['user_level'] == ADMIN )
{
edit_user();
}
Die bei der AFTER, ADD Aktion angegebenen Codezeilen sind nach dem per FIND gefundenen Codeabschnitt einzufügen.
Die BEFORE, ADD Aktion
#
#-----[ BEFORE, ADD ]------------------------------------------
#
if ( $userdata['user_level'] == USER )
{
redirect('index.'.$phpEx);
}
Die bei der BEFORE, ADD Aktion angegebenen Codezeilen sind vor dem per FIND gefundenen Codeabschnitt einzufügen.
Die INCREMENT Aktion
#
#-----[ FIND ]------------------------------------------
#
Powered by <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB</a> © 2001, {%:1} phpBB Group<br />{TRANSLATION_INFO}</span></div>
#
#-----[ INCREMENT ]-------------------------------------
#
%:1 +10
Die INCREMENT Aktion wird verwendet um Zahlen innerhalb eines Codes zu ändern. Es wird meist verwendet um die Zeilen- oder Spaltenanzahl von Tabellen
zu verändern.
Die entsprechende Zahl ist in der FIND Aktion durch {%:1} ersetzt worden. Sollen mehrere Zahlen verändert werden, so werden diese entsprechend
druchnummeriert {%:2}, {%:3} usw.
Die INCREMENT Aktion gibt an, mit welchem Wert die jeweilige Zahl addiert bzw. subtrahiert werden soll. Ist nichts angegeben, dann soll die Zahl mit Eins
addiert werden.
Im folgenden Beispiel sollen drei Zahlen verändert werden. Die erste Zahl soll um Eins erhöht werden, von der zweiten sollen drei subtrahiert
werden und zu der dritten Zahl sollen fünf hinzuaddiert werden.
#
#-----[ INCREMENT ]-------------------------------------
#
%:1
#
#-----[ INCREMENT ]-------------------------------------
#
%:2 -3
#
#-----[ INCREMENT ]-------------------------------------
#
%:3 +5
Die IN-LINE FIND Aktion
#
#-----[ FIND ]------------------------------------------
#
$lang['Admin'] = 'General Admin';
#
#-----[ IN-LINE FIND ]------------------------------------------
#
General
Die IN-LINE FIND Aktion gibt an welcher Code innerhalb der vorher per FIND gesuchten Codezeile(n) gefunden werden soll.
Im Unterschied zu FIND bezieht sich IN-LINE FIND immer nur auf eine einzige Codezeile und nie über mehrere Zeilen.
Anmerkung:
Da nur eine gewisse Anzahl von Zeichen in jeder Zeile vorkommen können, kann es sein, dass sich eine sehr lange Codezeilen über mehr als eine
Zeile auf dem Monitor erstreckt. Dennoch handelt es sich in diesem Fall um eine Codezeile.
Die IN-LINE AFTER, ADD Aktion
#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
phpBB
Der Code der IN-LINE AFTER, ADD Aktion soll innerhalb der Zeile nach dem per IN-LINE FIND gesuchten Code eingefügt
werden.
In dem Beispiel wäre das Resultat folgendes:
$lang['Admin'] = 'General phpBB Admin';
IN-LINE AFTER, ADD bezieht sich immer auf ein IN-LINE FIND und fügt nur innerhalb einer Zeile Code hinzu.
Die IN-LINE BEFORE, ADD Aktion
#
#-----[ IN-LINE BEFORE, ADD ]------------------------------------------
#
phpBB
Der Code der IN-LINE BEFORE, ADD Aktion soll innerhalb der Zeile vor dem per IN-LINE FIND gesuchten Code eingefügt
werden.
In dem Beispiel wäre das Resultat folgendes:
$lang['Adminl'] = 'phpBB General Admin';
IN-LINE BEFORE, ADD bezieht sich immer auf ein IN-LINE FIND und fügt nur innerhalb einer Zeile Code hinzu.
Die IN-LINE REPLACE WITH Aktion
#
#-----[ IN-LINE REPLACE WITH ]------------------------------------------
#
Common
Der vorher per IN-LINE FIND gesuchten Code wird durch den Code der IN-LINE REPLACE WITH Aktion ersetzt.
In dem Beispiel wäre das Resultat folgendes:
$lang['Admin'] = 'Common Admin';
IN-LINE REPLACE WITH bezieht sich immer auf ein IN-LINE FIND und ersetzt nur innerhalb einer Zeile Code.
|