tas2580
Blog über Webentwicklung

Mods so einbauen das es bei Updates zu weniger Problemen kommt

tas2580  

Wer schon mal ein Update mit einem phpBB3 gemacht hat wird festgestellt haben das der automatische Updater einem zwar im Gegensatz zu den Änderungen bei phpBB2 einiges an Arbeit abnimmt, aber dafür immer mal wieder Änderungen die durch Mods gemacht wurden verliert. Wer viele Mods einbaut muss auch viel an den Dateien von phpBB3 ändern was dann beim Update zu Problemen führen kann. Um das ein bisschen zu verbessern kann man aber einige Änderungen in eigene Dateien auslagern die vom Updater nicht beachtet werden.


Man legt sich also einfach eine neue leere Datei an, nennen wir sie mal eigenes_zeug.php und legen sie in den Ordner includes im Forenverzeichnis. Die Datei bindet man jetzt mit

require($phpbb_root_path 'includes/eigenes_zeug.' $phpEx);

in der common.php nach // Include files ein.

Das gleiche machen wir jetzt noch mit einer Sprachdatei da viele Mods neue Sprachvariablen mitbringen die global eingebunden werden müssen. Man legt sich also noch eine Datei in /language/de/mods an die man dann als globale Sprachdatei verwendet. Aber jetzt füllen wir erstmal unsere neu angelegte eigenes_zeug.php mit dem nötigsten, das währe also eine Sicherung gegen register_globals exploits und das einbinden der eigenen Sprachdatei, außerdem bauen wir gleich noch eine Funktion die in der phpBB Headerfunktion aufgerufen wird mit ein da da auch viele Mods was einfügen wollen.

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
    exit;
}
function 
global_haeder_things()
{
    global 
$user$template;
 
    
$user->add_lang('mods/meine_sprachdatei');
    
$template->assign_vars(array(
        
Hier können globale Template Variablen von Mods zugewiesen werden
    
));
}

Dann öffnet man die includes/functions.php und fügt nach

define('HEADER_INC'true);

seine eigene Header Funktion ein:

global_haeder_things();

Das wars eigentlich schon. Wenn man jetzt einen Mod einbaut der was in die Funktion page_header in der functions.php einfügt fügt man den Code einfach in seine eigene Header Funktion in der eigenen Datei ein. Das gleiche gilt für Sprachvariablen in der common.php. Wer Mods die viel am Footer ändern verbaut hat kann sich natürlich zusätzlich noch eine Footer Funktion in seine eigene Datei bauen, je nach dem wo man eben viel Code für Mods verbaut.

Natürlich erspart einem das nicht bei allen Mods Änderungen an den Originalen phpBB Dateien, aber einiges kann man so auslagern und hat dann bei Updates weniger Probleme da man im schlimmsten Fall einfach seine Datei wieder includen muss falls der Updater das mal raus wirft.


Ähnliche Beiträge


Kommentare


Bitte warten ...

Kommentar schreiben

URLs werden automatisch umgewandelt.
[b]DEIN TEXT[/b] für Fett gedruckt
[quote]DEIN ZITAT[/quote] für Zitate
[code]DEIN CODE[/code] für Code
captcha