[PHPBB3] Benutzerrechte abrufen

Frezl

Erfahrenes Mitglied
Hey allerseits,

ich hoffe, ich stelle meine Frage im einigermaßen richtigen Forum. Habe folgendes Problem, das mir jetzt echt langsam die Nerven überdehnt: Wie finde ich raus, ob ein User das Recht hat, einen bestimmten Thread/Post zu sehen?

Ich bastle grade ein Skript, das die 10 Themen, in denen zuletzt gepostet wurde, angezeigt und auf den jeweils letzten Post verlinkt wird. Das klappt auch schon gut. Aber natürlich sollen Gäste keine Themen sehen, die in geschützten Foren versteckt sind. Leider finde ich in der f****** Datenbank nirgends einen Eintrag, der die Permissions für ein Forum oder einen Post festlegt. Das einzige, was ich bis jetzt hingekriegt habe, war die Abfrage, ob ein User eingeloggt ist.

Hier mein Code soweit:
PHP:
<!-- PHP -->

	/*
	 * LETZTE BEITRÄGE AUS DER DATENBANK AUSLESEN
	 */
	 
	// Prüfen, ob der User eingeloggt ist (bis jetzt nur, um zu sehen, dass es überhaupt geht):
	
	if ($user->data['is_registered']) {
		echo "Du bist eingeloggt.";
	} else {
		echo "Du bist NICHT eingeloggt!";
	}
	
	echo "<br><br>";
	
	 
	// Datenbankabfrage:
	
	$dbhost = 'localhost';
	$dbuser = '*****';
	$dbpasswd = '*****';
	$dbname = '*****';
	$table_prefix = 'phpbb_';
 
	$mysql_link = mysql_connect($dbhost, $dbuser, $dbpasswd) or die('mysql_connect() failed!');
	unset($dbpasswd);
	
	mysql_select_db($dbname) or die('mysql_select_db() failed!');	
	
	$query = 'SELECT `topic_last_post_id`, `topic_title` FROM `'.$table_prefix.'topics` ORDER BY `topic_last_post_time` DESC LIMIT 0, 10';
	$result = mysql_query($query);

	$table = array();	
	while ($row = mysql_fetch_assoc($result)) {
		$table[] = $row;
	}
	
	
	// Ausgabe:
	
	echo '<ul>';
	for ($i = 0; $i < count($table); $i++) {
		echo '<li><a href="viewtopic.php?p='.$table[$i]['topic_last_post_id'].'#p'.$table[$i]['topic_last_post_id'].'">'.$table[$i]['topic_title'].'</a></li>';
	}
	echo '</ul>';
	

<!-- ENDPHP -->
Diesen habe ich in die Datei overall_header.html des Templates eingefügt.

Eigenltich müsste das ganze ja auch irgendwie über die Bordmittel von PHPBB3 funktionieren, aber ich hab keinen blassen Schimmer wie. Hab diese Woche erst angefangen, mich mit der Materie zu befassen und bin ziemlich enttäuscht über die Doku auf phpbb.com :-P

Ich hoffe, ihr könnt mir weiterhelfen!

Gruß und Dank,
Frezl
 
Hallo!

Das einzige, was ich bis jetzt hingekriegt habe, war die Abfrage, ob ein User eingeloggt ist.
Sollte eigentlich schon langen.
Wenn der User eingeloggt ist, wird die Datenbankabfrage zum anzeigen des geschützten Bereichs gemacht.
Wenn er nicht eingeloggt ist, dann könnte statt dessen z.B. das Loginformular angezeigt werden.

Gruss Dr Dau
 
Hey Dr_Dau,

sorry, da hast du mich glaube ich falsch verstanden. Das Forum ist größtenteils auch für Gäste lesbar. Für die soll die Funktion natürlich auch zur Verfügung stehen, die Liste der letzten 10 Posts zu sehen. Bei Gästen sollen dabei aber Posts aus geschützten Foren nicht in der Liste auftauchen.

Wie das bis jetzt aussieht siehst du hier: http://autip.de/forum/ (Liste in der linken Leiste)

Am besten wärs, wenn ich diese Unterscheidung schon irgendwie in die mysql-Abfrage einbauen könnt. Aber dazu kenn ich mich zu wenig in der DB-Struktur des PHPBB3 aus. Ich hab echt schon verzweifelt alle Tabellen durchsucht, konnte aber nichts hilfreiches finden. Ein Problem ist, dass das PHPBB3 ne recht umfangreiche Rechteverwaltung hat. Man müsste also, ums ganz korrekt zu machen, die genauen Berechtigungen des Users mit denen der Threads vergleichen. Aber fürn Anfang würds mir schon reichen, wenn Gäste keine Links zu Threads sehen würden, zu denen sie keinen Zutritt haben.

Vielen Dank und eine Gute Nacht!
Frezl
 
Zurück