Seite 1 von 1

Problem mit Junior Admin Mod

Verfasst: 12.06.2006 19:00
von aggrosuperfan
Ich habe den Junior Admin Mod installiert und jemandem aus meinem Forum rechte für bestimmte bereich gegeben!!!
wenn der sich nun eingeloggt hat, steht zwar unten administrationsbereich, aber wenn er draufklickt passiert nichts, was habe ich falsch gemacht?
bitte helft mir :cry:

Verfasst: 12.06.2006 19:06
von FCM
Hatte gleiches Problem. Weiß bis heut' nicht wieso das so war. Aber mit dem Junior Ad. gibt es immer Probleme. Weiß wer weiter?

Verfasst: 12.06.2006 19:31
von aggrosuperfan
wie hast du denn dann nachher das problem gelöst?
oder gehts immer noch nicht

Verfasst: 12.06.2006 19:34
von FCM
Mir hat es 'gereicht' und habe den Mod deinstalliert. ;-)

Verfasst: 12.06.2006 19:35
von aggrosuperfan
das ist aber scheiße

Verfasst: 12.06.2006 20:12
von thoha
Die Lösung auf dieses Problem findest du hier

Verfasst: 12.06.2006 20:38
von FCM
Komischer Mod

Danke :D :D

Verfasst: 12.06.2006 20:46
von Mahony
Hallo
Ich poste hier mal die bekannten Bugfixes für den Junior Admin MOD (evtl. hilft das ja mal, wenn alle Lösungen an einer Stelle zu finden sind).

Und los gehts:

1. Problem: Sobald man im ACP auf den neuen Link: Junior Admin klickt erhält man eine leere rechte Seite.
Lösung:
Öffne admin/admin_jr_admin.php

Suche:

Code: Alles auswählen

define('MOD_VERSION', '2.0.5');
define('MOD_CODE', 1);
$phpbb_root_path = '../';
include($phpbb_root_path . 'extension.inc');
include_once($phpbb_root_path."includes/functions_jr_admin.$phpEx");
include_once("pagestart.$phpEx");
find_lang_file_nivisec('lang_jr_admin');
if (!empty($setmodules))
{
   $filename = basename(__FILE__);
   $module['Users']['Jr_Admin'] = $filename;
   return;
}
Ersetze mit:

Code: Alles auswählen

if (!empty($setmodules))
{
   $filename = basename(__FILE__);
   $module['Users']['Jr_Admin'] = $filename;
   return;
}
define('MOD_VERSION', '2.0.5');
define('MOD_CODE', 1);
$phpbb_root_path = '../';
include($phpbb_root_path . 'extension.inc');
include_once($phpbb_root_path."includes/functions_jr_admin.$phpEx");
include_once("pagestart.$phpEx");
find_lang_file_nivisec('lang_jr_admin');
Der "setmodules" Bereich muss direkt unter

Code: Alles auswählen

define('IN_PHPBB', true);
stehen, dann klappts auch

2. Problem: Der Junior Admin Mod ist installiert und man vergibt einem User verschiedene Rechte für bestimmte Bereiche. Wenn dieser User sich nun eingeloggt hat, steht zwar unten Administrations-Bereich, aber wenn er draufklickt passiert nichts.
Lösung:

Code: Alles auswählen

#-----[ OPEN ]------------------------------------------
#
login.php

#
#-----[ FIND ]------------------------------------------
#
   if( !$userdata['session_logged_in'] || (isset($HTTP_GET_VARS['admin']) && $userdata['session_logged_in'] && ($userdata['user_level'] == ADMIN))

#
#-----[ REPLACE WITH ]------------------------------------------
#
   include_once($phpbb_root_path . 'includes/functions_jr_admin.' . $phpEx);
   $jr_admin_userdata = jr_admin_get_user_info($userdata['user_id']);

   if( !$userdata['session_logged_in'] || (isset($HTTP_GET_VARS['admin']) && $userdata['session_logged_in'] && (!empty($jr_admin_userdata['user_jr_admin']) || $userdata['user_level'] == ADMIN)))

#
#-----[ OPEN ]------------------------------------------
#
admin/pagestart.php
#
#-----[ FIND ]------------------------------------------
#
   redirect(append_sid("login.$phpEx?redirect=admin/&admin=1", true));

#
#-----[ REPLACE WITH ]------------------------------------------
#
   redirect(append_sid("login.$phpEx?redirect=admin/index.$phpEx&admin=1", true));
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
3. Problem: 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. Anmerkung: Dieses Problem kann auch bei zu vielen Posts pro User auftreten.
Autor dieser Änderung/Anpassung: oxpus

Lösung:

Code: Alles auswählen

#-----[ Ö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>
P.S. Ich bin nicht der Urheber dieser Lösungen. Wo mir der Autor bekannt ist, wurde er von mir angegeben. Diese Lösungen wurden allesamt von mir getestet und funktionieren einwandfrei. Ich Danke an dieser Stelle allen Usern die an der Lösung dieser Probleme beteiligt waren.


Grüße: Mahony