Benachrichtigung bei Antworten per E-Mail

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
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!
Antworten
SkYfiGhTeR
Beiträge: 153
Registriert: Do 28.Okt, 2004 09:01

Benachrichtigung bei Antworten per E-Mail

Beitrag von SkYfiGhTeR »

Hallo,

ich habe bei mir im Forum den Easy Admin Topic Notifier in Version 1.0.4 von StefanKausL installiert.

Der Grund dafür war, dass jeder Administrator im Forum eine E-Mail erhalten soll, sobald im Forum ein neues Thema eröffnet wurde.
Dies funktioniert soweit auch tadellos.

Das Problem ist jedoch, dass ein User festgestellt hat, dass die "normale" Benachrichtigungsfunktion über Antworten zu einem Thema nicht mehr funktioniert.
Dies habe ich dann getestet und es funktioniert wirklich nicht. Man erhält keine E-Mail, sobald jemand eine Antwort auf ein Thema geschrieben hat.

Da mir sonst keine andere Modifikation einfällt, die damit zu tun haben könnte, muss es eigentlich an diesem MOD liegen. Zumal bei diesem MOD ausschließlich die includes/functions_post.php bearbeitet werden muss (und natürlich die E-Mail tpl-Datei hinzugefügt werden muss), habe ich einfach mal eine Originale functions_post.php hergenommen und siehe da, die Benachrichtigungsfunktion hat wieder einwandfrei funktioniert.

Da ich jedoch nicht darauf verzichten möchte, dass Administratoren eine E-Mail erhalten, sobald ein neues Thema irgendwo im Forum eröffnet wurde, wäre es prima, wenn mir da jemand helfen könnte, wie ich beides unter einen Hut bekomme, da dieser Code anscheinend nicht so wirklich perfekt ist von dem MOD (s. Anhang).

Danke im Voraus.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gruß
SkYfiGhTeR ;)
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Von meiner Seite aus nur gegen Bezahlung...
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!
SkYfiGhTeR
Beiträge: 153
Registriert: Do 28.Okt, 2004 09:01

Beitrag von SkYfiGhTeR »

Hi,

danke für die Antwort.

Ich habe nun eben nochmal bei phpbb.de und im MOD-Thread auf phpbb.com nachgeschaut und aber zu meinem Problem nicht wirklich einen Beitrag oder gar eine Lösung gefunden.

Dass das Problem jetzt nur bei mir auftritt kann aber nicht sein oder, also man kann schon anhand des zu verändernden Codes in der functions_post.php sehen, dass es an daran liegt, dass die "normale" Benachrichtigungs-Funktion nicht mehr funktioniert?

Und einen ähnlichen/vergleichbaren MOD, der eben genau das bewirkt, gibt es meines Wissens auch nicht oder weiß hier evtl. jemand mehr?

Und zum Schluss dann noch die Frage, ob die Korrigierung des Codes sehr aufwendig wäre oder ob es da mit einer "Kleinigkeit" à la 5€ getan ist?

Alles andere wäre für mich bzw. den zu erfüllenden Zweck dann leider nicht akzeptabel.

Ich müsste dann eben den umständlichen Weg gehen und diese Modifikation entfernen und anschließend den "Forum notification" MOD einbauen und eben einfach als Admin alle Foren abonnieren und hoffen, dass dieser MOD dann nicht die normale Topic Notification wieder "zerstört".

Freue mich über Antworten auf meine Fragen.

Danke.
Gruß
SkYfiGhTeR ;)
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich müsste dann eben den umständlichen Weg gehen und diese Modifikation entfernen und anschließend den "Forum notification" MOD einbauen und eben einfach als Admin alle Foren abonnieren und hoffen, dass dieser MOD dann nicht die normale Topic Notification wieder "zerstört".
Das wäre eine Alternative, wobei dieser MOD die bestehenden Benachrichtigungen ersetzt und dabei ergänzt.
Dadurch können sich beide Versionen nicht stören, da der MOD beides übernimmt.
Ist aber dann lästig, wenn man neue Foren anlegt, die dann von den Admins und Moderatoren wieder abonniert werden müssen...
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!
SkYfiGhTeR
Beiträge: 153
Registriert: Do 28.Okt, 2004 09:01

