Mitgliedsbeitrag 4.2.3: Keine Funktion nach Update von 4.1.1

Hast du Probleme oder Fragen bei der Einrichtung bestimmter Plugins ? Diese kannst du hier loswerden.
Benutzeravatar
fiwad
Beiträge: 46
Registriert: 17. Okt 2013, 14:04

Mitgliedsbeitrag 4.2.3: Keine Funktion nach Update von 4.1.1

Beitrag von fiwad »

Hallo,

ich habe die Admidio-Installation unseres Vereins nach einiger Zeit mal wieder aktualisiert: 3.1.3 -> 3.2.14. Dabei habe ich auch die von uns verwendeten Plugins aktualisiert: Kategoriereport: 2.1.0 -> 2.2.2 und Mitgliedsbeitrag 4.1.1 -> 4.2.3. Nach dem Update funktionieren Admidio und der Kategoriereport ohne Probleme.

Wenn ich aber Mitgliedsbeitrag aufrufe (über den zuvor schon vorhandenen Link in der rechten Seitenleiste), erscheint nur eine leere Seite. Der aufgerufene URL lautet: adm_plugins/mitgliedsbeitrag/installation.php.

Hat jemand vielleicht irgendeine Idee, was hier das Problem sein könnte?

Viele Grüße,
fiwad
Benutzeravatar
fiwad
Beiträge: 46
Registriert: 17. Okt 2013, 14:04

Re: Mitgliedsbeitrag 4.2.3: Keine Funktion nach Update von 4.1.1

Beitrag von fiwad »

Hallo,

mittlerweile habe ich in der config.php die Einstellung "$gDebug = true;" gesetzt und erhalte beim Anklicken des Links zu Mitgliedsbeitrag im "normalen" Admidio-Fenster folgende Meldung:
------------------------------------------------------------------
Datenbankfehler

S Q L - E R R O R

CODE: 42000
1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 2

B A C K T R A C E

FILE: adm_program/system/classes/database.php
LINE: 512
CALL: Database->showError()

FILE: adm_plugins/mitgliedsbeitrag/installation.php
LINE: 1129
CALL: Database->query()

FILE: adm_plugins/mitgliedsbeitrag/installation.php
LINE: 498
CALL: check_DB()

------------------------------------------------------------------

Macht mich jetzt auch nicht viel schlauer, denn vor dem Update hat die "MySQL server version" ja auch gepasst...

Viele Grüße,
fiwad
Zuletzt geändert von fiwad am 3. Feb 2018, 13:23, insgesamt 1-mal geändert.
Benutzeravatar
fiwad
Beiträge: 46
Registriert: 17. Okt 2013, 14:04

Re: Mitgliedsbeitrag 4.2.3: Keine Funktion nach Update von 4.1.1

Beitrag von fiwad »

Hier noch zur Info:

PHP-Version = 7.0.27-he.0
MySQL-Version = 5.6.37-82.2-log

fiwad
rmb
Plugin-Developer
Beiträge: 632
Registriert: 10. Mai 2011, 19:56
Wohnort: 86856

Re: Mitgliedsbeitrag 4.2.3: Keine Funktion nach Update von 4.1.1

Beitrag von rmb »

Hallo fiwad,

mit der Version 4.2.1 werden vom Plugin erstellte Mitgliedsnummern organisationsabhängig gespeichert. Der Fehler in Zeile 1129 tritt auf beim Auslesen der alten Mitgliedsnummern.

Arbeitest Du überhaupt mit vom Plugin erstellten Mitgliedsnummern?

Gruß
rmb
Benutzeravatar
fiwad
Beiträge: 46
Registriert: 17. Okt 2013, 14:04

Re: Mitgliedsbeitrag 4.2.3: Keine Funktion nach Update von 4.1.1

Beitrag von fiwad »

Hallo rmb,

ich habe es sicherheitshalber gerade nochmal gecheckt: Das Feld für die Mitgliedsnummer ist bei uns bei allen aktiven und ehemaligen Mitgliedern leer. Auch bei beiden Organisationen, die wir verwenden (Sportabteilung und Förderverein).

(Wir gehören zu einem Hauptverein, bei dem die Geschäftsstelle die Mitgliedsnummer festlegt. Diese ist dann zwar bei uns in den Stammdaten enthalten, steht jedoch in einem von Mitgliedsbeitrag unabhängigen Feld.)

Kann ich den Check - als schnellen Workaround - einfach auskommentieren? Ach nee, wahrscheinlich nicht: Denn dann ist die Variable $statement für den Vergleich in Zeile 1130 nicht gesetzt.

Code: Alles auswählen

