Hallo,
so schwer ist der artikel eigentlich nicht zu verstehen, in der portal.php muss erst die functions_user.php includiert werden sofern die nicht schon vom Portal includiert wird? Da bin ich mir jetzt nicht so sicher und auch keine Zeit jetzt nachzuschauen.
Daher nur ungetestet, die Anleitung:
ÖFFNEN: portal.php
FINDEN: Code: Select all
include($phpbb_root_path . 'portal/includes/functions.'.$phpEx);
DANACH EINFÜGEN: Code: Select all
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
// zu überprüfende Gruppen ID ( Beispiel Gruppen ID 5 )
$gruppen_id = 5;
// zu überprüfender User ( Beispiel: Der User, der diese Seite aufgerufen hat )
$benutzer_id = $user->data['user_id'];
// Nun erfolgt die eigentliche Prüfung:
$is_in_group = group_memberships($gruppen_id, $benutzer_id , true);
Wenn jetzt mehren Gruppen haben willst nimmst aus dem Artikel den 2. Code also wäre es dann:
DANACH EINFÜGEN: Code: Select all
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
// zu überprüfende Gruppen IDs ( Beispiel Gruppen ID 5, 10, 12, 15 )
// Hinweis: Bei mehreren Gruppen muss es ein array() sein!
$gruppen_id = array(5,10,12,15);
// zu überprüfender User ( Beispiel: Der User, der diese Seite aufgerufen hat )
$benutzer_id = $user->data['user_id'];
// Nun erfolgt die eigentliche Prüfung:
$is_in_group = group_memberships($gruppen_id, $benutzer_id , true);
FINDEN: Code: Select all
$template->assign_vars(array(
'PORTAL_LEFT_COLUMN' => $portal_config['portal_left_column_width'],
'PORTAL_RIGHT_COLUMN' => $portal_config['portal_right_column_width'],
));
DANACH EINFÜGEN: Code: Select all
if ($is_in_group == true)
{
// Teile dem Template System mit, das die Variable "S_IN_GROUP" den Wert TRUE bekommt
$template->assign_var('S_IN_GROUP', true);
}
Damit ist es schon mal in der portal.php definiert so das in der portal_body.html dann nun den SWITCH benutzen kannst.
Natürlich bei $gruppen_id = die Zahl anpassen mit der ID für deiner Gruppe die nur die Berechtigung haben soll/darf.
Dann einfach noch den SWITCH im Template benutzen:
ÖFFNEN: portal_body.html
FINDEN: Code: Select all
<!-- IF S_DISPLAY_RECENT_DL -->
<!-- INCLUDE portal/block/recent_dl.html -->
<!-- ENDIF -->
ERSETZEN MIT: Code: Select all
<!-- IF S_DISPLAY_RECENT_DL -->
<!-- IF S_IN_GROUP -->
<!-- INCLUDE portal/block/recent_dl.html -->
<!-- ENDIF -->
<!-- ENDIF -->
Dann dein Style im ACP aktualisieren, Cache sowie Browser-Cache leeren und es sollte funktionieren.
Wie gesagt nicht getestet, daher am beste vor dem ändern die Dateien dir sichern.
P.S. mit diesem SWITCH kannst dann jeden Block für alle andere die nicht in der Gruppen sind ausblenden.
Gruß Chris