Beitrag von SkYfiGhTeR »

Hallo,

ja das ist richtig, das dann natürlich wieder pro neues Forum von jedem Admin (handelt sich insgesamt nur um zwei) das Forum abonniert werden müsste. Aber der Aufwand wäre nun nicht sooo riesig.

Daher habe ich ja auch noch meine anderen Fragen geschrieben, also ob nun wirklich die Modifikation der functions_post.php Schuld ist, dass die Benachrichtigungsfunktion nicht mehr funktioniert und ob es hier mit z.B. 5€ getan wäre, um den Code anzupassen bzw. zu korrigieren (?).
Falls hier natürlich etwas komplett neu geschrieben werden müsste, ist es mir auch klar, dass ich da mit 5€ nicht weit komme, aber viel mehr wäre es mir dann einfach nicht wert und ich würde den "umständlicheren" Weg gehen über den Forum notification MOD.
Gruß
SkYfiGhTeR ;)
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Daher habe ich ja auch noch meine anderen Fragen geschrieben, also ob nun wirklich die Modifikation der functions_post.php Schuld ist, dass die Benachrichtigungsfunktion nicht mehr funktioniert und ob es hier mit z.B. 5€ getan wäre, um den Code anzupassen bzw. zu korrigieren (?).
Das kann ich Dir nicht sagen, da ich den anderen MOD nicht kenne. 5 EUR wären aber so oder so zu wenig...
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!
SkYfiGhTeR
Beiträge: 153
Registriert: Do 28.Okt, 2004 09:01

Beitrag von SkYfiGhTeR »

Hallo,

achso - in Ordnung.

Aber da es ja mit einer originalen functions_post.php mit der normalen Benachrichtigungsfunktion funktioniert und mit der eingebauten Funktion in der functions_post.php von diesem MOD nicht mehr, muss es ja an der verwenden Funktion liegen, welche übrigens die einzige Änderung darstellt, die der MOD vornimmt.

Code: Alles auswählen

function sk_send_mail_to_admins($topic_id, $post_subject) {
	global $board_config, $lang, $db, $phpbb_root_path, $phpEx;

	include($phpbb_root_path . 'includes/emailer.'.$phpEx);
	$emailer = new emailer($board_config['smtp_delivery']);

	$script_name = preg_replace('/^\/?(.*?)\/?$/', '\1', trim($board_config['script_path']));
	$script_name = ($script_name != '') ? $script_name . '/viewtopic.'.$phpEx : 'viewtopic.'.$phpEx;
	$server_name = trim($board_config['server_name']);
	$server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
	$server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) . '/' : '/';

	$sql = "SELECT user_email, user_lang FROM " . USERS_TABLE . " WHERE user_level = " . ADMIN;
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not select Administrators', '', __LINE__, __FILE__, $sql);
	}

	while ($row = $db->sql_fetchrow($result))
	{
		$emailer->email_address(trim($row['user_email']));
		$emailer->use_template('easy_admin_topic_notifier', 'english');  // See Notes!
		$emailer->from($board_config['board_email']);
		$emailer->set_subject($lang['New_post']);
		$emailer->assign_vars(array(
			'SITENAME' => $board_config['sitename'],
			'TOPIC_TITLE' => $post_subject,
			'U_TOPIC' => $server_protocol . $server_name . $server_port . $script_name . '?' . POST_TOPIC_URL . "=$topic_id",
			'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '')
		);
		$emailer->send();
		$emailer->reset();
	}
	$db->sql_freeresult($result);
}
Kann man denn hier evtl. einfach/schnell erkennen, woran es liegt, dass die Funktion die normale Benachrichtigungsfunktion im Forum beeinträchtigt und es evtl. "einfach" beheben?
Gruß
SkYfiGhTeR ;)
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Die Funktion ersetzt jetzt nicht die Original-Benachrichtigungs-Funktion für die User, die die Themen abonniert haben.

Allerdings: Diese Funktionen werden in der posting.php aufgerufen!
Wenn Du dort nun den Funktionsauftruf user_notification(...); gelöscht hast, kommt dann beim User logischerweise auch nichts an!
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!
SkYfiGhTeR
Beiträge: 153
Registriert: Do 28.Okt, 2004 09:01

