admin users list
Verfasst: 06.12.2002 20:16
Ich hoffe es kennt einer von euch den o.g. Mod. denn ich hab ein kleines Problem damit. An sich ist der super praktisch. Man kann dort in einem pull down Menü nach mehreren Kriterien sich eine Liste der User erstellen lassen. Die Kriterien sind:ID,Benutzername,Beiträge,Anmeldedatum und letzter Besuch. Das ganze kann man dann noch auf-bzw. absteigend (ASC/DESC) sortieren.
Die Anzahl der gezeigten Datensätze pro seite kann man im Script einfach einstellen (standard 30/Seite).
Nun kommt aber mein Problem. Standardmässig stehen die pull down Menüs auf "ID" und " "Aufsteigend". Wenn ich jetzt z.B. nach dem "Anmeldedatum" sortieren lasse zeigt er mir die ersten 30 (wie im script eingestellt) richtig an, die Anzeige im Pull Down Menü springt aber gleichzeitig wieder in die Ausgangsposition (ID/Aufsteigend) zurück und wenn ich jetzt auf "Weiter" bzw. "Seite 2" klicke sortiert er eben nach "ID" und nicht wie ich es ja wollte nach dem "Anmeldedatum".
Hoffentlich habe ich das einigermassen verständlich erklärt und hoffentlich weiss einer einen Rat.
P.S. Im Script die Anzahl der Ergebnisse von 30 auf z.B.100 zu erhöhen sodass alle User auf eine Seite passen ist nicht die Lösung die ich bevorzuge, da eines Tages hoffentlich so viele User registriert sind, dass das dann zu lange zum generieren braucht und auch unübersichtlich wird...
EDIT:Hier der Code
Die Anzahl der gezeigten Datensätze pro seite kann man im Script einfach einstellen (standard 30/Seite).
Nun kommt aber mein Problem. Standardmässig stehen die pull down Menüs auf "ID" und " "Aufsteigend". Wenn ich jetzt z.B. nach dem "Anmeldedatum" sortieren lasse zeigt er mir die ersten 30 (wie im script eingestellt) richtig an, die Anzeige im Pull Down Menü springt aber gleichzeitig wieder in die Ausgangsposition (ID/Aufsteigend) zurück und wenn ich jetzt auf "Weiter" bzw. "Seite 2" klicke sortiert er eben nach "ID" und nicht wie ich es ja wollte nach dem "Anmeldedatum".
Hoffentlich habe ich das einigermassen verständlich erklärt und hoffentlich weiss einer einen Rat.
P.S. Im Script die Anzahl der Ergebnisse von 30 auf z.B.100 zu erhöhen sodass alle User auf eine Seite passen ist nicht die Lösung die ich bevorzuge, da eines Tages hoffentlich so viele User registriert sind, dass das dann zu lange zum generieren braucht und auch unübersichtlich wird...
EDIT:Hier der Code
Code: Alles auswählen
<?php
/***************************************************************************
* admin_users_list.php
* -------------------
* begin : Thursday, July 18, 2002
* copyright : (C) 2002 Smartor
* email : smartor@zapo.net
*
* $Id: admin_users_list.php,v 1.0.1 2002/7/25, 15:12:22 hnt 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);
if( !empty($setmodules) )
{
$filename = basename(__FILE__);
$module['Users']['Users List'] = $filename;
return;
}
//
// Let's set the root dir for phpBB
//
$phpbb_root_path = '../';
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
//
// Set variables
//
$users_per_page = 30;
$start = (isset($HTTP_GET_VARS['start'])) ? $HTTP_GET_VARS['start'] : 0;
$sort_method = (isset($HTTP_POST_VARS['sort'])) ? $HTTP_POST_VARS['sort'] : 'user_id';
if (isset($HTTP_POST_VARS['order']))
{
$sort_order = ($HTTP_POST_VARS['order'] == 'DESC') ? 'DESC' : '';
}
$template->set_filenames(array(
'body' => 'admin/admin_users_list_body.tpl')
);
$template->assign_vars(array(
'L_ADMIN_USERS_LIST_TITLE' => $lang['Admin_Users_List_Title'],
'L_ADMIN_USERS_LIST_EXPLAIN' => $lang['Admin_Users_List_Explain'],
'L_SELECT_SORT_METHOD' => $lang['Select_sort_method'],
'U_LIST_ACTION' => append_sid("admin_users_list.$phpEx"),
'L_SORT' => $lang['Sort'],
'L_ORDER' => $lang['Order'],
'L_SORT_DESCENDING' => $lang['Sort_Descending'],
'L_SORT_ASCENDING' => $lang['Sort_Ascending'],
'L_USERNAME' => $lang['Username'],
'L_EMAIL' => $lang['Email'],
'L_JOINED' => $lang['Joined'],
'L_LAST_VISIT' => $lang['Last_visit'],
'L_POSTS' => $lang['Posts'],
'L_ACTIVE' => $lang['Active'] )
);
// Count users
$sql = "SELECT user_id FROM ".USERS_TABLE." WHERE user_id > 0";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not count Users", "", __LINE__, __FILE__, $sql);
}
$total_users = $db->sql_numrows($result);
// Query users info...
$sql = "SELECT user_id, username, user_email, user_regdate, user_lastvisit, user_posts, user_active FROM ".USERS_TABLE." WHERE user_id > 0 ORDER BY " . $sort_method . " " . $sort_order . " LIMIT ".$start.",".$users_per_page;
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not query Users information", "", __LINE__, __FILE__, $sql);
}
while( $row = $db->sql_fetchrow($result) )
{
$userrow[] = $row;
}
for ($i = 0; $i < $users_per_page; $i++)
{
if (empty($userrow[$i]))
{
break;
}
$row_color = (($i % 2) == 0) ? "row1" : "row2";
$template->assign_block_vars('userrow', array(
'COLOR' => $row_color,
'NUMBER' => ($start + $i + 1),
'USERNAME' => $userrow[$i]['username'],
'U_ADMIN_USER' => append_sid("admin_users.$phpEx?mode=edit&" . POST_USERS_URL . "=" . $userrow[$i]['user_id']),
'U_ADMIN_USER_AUTH' => append_sid("admin_ug_auth.$phpEx?mode=user&" . POST_USERS_URL . "=" . $userrow[$i]['user_id']),
'EMAIL' => $userrow[$i]['user_email'],
'JOINED' => create_date($lang['DATE_FORMAT'], $userrow[$i]['user_regdate'], $board_config['board_timezone']),
'LAST_VISIT' => (!$userrow[$i]['user_lastvisit']) ? '' : create_date($lang['DATE_FORMAT'], $userrow[$i]['user_lastvisit'], $board_config['board_timezone']),
'POSTS' => $userrow[$i]['user_posts'],
'ACTIVE' => ( $userrow[$i]['user_active'] ) ? $lang['Yes'] : $lang['No']
) //end array
);
} // end for
$template->assign_vars(array(
'PAGINATION' => generate_pagination(append_sid("admin_users_list.$phpEx?author=Smartor"), $total_users, $users_per_page, $start),
'PAGE_NUMBER' => sprintf($lang['Page_of'], ( floor( $start / $users_per_page ) + 1 ), ceil( $total_users / $users_per_page ))
) // end array
);
// Finally...
$template->pparse('body');
include('./page_footer_admin.'.$phpEx);
?>