Nachricht senden

Topics from older beta tests.
Antworten
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Nachricht senden

Beitrag von Offe »

Ich habe heute meinem Testuser das Recht genommmen "Emails an alle Rollen zu senden". Wenn dieser Testuser nun eine Email im Nachrichtenmodul senden will, erscheint folgender Fehler
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 ') AND usr_id <> 63 AND usr_valid =' at line 7

B A C K T R A C E

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

FILE: adm_program/modules/messages/messages_write.php
LINE: 374
CALL: Database->query()
Bei den PMs heißt der Fehler
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 ') AND cat_name_intern <> 'CONFIRMATION_OF_PARTICIPATION' ' at line 3

B A C K T R A C E

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

FILE: adm_program/modules/messages/messages_write.php
LINE: 113
CALL: Database->query()
Als Administrator erscheinen die Fehler nicht.

Gruß Offe
Benutzeravatar
fasse
Administrator
Beiträge: 6041
Registriert: 12. Nov 2005, 16:06

Re: Nachricht senden

Beitrag von fasse »

Hallo Offe,

ich schaffe es nicht den Fehler nachzustellen.

Kannst du mal in die error-logdatei schauen und mir das komplette SQL-Statement schicken.

Viele Grüße
Fasse
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Re: Nachricht senden

Beitrag von Offe »

Hallo fasse,

mit dem Debug-Modus ist es mir gelungen, die entsprechenden Statements herauszufinden. Ich habe die URL meiner Installation auf seite.de abgeändert:

