Seite 2 von 2

Verfasst: Sa 01.Okt, 2005 21:23
von schmidtedv
Hm, warum schmeißt Du das /n immer raus? In den anderen Originalstellen hat das phpBB immer das "/n" drin...ansonsten würde ich, da wir uns ja im E-Mail-Verteiler befinden, vorschlagen, den Link zum Benutzerbearbeiten in einen Link zum private Nachricht schicken ändern (oder mir diese Änderung erbitten)

EDIT: Für $sql = "SELECT user_email FROM " . USERS_TABLE . " WHERE user_level = 2"; erhalte ich die Fehlermeldung "Diese Gruppe existiert nicht". Ich habe mich als Admin aber in dem Testforum als "Moderator" eingetragen....hmhm, ich denke mal, da ich als Admin einen anderen Level habe, oder? da sollte die Abfrage dann anders aufgebaut werden...oder?


...an dieser Stelle muß ich mal eben was nachhaken bzgl. der functions_post.php

Ich hab die emailer-stelle jetzt so drin (wieder versucht ne "USERNAME"-Variable hinzuzufügen und deinen Tipp mit der $this_userdata....aber leider krieg ich in der topic_notify.tpl-mail für die Variable "USERNAME" nur "" angezeigt...

Code: Alles auswählen

do
				{
					if ($row['user_email'] != '')
					{
						$bcc_list_ary[$row['user_lang']][] = $row['user_email'];
					}
					$update_watched_sql .= ($update_watched_sql != '') ? ', ' . $row['user_id'] : $row['user_id'];
				}
				while ($row = $db->sql_fetchrow($result));
				
				$this_userdata = get_userdata($user_id);

				//
				// Let's do some checking to make sure that mass mail functions
				// are working in win32 versions of php.
				//
				if (preg_match('/[c-z]:\\\.*/i', getenv('PATH')) && !$board_config['smtp_delivery'])
				{
					$ini_val = (@phpversion() >= '4.0.0') ? 'ini_get' : 'get_cfg_var';

					// We are running on windows, force delivery to use our smtp functions
					// since php's are broken by default
					$board_config['smtp_delivery'] = 1;
					$board_config['smtp_host'] = @$ini_val('SMTP');
				}

				if (sizeof($bcc_list_ary))
				{
					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']) . '/' : '/';

					$server_url = $server_protocol . $server_name . $server_port . $script_name;
					
					$orig_word = array();
					$replacement_word = array();
					obtain_word_list($orig_word, $replacement_word);

					$emailer->from($board_config['board_email']);
					$emailer->replyto($board_config['board_email']);

					$topic_title = (count($orig_word)) ? preg_replace($orig_word, $replacement_word, unprepare_message($topic_title)) : unprepare_message($topic_title);

					@reset($bcc_list_ary);
					while (list($user_lang, $bcc_list) = each($bcc_list_ary))
					{
						$emailer->use_template('topic_notify', $user_lang);
		
						for ($i = 0; $i < count($bcc_list); $i++)
						{
							$emailer->bcc($bcc_list[$i]);
						}

						// The Topic_reply_notification lang string below will be used
						// if for some reason the mail template subject cannot be read 
						// ... note it will not necessarily be in the posters own language!
						$emailer->set_subject($lang['Topic_reply_notification']);

						$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' => $this_userdata['username'],
							'TOPIC_TITLE' => $topic_title,
							'POST_USERNAME' => $userdata['username'],
							'MESSAGE' => $post_message, 

							'U_TOPIC' => $server_url . '?' . POST_POST_URL . "=$post_id#$post_id",
							'U_STOP_WATCHING_TOPIC' => $server_url . '?' . POST_TOPIC_URL . "=$topic_id&unwatch=topic")
						);

						$emailer->send();
						$emailer->reset();
Eventuell nen Tipp hierfür parat?

Verfasst: So 02.Okt, 2005 10:06
von JaneDoe
Hallo, bei mir in der Usertabelle sind die Werte für Admins 1, Mod 2, Registrierte 0.
Das sollte imo immer so sein.
Gruppen hab ich nicht definiert.
Grad getestet, das klappt so bei mir.

Verfasst: So 02.Okt, 2005 10:09
von schmidtedv
naja, wenn du nur den admin als mod für ein forum drin hättest, nehme ich an, es würde auch fehlschlagen? ich müßte also einen testuser mal als mod anlegen, oder? ...die Sache bezieht sich doch darauf, ob ich jemandem Moderatorenstatus zu einem Forum erteile, oder hab ich das falsch verstanden?

BTW: irgendwie stimmt die functions_post.php bei mir net...oder ist das ein addon, das der {USERNAME} auch umgesetzt wird bei ner "topic_notification" ???

Verfasst: So 02.Okt, 2005 13:09
von JaneDoe
Ja, sobald ein Mitglied in irgendeinem Forum Mod ist, wird in der php_users Tabelle bei User_level eine 2 eingetragen.
Wenn nur der Admin mod wäre geht das nicht, weil er als admin immer user_level 1 hat.
Ist zugegebenermassen ein grobes Raster.
also nehm ich >=1 dann stimmt das schon ;)

Verfasst: So 02.Okt, 2005 13:12
von oxpus
Oder eben user_level = 1 für nur Admins...

Verfasst: So 02.Okt, 2005 13:47
von schmidtedv
ähm, wäre das so kombinierbar, das ich als admin mit modstatus (und einziger mod...) auch ne mail kriege und keine fehlermeldung kommt?

BTW: Die Emailgeschichte hat sich geklärt mit einbau des Notification MODs... :-)

Verfasst: So 02.Okt, 2005 15:32
von oxpus
Pack Dich in eine Gruppe und wähle die Gruppe aus.
Das ist die sicherste und einfachste Lösung.

Verfasst: So 02.Okt, 2005 18:42
von schmidtedv
hm mach ich halt <=2 und wandel des in Mods und Admins...

Verfasst: So 02.Okt, 2005 22:41
von JaneDoe
<=2 ? Das gilt für alle User.
alle Mods und Admins sollten doch >=1 sein.

Verfasst: So 02.Okt, 2005 23:12
von oxpus
Nochmal:

-1 = Gäste
0 = User
1 = Admins
2 = Mods

Verfasst: Mo 03.Okt, 2005 21:42
von schmidtedv
OK, also >=1 für dieses Fitzelchen Codeerweiterung.....oder gibts unter umständen noch ne 3 die ich übersehen habe?

Verfasst: Mo 03.Okt, 2005 23:33
von oxpus
Öh, die in meinem letzten Beitrag aufgeführten Userlevel sind alle, die das phpBB von Hause aus verwaltet. Da ist nichts mehr, es sei denn, künstlich durch MODs erzeugt.

Verfasst: Di 04.Okt, 2005 11:34
von schmidtedv
k, thx, das reicht so für das kleine phpBB (PS: mein Kunde nimmt's nun doch OHNE die komische Access-DB, uff, aber Danke für die Mühe, bzw. immerhin schon was gelernt für den Fall der Fälle :-) )