![]() |
PlugIn = inaktiv > inkorrekte Anzeige = Installieren & aktivieren - 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: PlugIn = inaktiv > inkorrekte Anzeige = Installieren & aktivieren (/thread-39014.html) Seiten: Seiten:
1
2
|
PlugIn = inaktiv > inkorrekte Anzeige = Installieren & aktivieren - Gerti - 18.12.2023 Hallo, bin gerade am Testen eines PlugIns Bei einem installierten und aktiviertem PlugIn wird unter aktive PlugIns Deaktivieren | Deinstalieren korrekt angezeigt. PlugIn-Einstellungen: wenn das PlugIn : a) deaktiv geschaltet wird, wird unter aktive PlugIns inkorrekterweise Installieren & Aktivieren ausgegeben. wenn das PlugIn wieder: b) aktiv geschaltet wird, wird unter aktive PlugIns wieder korrekt Deaktivieren | Deinstallieren angezeigt. Auswirkung: Klicke ich beim Zustand "a" auf Installieren & Aktivieren (weil man denkt es sei ein Fehler und nicht mehr an die ACP-Einstellungen denkt und somit anstelle es in den Einstellungen zu aktivieren), werden die Einstellungen, da ohne vorherige Deinstallation, wieder installiert wird sind dann doppelt gegeben. Wenn in den Einstellungen das PlugIn deaktiviert wurde, sollte doch "b" in den aktiven PlugIns mit Deaktivieren | Deinstallieren weiterhin gegeben sein. So zumindest bei anderen PlugIns welche in den Einstallungen de-/aktiviert werden können. Was muss beim PlugIn beachtet werden damit beim aktivieren bzw. deaktivieren in den PlugIn-Einstellungen die korrekte Anzeige Deaktivieren | Deinstallieren im Abschnitt aktive PlugIns weiterhin ausgegeben wird? Wovon (bzw. von welcher function?) ist die Ausgabe abhängig für die Anzeige welche unter aktive PlugIns ausgegeben wird? Danke für Tipps und Hinweise. RE: PlugIn = inaktiv > inkorrekte Anzeige = Installieren & aktivieren - doylecc - 18.12.2023 Da würde ich nochmal überprüfen, welche Bedingung du in der Funktion "pluginname_is_installed()" gesetzt hast. Diese muss ja noch erfüllt sein, wenn du nur deaktivierst und nicht deinstalliert hast. RE: PlugIn = inaktiv > inkorrekte Anzeige = Installieren & aktivieren - Schnapsnase - 18.12.2023 @Gerti Ich denke mal, es handelt sich wieder um das Plugin Snowfall?! Da in deiner letzten Plugin-Version in den Funktionen "_activate()", "_deaktivate()" nichts sinnvolles getan wird und in der Funktion "_is_installed()" die if-Anweisung falsch definiert ist, kannst du diese drei Funktionen in deinem Plugin auch ruhigen Gewissens weg lassen. ![]() RE: PlugIn = inaktiv > inkorrekte Anzeige = Installieren & aktivieren - Gerti - 18.12.2023 Danke für die Hilfestellung. Der Abschnitt function snow_is_installed() lautet: PHP-Code: function pluginname _is_installed() { RE: PlugIn = inaktiv > inkorrekte Anzeige = Installieren & aktivieren - Schnapsnase - 18.12.2023 (18.12.2023, 13:19)Gerti schrieb: Der Abschnitt function snow_is_installed() lautet: Da liegt auch das Problem. Jedesmal wenn du in den Plugin-Einstellungen das Plugin abschaltest, wird es als nicht mehr installiert betrachtet. Das besagt zumindest deine if-Anweisung. ![]() Dieses Setting eignet sich nicht für die Funktion "_is_installed()". RE: PlugIn = inaktiv > inkorrekte Anzeige = Installieren & aktivieren - Gerti - 18.12.2023 (18.12.2023, 13:28)Schnapsnase schrieb: Dieses Setting eignet sich nicht für die Funktion "_is_installed()".Ohne Lösungsweg bringt mich diese Aussage nicht weiter. In den PlugIns z.B.:
Habe es auch mal komplett 1:1 (mit angepasstem PlugIn-Namen) angepasst PHP-Code: function snowfall_is_installed() { RE: PlugIn = inaktiv > inkorrekte Anzeige = Installieren & aktivieren - SvePu - 18.12.2023 Probiere mal bitte: PHP-Code: function snow_is_installed() Wichtig dabei ist, dass du die Settings erst bei _uninstall() entfernst und nicht bei _deactivate() RE: PlugIn = inaktiv > inkorrekte Anzeige = Installieren & aktivieren - Schnapsnase - 18.12.2023 @Gerti Ich gehe davon aus, dass du deine if-Anweisung verstehst und auch weißt, was dieses Setting tut. Daher hatte ich dir gesagt, dass es für diese Funktion ungeeignet ist. Warum sollte das "Abschalten" des Schneesturms entscheidend dafür sein, dass das Plugin als installiert/deinstalliert geführt wird?? Die Probleme merkst du ja nun selbst. Benutze für diese Funktion die Existenz eines DB-Feldes bzw. überprüfe auf dieses. Das macht mehr Sinn. Gleichwohl hatte ich dir bereits angedeutet, dass auch die anderen Funktionen activate/deaktivate in diesem Plugin keinen Sinn ergeben, da sie nichts "Wertvolles" tun und durchaus im Code weggelassen werden können. RE: PlugIn = inaktiv > inkorrekte Anzeige = Installieren & aktivieren - Gerti - 18.12.2023 @SvePu mit PHP-Code: if(empty($mybb->settings['snow_enable'])) PHP-Code: if(empty($mybb->settings['snow_enable'])) . (18.12.2023, 14:31)Schnapsnase schrieb: @GertiBin leider noch nicht allwissend. Mea Culpa dafür. (18.12.2023, 14:31)Schnapsnase schrieb: Benutze für diese Funktion die Existenz eines DB-Feldes bzw. überprüfe auf dieses. Das macht mehr Sinn.Danke für den Tipp. Habe es versucht mit PHP-Code: if($db->field_exists('showsnowfall_stop', "users")) (18.12.2023, 14:31)Schnapsnase schrieb: Gleichwohl hatte ich dir bereits angedeutet, dass auch die anderen Funktionen activate/deaktivate in diesem Plugin keinen Sinn ergeben, da sie nichts "Wertvolles" tun und durchaus im Code weggelassen werden können.Wo steht dieser Hinweis? Aktuell ist: PHP-Code: function snowfall_activate() { PHP-Code: function snowfall_deactivate() { Nach dem näheren Hinsehen auf den Vorschlag von SvePU habe ich die Ursache für die Fehlfunktion gefunden. Inkorrekt war: PHP-Code: function snowfall_is_installed() { PHP-Code: function snowfall_is_installed() { Die Werte true und false waren vertauscht. Nach der Korrektur funktioniert es wie es soll. Jezt funktioniert es auch mit: PHP-Code: if(isset($mybb->settings['snow_enable'])) Werde jetzt mal ausgiebig austesten und wenn doch noch Probelme bestehen sollten, melde ich mich nochmals. Zunächst aber Danke an SvePu für den Hinweis sowie an alle weiteren Involvierten für Ihr eingebrachtes Engagement. RE: PlugIn = inaktiv > inkorrekte Anzeige = Installieren & aktivieren - Schnapsnase - 18.12.2023 (18.12.2023, 15:57)Gerti schrieb: Wo steht dieser Hinweis? Diese, meine Argumente waren auch nicht auf die Fehlfunktion bezogen. Ich habe lediglich angedeutet, dass der Inhalt der Funktionen keinen Sinn macht. (18.12.2023, 15:57)Gerti schrieb: Nach dem näheren Hinsehen auf den Vorschlag von SvePU habe ich die Ursache für die Fehlfunktion gefunden.... Die Sinnhaftigkeit dieser Prüfung ist für mich trotzdem nicht gegeben. Da könnte man auch jedes andere Setting auf Vorhandensein oder "0" prüfen und käme zum gleichen Ziel. Wenn man die Prüfung auf die Datenbank bezieht, würde man im Extremfall wenigstens einem SQL-Error entgehen. Das wäre für mich logischer. |