Email schreiben:
SELECT usr_id, first_name.usd_value as first_name, last_name.usd_value as last_name,, referer: https://seite.de/adm_program/modules/me ... ssages.php
rol_mail_this_role, rol_id, mem_begin, mem_end, referer: https://seite.de/adm_program/modules/me ... ssages.php
FROM adm_members, referer: https://seite.de/adm_program/modules/me ... ssages.php
INNER JOIN adm_roles, referer: https://seite.de/adm_program/modules/me ... ssages.php
ON rol_id = mem_rol_id, referer: https://seite.de/adm_program/modules/me ... ssages.php
INNER JOIN adm_users, referer: https://seite.de/adm_program/modules/me ... ssages.php
ON usr_id = mem_usr_id, referer: https://seite.de/adm_program/modules/me ... ssages.php
INNER JOIN adm_user_data as email, referer: https://seite.de/adm_program/modules/me ... ssages.php
ON email.usd_usr_id = usr_id, referer: https://seite.de/adm_program/modules/me ... ssages.php
AND LENGTH(email.usd_value) > 0, referer: https://seite.de/adm_program/modules/me ... ssages.php
INNER JOIN adm_user_fields as field, referer: https://seite.de/adm_program/modules/me ... ssages.php
ON field.usf_id = email.usd_usf_id, referer: https://seite.de/adm_program/modules/me ... ssages.php
AND field.usf_type = 'EMAIL', referer: https://seite.de/adm_program/modules/me ... ssages.php
LEFT JOIN adm_user_data as last_name, referer: https://seite.de/adm_program/modules/me ... ssages.php
ON last_name.usd_usr_id = usr_id, referer: https://seite.de/adm_program/modules/me ... ssages.php
AND last_name.usd_usf_id = 7, referer: https://seite.de/adm_program/modules/me ... ssages.php
LEFT JOIN adm_user_data as first_name, referer: https://seite.de/adm_program/modules/me ... ssages.php
ON first_name.usd_usr_id = usr_id, referer: https://seite.de/adm_program/modules/me ... ssages.php
AND first_name.usd_usf_id = 8, referer: https://seite.de/adm_program/modules/me ... ssages.php
WHERE rol_id in (), referer: https://seite.de/adm_program/modules/me ... ssages.php
AND usr_id <> 63, referer: https://seite.de/adm_program/modules/me ... ssages.php
AND usr_valid = 1, referer: https://seite.de/adm_program/modules/me ... ssages.php
GROUP BY usr_id, first_name.usd_value, last_name.usd_value, email.usd_value, rol_mail_this_role, rol_id, referer: https://seite.de/adm_program/modules/me ... ssages.php
ORDER BY last_name, first_name, rol_mail_this_role DESC, referer: https://seite.de/adm_program/modules/me ... ssages.php
42000: 1064, referer: https://seite.de/adm_program/modules/me ... ssages.php
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 '), referer: https://seite.de/adm_program/modules/me ... ssages.php
AND usr_id <> 63, referer: https://seite.de/adm_program/modules/me ... ssages.php
AND usr_valid =' at line 7, referer: https://seite.de/adm_program/modules/me ... ssages.php
Private Nachrichten
SELECT usr_id, FIRST_NAME.usd_value as first_name, LAST_NAME.usd_value as last_name, usr_login_name, referer: https://seite.de/adm_program/modules/me ... ssages.php
FROM adm_members, referer: https://seite.de/adm_program/modules/me ... ssages.php
INNER JOIN adm_roles, referer: https://seite.de/adm_program/modules/me ... ssages.php
ON rol_id = mem_rol_id, referer: https://seite.de/adm_program/modules/me ... ssages.php
INNER JOIN adm_categories, referer: https://seite.de/adm_program/modules/me ... ssages.php
ON cat_id = rol_cat_id, referer: https://seite.de/adm_program/modules/me ... ssages.php
INNER JOIN adm_users, referer: https://seite.de/adm_program/modules/me ... ssages.php
ON usr_id = mem_usr_id, referer: https://seite.de/adm_program/modules/me ... ssages.php
LEFT JOIN adm_user_data LAST_NAME, referer: https://seite.de/adm_program/modules/me ... ssages.php
ON LAST_NAME.usd_usr_id = usr_id, referer: https://seite.de/adm_program/modules/me ... ssages.php
AND LAST_NAME.usd_usf_id = 7, referer: https://seite.de/adm_program/modules/me ... ssages.php
LEFT JOIN adm_user_data FIRST_NAME, referer: https://seite.de/adm_program/modules/me ... ssages.php
ON FIRST_NAME.usd_usr_id = usr_id, referer: https://seite.de/adm_program/modules/me ... ssages.php
AND FIRST_NAME.usd_usf_id = 8, referer: https://seite.de/adm_program/modules/me ... ssages.php
WHERE rol_id IN (), referer: https://seite.de/adm_program/modules/me ... ssages.php
AND cat_name_intern <> 'CONFIRMATION_OF_PARTICIPATION', referer: https://seite.de/adm_program/modules/me ... ssages.php
AND ( cat_org_id = 1, referer: https://seite.de/adm_program/modules/me ... ssages.php
OR cat_org_id IS NULL ), referer: https://seite.de/adm_program/modules/me ... ssages.php
AND mem_begin <= '2016-01-27', referer: https://seite.de/adm_program/modules/me ... ssages.php
AND mem_end >= '2016-01-27', referer: https://seite.de/adm_program/modules/me ... ssages.php
AND usr_id <> 63, referer: https://seite.de/adm_program/modules/me ... ssages.php
AND usr_valid = 1, referer: https://seite.de/adm_program/modules/me ... ssages.php
AND usr_login_name IS NOT NULL, referer: https://seite.de/adm_program/modules/me ... ssages.php
GROUP BY usr_id, LAST_NAME.usd_value, FIRST_NAME.usd_value, usr_login_name, referer: https://seite.de/adm_program/modules/me ... ssages.php
ORDER BY LAST_NAME.usd_value, FIRST_NAME.usd_value, referer: https://seite.de/adm_program/modules/me ... ssages.php
42000: 1064, referer: https://seite.de/adm_program/modules/me ... ssages.php
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 '), referer: https://seite.de/adm_program/modules/me ... ssages.php
AND cat_name_intern <> 'CONFIRMATION_OF_PARTICIPATION', referer: https://seite.de/adm_program/modules/me ... ssages.php
' at line 3, referer: https://seite.de/adm_program/modules/me ... ssages.php
Ohne Debugmodus ist mir noch eine weitere Fehlermeldung in den error-Logs aufgefallen, der immer wieder erscheint.
[error] File does not exist: /var/www/adm_program/libs/datatables/images, referer: https://seite.de/adm_program/libs/datat ... ap.min.css
Gruß Offe
Benutzeravatar
fasse
Administrator
Beiträge: 6041
Registriert: 12. Nov 2005, 16:06

