Sie haben eine neue Privatmessage

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
DreamPromise
Mitglied
Beiträge: 3793
Registriert: 27.01.2004 17:56

Sie haben eine neue Privatmessage

Beitrag von DreamPromise »

Hi Leute

Ich möchte anzeigen lassen wenn ein Mitglied eine neue Message hat.
Es soll dem Mitglied angezeigt werden wenn er sich einloggt.
Wenn möglich noch mit Link damit er sofort diese Message lesen kann.
Ich hab 2.0.6

Wie geht das bitte ?

Danke schon mal

DP
Benutzeravatar
Fabse
Mitglied
Beiträge: 1401
Registriert: 02.06.2003 15:10
Wohnort: Klagenfurt
Kontaktdaten:

Beitrag von Fabse »

Wo soll das angezeigt werden? Was für eine Seite?
Benutzeravatar
DreamPromise
Mitglied
Beiträge: 3793
Registriert: 27.01.2004 17:56

Beitrag von DreamPromise »

Hi

also nachdem man sich eingeloggt hat sollte auf der index-seite eine nachricht stehen.
Wenn man die dann gelesen hat sollte natürlich der eintrag auf der index weg sein.

DP
Benutzeravatar
Fabse
Mitglied
Beiträge: 1401
Registriert: 02.06.2003 15:10
Wohnort: Klagenfurt
Kontaktdaten:

Beitrag von Fabse »

index_body.tpl einfügen:

Code: Alles auswählen

<!-- BEGIN switch_enable_pm_popup -->
<script language="Javascript" type="text/javascript">
<!--
	if ( {PRIVATE_MESSAGE_NEW_FLAG} )
	{
		window.open('{U_PRIVATEMSGS_POPUP}', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400');;
	}
//-->
</script>
<!-- END switch_enable_pm_popup -->
index.php einfügen:

Code: Alles auswählen

//
// Obtain number of new private messages
// if user is logged in
//
if ( ($userdata['session_logged_in']) && (empty($gen_simple_header)) )
{
	if ( $userdata['user_new_privmsg'] )
	{
		$l_message_new = ( $userdata['user_new_privmsg'] == 1 ) ? $lang['New_pm'] : $lang['New_pms'];
		$l_privmsgs_text = sprintf($l_message_new, $userdata['user_new_privmsg']);

		if ( $userdata['user_last_privmsg'] > $userdata['user_lastvisit'] )
		{
			$sql = "UPDATE " . USERS_TABLE . "
				SET user_last_privmsg = " . $userdata['user_lastvisit'] . "
				WHERE user_id = " . $userdata['user_id'];
			if ( !$db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, 'Could not update private message new/read time for user', '', __LINE__, __FILE__, $sql);
			}

			$s_privmsg_new = 1;
			$icon_pm = $images['pm_new_msg'];
		}
		else
		{
			$s_privmsg_new = 0;
			$icon_pm = $images['pm_new_msg'];
		}
	}
	else
	{
		$l_privmsgs_text = $lang['No_new_pm'];

		$s_privmsg_new = 0;
		$icon_pm = $images['pm_no_new_msg'];
	}

	if ( $userdata['user_unread_privmsg'] )
	{
		$l_message_unread = ( $userdata['user_unread_privmsg'] == 1 ) ? $lang['Unread_pm'] : $lang['Unread_pms'];
		$l_privmsgs_text_unread = sprintf($l_message_unread, $userdata['user_unread_privmsg']);
	}
	else
	{
		$l_privmsgs_text_unread = $lang['No_unread_pm'];
	}
}
else
{
	$icon_pm = $images['pm_no_new_msg'];
	$l_privmsgs_text = $lang['Login_check_pm'];
	$l_privmsgs_text_unread = '';
	$s_privmsg_new = 0;
}
Suche:

Code: Alles auswählen

$template->assign_vars(array(
After Add:

Code: Alles auswählen

	'PRIVATE_MESSAGE_INFO' => $l_privmsgs_text,
	'PRIVATE_MESSAGE_INFO_UNREAD' => $l_privmsgs_text_unread,
	'PRIVATE_MESSAGE_NEW_FLAG' => $s_privmsg_new,
	'L_PRIVATEMSGS' => $lang['Private_Messages'],
	'U_PRIVATEMSGS' => append_sid('privmsg.'.$phpEx.'?folder=inbox'),
	'U_PRIVATEMSGS_POPUP' => append_sid('privmsg.'.$phpEx.'?mode=newpm'),
Benutzeravatar
DreamPromise
Mitglied
Beiträge: 3793
Registriert: 27.01.2004 17:56

Beitrag von DreamPromise »

Hi

also es geht wohl so...das Problem ist nur das viele einen Popupblocker haben.

Wie kann man das denn anders lösen?

DP
Benutzeravatar
Fabse
Mitglied
Beiträge: 1401
Registriert: 02.06.2003 15:10
Wohnort: Klagenfurt
Kontaktdaten:

Beitrag von Fabse »

Das hat ja nix mit einem Popup Blocker zu tun. Du muss nur den js code ein bissl umschreiben!
Benutzeravatar
DreamPromise
Mitglied
Beiträge: 3793
Registriert: 27.01.2004 17:56

Beitrag von DreamPromise »

Hi

Also mein IE hat die Nachricht nicht angezeigt...wohl aber das er was geblockt hat.

DP
Benutzeravatar
Fabse
Mitglied
Beiträge: 1401
Registriert: 02.06.2003 15:10
Wohnort: Klagenfurt
Kontaktdaten:

Beitrag von Fabse »

DreamPromise hat geschrieben:Hi

Also mein IE hat die Nachricht nicht angezeigt...wohl aber das er was geblockt hat.

DP
Hää?
Benutzeravatar
DreamPromise
Mitglied
Beiträge: 3793
Registriert: 27.01.2004 17:56

Beitrag von DreamPromise »

Hi

Ist es denn nicht Möglich das oben ein Button erscheint der anzeigt das einen neue Message da ist.
Wenn man dann auf diesen Button klickt kommt man direkt zur Message.
Danach muß der Button aber weg sein.

Kann man das realisieren..und wie ??

Danke schon mal.

DP
Benutzeravatar
Fabse
Mitglied
Beiträge: 1401
Registriert: 02.06.2003 15:10
Wohnort: Klagenfurt
Kontaktdaten:

Beitrag von Fabse »

Dass man direkt zur message kommt ist etwas schwieriger!
Aber das man direkt zur privmsg.php?folder=inbox kommt ist kein Problem.
Dazu hat ich dir schon früher den Code gepostet den du nehen musst.
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“