Beitrag von SkYfiGhTeR »

Hi,

hm...also sehr seltsam. An der posting.php habe ich diesbezüglich nichts geändert und den Funktionsaufruf gibt es ebenfalls noch:

Code: Alles auswählen

		if ($error_msg == '' && $mode != 'poll_delete')
		{
			user_notification($mode, $post_data, $post_info['topic_title'], $forum_id, $topic_id, $post_id, $notify_user);
		}
Seltsam, aber wieso funktioniert dann die normale Benachrichtigungsfunktion mit meiner aktuellen functions_post.php nicht und abder dafür mit einer originalen Datei?

Ich kann die functions_post.php ja gerne mal anhängen, aber da stellt sich ja nun langsam ein Verdacht ein, dass es evtl. gar nicht an diesen MOD liegt, weil außer dem Einbau dieser Funktion muss bei der Modifikation nichts gemacht werden.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gruß
SkYfiGhTeR ;)
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Häng doch mal die posting.php mit an...
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!
SkYfiGhTeR
Beiträge: 153
Registriert: Do 28.Okt, 2004 09:01

Beitrag von SkYfiGhTeR »

Hi,

alles klar...aber ich kann irgendwie nicht glauben, dass daran etwas faul wäre.
Bitte sehr.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gruß
SkYfiGhTeR ;)
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

In der posting.php war der Attachment MOD falsch eingebaut ;)

Aber dennoch: Versuchs mal mit diesen beiden Dateien hier:
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
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!
SkYfiGhTeR
Beiträge: 153
Registriert: Do 28.Okt, 2004 09:01

Beitrag von SkYfiGhTeR »

Hi,

also ich bin eben meine posting.php in Bezug auf die wenigen Änderungen durch den Attachment MOD nochmal durchgegangen und konnte keinen Fehler feststellen (der MOD hat bisher auch problemlos funktioniert). Was war denn wo falsch eingebaut, wenn ich kurz fragen darf?

Ah ok, ich habe es eben selbst kurz verglichen und die Stelle gefunden, die ich aber nach meiner vorliegenden install.txt korrekt bearbeitet habe, wie ich finde (?):

Code: Alles auswählen

#-----[ FIND ]---------------------------------------------
# around line 580
			update_post_stats($mode, $post_data, $forum_id, $topic_id, $post_id, $user_id);
		}

# 
#-----[ AFTER, ADD ]--------------------------------------- 
# the Line have to be added AFTER the closing brace
		$attachment_mod['posting']->insert_attachment($post_id);

# 

Ich hatte es so wie beschrieben geändert, aber jetzt steht die betreffende Zeile ja in der darauffolgenden if-Abfrage (?).

Zu der functions_post.php:

Ich habe es soeben ausprobiert und mit einem Test-Benutzer ein Thema eröffnet und dieses abonniert. Dann eine Antwort mit einem anderen Benutzer gemacht und es kam eine Benachrichtigung über die Antwort bei der E-Mail Adresse des Themen-Starters an. Ebenso habe ich als Admin die Mail über ein neues Thema im Forum erhalten.

Das einzige was mich gerade ziemlich stutzig macht ist, dass ich dann einfach nochmal die bisherige functions_post.php genommen habe und es da auch funktioniert hat? *hmpf*

Was war denn an der functions_post.php zu ändern? Die eingebaute Funktion vom Notifier ist ja unverändert...

Danke schon mal.


Edit: Es könnte höchstens sein, dass ich damals beim Testen der normalen Benachrichtigungsfunktion mit meinem Admin-Account ein Thema eröffnet habe und dann mit einem Test-Benutzer geantwortet habe und dann jedoch an meine Mail-Adresse nur die Mail über das neue Thema erhalten habe (vom Notifier MOD), aber nicht die Mail über eine Antwort in dem Thema, da das die Funktion evtl. verhindert?

