Image PM wisselend

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Image PM wisselend

Bericht door Luuk » 12 mar 2004, 18:42

Ik ben aan het proberen om ervoor te kunnen zorgen dat je een optie <!-- BEGIN switch_new_pm --> en switch_no_new_pm krijgt. Ik weet dat zoiets al bestaat, maar omdat ik gebruik maak van verschillende plaatjes bij onMouseOver enzo gaat dit niet.

Nu heb ik al wat liggen proberen in de page_header.php, dacht dat dit moest werken, maar dat doet het niet:

Code: Selecteer alles

//
// Login box?
//
if ( !$userdata['session_logged_in'] )
{
	$template->assign_block_vars('switch_user_logged_out', array());
}
else
{
	$template->assign_block_vars('switch_user_logged_in', array());

	if ( !empty($userdata['user_popup_pm']) )
	{
		$template->assign_block_vars('switch_enable_pm_popup', array());
	}
	if ( !empty($userdata['user_new_privmsg']) )
	{
		$template->assign_block_vars('switch_new_pm', array());
	}
	elseif ( !empty($userdata['pm_no_new_msg']) )
	{
		$template->assign_block_vars('switch_no_new_pm', array());
	}
}
Wat moet ik aanpassen zodat het wel werkt?
Afbeelding

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 12 mar 2004, 21:03

Open
page_header.php (regel #294-#302)

Zoek

Code: Selecteer alles

	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'];
	}
Vervang

Code: Selecteer alles

	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']);
		$template->assign_block_vars('switch_new_pm', array()); 
	}
	else
	{
		$l_privmsgs_text_unread = $lang['No_unread_pm'];
		$template->assign_block_vars('switch_no_new_pm', array()); 
	}
Verwijder
je eigen scriptje ;)

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 13 mar 2004, 11:58

Heb je het zelf getest? Want bij mij werkt het niet, hij laat namelijk alleen maar "no new" zien terwijl ik wel een nieuwe pm heb
Afbeelding

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 13 mar 2004, 12:08

Nee ik heb het niet getest, maar het zou moten werken; die if functie bestond al voor het laten zien van de nieuwe PM info. In het eerste deel schakelt hij naar $userdata['user_unread_privmsg'], na de else pakt hij $lang['No_unread_pm']. Dat is dus precies de schakeloptie die jij zoekt, en als het niet werkt is er iets fout in je phpBB. Het enige wat ik heb toegevoegd zijn jouw switches. ;)

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 13 mar 2004, 12:13

Heb het nu, je had het wel goed, maar niet helemaal. Het moet in dit stuk ipv dat wat jij zei:

Code: Selecteer alles

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']);
		$template->assign_block_vars('switch_new_pm', array());

		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'];
		$template->assign_block_vars('switch_no_new_pm', array());

		$s_privmsg_new = 0;
		$icon_pm = $images['pm_no_new_msg'];
	}
Maar je hebt me wel op de goede weg geholpen, bedankt! :thumb:
Afbeelding

Gesloten