1129   $statement = $gDb->query($sql);
1130   while($row = $statement->fetch())
Hast du eventuell einen anderen Vorschlag? Meine Finanzkollegin müsste nämlich nächste Woche die Quartalsabbuchungen durchführen...

Viele Grüße,
fiwad
rmb
Plugin-Developer
Beiträge: 632
Registriert: 10. Mai 2011, 19:56
Wohnort: 86856

Re: Mitgliedsbeitrag 4.2.3: Keine Funktion nach Update von 4.1.1

Beitrag von rmb »

Hallo fiwad,

die Routine zwischen Zeile 1075 und Zeile 1158 erzeugt die neuen, organisationsabhängigen Profilfelder für Mitgliedsnummern und befüllt sie anschließend.

Der Fehler tritt in Zeile 1129 auf. Zu diesem Zeitpunkt müssten bereits die neuen Profilfelder angelegt worden sein (usf_name_intern = MEMBERNUMBER+eine Zahl); bei zwei Organisationen müssen zwei neue Profilfelder vorhanden sein). Prüfe das bitte (Tabelle adm_user_fields).

Wenn diese neuen Profilfelder vorhanden sind, kann und muss das alte, das nur MEMBERNUMBER heißt, umbenannt werden (siehe Zeile 1151 bis 1155)

Die gesamte Routine braucht nach der Umbenennung nicht auskommentiert werden, da sie nur durchlaufen wird, wenn genau MEMBERNUMBER (ohne eine angehängte Zahl) existiert.

Ich setze mir mal eine 4.1.1 auf, damit ich das auch testen kann.

Viele Grüße
rmb
Benutzeravatar
fiwad
Beiträge: 46
Registriert: 17. Okt 2013, 14:04

Re: Mitgliedsbeitrag 4.2.3: Keine Funktion nach Update von 4.1.1

Beitrag von fiwad »

Hallo rmb,

in der Tabelle adm_user_fields gibt es nur einen einzigen Eintrag für die Mitgliedsnummer:
  • usf_name_intern = MEMBERNUMBER
  • usf_name = PMB_MEMBERNUMBER
Weitere Einträge mit MEMBERNUMBER + Nummer in der Spalte usf_name_intern gibt es leider nicht.

(Mir ist klar, was vorhanden sein sollte. Beispielsweise gibt es zwei Felder ACCESSION1 und ACCESSION2 (usf_name_intern), jeweils mit PMB_ACCESSION (usf_name).)

Viele Grüße,
fiwad
Benutzeravatar
fiwad
Beiträge: 46
Registriert: 17. Okt 2013, 14:04

Re: Mitgliedsbeitrag 4.2.3: Keine Funktion nach Update von 4.1.1

Beitrag von fiwad »

Hallo rmb,

ich konnte das Problem lösen! :)

Das, was du in deinem Beitrag beschrieben hattest, habe ich (teilweise) mit Hilfe von phpMyAdmin direkt in der Datenbank durchgeführt. Hier kurz meine Vorgehensweise:

In phpMyAdmin
Den (einzigen) Eintrag für die Mitgliedsnummer wie folgt ändern:
MEMBERNUMBER -> MEMBERNUMBER_OLD
PMB_MEMBERNUMBER -> Mitgliedsnummer-alt

In Admidio
In Organisation 1 ein neues Feld anlegen: Name = PMB_MEMBERNUMBER, Datentyp = Dezimalzahl
Dieses Feld der gleichen Kategorie zuordnen, in der das Feld "Beitrag" (PMB_FEE) liegt. Hierdurch wird es organisationsspezifisch.
In Organisation 2 ein neues Feld anlegen: Name = PMB_MEMBERNUMBER, Datentyp = Dezimalzahl
Dieses Feld der gleichen Kategorie zuordnen, in der das Feld "Beitrag" (PMB_FEE) liegt.

In phpMyAdmin
Die beiden, durch die Aktion in Admidio neu ergänzten, Einträge für die Mitgliedsnummer in der Spalte usf_name_intern wie folgt ändern:
PMB_MEMBERNUMBER -> MEMBERNUMBER1
PMB_MEMBERNUMBER_2 -> MEMBERNUMBER2

Danach startete das Plugin bei Anklicken wie gewohnt.

Vielen Dank für deine Unterstützung + viele Grüße,
fiwad
rmb
Plugin-Developer
Beiträge: 632
Registriert: 10. Mai 2011, 19:56
Wohnort: 86856

Re: Mitgliedsbeitrag 4.2.3: Keine Funktion nach Update von 4.1.1

Beitrag von rmb »

Hallo fiwad,