Edit2: Die Vermutung unter Edit hat sich nicht bestätigt - die Mail kam auch hier an - jedoch landete sie direkt im SPAM-Ordner meines Mail-Accounts.
Ich habe die kleine Änderungen in der functions_post.php gefunden, handelt sich lediglich um lediglich diese eine include-Zeile der emailer.php.
Sehr seltsam, ich werde es jetzt noch einmal ausführlich testen mit der bisherigen functions_post.php und wenn es wirklich funktioniert, dann entschuldige ich mich natürlich für den Wirbel, aber ich hatte es damals ausführlich alles ausprobiert und es kam keine Mail an.
Falls es funktionieren sollte (mit der "neuen" functions_post.php tut es dies ja sowieso auch), sollte ich dann eher diese verwenden oder die bisherige functions_post.php?
Zuletzt geändert von SkYfiGhTeR am Mi 27.Feb, 2008 21:32, insgesamt 2-mal geändert.
Gruß
SkYfiGhTeR ;)
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Die emailer.php wird in der functions_post.php für die Benachrichtigungen includiert. Ist sie es bereits, kommt es zu Fehlern, was man allerdings bei ebenfalls includierten Dateien (die functions_post.php wird ja selber in der posting.php includiert) nicht immer mitbekommt und das Script bricht einfach ab.
Daher muss die weitere Includierung der emailer.php mit include_once vorgenommen werden, damit es nicht zu den besagten Fehlern kommt und die Benachrichtigungen an die User aus durchgeführt werden kann.

Das war dann auch schon alles...
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!
SkYfiGhTeR
Beiträge: 153
Registriert: Do 28.Okt, 2004 09:01

Beitrag von SkYfiGhTeR »

Hallo,

alles klar - prima, vielen Dank! :)

Und wie ist es mit besagter Zeile bei der posting.php und dem Attachment MOD? Ist das ein Fehler in der Installationsanleitung die ich vorliegen habe?
Gruß
SkYfiGhTeR ;)
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

In der Installationsanleitung steht "AFTER, ADD" und Du hast es davor eingefügt.
Hat zunächst keine all zu grosse Bewandnis, sollte aber der Logik, halber dennoch nach der User-Benachrichtigung eingefügt werden, falls die nämlich auf die Nase fällt, wird das Attachment dann auch korrekterweise nicht in den Post eingefügt.
Finde ich so auch besser...
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!
SkYfiGhTeR
Beiträge: 153
Registriert: Do 28.Okt, 2004 09:01

Beitrag von SkYfiGhTeR »

Hi,

hm...klingt logisch, aber sehen von der Einbauanweisung kann ich es leider noch nicht.

Den entsprechenden Teil habe ich ja paar Posts darüber reinkopiert.

Bei mir sah es dann so aus in der posting.php:

Code: Alles auswählen

		if ( $mode != 'editpost' )
		{
			$user_id = ( $mode == 'reply' || $mode == 'newtopic' ) ? $userdata['user_id'] : $post_data['poster_id'];
			update_post_stats($mode, $post_data, $forum_id, $topic_id, $post_id, $user_id);
		}

		$attachment_mod['posting']->insert_attachment($post_id);

		if ($error_msg == '' && $mode != 'poll_delete')
		{
			user_notification($mode, $post_data, $post_info['topic_title'], $forum_id, $topic_id, $post_id, $notify_user);
		}
Du hast es nun so eingefügt, als würde in der Einbauanleitung stehen:

Code: Alles auswählen

#-----[ FIND ]--------------------------------------------- 
# around line 580 
user_notification($mode, $post_data, $post_info['topic_title'], $forum_id, $topic_id, $post_id, $notify_user);
      } 


# 
#-----[ AFTER, ADD ]--------------------------------------- 
# the Line have to be added AFTER the closing brace 
      $attachment_mod['posting']->insert_attachment($post_id); 


# 
Seh ich das so nicht richtig?

Ich meine, wenn es anders besser ist, dann prima, aber so drin stehen tut es nicht - zumindest kann man es dann so nicht wirklich sehen, falls es so gemeint ist, wie du es korrigiert hast.
Gruß
SkYfiGhTeR ;)
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Oh, hast Recht, hab mich wirklich verhauen.
Wäre aber dennoch egal.
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!
SkYfiGhTeR
Beiträge: 153
Registriert: Do 28.Okt, 2004 09:01

Beitrag von SkYfiGhTeR »

Hi,

ok - danke noch für die Antwort und die schnelle Hilfe. ;)
Gruß
SkYfiGhTeR ;)
Antworten