Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
MyBB 1.4 Templates per Script ändern
#1
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!
[Bild: Nirgendssicher.jpg]
Zitieren
#2
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.
[Bild: Nirgendssicher.jpg]
Zitieren
#3
Auf die Schnelle sehe ich leider auch keinen Fehler. Allerdings bin ich auch kein Fachmann was reguläre Ausdrücke angeht. Sad

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#4
Hmmmm, schade.
Übrigens, die delaccount.php zeigt nach dem aktivieren auch keinen Link an... (Das war auch mein Muster)
[Bild: Nirgendssicher.jpg]
Zitieren
#5
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...

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#6
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!
[Bild: Nirgendssicher.jpg]
Zitieren
#7
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
[Bild: Nirgendssicher.jpg]
Zitieren