[PHPBB 2] Scripte nur für bestimmte Member. aber wie?

Sway

Erfahrenes Mitglied
Also ich hab eben schon gefunden, wie man eigene seiten im PHPBB Style basteln kann:
PHP:
<?php 
define('IN_PHPBB', true); 

$phpbb_root_path = './'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 

include($phpbb_root_path . 'includes/page_header.'.$phpEx); 
?> 

hier könntest Du HTML einfügen 

<? 
include($phpbb_root_path . 'includes/page_tail.'.$phpEx); 
?>

Aber ich brauche es so, das nur Leute auf die Seite zugreiffen können, die ein bestimmtes Forum sehen können.
Habt ihr da ne Idee, wie das gehen könnte?
 
ich würde es mittels gruppen machen.

sprich man erstellt ne gruppe und klatscht da die user rein, die halt den besonderen zugriff haben.

dann liest du per mysql die gruppe aus und wenn der besucher dieser gruppe angehört wird die seite angezeigt.

angenommen die gruppe heißt: admins
PHP:
#
#---öffne---
#
includes/page_header.php

#
#---suche nach---
#
//
// Generate logged in/logged out status
//
if ( $userdata['session_logged_in'] )
{
	$u_login_logout = 'login.'.$phpEx.'?logout=true&amp;sid=' . $userdata['session_id'];
	$l_login_logout = $lang['Logout'] . ' [ ' . $userdata['username'] . ' ]';
}

#
#---ersetze durch---
#
//
// Generate logged in/logged out status
//

//Hier kannst du admins durch deinen gruppennamen ersetzen!!!
$gruppenname = "admins";

if ( $userdata['session_logged_in'] )
{
	$u_login_logout = 'login.'.$phpEx.'?logout=true&amp;sid=' . $userdata['session_id'];
	$l_login_logout = $lang['Logout'] . ' [ ' . $userdata['username'] . ' ]';
	$sql = "SELECT group_id FROM ".GROUPS_TABLE." WHERE group_name = '".$gruppenname."'";
	$result = $db->sql_query($sql);
	$row = $db->sql_fetchrow($result);
	$gruppe = $row['group_id'];
	//jetzt hast du schonmal die Gruppen_id
	
	//nun gucken wir mal ob der eingeloggte User auch dieser
	//Gruppe angehört :)
	$sql = "SELECT COUNT(group_id) AS zaehle FROM ".USER_GROUP_TABLE." WHERE user_id = '".$userdata['user_id']."' AND group_id = '".$gruppe."'";
	$result = $db->sql_query($sql);
	$row = $db->sql_fetchrow($result);
	
	//wenn == 1 dann gehört der Besucher dieser Gruppe an
	if($row['zaehle'] == "1")
	{
		//zeige die Seite an
		$zugang = "allowed";
	}
	elseif($row['zaehle'] == "0")
	{
		//nix da - Seite nicht anzeigen
		$zugang = "disallowed";
	}
}

#
#---Speichern und Schließen---
#

In deiner Datei mußt du nun nur noch $zugang abfragen und entsprechend die seite includen oder nicht :D


cu
 
Zuletzt bearbeitet:
so, ich hab es ein klein wenig anders gemacht. Der Adminstatus steht ja im phpbb_users in der Spalte "user_level". Wenn der 1 ist, is es der Admin. So kann ich ne Abfrage mache für die Editseite.

Und die Leute, die die bestimmte Seite sehen dürfen, haben Spezialränge bekommen. Also wenn im phpbb_ranks in der Spalte rank_special der Wert 1 ist, wird die Seite ausgeführt. Naja, so schwer was das doch nicht.

Leider hab ich nicht finden können, wo in der Datenbank festgelegt wird, welcher User auf welches Forum zugreifen kann... Das wäre noch am bestes gewesen. Wer weiss, vielleicht findet das ja noch einer raus.
 
soweit mir bekannt ist, geht das nur über die gruppenrichtlinien und die tabelle dafür ist:
auth_access

cya
 
Zurück