Wer ist online nur für bestimmte Benutzergruppen [ERLEDIGT]
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.
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.
Wer ist online nur für bestimmte Benutzergruppen [ERLEDIGT]
Liebe phpBB.de-Member,
ich habe mir gerade das phpBB2 runtergeladen und erfolgreich installiert.
Ich suche nun folgenden Hack/Mod, den ich nach der Suchfunktion im Forum und in der Mod-Datenbank nicht gefunden habe. Dies habe ich gefunden:
http://www.phpbb.de/moddb/mod.php?id=509
Leider entspricht das nicht ganz meinem Wunsch.
Ich möchte gerne einen Mod/Hack, bei dem ich am besten im ACP unter den Gruppenberechtigungen einstellen kann, ob diese Gruppe den Frame "Wer ist online" sehen kann. Es muss nicht unbedingt im ACP sein, ich kann es auch manuell im CODE ändern!
Gibt es schon so etwas hier? Ich weis, dass es so was für Gäste gibt, aber das reicht mir nicht ganz aus!
Bis jetzt wurden noch keine anderen Mods eingebaut!
Ich währe jedem sehr dankbar, wenn jemand mir dies machen könnte oder jemand auf einen schon vorhandenen Mod/Hack verweisen könnte!
Vielen Dank!
Gruß Stefan M.
ich habe mir gerade das phpBB2 runtergeladen und erfolgreich installiert.
Ich suche nun folgenden Hack/Mod, den ich nach der Suchfunktion im Forum und in der Mod-Datenbank nicht gefunden habe. Dies habe ich gefunden:
http://www.phpbb.de/moddb/mod.php?id=509
Leider entspricht das nicht ganz meinem Wunsch.
Ich möchte gerne einen Mod/Hack, bei dem ich am besten im ACP unter den Gruppenberechtigungen einstellen kann, ob diese Gruppe den Frame "Wer ist online" sehen kann. Es muss nicht unbedingt im ACP sein, ich kann es auch manuell im CODE ändern!
Gibt es schon so etwas hier? Ich weis, dass es so was für Gäste gibt, aber das reicht mir nicht ganz aus!
Bis jetzt wurden noch keine anderen Mods eingebaut!
Ich währe jedem sehr dankbar, wenn jemand mir dies machen könnte oder jemand auf einen schon vorhandenen Mod/Hack verweisen könnte!
Vielen Dank!
Gruß Stefan M.
Zuletzt geändert von Stefan M. am 12.09.2007 19:36, insgesamt 1-mal geändert.
Hilft das?
http://www.phpbb.de/doku/kb/best_gruppen
http://www.phpbb.de/doku/kb/best_gruppen
Wenn ich nun die includes/functions.php und die includes/page_header.php ändere, ist das dann nur die Voraussetzung dafür, dass das dieser Code funktioniert:Seimon hat geschrieben:Hilft das?
http://www.phpbb.de/doku/kb/best_gruppen
Und in welchen Dateien muss ich dann die jeweiligen Codes verändern, wenn ich die "Who is online" für bestimmte Gruppen deaktiveren möchte?<!-- BEGIN switch_usergroup_123 -->
Hier der Code der nur für die Gruppe sichtbar sein soll.
<!-- END switch_usergroup_123 -->
Gruß Stefan M.
Also meine wo in der Index_Body.tpl muss ich dann den o.g. Code eingeben, dass man die Mitgliederliste, Wer ist Online und die Suchfunktion nicht sehen kann?Seimon hat geschrieben:index_body.tpl
Meine includes/functions.php sieht nun so aus:
Code: Alles auswählen
// Behave as per HTTP/1.1 spec for others
header('Location: ' . $server_protocol . $server_name . $server_port . $script_name . $url);
exit;
}
#
function member_of($group_id, &$userdata)
{
global $db;
if ( !$userdata['session_logged_in'] )
{
return false;
}
if ( isset($userdata['user_member_of_' . $group_id]) )
{
return $userdata['user_member_of_' . $group_id];
}
$sql = "SELECT count(*) AS num FROM " . USER_GROUP_TABLE . "
WHERE user_id = '" . $userdata['user_id'] . "' AND user_pending = 0 AND group_id IN ( " . $group_id . " )";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get group auth', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
if ( $row['num'] > 0 )
{
return $userdata['user_member_of_' . $group_id] = true;
}
return $userdata['user_member_of_' . $group_id] = false;
}
#
?>
Und nun meine includes/page_header.php
Code: Alles auswählen
else
{
$template->assign_block_vars('switch_user_logged_in', array());
if ( !empty($userdata['user_popup_pm']) )
{
$template->assign_block_vars('switch_enable_pm_popup', array());
}
}
if ( member_of('123', $userdata) )
{
$template->assign_block_vars('switch_usergroup_1,2,3,4,5,6,7,8,9', array());
}
Vielen Dank!
Hab grad nochmal geschaut und versteh den Code nicht... 
Eine Lösung wär:
in der functions:
nimm das wieder raus und ersetze durch:
in der page_header:
nimm das wieder raus und
finde:
danach füge ein:
in der index_body.tpl:
finde:
ersetze durch:

