Seite 1 von 1

Probleme mit dem junior Admin

Verfasst: 02.04.2006 21:18
von FT-Admin
Hallo Leutchen,

ich habe heute den Junior Admin Mod problemlos installiert bekommen und bei dem Buchstaben A angefangen, die alten User zu löschen, bzw. zu dekativieren.

Dazu bin ich über die Funktion "Module Ändern" / "User Details anzeigen" in den entsprechenden Bereich gegangen.
Das hat bis zum Buchstaben M problemlos geklappt....aber alle User nach M (seltsamerweise der 101 User in der Liste) springt er einfach nur zum Seitenanfang, wenn ich auf "Module Ändern" klicke.

Was kann da schief gelaufen sein?

Verfasst: 03.04.2006 01:23
von Mahony
Hallo

Ich habe mal folgendes gefunden (von Oxpus):

Code: Alles auswählen

################################################################################### 
## 
## Ab einer gewissen Anzahl an Usern (+1000) gibt es beim Junior MOD Schwierigkeiten
## die Userauflistung, wo man die Junior Admins definieren kann, aufzurufen.
## In dem besagten Bereich werden alle User gleichzeitig aufgelistet, was ab einer
## grösseren Anzahl an Usern zu Fehlern führen kann.
## Mit der folgenden Änderung kann man dies umgehen, in dem man die Auflistung in
## mehrere Seiten aufteilt.
##
## Autor dieser Änderung/Anpassung: oxpus
## 
################################################################################### 
#
#-----[ ÖFFNE ]-----
#
# admin/admin_jr_admin.php
#
#-----[ FINDE ]-----
#
function jr_admin_make_bookmark_heading($letters_list)

#
#-----[ MIT FOLGENDEM ERSETZEN ]-----
#
function jr_admin_make_bookmark_heading($letters_list, $start)

#
#-----[ FINDE ]-----
#
   $start = '[ ';

#
#-----[ MIT FOLGENDEM ERSETZEN ]-----
#
   $startb = '[ <a href="'.append_sid("admin_jr_admin.php?sort_item=" . ( ( isset($HTTP_GET_VARS['sort_item']) || isset($HTTP_POST_VARS['sort_item']) ) ? $sort_item : 'username' ) . "&start=$start&alphanum=" . strtoupper(chr($first_link))).'" class="nav">All</a> | ';

#
#-----[ FINDE ]-----
#
            $list .= '<a href="#'.strtoupper(chr($first_link)).'" class="nav">'.strtoupper(chr($items[0])).' - '.strtoupper(chr($items[1])).'</a>';

#
#-----[ MIT FOLGENDEM ERSETZEN ]-----
#
            $list .= '<a href="'.append_sid("admin_jr_admin.php?sort_item=" . ( ( isset($HTTP_GET_VARS['sort_item']) || isset($HTTP_POST_VARS['sort_item']) ) ? $sort_item : 'username' ) . "&start=$start&alphanum=0").'" class="nav">0 - 9</a>';

#
#-----[ FINDE ]-----
#
               $list .= '<a href="#'.strtoupper(chr($i)).'" class="nav">'.strtoupper(chr($i)).'</a>';

#
#-----[ MIT FOLGENDEM ERSETZEN ]-----
#
               $list .= '<a href="'.append_sid("admin_jr_admin.php?sort_item=" . ( ( isset($HTTP_GET_VARS['sort_item']) || isset($HTTP_POST_VARS['sort_item']) ) ? $sort_item : 'username' ) . "&start=$start&alphanum=" . strtoupper(chr($i))).'" class="nav">'.strtoupper(chr($i)).'</a>';

#
#-----[ FINDE ]-----
#
            $list .= '<a href="#'.strtoupper(chr($ord_value)).'" class="nav">'.strtoupper(chr($ord_value)).'</a>';

