Bei abonnierten Threads Fehler in Email
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Bei abonnierten Threads Fehler in Email
Hallo,
Wenn sich ein Unser einen Thread abonniert - dann bekommt er normalerweise eine Email wenn ein neuer Beitrag im Thread geschrieben wurde - das ist soweit auch noch in Ordnung - Der Link der in der Email steht weisst auch auf den richtigen Beitrag hin - allerdings steht dann ein völlig anderes Topic als Referenz drin (eins das garnicht abonniert wurde).
Hat jemand schon einmal einen deratigen Fehler gehabt - und falls ja wie behebt man den?
cu Overhead
Wenn sich ein Unser einen Thread abonniert - dann bekommt er normalerweise eine Email wenn ein neuer Beitrag im Thread geschrieben wurde - das ist soweit auch noch in Ordnung - Der Link der in der Email steht weisst auch auf den richtigen Beitrag hin - allerdings steht dann ein völlig anderes Topic als Referenz drin (eins das garnicht abonniert wurde).
Hat jemand schon einmal einen deratigen Fehler gehabt - und falls ja wie behebt man den?
cu Overhead
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Öhm, vergleiche doch mal die Funktion user_notification in Deiner functions_posts.php mit dem Original.
Vielleicht ist da was auffällig anders/falsch...
Vielleicht ist da was auffällig anders/falsch...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
@ Oxpus,
ich hatte schon befürchtet, dass so etwas ähnliches kommt - da die emhrfach gemoddet wurde entspricht die natürlich an einigen Stellen nicht mehr dem Original...
ich bin mal so frei und tacker die unten ran - da ich keinen Plan habe auf welche Stellen ich achten muss...
cu Overhead
ich hatte schon befürchtet, dass so etwas ähnliches kommt - da die emhrfach gemoddet wurde entspricht die natürlich an einigen Stellen nicht mehr dem Original...
ich bin mal so frei und tacker die unten ran - da ich keinen Plan habe auf welche Stellen ich achten muss...
cu Overhead
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Ist denn die Funktion bereits stark abweichend vom Original?
Einfach mal Stück für Stück mit der Original-Datei vergleichen, dann siehst Du schon den Unterschied.
Wenn ich das jedes Mal machen sollte, müsste mein Tag 48 Stunden und mehr haben...
Einfach mal Stück für Stück mit der Original-Datei vergleichen, dann siehst Du schon den Unterschied.
Wenn ich das jedes Mal machen sollte, müsste mein Tag 48 Stunden und mehr haben...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
@ Oxpus
oh ja das sind sie:
Original:
Meine Version:
und das war nur mal eine Stelle...
zusätzlich hätte ich noch folgendes anzubieten....
Original
Meine Version
Wenn ich das richtig zuordnen könnte dann hätte ich bestimmt nicht hier nachgefragt - kleinere Dinge bekomme ich schon irgendwie mittlerweile selber gebacken - nur das ist mir eine Hausnummer zu groß! - Aber vielleicht kann ja auch jemand anderes aus diese illusteren Forum etwas damit anfangen - und mir mal vermitteln wo da der Haken ist?.
cu Overhead
oh ja das sind sie:
Original:
Code: Alles auswählen
$sql = "SELECT u.user_id, u.user_email, u.user_lang
FROM " . TOPICS_WATCH_TABLE . " tw, " . USERS_TABLE . " u
WHERE tw.topic_id = $topic_id
AND tw.user_id NOT IN (" . $userdata['user_id'] . ", " . ANONYMOUS . $user_id_sql . ")
AND tw.notify_status = " . TOPIC_WATCH_UN_NOTIFIED . "
AND u.user_id = tw.user_id";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not obtain list of topic watchers', '', __LINE__, __FILE__, $sql);
}Meine Version:
Code: Alles auswählen
$sql = "SELECT u.user_id, u.user_email, u.user_lang, u.username, f.forum_name
FROM " . TOPICS_WATCH_TABLE . " tw, " . USERS_TABLE . " u, " . FORUMS_TABLE . " f
WHERE tw.topic_id = $topic_id
AND tw.user_id NOT IN (" . $userdata['user_id'] . ", " . ANONYMOUS . $user_id_sql . ")
AND tw.notify_status = " . TOPIC_WATCH_UN_NOTIFIED . "
AND u.user_id = tw.user_id";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not obtain list of topic watchers', '', __LINE__, __FILE__, $sql);
}zusätzlich hätte ich noch folgendes anzubieten....
Original
Code: Alles auswählen
// translators update their templates
$emailer->msg = preg_replace('#[ ]?{USERNAME}#', '', $emailer->msg);
$emailer->assign_vars(array(
'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '',
'SITENAME' => $board_config['sitename'],
'TOPIC_TITLE' => $topic_title,
'U_TOPIC' => $server_protocol . $server_name . $server_port . $script_name . '?' . POST_POST_URL . "=$post_id#$post_id",
'U_STOP_WATCHING_TOPIC' => $server_protocol . $server_name . $server_port . $script_name . '?' . POST_TOPIC_URL . "=$topic_id&unwatch=topic")
);
Meine Version
Code: Alles auswählen
// translators update their templates
$emailer->msg = preg_replace('#[ ]?{USERNAME}#', '', $emailer->msg);
$emailer->assign_vars(array(
'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '',
'SITENAME' => $board_config['sitename'],
'USERNAME' => $users_ary[$bcc_list['0']],
'TOPIC_TITLE' => $topic_title,
'POST_TEXT' => $post_text,
'POSTERNAME' => $post_data['username'],
'FORUM_NAME' => $forum_name,
'U_TOPIC' => $server_protocol . $server_name . $server_port . $script_name . '?' . POST_POST_URL . "=$post_id#$post_id",
'U_STOP_WATCHING_TOPIC' => $server_protocol . $server_name . $server_port . $script_name . '?' . POST_TOPIC_URL . "=$topic_id&unwatch=topic")
);
Wenn ich das richtig zuordnen könnte dann hätte ich bestimmt nicht hier nachgefragt - kleinere Dinge bekomme ich schon irgendwie mittlerweile selber gebacken - nur das ist mir eine Hausnummer zu groß! - Aber vielleicht kann ja auch jemand anderes aus diese illusteren Forum etwas damit anfangen - und mir mal vermitteln wo da der Haken ist?.
cu Overhead
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Nun, der erste Code-Block, der von Dir ist, sollte mal wieder durch das Original ersetzt werden, denn dort werden Datensätze erzeugt, die alles mögliche hervorbringen könnten.
Eben Chaos.
Denn: In dieser Abfrage wird die Forum-Tabelle mit herangezogen, aber nicht mit den anderen Tabellen verknüpft.
Logische Unlogik eben...
Eben Chaos.
Denn: In dieser Abfrage wird die Forum-Tabelle mit herangezogen, aber nicht mit den anderen Tabellen verknüpft.
Logische Unlogik eben...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
@ oxpus
störst Du Dich an der FORUMS_TABLE ?
die benötige ich z.B. hier:
und hier:
wenn ich also hier wie von Dir vorgeschlagen:
abändere - dann haut es mir den Rest zusammen, da ja hier einiges aufeinander aufbaut.
Von der Reihenfolge her kommt zuerst die letzten Code Zeilen, dann die ersten und dann die zweiten. - Zu meinem Leidwesen muss ich gestehen, dass ich am Anfang als ich mit der Mod des Forums angefangen habe, mir leider keine besonderen Gedanken über die einzelne Mods gemacht habe und je nach Userwunsch so ziemlich alles eingabut habe, was unsere Teilnehmer als besonderes Gimmick gewünscht haben. Dadurch weichen viele Codestellen erheblich vom Original ab und mit einer vernüftigen Dokumentation zu meinen Einbaumaßnahmen habe ich viel zu spät angefangen - mittlerweile etwas klüger geworden - schreibe ich die Änderungen alle auf egal nun ob man mir dabei geholfen hat oder ist selbst dran gedreht habe - denn nur so kann ich mittlerweile annähernd nachvollziehen was die einzelne Mod den überhaupt soll.
cu Overhead
störst Du Dich an der FORUMS_TABLE ?
die benötige ich z.B. hier:
Code: Alles auswählen
// start of reply forum notification
$sql = "SELECT u.user_id, u.user_email, u.user_lang, f.forum_name
FROM " . USERS_TABLE . " u, " . FORUMS_WATCH_TABLE . " fw, " . FORUMS_TABLE . " f
WHERE fw.forum_id = $forum_id
AND fw.user_id NOT IN (" . $already_mailed . $userdata['user_id'] . ", " . ANONYMOUS . $user_id_sql . " )
AND f.forum_id = $forum_id
AND f.forum_notify = '1'
AND u.user_id = fw.user_id";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not obtain list of topic watchers', '', __LINE__, __FILE__, $sql);
}Code: Alles auswählen
sql = "SELECT u.user_id, u.username, u.user_email, u.user_lang, f.forum_name
FROM " . FORUMS_WATCH_TABLE . " fw, " . USERS_TABLE . " u, " . FORUMS_TABLE . " f
WHERE fw.forum_id = $forum_id
AND fw.user_id NOT IN (" . $userdata['user_id'] . ", " . ANONYMOUS . $user_id_sql . ")
AND f.forum_id = $forum_id
AND f.forum_notify = '1'
AND u.user_id = fw.user_id";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not obtain list of forum watchers', '', __LINE__, __FILE__, $sql);
}Code: Alles auswählen
$sql = "SELECT u.user_id, u.user_email, u.user_lang, u.username, f.forum_name
FROM " . TOPICS_WATCH_TABLE . " tw, " . USERS_TABLE . " u, " . FORUMS_TABLE . " f
WHERE tw.topic_id = $topic_id
AND tw.user_id NOT IN (" . $userdata['user_id'] . ", " . ANONYMOUS . $user_id_sql . ")
AND tw.notify_status = " . TOPIC_WATCH_UN_NOTIFIED . "
AND u.user_id = tw.user_id";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not obtain list of topic watchers', '', __LINE__, __FILE__, $sql);
}Von der Reihenfolge her kommt zuerst die letzten Code Zeilen, dann die ersten und dann die zweiten. - Zu meinem Leidwesen muss ich gestehen, dass ich am Anfang als ich mit der Mod des Forums angefangen habe, mir leider keine besonderen Gedanken über die einzelne Mods gemacht habe und je nach Userwunsch so ziemlich alles eingabut habe, was unsere Teilnehmer als besonderes Gimmick gewünscht haben. Dadurch weichen viele Codestellen erheblich vom Original ab und mit einer vernüftigen Dokumentation zu meinen Einbaumaßnahmen habe ich viel zu spät angefangen - mittlerweile etwas klüger geworden - schreibe ich die Änderungen alle auf egal nun ob man mir dabei geholfen hat oder ist selbst dran gedreht habe - denn nur so kann ich mittlerweile annähernd nachvollziehen was die einzelne Mod den überhaupt soll.
cu Overhead
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Schwerer Fehler.und je nach Userwunsch so ziemlich alles eingabut habe, was unsere Teilnehmer als besonderes Gimmick gewünscht haben.
Klar will man seinen Users was bieten, aber alles zusammen ist nicht immer sinnvoll.
Und ich meinte diesen Code-Block:
Code: Alles auswählen
$sql = "SELECT u.user_id, u.user_email, u.user_lang, u.username, f.forum_name
FROM " . TOPICS_WATCH_TABLE . " tw, " . USERS_TABLE . " u, " . FORUMS_TABLE . " f
WHERE tw.topic_id = $topic_id
AND tw.user_id NOT IN (" . $userdata['user_id'] . ", " . ANONYMOUS . $user_id_sql . ")
AND tw.notify_status = " . TOPIC_WATCH_UN_NOTIFIED . "
AND u.user_id = tw.user_id";Daher kann es hier zu unerwarteten Ergebnissen kommen, wie Du dann auch vermutlich in den Email-Benachrichtigungen hast.
Besser verknüpfen, also so wäre das möglich:
Code: Alles auswählen
$sql = "SELECT u.user_id, u.user_email, u.user_lang, u.username, f.forum_name
FROM " . TOPICS_WATCH_TABLE . " tw, " . USERS_TABLE . " u, " . FORUMS_TABLE . " f
WHERE tw.topic_id = $topic_id
AND tw.forum_id = f.forum_id
AND tw.user_id NOT IN (" . $userdata['user_id'] . ", " . ANONYMOUS . $user_id_sql . ")
AND tw.notify_status = " . TOPIC_WATCH_UN_NOTIFIED . "
AND u.user_id = tw.user_id";Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
@ Oxpus
jetzt habe ich nachdem ich die Zeile wie von Dir beschrieben eingefügt habe, ein Problem mit der Schnellantwort:
Wenn ich auf absenden klicke kommt folgende Meldung:
cu Overhead
jetzt habe ich nachdem ich die Zeile wie von Dir beschrieben eingefügt habe, ein Problem mit der Schnellantwort:
Wenn ich auf absenden klicke kommt folgende Meldung:
jetzt bin ich aber etwas verwirrt - was hat das eine mit dem anderen zu tun?Could not obtain list of topic watchers
cu Overhead
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Schalte besser mal den Debug Modus ein (in der includes/constants.php) und poste die vollständige Fehlermeldung.
Dann sehe ich auch, wo ich suchen muss.
Sonst ist das reines Rätzel raten!
Dann sehe ich auch, wo ich suchen muss.
Sonst ist das reines Rätzel raten!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
So besser?
cu OverheadCould not obtain list of topic watchers
DEBUG MODE
SQL Error : 1054 Unknown column 'tw.forum_id' in 'where clause'
SELECT u.user_id, u.user_email, u.user_lang, u.username, f.forum_name FROM phpbb_topics_watch tw, phpbb_users u, phpbb_forums f WHERE tw.topic_id = 430 AND tw.forum_id = f.forum_id AND tw.user_id NOT IN (2, -1) AND tw.notify_status = 0 AND u.user_id = tw.user_id
Line : 756
File : functions_post.php
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Gibt es in dieser Tabelle das Feld forum_id? Sonst müssten wir auch noch mit der Topic-Tabelle verknüpfen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Hm, okay, dann muss die Abfrage so lauten:
Code: Alles auswählen
$sql = "SELECT u.user_id, u.user_email, u.user_lang, u.username, f.forum_name
FROM " . TOPICS_WATCH_TABLE . " t, " . TOPICS_WATCH_TABLE . " tw, " . USERS_TABLE . " u, " . FORUMS_TABLE . " f
WHERE tw.topic_id = $topic_id
AND tw.topic_id = t.topic_id
AND t.forum_id = f.forum_id
AND tw.user_id NOT IN (" . $userdata['user_id'] . ", " . ANONYMOUS . $user_id_sql . ")
AND tw.notify_status = " . TOPIC_WATCH_UN_NOTIFIED . "
AND u.user_id = tw.user_id";Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Funktioniert so nicht:
cu OverheadCould not obtain list of topic watchers
DEBUG MODE
SQL Error : 1054 Unknown column 't.forum_id' in 'where clause'
SELECT u.user_id, u.user_email, u.user_lang, u.username, f.forum_name FROM phpbb_topics_watch t, phpbb_topics_watch tw, phpbb_users u, phpbb_forums f WHERE tw.topic_id = 430 AND tw.topic_id = t.topic_id AND t.forum_id = f.forum_id AND tw.user_id NOT IN (2, -1) AND tw.notify_status = 0 AND u.user_id = tw.user_id
Line : 757
File : functions_post.php
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Hat einer mal einen Holzhammer für mich???
So ists richtig:
Code: Alles auswählen
$sql = "SELECT u.user_id, u.user_email, u.user_lang, u.username, f.forum_name
FROM " . TOPICS_TABLE . " t, " . TOPICS_WATCH_TABLE . " tw, " . USERS_TABLE . " u, " . FORUMS_TABLE . " f
WHERE tw.topic_id = $topic_id
AND tw.topic_id = t.topic_id
AND t.forum_id = f.forum_id
AND tw.user_id NOT IN (" . $userdata['user_id'] . ", " . ANONYMOUS . $user_id_sql . ")
AND tw.notify_status = " . TOPIC_WATCH_UN_NOTIFIED . "
AND u.user_id = tw.user_id";Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
