Seite 1 von 1

Lastvisitmod - Scrollfunktion dreht durch !

Verfasst: 02.01.2005 13:05
von mythorth
Mein Lastvisitmod der im Portal die User der letzten 48 Stunden anzeigen soll funktioniert eigentlich einwandfrei, nur die Autoscroll-Funktion der Userliste "fährt" viel zu schnell durch's Bild, am liebsten hätte ich eine komplett unbewegte Liste, hier mal das (meiner Ansicht nach) wichtige:

portal_body.tpl

Code: Alles auswählen

<tr>
<td colspan="2" height="1" class="row2"><span class="genmed">{USER_DAY_LIST}<br></span><span class="gensmall"><br /></span></td>
</tr>
includes/page_header.php

Code: Alles auswählen

$template->assign_vars(array(...
	'USER_DAY_LIST' => $day_userlist,....

Code: Alles auswählen

//
// Users of the day MOD
//

// ############ Edit below ############
// #
$display_not_day_userlist = 0;	// change to 1 here if you also want the list of the users who didn't visit to be displayed
$users_list_delay = 48;		// change here to the number of hours wanted for the list
$scroll_delay = 95;       // increasing the value causes the scroll to become slower
//
//
// #
// ############ Edit above ############

$sql = "SELECT user_id, username, user_allow_viewonline, user_level, user_session_time
	FROM ".USERS_TABLE."
	WHERE user_id > 0
	ORDER BY user_level DESC, username ASC";
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not obtain user/day information', '', __LINE__, __FILE__, $sql);
}

$day_userlist = '';
$day_users = 0;
$not_day_userlist = '';
$not_day_users = 0;


while( $row = $db->sql_fetchrow($result) )
{
		$style_color = '';
	if ( $row['user_level'] == ADMIN )
	{
		$row['username'] = '<b>' . $row['username'] . '</b>';
		$style_color = 'style="color:#' . $theme['fontcolor4'] . '"';
	}
	else if ( $row['user_level'] == MOD )
	{
		$row['username'] = '<b>' . $row['username'] . '</b>';
		$style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
	}
	if ( $row['user_allow_viewonline'] )
	{
		$user_day_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .' title="View Users Profile" onMouseOver=document.all.userscroll1.stop() onMouseOut=document.all.userscroll1.start()>' . $row['username'] . '</a>';
	}
	else
	{
		$user_day_link = '<a href="' . append_sid("privmsg.php?mode=post&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .' title="Send User a PM" onMouseOver=document.all.userscroll1.stop() onMouseOut=document.all.userscroll1.start()><img src=templates/subSilver/images/icon_scroll_pm.gif align=top border=0></a> <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .' title="View Users Profile" onMouseOver=document.all.userscroll1.stop() onMouseOut=document.all.userscroll1.start()><i>' . $row['username'] . '</i></a>';
	}
	if ( $row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN )
	{
		if ( $row['user_session_time'] >= ( time() - $users_list_delay * 3600 ) )
		{
			$day_userlist .= ( $day_userlist != '' ) ? '; ' . $user_day_link : $user_day_link;
			$day_users++;
		}
		else
		{
			$not_day_userlist .= ( $not_day_userlist != '' ) ? '; ' . $user_day_link : $user_day_link;
			$not_day_users++;
		}
	}
}

$day_userlist = ( ( isset($forum_id) ) ? '' : sprintf($lang['Day_users'], $day_users, $users_list_delay) ) . '<br /><marquee scrolldelay=$scroll_delay id=userscroll1>' . $day_userlist . '</marquee>';

$not_day_userlist = ( ( isset($forum_id) ) ? '' : sprintf($lang['Not_day_users'], $not_day_users, $users_list_delay) ) . '<br /><marquee scrolldelay=$scroll_delay id=userscroll2>' . $not_day_userlist . '</marquee>';

if ( $display_not_day_userlist )
{
	$day_userlist .= '<br />' . $not_day_userlist;
}

//
// End of MOD
//
Eigentlich bin ich also damit recht happy aber wie schalte ich das scrollen ab ?

Ist es besser wenn ich den jetzigen Mod rauswerfe und stattdessen den hier:
## MOD Title: Last visit
## MOD Author: Niels < ncr@db9.dk > (Niels Chr. Rød) http://mods.db9.dk
installiere ? kann der mehr ?

Danke schonmal im voraus

Verfasst: 02.01.2005 13:10
von mythorth
Das "$scroll_delay" zu verändern hilf überigens nichts aber ich habe das problem bereits gelöst indem ich in page_header.php

Code: Alles auswählen

$day_userlist = ( ( isset($forum_id) ) ? '' : sprintf($lang['Day_users'], $day_users, $users_list_delay) ) . '<br />' . $day_userlist;
statt

Code: Alles auswählen

$day_userlist = ( ( isset($forum_id) ) ? '' : sprintf($lang['Day_users'], $day_users, $users_list_delay) ) . '<br /><marquee scrolldelay=$scroll_delay id=userscroll1>' . $day_userlist . '</marquee>'; 
eingefügt habe falls es jemanden interessiert, jetzt steht alles still :-)

Trotzdem noch die Frage: ist der lastvisit mod von niels besser ???

Verfasst: 02.01.2005 13:22
von ATARI
ich kannte ehrlich gesagt nur den von niels.
und ja, der ist sehr gut!