MyBB.de Forum
MyBB 1.4 Templates per Script ändern - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: MyBB 1.4 Templates per Script ändern (/thread-10453.html)



MyBB 1.4 Templates per Script ändern - Bimon - 17.08.2008

Hallo,
ich habe so eben auf MyBB 1.4 aktualisiert und versuche jetzt ein Plugin anzupassen, dass die welcomeblocks editieren soll. die Funktion edit_templates() sah ursprünglich einmal anders aus, daher der Umweg ;-)

PHP-Code:
//Zum aktivieren
$guest['title'] = "header_welcomeblock_guest";
    
$guest['search'] = "{\$lang->welcome_register}</a>";
    
$guest['replace'] = "{\$lang->welcome_register}</a> — <a href=\"{\$v['pagesroot']}/index2.php\">{\$mybb->settings['homename']}</a>";

    
$member['title'] = "header_welcomeblock_member";
    
$member['search'] = "{\$lang->welcome_logout}</a>";
    
$member['replace'] = "{\$lang->welcome_logout}</a> — <a href=\"{\$v['gameroot']}/index.php\">{\$mybb->settings['homename']}</a>";
    
    
$admin['title'] = "header_welcomeblock_member_admin";
    
$admin['search'] = "<a href=\"{\$mybb->settings['bburl']}/{\$config['admin_dir']}/index.php\">{\$lang->welcome_admin}</a>";
    
$admin['replace'] = "<a href=\"{\$mybb->settings['bburl']}/{\$config['admin_dir']}/index.php\" target=\"_blank\">{\$lang->welcome_admin}</a>";
    
    
edit_templates($guest['search'], $guest['replace'], $guest['title']);
    
edit_templates($member['search'], $member['replace'], $member['title']);
    
edit_templates($admin['search'], $admin['replace'], $admin['title']); 

PHP-Code:
//Zum deaktiveren
$guest['title'] = "header_welcomeblock_guest";
    
$guest['replace'] = "{\$lang->welcome_register}</a>";
    
$guest['search'] = "{\$lang->welcome_register}</a> — <a href=\"{\$v['pagesroot']}/index2.php\">{\$mybb->settings['homename']}</a>";

    
$member['title'] = "header_welcomeblock_member";
    
$member['replace'] = "{\$lang->welcome_logout}</a>";
    
$member['search'] = "{\$lang->welcome_logout}</a> — <a href=\"{\$v['gameroot']}/index.php\">{\$mybb->settings['homename']}</a>";
    
    
$admin['title'] = "header_welcomeblock_member_admin";
    
$admin['replace'] = "<a href=\"{\$mybb->settings['bburl']}/{\$config['admin_dir']}/index.php\">{\$lang->welcome_admin}</a>";
    
$admin['search'] = "<a href=\"{\$mybb->settings['bburl']}/{\$config['admin_dir']}/index.php\" target=\"_blank\">{\$lang->welcome_admin}</a>";
    
    
edit_templates($guest['search'], $guest['replace'], $guest['title']);
    
edit_templates($member['search'], $member['replace'], $member['title']);
    
edit_templates($admin['search'], $admin['replace'], $admin['title']); 

PHP-Code:
if(!function_exists("edit_templates"))
{
function 
edit_templates($search$replace$title)
{
    if(!
function_exists("find_replace_templatesets"))
    {
    require 
MYBB_ROOT."inc/adminfunctions_templates.php";
    
find_replace_templatesets($title'#'.$search.'#'$replace);
    }
}


Leider passiert gar nichts...

Vielen Dank schonmal für eure Hilfe!


RE: MyBB 1.4 Templates per Script ändern - Bimon - 17.08.2008

Gut einen Fehler habe ich jetzt schon selber gefunden:
PHP-Code:
find_replace_templatesets($title'#'.$search.'#'$replace); 
sollte natürlich hinter der if-Abfrage stehen. Leider funktioniert immer noch nichts.


RE: MyBB 1.4 Templates per Script ändern - Michael - 18.08.2008

Auf die Schnelle sehe ich leider auch keinen Fehler. Allerdings bin ich auch kein Fachmann was reguläre Ausdrücke angeht. Sad


RE: MyBB 1.4 Templates per Script ändern - Bimon - 18.08.2008

Hmmmm, schade.
Übrigens, die delaccount.php zeigt nach dem aktivieren auch keinen Link an... (Das war auch mein Muster)


RE: MyBB 1.4 Templates per Script ändern - Michael - 18.08.2008

Auch nicht im Standardtheme? Ich hatte die Datei mehrfach getestet und da hat es funktioniert. Allerdings ist das auch immer mehr ein Probieren als Wissen, da reguläre Ausdrücke und ich wohl nie Freunde werden...


RE: MyBB 1.4 Templates per Script ändern - Bimon - 18.08.2008

So weit ich weiß soll der Link im Benutzer-CP unter den Profil Punkten zu finden sein, aber da ist nichts.

--> Das Template usercp_nav_profile befindet sich noch im Originalzustand!


RE: MyBB 1.4 Templates per Script ändern - Bimon - 25.08.2008

Ich habe mir nun einmal das Plugin "AdminLink" zum Vorbild gemacht und habe folgnde Änderungen getätigt:

PHP-Code:
find_replace_templatesets($title'#'.preg_quote($search).'#i'$replace); 
  • Der Suchstring wird erst an die Funktion preg_quote() übergeben.
  • Mit dem Modifier "i" wird die Groß- und kleinschreibung missachtet


Und siehe da es Funktioniert Smile

//Edit:
Ich glaube beim deaktivieren der delaccount.php ist es sinnvoll den letzten Parameter der Funktion find_replace_templatesets() ($autocreate=1) auf 0 zu setzen.

//Edit2:
Mit delaccount.php funktioniert das leider doch nicht Sad