Ranking Spiele-Community auf Startseite
Verfasst: 10.08.2003 07:44
Hallo,
ich habe die memberlist.php so umgebastelt, dass sie mir auf meiner Startseite die "Hall of Fame" (also die Top3 meiner Spielecommunity (in phpbb2 über Activity MOD) ausliest bzw. anzeigt.
Zu besichtigen ist das hier
http://www.zum.de/psm/index1.php
Wer das in der Spielecommunity testen möchte:
benutzer:spieler
passwort:test
Mein eigentliches Anliegen: Bevor ich das Script (incl. dem Template) an andere weitergebe, wäre es nett, wenn sich mal jemand den Code ansieht und ggf. weiter optimiert, damit
a) mir Peinlichkeiten erspart bleiben
und b) die ganze Sache möglichst optimal ist.
Wie gesagt, es funktioniert. Nur: Sieht es auch schön aus?????
Vielen Dank im Voraus
Mondi
ich habe die memberlist.php so umgebastelt, dass sie mir auf meiner Startseite die "Hall of Fame" (also die Top3 meiner Spielecommunity (in phpbb2 über Activity MOD) ausliest bzw. anzeigt.
Zu besichtigen ist das hier
http://www.zum.de/psm/index1.php
Wer das in der Spielecommunity testen möchte:
benutzer:spieler
passwort:test
Mein eigentliches Anliegen: Bevor ich das Script (incl. dem Template) an andere weitergebe, wäre es nett, wenn sich mal jemand den Code ansieht und ggf. weiter optimiert, damit
a) mir Peinlichkeiten erspart bleiben
und b) die ganze Sache möglichst optimal ist.
Wie gesagt, es funktioniert. Nur: Sieht es auch schön aus?????
Vielen Dank im Voraus
Mondi
Code: Alles auswählen
<?php
/***************************************************************************
* ranking.php
* -------------------
* begin : Friday, May 11, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id: memberlist.php,v 1.36.2.8 2003/06/09 13:06:19 psotfx Exp $
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
define('IN_PHPBB', true);
$phpbb_root_path = 'phpBB2/'; // board folder with! ending mark (if in same folder just './')
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_VIEWMEMBERS);
init_userprefs($userdata);
//
// End session management
//
$start = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;
if ( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
{
$mode = ( isset($HTTP_POST_VARS['mode']) ) ? htmlspecialchars($HTTP_POST_VARS['mode']) : htmlspecialchars($HTTP_GET_VARS['mode']);
}
else
{
$mode = 'points';
}
if(isset($HTTP_POST_VARS['order']))
{
$sort_order = ($HTTP_POST_VARS['order'] == 'ASC') ? 'ASC' : 'DESC';
}
else if(isset($HTTP_GET_VARS['order']))
{
$sort_order = ($HTTP_GET_VARS['order'] == 'ASC') ? 'ASC' : 'DESC';
}
else
{
$sort_order = 'DESC';
}
//
// Ranking sorting
//
$mode_types_text = array($lang['Sort_Username'], $board_config['points_name']);
$mode_types = array('points');
$select_sort_mode = '<select name="mode">';
for($i = 0; $i < count($mode_types_text); $i++)
{
$selected = ( $mode == $mode_types[$i] ) ? ' selected="selected"' : '';
$select_sort_mode .= '<option value="' . $mode_types[$i] . '"' . $selected . '>' . $mode_types_text[$i] . '</option>';
}
$select_sort_mode .= '</select>';
$select_sort_order = '<select name="order">';
if($sort_order == 'ASC')
{
$select_sort_order .= '<option value="ASC" selected="selected">' . $lang['Sort_Ascending'] . '</option><option value="DESC">' . $lang['Sort_Descending'] . '</option>';
}
else
{
$select_sort_order .= '<option value="ASC">' . $lang['Sort_Ascending'] . '</option><option value="DESC" selected="selected">' . $lang['Sort_Descending'] . '</option>';
}
$select_sort_order .= '</select>';
//
// Generate page
//
$page_title = $lang['Memberlist'];
$template->set_filenames(array(
'body' => 'ranking_body.tpl')
);
make_jumpbox('viewforum.'.$phpEx);
$template->assign_vars(array(
'L_SELECT_SORT_METHOD' => $lang['Select_sort_method'],
'L_POINTS' => $board_config['points_name'],
'S_MODE_SELECT' => $select_sort_mode,
'S_ORDER_SELECT' => $select_sort_order,
'S_MODE_ACTION' => append_sid("memberlist.$phpEx"))
);
switch( $mode )
{
case 'points':
$order_by = "user_points $sort_order LIMIT 3";
break;
default:
$order_by = "user_points $sort_order LIMIT 3";
break;
}
$sql = "SELECT username, user_points
FROM " . USERS_TABLE . "
WHERE user_id <> " . ANONYMOUS . "
ORDER BY $order_by";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) )
{
$i = 0;
do
{
$username = $row['username'];
$user_id = $row['user_id'];
$temp_url = append_sid("search.$phpEx?search_author=" . urlencode($username) . "&showresults=posts");
$search_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_search'] . '" alt="' . $lang['Search_user_posts'] . '" title="' . $lang['Search_user_posts'] . '" border="0" /></a>';
$search = '<a href="' . $temp_url . '">' . $lang['Search_user_posts'] . '</a>'; $user_points = $row['user_points'];
$template->assign_block_vars('memberrow', array(
'ROW_NUMBER' => $i + ( $HTTP_GET_VARS['start'] + 1 ),
'ROW_COLOR' => '#' . $row_color,
'ROW_CLASS' => $row_class,
'USERNAME' => $username,
'POINTS' => $user_points,
'U_VIEWPROFILE' => append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$user_id"))
);
$i++;
}
while ( $row = $db->sql_fetchrow($result) );
}
$template->pparse('body');
?>