Eine Lösung wär:
in der functions:
nimm das wieder raus und ersetze durch:
Code: Alles auswählen
function member_of($group_id, &$userdata)
{
global $db;
if ( !$userdata['session_logged_in'] )
{
return false;
}
$group_id = implode(',',$group_id);
$sql = "SELECT count(*) AS num FROM " . USER_GROUP_TABLE . "
WHERE user_id = '" . $userdata['user_id'] . "' AND user_pending = 0 AND group_id IN ( " . $group_id . " )";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get group auth', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
if ( $row['num'] > 0 )
{
return true;
}
return false;
}
in der page_header:
nimm das wieder raus und
finde:
Code: Alles auswählen
else
{
$template->assign_block_vars('switch_user_logged_in', array());
if ( !empty($userdata['user_popup_pm']) )
{
$template->assign_block_vars('switch_enable_pm_popup', array());
}
}
Code: Alles auswählen
if ( member_of(array('3','4'), $userdata) )
{
$template->assign_block_vars('switch_usergroup', array());
}
finde:
Code: Alles auswählen
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
<tr>
<td class="catHead" colspan="2" height="28"><span class="cattitle"><a href="{U_VIEWONLINE}" class="cattitle">{L_WHO_IS_ONLINE}</a></span></td>
</tr>
<tr>
<td class="row1" align="center" valign="middle" rowspan="2"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td>
<td class="row1" align="left" width="100%"><span class="gensmall">{TOTAL_POSTS}<br />{TOTAL_USERS}<br />{NEWEST_USER}</span>
</td>
</tr>
<tr>
<td class="row1" align="left"><span class="gensmall">{TOTAL_USERS_ONLINE} [ {L_WHOSONLINE_ADMIN} ] [ {L_WHOSONLINE_MOD} ]<br />{RECORD_USERS}<br />{LOGGED_IN_USER_LIST}</span></td>
</tr>
</table>
<table width="100%" cellpadding="1" cellspacing="1" border="0">
<tr>
<td align="left" valign="top"><span class="gensmall">{L_ONLINE_EXPLAIN}</span></td>
</tr>
</table>
Code: Alles auswählen
<!-- BEGIN switch_usergroup -->
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
<tr>
<td class="catHead" colspan="2" height="28"><span class="cattitle"><a href="{U_VIEWONLINE}" class="cattitle">{L_WHO_IS_ONLINE}</a></span></td>
</tr>
<tr>
<td class="row1" align="center" valign="middle" rowspan="2"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td>
<td class="row1" align="left" width="100%"><span class="gensmall">{TOTAL_POSTS}<br />{TOTAL_USERS}<br />{NEWEST_USER}</span>
</td>
</tr>
<tr>
<td class="row1" align="left"><span class="gensmall">{TOTAL_USERS_ONLINE} [ {L_WHOSONLINE_ADMIN} ] [ {L_WHOSONLINE_MOD} ]<br />{RECORD_USERS}<br />{LOGGED_IN_USER_LIST}</span></td>
</tr>
</table>
<table width="100%" cellpadding="1" cellspacing="1" border="0">
<tr>
<td align="left" valign="top"><span class="gensmall">{L_ONLINE_EXPLAIN}</span></td>
</tr>
</table>
<!-- END switch_usergroup -->
Okay, das klappt soweit, nun möchte ich aber einstellen, dass bestimmte Gruppen bzw. bestimmte Gruppen-ID's diese Liste sehen dürfen, da ich nur die Who ist Online Liste sehen kann. Ich bin Admin.
Wo finde cih die Gruppen-ID's und in welcher Datei beim
<!-- BEGIN switch_usergroup --> und <!-- END switch_usergroup -->
muss ich das ändern?
Vielen Dank!
Gruß Fluero
Wo finde cih die Gruppen-ID's und in welcher Datei beim
<!-- BEGIN switch_usergroup --> und <!-- END switch_usergroup -->
muss ich das ändern?
Vielen Dank!
Gruß Fluero
hier: (page_header.php)
'3' und '4' sind die Gruppen.
Ich denke es ist klar wie man mehr hinzufügt
Code: Alles auswählen
if ( member_of(array('3','4'), $userdata) )
Ich denke es ist klar wie man mehr hinzufügt