Pagina 1 van 1

Image PM wisselend

Geplaatst: 12 mar 2004, 18:42
door Luuk
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?

Geplaatst: 12 mar 2004, 21:03
door mosymuis
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 ;)

Geplaatst: 13 mar 2004, 11:58
door Luuk
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

Geplaatst: 13 mar 2004, 12:08
door mosymuis
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. ;)

Geplaatst: 13 mar 2004, 12:13
door Luuk
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: