Plugin-Update löscht (!!) Snippets (?)

Moin :slight_smile:

Bevor ich jetzt dazu einen Bug eröffne, frage ich mal in die Runde, ob jemand das Problem evtl. kennt:

Bei uns (5.5.5) passiert es immer wieder, dass eine Plugin-Update - und hier ganz speziell bzw. bis dato ausschließlich das Security-Plugin von SW selber - Snippets in der Datenbank löscht.

Und ja, ich meine das tatsächlich ernst! Ich habe das Update soeben auf meinem Dev-System durchgeführt und bekomme danach das Backend in einer Mischung aus Deutsch und Englisch angezeigt. Bei vielen Texten würde ich, wenn ich in der config nicht den Placeholder dazu eingeschaltet hätte, gar nichts angezeigt bekommen - so sehe ich wenigstens den Snippet-Placeholder.

Ein Vergleich mit dem Livesystem zeigt, dass da eben knapp 90 Texte gelöscht worden sind - die Tabellen haben eine unterschiedliche Anzahl Zeilen.

Und weil das auf dem Dev-System noch nicht nervig genug ist, ist uns das auf dem Live-System auch schon passiert - und zwar auch bei einem Update des Security-Plugins.

Was läuft da falsch?

Gerade mal getestet, also bei mir macht es das nicht. Es gibt auch nicht wirklich einen nachvollziehbaren Grund warum das Plugin in diesem Bereich etwas machen sollte.

Bei einigen Systemen kam sowas schon bei unterschiedlichsten Plugin Updates vor. Da aber auch nicht verlässlich reproduzierbar.

Im ersten Schritt würde ich einmal die config.php prüfen und den Theme Manager ob da etwas an den Einstellungen zu den Snippets verändert wurde (immer neu einlesen bspw.).

Hi Moritz,

das Neuladen der Snippets ist in beiden System erzwungen.

Die config sah wie folgt aus:

  


    'snippet' => [
        'readFromDb' => true,
        'writeToDb' => false,
        'readFromIni' => true,
        'writeToIni' => false,
        'showSnippetPlaceholder' => true
    ],

showSnippetPlaceholder im Livesystem selbstverstöndlich false

Soweit ich das nachvollziehen kann, fehlen einige Snippets vollständig (es werden im Devsystem dann die Placeholder angezeigt) und bei anderen lediglich die deutsche Varaiante (deswegen ist das Backend zum Teil englischsprachig). 

Ich muss das nochmal hoch holen.

Gestern habe ich das aktuelle Security Plugin installiert (Update via PluginManager im Backend) und wieder hat es mir Snippets gelöscht!

Die Snippets als solche sind noch vorhanden aber sie sind leer! Unter anderem “In den Warenkorb” als Buttonbeschriftung - also ein “Systemsnippet”.

Bitte … ich brauch Ideen und seien sie noch so abwegig. Vor einem Update die Tabelle sichern und danach einspielen kann ja nicht die Lösung sein (zumal eventuell durch das Update neue Snippets rein kommen oder bestehende geändert werden könnten).

Danke euch :slight_smile:

[Nachtrag]

Nachdem heute das neue Update des Security-Plugins installiert wurde, waren wieder knapp 2000 Einträge aus der s_core_snippets verschwunden.

Und nachdem ich im Plugin-Code nichts finden konnte, was das auch nur im Ansatz erklären würde … jede einzelne Datei im Plugin-Bundle angucken! Und dabei bin ich auf was gestoßen, das ich mir absolut nicht, gar nicht, erklären kann: im View-ordner lagen unzählige ini-Dateien. Fein säuberlich in Ordnern abgelegt und mit eindeutigen Namen. Und in den meisten gab es zwar [de_DE] aber nicht [en_GB] - Blöcke … und die [de_DE] - Blöcke waren ausnahmslos englischsprachig übersetzt … wenn … nicht Leerstrings übergeben wurden!!

Sobald man Deinstall des Plugins gemacht hat, waren alle diese Snippets aus der Datenbank verschwunden.

Ich habe das Plugin gelöscht, ein Backup der s_core_snippets eingespielt und das Plugin neu installiert … und es werden beim Update/Uninstall des Plugins nur die Snippets gelöscht, die in der security.ini in Snippets/backend/index definiert sind.

Ich habe gerade ein hell leuchtendes Fragezeichen über dem Kopf! Wo kamen all die ini-Dateien her?