Uninstall-Script vor anderen PIPs ausführen

  • Ich habe ein Uninstall-Script für ein Paket, welches in Abhängigkeit zu einem durch das Plugin selbst hinzugefügtes Datenbank-Feld im Zuge der Deinstallation etwas tun soll, bevor das Plugin letztlich entfernt wird. Blöderweise wird das Script aber erst ausgeführt, nachdem das Feld in der Datenbank bereits entfernt wurde, was dann zu Fehlern während der Deinstallation des Plugins führt.


    Gibt es eine Möglichkeit, vor der Ausführung der ganzen PIPs ein Script ausführen zu lassen? Oder muss ich das umkonzipieren?

  • Ich meine ich hatte das irgendwo mal bemängelt, und das wäre exakt so gewollt.

    Für mich nach wie vor absolut unverständlich, da es so keinerlei Nutzen hat, wenn man auf nahezu nichts zugreifen kann.

    Eventuell lässt sich das PIP ja irgendwann doch ändern in uninstall_identifier_pre.php und  uninstall_identifier(_post)?.php.

  • Es wäre auch nur konsequent es andersherum zu gestalten:

    • Installation
      • erst Dateien und Datenbanken
      • dann Script
    • Deinstallation

      • erst Script
      • dann Dateien und Datenbanken

    Der einzige Grund den ich mir vorstellen könnte, das Script erst nach der Deinstallation auszuführen ist um irgendwelche Leichen zu bereinigen. Aber selbst das geht eigentlich vorher besser...

    VG

    Fr33chen

  • um irgendwelche Leichen zu bereinigen.

    Dann musst du aber verdammt genau wissen, was du löschen willst, denn die dynamischen Inhalte der Erweiterung sind zu dem Zeitpunkt unwiderruflich weg.

    Ich wollte beispielsweise im Shop temporär externe Links für die Downloads nutzen (weil ich die über eine andere Erweiterung ausführen lasse) und bei der Deinstallation die Dateien in den Shop kopieren und die Datensätze auf intern stellen. Pustekuchen… Dateien beim Erstellen kopieren und Dateinamen zwischenspeichern geht auch nicht; die Daten sind dann ja auch bereits weg. Bisher sind alle Daten nach der Deinstallation meiner Erweiterung also nutzlos; weil ich keine Möglichkeit habe die Deinstallation bzw. deren tatsächlichen Start abzufangen und stabil eine Modifikation durchzuführen.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!