Abfrage der Gruppenzugehörigkeit für den rest der page

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Zothos
Mitglied
Beiträge: 194
Registriert: 31.08.2005 15:31
Wohnort: Ubstadt-Weiher

Abfrage der Gruppenzugehörigkeit für den rest der page

Beitrag von Zothos »

hallo,

hab mich mal rangesetzt und versucht,
http://www.phpbb.de/moddb/mod.php?id=163
das hier so umzubauen das ich es für den rest der page verwenden kann und so dann erreichen kann das ich spezielle bereiche wie das intern verwenden kann :P

bin admin einer clanpage :P

naja habs zum Spaß mal eingebaut und versucht es eben anzupassen :P
naja mit weniger erfolg, ohne den include von phpbb etc. gehts nich.
und wenn ich include kommter immer mit dem template etc, von phpbb :P

iss zwar schön, aber ich will das für meine page :P

jemand ne ahnung wie ich das so anpassen kann?
Zothos
Mitglied
Beiträge: 194
Registriert: 31.08.2005 15:31
Wohnort: Ubstadt-Weiher

Beitrag von Zothos »

keiner ne idee??
Eoleon

Beitrag von Eoleon »

warum gibst du dem Gruppen keine Einzelrechte?
Spezielle Bereiche als "privat" einstellen und entsprechende Rechte vergeben ;)
Zothos
Mitglied
Beiträge: 194
Registriert: 31.08.2005 15:31
Wohnort: Ubstadt-Weiher

Beitrag von Zothos »

Ich will die abfrage für den rest der homepage verwenden, der rest ist nicht irgendwie in phpbb eingebaut. sondern eigenständig.

Ich will nämlich das intern für meinen Clan nur zugänglich machen für leude die im forum in der gruppe, z.b. Members sind.

Aber anscheinend hats da includierte funktionen die mich dann wieder auf die mainpage verlinken ... vom forum..

testet doch mal das script ihr werdets sehen
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

Also ich habe dich richtig verstanden?

Du hast ein phpBB-Board, und möchtest mit dem genannten MOD eine Seite anbieten, die nicht das phpBB Template-system nutzt?

Es sollen aber nur die Mitglieder bestimmter Gruppen ZUgriff darauf haben?

O.K. dann hab' ich das mal jetzt so umgebaut:

Code: Alles auswählen

<?php 
/*************************************************************************** 
*                name.php  Gruppenverwaltung zum Schutz von Websites
*                            ------------------- 
*   copyright            : (C) 2002 
*   email                : mail 
* 
* 
* uses phpBB technology (c) 2001 phpBB Group <http://www.phpbb.com/> 
* 
***************************************************************************/  

/* ************************************************************************** 
* 
*   This program is free software; you can redistribute it and/or modify 
*   it under the terms of the GNU General Public License as published by 
*   the Free Software Foundation; either version 2 of the License, or 
*   (at your option) any later version. 
* 
***************************************************************************/  


define('IN_PHPBB', true); 
$phpbb_root_path = 'pfad_zu_deinem_phpbb/';
// ODER wenn du das Skipt im selben Ordner wie phpBB liegen hast ...
// dann musst du natürlich die beiden Kommentarzeichen // vorne wegnehmen!
// $phpbb_root_path = './'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

// 
// Start session management 
// 
  $userdata = session_pagestart($user_ip, PAGE_INDEX); 
  init_userprefs($userdata); 
// 
// End session management 
// 

// User die zugriff haben: es sind gruppen_ids, gruppennamen und user_ids  erlaubt wobei bei den gruppen namen und ids ein g am anfang angehängt werden muss. 
$allowed_u = array(); 
$allowed_u[] = '4'; //User mit id 4 hat Zugriff

$access_allowed = false; 
if( in_array($userdata['user_id'],$allowed_u)) 
{ 
        $access_allowed = true; 
} 