Re: Nachricht senden

Beitrag von fasse »

Hallo Offe,

jetzt ist mir schon mal klar, warum der Fehler kommt. Er hat intern keine Rolle gefunden.

Werden denn Rollen aufgelistet, an die er schicken kann oder nur User?

Viele Grüße
Fasse
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Re: Nachricht senden

Beitrag von Offe »

der Fehler tritt auf, bevor die Formulare erscheinen, also direkt beim Klick auf "Email senden" oder "Private Nachricht senden". Als Admin funktioniert dies wiederrum ohne Probleme, es muss daher mit einer Art Berechtigung zu tun haben.
Benutzeravatar
fasse
Administrator
Beiträge: 6041
Registriert: 12. Nov 2005, 16:06

Re: Nachricht senden

Beitrag von fasse »

Hallo Offe,

hab den Fehler gefunden. Wir haben nicht abgefangen, wenn keine Rollen gefunden wurden, an die Mails geschickt werden können.

Der Fehler im error_log ohne Debugmodus sollte nun auch raus sein.

Viele Grüße
Fasse
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Re: Nachricht senden

Beitrag von Offe »

Hallo fasse,

danke, super dass du den Fehler gefunden hast. Nun hat sich im Bereich "Private Nachrichten" nur noch ein Designproblem ergeben, wenn kein User zur Auswahl steht. Hierbei wird das Userfeld dort angezeigt, wo normal die Betreffzeile steht und diese rutscht um eine Zeile nach unten. (Eventuell auch bei "Email schreiben", aber hier habe ich zu viele Gruppen, sodass ich es nicht prüfen kann)
PM.png
PM.png (13.07 KiB) 11182 mal betrachtet
Gruß Offe
Benutzeravatar
fasse
Administrator
Beiträge: 6041
Registriert: 12. Nov 2005, 16:06

Re: Nachricht senden

Beitrag von fasse »

In diesem Fall sollte sowieso besser ein Hinweis erscheinen.

Ist jetzt eingebaut.
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Re: Nachricht senden

Beitrag von Offe »

Ich habe die Änderungen eingespielt, aber irgendwas stimmt was nicht. Auf meiner Installation kann ich keine Änderung feststellen und in der Spielwiese erscheint folgender Fehler:
Notice: Array to string conversion in /www/htdocs/admlogin/spielwiese/adm_program/modules/messages/messages_write.php on line 345

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/admlogin/spielwiese/adm_program/modules/messages/messages_write.php:345) in /www/htdocs/admlogin/spielwiese/adm_program/system/classes/htmlpage.php on line 602
Gruß Offe
Benutzeravatar
fasse
Administrator
Beiträge: 6041
Registriert: 12. Nov 2005, 16:06

Re: Nachricht senden

Beitrag von fasse »

Auf der Spielwiese ist irgendwas beim Upload schief gelaufen. Jetzt ist es drauf.

In meiner Testumgebung funktioniert es nun. Was für User werden dir denn noch angezeigt?
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Re: Nachricht senden

Beitrag von Offe »

Der angesprochene Designfehler ist immer noch da und wird nicht durch einen Hinweis abgefangen.

Ich habe dir dies nun mal auf der Spielwiese mit dem User TestuserOffe (Passwort Test1234) nachgestellt. Logge dich mit dem User ein und versuche eine Private Nachricht zu schicken. Dazu musste ich in den Rolleneigenschaften den Wert für "Rollenmitgliedschaft sehen" auf "Nur Rollenmitglieder" setzen. Da TestuserOffe nur einer Rolle angehört, der er auch nur alleinig Mitglied ist, erscheint der Designfehler.

Gruß Offe
Benutzeravatar
fasse
Administrator
Beiträge: 6041
Registriert: 12. Nov 2005, 16:06

Re: Nachricht senden

Beitrag von fasse »

Hi Offe,

stimmt. Er war nur bei den Emails behoben.

Jetzt aber auch bei den Nachrichten.

Viele Grüße
Fasse
Antworten