das Profilfeld "Mitgliedsnummer-alt" kannst Du löschen, das Plugin greift darauf nicht mehr zu. Es ist nur zur Sicherheit, falls bei der Konvertierung ein Fehler passiert.

Viele Grüße
rmb
donross
Beiträge: 25
Registriert: 10. Jan 2015, 23:32

Re: Mitgliedsbeitrag 4.2.3: Keine Funktion nach Update von 4.1.1

Beitrag von donross »

Hallo beisammen,

auch ich wolte heute mal ein Update machen, hatte noch 4.2.0 und dachte, sei "up to date" mach 4.2.3 :-)

Die beschriebene Updatemethode habe ich durchgeführt.
- Dateien aus altem Verzeichnis weg,
- Neue Dateien rein

Ergebnis ist auch eine weiße Seite.
Also, so einfach scheint es dann doch nicht zu sein?

Die zuvor beschriebenen kryptischen Eingriffe am Herzen ziehe ich mal nicht in Betracht, kann ja nicht der normale Weg sein.

Gruß
Don
rmb
Plugin-Developer
Beiträge: 632
Registriert: 10. Mai 2011, 19:56
Wohnort: 86856

Re: Mitgliedsbeitrag 4.2.3: Keine Funktion nach Update von 4.1.1

Beitrag von rmb »

Hallo zusammen,

ich versuche seit Tagen den beschriebenen Fehler mit dem weißen Bildschirm zu reproduzieren, aber ohne Erfolg. Auf allen meinen Installationen läuft das Update problemlos durch.

Ich vermute, dass der Fehler beim Auslesen der cat_org_id der Profilfeld-Kategorie 'Mitgliedschaft' bzw 'PMB_MEMBERSHIP' auftritt. Meine Frage deshalb: Gibt es bei Euch eine Profilfeld-Kategorie Mitgliedschaft, die nicht vom Plugin Mitgliedsbeitrag angelegt wurde oder wurde evtl. die vorhandene Profilfeld-Kategorie Mitgliedschaft (PMB_MEMBERSHIP) mit dem Haken 'Eintrag für mehrere Organisationen' gekennzeichnet?

Gruß
rmb
donross
Beiträge: 25
Registriert: 10. Jan 2015, 23:32

Re: Mitgliedsbeitrag 4.2.3: Keine Funktion nach Update von 4.1.1

Beitrag von donross »

Ui, wo kann ich das geforderte denn nachschauen.
Habe mal mutig kurz das phpmyadmin bei meinem Hoster angeworfen,
aber mehr wie die beschriebene cat_org_id habe ich nicht gefunden,
Und bevor ich mir da jetzt was anschieße, frage ich lieber mal... 8)
rmb
Plugin-Developer
Beiträge: 632
Registriert: 10. Mai 2011, 19:56
Wohnort: 86856

Re: Mitgliedsbeitrag 4.2.3: Keine Funktion nach Update von 4.1.1

Beitrag von rmb »

Hallo Don,

geh mal in Administration - Einstellungen - Module - Profil - zur Profilfeldpflege wechseln. Im Fenster "Profilfelder" wählst du "Kategorien pflegen". Es öffnet sich das Fenster "Profilfelder-Kategorien". Hier klickst du "Mitgliedschaft" an. Es öffnet sich das Fenster "Profilfelder-Kategorie bearbeiten". Bei "Eintrag für mehrere Organisationen sichtbar" darf kein Haken sein.

Ein gesetzter Haken (sollte eigentlich nicht sein) würde in der Updateroutine zu einem Fehler führen und eine weiße Seite anzeigen. Die Prozedur habe ich mittlerweile überarbeitet und gehe einen komplett anderen Weg. Ein paar Tests noch, dann lade ich die neue Version hoch.

Gruß
rmb
donross
Beiträge: 25
Registriert: 10. Jan 2015, 23:32

Re: Mitgliedsbeitrag 4.2.3: Keine Funktion nach Update von 4.1.1

Beitrag von donross »

Moin,

also an der beschriebenen Stelle habe ich keinen Eintrag "Eintrag für mehrere Organisationen sichtbar"

Steht nur der Name "PMB_MEMBERSHIP" und "Standard Kategorie", da ist natürlich ein Haken dran.
rmb
Plugin-Developer
Beiträge: 632
Registriert: 10. Mai 2011, 19:56
Wohnort: 86856

Re: Mitgliedsbeitrag 4.2.3: Keine Funktion nach Update von 4.1.1

Beitrag von rmb »

Hallo Don,

ich habe die Updateroutine überarbeitet. Zum Testen kann die neue Version hier über den "Clone or download"-Button heruntergeladen werden.

Gruß
rmb
Antworten