else 
{ 
        $sql = "SELECT g.group_id, g.group_name 
                FROM " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g 
                WHERE ug.user_id = '" . $userdata['user_id'] . "' 
                        AND g.group_id = ug.group_id"; 
        if ( !($result = $db->sql_query($sql)) ) 
        { 
                message_die(GENERAL_ERROR, 'Could not get user group.', '', __LINE__, __FILE__, $sql); 
        } 
        $access_allowed = false; 
        while( list($group_id, $group_name) = $db->sql_fetchrow($result) ) 
        { 
                if( in_array('g' . $group_id[group_id],$allowed_u )) 
                { 
                         $access_allowed = true; 
                         break; 
                } 
                if( in_array('g' . $group_name[group_name],$allowed_u)) 
                { 
                         $access_allowed = true; 
                         break; 
                } 
        } 
} 

if( !$access_allowed ) 
{ 
    // Hier werden die nicht Berechtigten "abgefertigt"
	echo 'Du hast hier keinen Zutritt!'; 
	exit;
} 

// Ab hier geht's mit dem Teil los, den die Berechtigten sehen sollen ...
echo 'Herzlich willkommen auf meiner Seite';
?>
Das mit der Prüfung der Gruppenzugehörigekit hat bei mir nicht geklappt, aber evtl. ist es noch zu früh 8)

Aber das Konzept sollte klar werden :wink:
Viel Erfolg,
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Zothos
Mitglied
Beiträge: 194
Registriert: 31.08.2005 15:31
Wohnort: Ubstadt-Weiher

Beitrag von Zothos »

Genau :)

und thx, gleich mal vergleichen wo bei mir der fehler lag :P
Zothos
Mitglied
Beiträge: 194
Registriert: 31.08.2005 15:31
Wohnort: Ubstadt-Weiher

Beitrag von Zothos »

Code: Alles auswählen

 if( !$access_allowed ) 
        { 
                message_die(GENERAL_MESSAGE, 'Sie haben keinen Zugriff auf diese Seite.'); 
        } 
Ach, das haste geändert.... :P
hmm.. ich probiers heude abend gleich mal aus. bin noch in der schule :P
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

Zothos hat geschrieben:Ach, das haste geändert.... :P
hmm.. ich probiers heude abend gleich mal aus. bin noch in der schule :P
Nicht nur das .. sondern alles was mit der template-Engine zu tun hat! So wolltest du es doch :roll:

Den Rest kann man nicht rausnehmen, sonst kann das Script ja nicht wissen, ob der User berechtigt ist oder nicht :wink:

Na denn viel Spass beim Testen heute abend ...
Bei weiteren Fragen einfach wieder hier im Thema melden.

@moderatoren: Das könnte man doch auch mal nach Coding&Technik schieben ?!


So long,
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
mafiatom
Mitglied
Beiträge: 11
Registriert: 08.08.2006 11:02

Beitrag von mafiatom »

In dem Script hatte sich ein Fehler eingeschlichen, richtig muss es heissen:

Code: Alles auswählen

        while($ergebnis = $db->sql_fetchrow($result) )
        { 
                if( in_array('g' . $ergebnis[group_id],$allowed_u )) 
                { 
                         $access_allowed = true; 
                         break; 
                } 
                if( in_array('g' . $ergebnis[group_name],$allowed_u)) 
                { 
                         $access_allowed = true; 
                         break; 
                } 
        } 
Dann klappt es auch mit den Gruppen!
Benutzeravatar
Cantor
Mitglied
Beiträge: 48
Registriert: 26.09.2002 14:01
Wohnort: Berlin

Beitrag von Cantor »

Hallo,

funktioniert bei einem von Euch das auch noch nach dem Update des Boards auf 2.0.22? Und wenn ja wei? Bzw. warum funktioniert es bei mir nicht... ;-)

Bin für jeden Hinweis dankbar! :-)

Gruß, Cantor
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“