MyBB.de Forum
Revert-to-Original von Templates per Plugin aufrufen - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Entwicklung (https://www.mybb.de/forum/forum-74.html)
+--- Thema: Revert-to-Original von Templates per Plugin aufrufen (/thread-31276.html)



Revert-to-Original von Templates per Plugin aufrufen - SvePu - 21.01.2015

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


RE: Revert-to-Original von Templates per Plugin aufrufen - StefanT - 21.01.2015

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).


RE: Revert-to-Original von Templates per Plugin aufrufen - SvePu - 21.01.2015

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}')"); 



RE: Revert-to-Original von Templates per Plugin aufrufen - StefanT - 21.01.2015

Genau.


RE: Revert-to-Original von Templates per Plugin aufrufen - SvePu - 21.01.2015

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']}'");




RE: Revert-to-Original von Templates per Plugin aufrufen - frostschutz - 21.01.2015

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,


RE: Revert-to-Original von Templates per Plugin aufrufen - SvePu - 21.01.2015

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.