Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.19 veröffentlicht (11.09.18)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Revert-to-Original von Templates per Plugin aufrufen
#1
Hallo,

gibt es einen Weg, wie man die Zurücksetzung von Templates zum Originaleintrag per Plugin steuern kann?

Ich habe den entsprechenden Code in "admin/modules/style/templates.php" gefunden, aber leider keine Funktion entdeckt, die man via Plugin aufrufen könnte.

Vielleicht hat ja jemand schon Erfahrungen damit gemacht und könnte mir/uns einen Tipp geben.


Danke & Gruß
Sven
MfG Sven
Zitieren
#2
Beim Zurücksetzen wird das Template im entsprechenden Template-Set einfach nur gelöscht (einfaches delete query). Man sollte nur aufpassen, dass man kein Template aus dem Master Template-Set löscht (die sid also größer 0 ist).
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
OK, also müsste man das technisch so lösen, dass man die entsprechende SID des Templates abfragt und das geänderte Template dann per $db->delete_query() entfernt.

Dadurch wird dann das Master Template wieder aufgerufen, oder?
____________
EDIT:

Oder geht das Gnze auch per Direktangabe des Templatenamens?
PHP-Code:
$templatearray = array(
 
       "postbit",
    
"postbit_classic"
 
   );
    
$deltemplates implode("','"$templatearray);
    
$db->delete_query("templates""title in ('{$deltemplates}')"); 
MfG Sven
Zitieren
#4
Genau.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
Dann sollte es doch auf diese Weise klappen:
PHP-Code:
$templatearray = array(
    
"postbit",
    
"postbit_classic"
);
$deltemplates implode("','"$templatearray);

$query $db->query("SELECT tid FROM ".TABLE_PREFIX."templates WHERE title IN ({$deltemplates}) AND sid > 0");
$template $db->fetch_array($query);
if(
$template)
{
    
$db->delete_query("templates""tid='{$template['tid']}'");

MfG Sven
Zitieren
#6
Wozu braucht man das?

Und du kannst das delete query mit den Bedingungen direkt machen... dann löschst du alle und nicht so wie in deinem Fall, irgendeines.

Und dein escape von deltemplates ist falsch, das wird nicht klappen weil du dann nach einem Template suchst das "postbit','postbit_classic" heißt inkl. der ' und , im Namen,
Zitieren
#7
Ja, den Fehler mit den "deltemplates" hab ich auch gerade entdeckt und geändert.

Es geht mir rein um die Möglichkeit, komplette Original (nicht Custom) - Templates via Plugin wiederherzustellen, wenn man z.B. den gesamten Inhalt eines Templates per Plugin ausgetauscht hat.
MfG Sven
Zitieren