#
#-----[ MIT FOLGENDEM ERSETZEN ]-----
#
            $list .= '<a href="'.append_sid("admin_jr_admin.php?sort_item=" . ( ( isset($HTTP_GET_VARS['sort_item']) || isset($HTTP_POST_VARS['sort_item']) ) ? $sort_item : 'username' ) . "&start=$start&alphanum=" . strtoupper(chr($ord_value))).'" class="nav">'.strtoupper(chr($ord_value)).'</a>';

#
#-----[ FINDE ]-----
#
   return ($start . $list);

#
#-----[ MIT FOLGENDEM ERSETZEN ]-----
#
   return ($startb . $list);

#
#-----[ FINDE ]-----
#
$params = array('mode' => '', 'user_id' => '', 'color_group_id' => '', 'order' => 'ASC', 'sort_item' => 'username');

#
#-----[ MIT FOLGENDEM ERSETZEN ]-----
#
$params = array('mode' => '', 'user_id' => '', 'color_group_id' => '', 'order' => 'ASC', 'sort_item' => 'username', 'start' => '0', 'alphanum' => '');

#
#-----[ FINDE ]-----
#
   $current_letter = ''; //for alpha links
   $assigned_current_letter_link = false; //for alpha links
   $letter_list = array(); //hold letters
   
   $SQL = "SELECT $color_group username, user_id, user_rank, user_allow_pm, user_allowavatar, user_active
      FROM " . USERS_TABLE . "
      WHERE user_id <> " . ANONYMOUS . "
      ORDER BY $sort_item $order";
   if (!$result = $db->sql_query($SQL))
   {
      message_die(GENERAL_ERROR, $lang['Error_User_Table'], '', __LINE__, __FILE__, $SQL);
   }
   while ($row = $db->sql_fetchrow($result))
   {
      $test_letter = strtoupper(substr($row['username'], 0, 1));
      if ($test_letter != $current_letter)
      {
         //If we have a new letter, get it here.
         $current_letter = $test_letter;
         $assigned_current_letter_link = false;
         $letter_list[ord($current_letter)] = true;
      }

#
#-----[ MIT FOLGENDEM ERSETZEN ]-----
#
   $proof = '';
   for ($i = 97; $i <= 122; $i++)
   {
      $proof .= " AND username NOT LIKE '" . chr($i) . "%' ";
   }
   $alpha_where = ( $alphanum == '0' ) ? $proof : (($alphanum != '') ? "AND username LIKE '$alphanum%'" : '');
   
   $per_page = $board_config['topics_per_page'];
   $SQL = "SELECT $color_group username, user_id, user_rank, user_allow_pm, user_allowavatar, user_active
      FROM " . USERS_TABLE . "
      WHERE user_id <> " . ANONYMOUS . "
      $alpha_where
      ORDER BY $sort_item $order
      LIMIT $start, $per_page";
   if (!$result = $db->sql_query($SQL))
   {
      message_die(GENERAL_ERROR, $lang['Error_User_Table'], '', __LINE__, __FILE__, $SQL);
   }
   while ($row = $db->sql_fetchrow($result))
   {

#
#-----[ FINDE ]-----
#
   //Make sort image choice and sorting links

#
#-----[ DARÜBER EINFÜGEN ]-----
#
   $SQL = "SELECT user_id FROM " . USERS_TABLE . "
      WHERE user_id <> " . ANONYMOUS . "
      $alpha_where";
   if (!$result = $db->sql_query($SQL))
   {
      message_die(GENERAL_ERROR, $lang['Error_User_Table'], '', __LINE__, __FILE__, $SQL);
   }
   $row = $db->sql_numrows($result);
   $total_users_count = $row;

   $template->assign_vars(array(
      'PAGINATION' => generate_pagination("admin_jr_admin.$phpEx?sort_item=$sort_item", $total_users_count, $per_page, $start),
      'PAGE_NUMBER' => sprintf($lang['Page_of'], ( floor( $start / $per_page ) + 1 ), ceil( $total_users_count / $per_page )))
   );

#
#-----[ FINDE ]-----
#
   if ($sort_item == 'username')
   {
      $template->assign_var('LETTER_HEADING', jr_admin_make_bookmark_heading($letter_list));
   }

#
#-----[ MIT FOLGENDEM ERSETZEN ]-----
#
   $SQL = "SELECT username   FROM " . USERS_TABLE . "
      WHERE user_id <> " . ANONYMOUS;
   if (!$result = $db->sql_query($SQL))
   {
      message_die(GENERAL_ERROR, $lang['Error_User_Table'], '', __LINE__, __FILE__, $SQL);
   }
   while ($row = $db->sql_fetchrow($result))
   {
      $test_letter = strtoupper(substr($row['username'], 0, 1));
      if ($test_letter != $current_letter)
      {
         //If we have a new letter, get it here.
         $current_letter = $test_letter;
         $assigned_current_letter_link = false;
         $letter_list[ord($current_letter)] = true;
      }
   }

   if ($sort_item == 'username')
   {
      $template->assign_var('LETTER_HEADING', jr_admin_make_bookmark_heading($letter_list, $start));
   }

#
#-----[ ÖFFNE ]-----
#
# templates/subSilver/admin/jr_admin_user_list.tpl
#
#-----[ FINDE ]-----
#
</form>

#
#-----[ DARUNTER EINFÜGEN ]-----
#
<table  border="0" cellpadding="3" cellspacing="1" width="96%" class="forumline" align="center">
<tr>
   <td><span class="mainmenu"><b>{PAGE_NUMBER}</b></span></td>
   <td align="right"><span class="mainmenu"><b>{PAGINATION}</b></span></td>
</table>
Das könnte dir helfen (zumindest hat es bei einem ähnlichen Problem schon einmal geholfen - und es waren dort nur 130 User angemeldet, allerdings mit 10000 Beiträgen).


Grüße: Mahony

Verfasst: 03.04.2006 02:26
von FT-Admin
Super! Das war die Lösung!

Verfasst: 05.04.2006 21:14
von Munin
Habe auch schon wieder ein Problem -.-
Und zwar bekomm ich unten im forum eine Fehlernachricht:

Code: Alles auswählen

Parse error: parse error, unexpected T_STRING in /home/webpages/lima-city/forum9f1/html/includes/page_tail.php on line 34
und da sollte aber eigentlich alles richtig sein,zur Kontrolle für euch hier ein kleiner Ausschnitt von Zeile 34 und den Zeilen da herum:

Code: Alles auswählen

if ( !defined('IN_PHPBB') )
{
	die('Hacking attempt');
}

global $do_gzip_compress;

//
// Show the overall footer.
//
include_once($phpbb_root_path . 'includes/functions_jr_admin.' . $phpEx);
$admin_link = jr_admin_make_admin_link();' . $lang['Admin_panel'] . '</a><br /><br />' : '';

$template->set_filenames(array(
	'overall_footer' => ( empty($gen_simple_header) ) ? 'overall_footer.tpl' : 'simple_footer.tpl')
);
Danke schonmal
Gruß aus der Lüneburger Heide

Verfasst: 05.04.2006 21:32
von Mahony
Hallo
Der betreffende Teil sollte so aussehen:

Code: Alles auswählen

//
// Show the overall footer.
//
include_once($phpbb_root_path . '/includes/functions_jr_admin.' . $phpEx);
$admin_link = jr_admin_make_admin_link();

$template->set_filenames(array(
	'overall_footer' => ( empty($gen_simple_header) ) ? 'overall_footer.tpl' : 'simple_footer.tpl')
);

Das hier ist zuviel (musst du bei dir herausnehmen):

Code: Alles auswählen

' . $lang['Admin_panel'] . '</a><br /><br />' : '';
Grüße: Mahony

Verfasst: 05.04.2006 21:40
von Munin
Alles klar,scheint zu funktionieren,Dank Dir!