Problem mit Junior Admin Mod

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
aggrosuperfan

Problem mit Junior Admin Mod

Beitrag 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:
FCM
Mitglied
Beiträge: 1863
Registriert: 03.05.2006 14:47
Kontaktdaten:

Beitrag 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?
aggrosuperfan

Beitrag von aggrosuperfan »

wie hast du denn dann nachher das problem gelöst?
oder gehts immer noch nicht
FCM
Mitglied
Beiträge: 1863
Registriert: 03.05.2006 14:47
Kontaktdaten:

Beitrag von FCM »

Mir hat es 'gereicht' und habe den Mod deinstalliert. ;-)
aggrosuperfan

Beitrag von aggrosuperfan »

das ist aber scheiße
thoha
Mitglied
Beiträge: 372
Registriert: 11.01.2006 19:28
Wohnort: Oetwil an der Limmat CH
Kontaktdaten:

Beitrag von thoha »

Die Lösung auf dieses Problem findest du hier
FCM
Mitglied
Beiträge: 1863
Registriert: 03.05.2006 14:47
Kontaktdaten:

Beitrag von FCM »

Komischer Mod

Danke :D :D
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12179
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Beitrag 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
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Antworten

Zurück zu „phpBB 2.0: Mod Support“