Problem mit einem Snippet

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
eumelchen
Mitglied
Beiträge: 716
Registriert: 09.02.2008 08:28
Wohnort: Gottin

Problem mit einem Snippet

Beitrag von eumelchen »

Es geht um folgendes Snippet:
Gruppenzugehörigkeit eines Benutzers prüfen
von Dr.Death
Link: viewtopic.php?f=85&t=164060

Hallo zusammen,

es ist mir erst jetzt aufgefallen aber nach dem Update auf 3.0.8 habe ich ein Problem mit dem Snippet.
Ich habe eine Seite die nur User einer bestimmten Gruppe anschauen können. Das hat bisher auch wunderbar funktioniert.
Doch jetzt ist es so das alle Mitglieder diese Seite anschauen können, egal ob sie in der Gruppe sind oder nicht.
Ich habe selber nichts geändert, nur das Backup gemacht.

Hat jemand einen Lösungsvorschlag für mich? Im Voraus schon vielen Dank.

LG eumelchen
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17476
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: Problem mit einem Snippet

Beitrag von Dr.Death »

Hallo,

prüfe doch erst einmal ob die Gruppenabfrage in deinem Template nach dem Update noch vorhanden ist.

Wenn der Einbau von dir geprüft worden ist, stelle doch die betroffenen Dateien in unserem Pastebin bereit.
Alles andere ist Glaskugel beschwören ;-)
eumelchen
Mitglied
Beiträge: 716
Registriert: 09.02.2008 08:28
Wohnort: Gottin

Re: Problem mit einem Snippet

Beitrag von eumelchen »

Hallo Dr.Death,

die Gruppenabfrage im Template ist noch verhanden:

Code: Alles auswählen

<!-- INCLUDE overall_header.html -->
<!-- IF S_IN_GROUP -->
Zur Zeit wird diese Seite gewartet! In Kürze ist das Fotoalbum wieder erreichbar!
<!-- ELSE -->
<br><br><br>
<center><font face="Arial" size="5"><strong>F&uuml;r das Mitglieder-Fotoalbum musst Du freigeschaltet sein!</strong></font>
<!-- IF not S_IS_BOT and S_USER_LOGGED_IN -->
<br><br>
Weitere Infos siehe hier: <a href="http://meinforum.de/viewtopic.php?f=91&t=4222"><strong>Mitglieder-Fotoalbum</strong></a>
<br><br><br><br>
<!-- ENDIF --><!-- ENDIF -->
<!-- INCLUDE overall_footer.html -->
Das ist die dazugehörige php-Datei die angeklickt wird:

Code: Alles auswählen

<?php

/**
* @ignore
*/
// Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);


// Session auslesen und Benutzer-Informationen laden

$user->session_begin();  // Session auslesen
$auth->acl($user->data); // Benutzer-Informationen laden
$user->setup('mods/chiforum'); // Sprachvariablen aus eigener Sprach Datei laden
// zu überprüfende Gruppen ID ( Gruppe Fotoalbum ID 12 )
$gruppen_id = 12;
// 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);

// Seiten Titel, diese Sprach Variable sollte in der Sprach Datei, 
// welche weiter oben genannt wurde, definiert sein.
page_header($user->lang['SEITEN_TITEL']);

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);
}
// Defniere nun den Dateinamen Deines Templates welches Du benutzen moechtest.
// Dies ist der Name von Deinem Template welches unter /styles/<style>/templates/ zu finden ist.
$template->set_filenames(array(
    'body' => 'fotoalbum.html',
));

// Script vervollständigen und Seite anzeigen lassen.
page_footer();

?>
Und diese Datei ist bei language/de/mods :

Code: Alles auswählen

<?php

/**
* DO NOT CHANGE
*/
if (!defined('IN_PHPBB'))
{
    exit;
}

if (empty($lang) || !is_array($lang))
{
    $lang = array();
}


$lang = array_merge($lang, array(
    'SEITEN_TITEL'    => 'ChiForum',
));
An diesen Dateien ist nichts geändert worden und damit hat es vorher funktioniert.

LG eumelchen
eumelchen
Mitglied
Beiträge: 716
Registriert: 09.02.2008 08:28
Wohnort: Gottin

Re: Problem mit einem Snippet

Beitrag von eumelchen »

Hallole,

ich habe jetzt noch einmal rumgetestet und folgendes festgestellt.
Ich habe meine spezielle Seite die nur für eine bestimmte Gruppe sichtbar sei soll so getestet indem ich als Admin die Berechtigung eines Users übernommen habe von dem ich wusste das er nicht in der Gruppe ist. Mit dieser Berechtigung konnte ich dann die Seite trotzdem sehen. Jetzt habe ich mal einen Testuser angelegt und mich damit eingeloggt, dann kann ich die Seite nicht sehen.
Jetzt drängt sich bei mir folgende Frage auf, kann es sein das bei der Berechtingskontrolle diese User-Berechtigungs-Übernahme nicht funktioniert?
Wenn ich allerdings ein Forum für einen User sperre, also keine Lese- und Schreibberechtigung, dann kann ich das mit der Berechtigungsübernahme testen und sehe dann das Forum nicht.

Mache ich nur einen Denkfehler?

LG eumelchen
HJW
Mitglied
Beiträge: 1309
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: Problem mit einem Snippet

Beitrag von HJW »

Hallo,
eumelchen hat geschrieben:Mache ich nur einen Denkfehler?
Ja, weil die Gruppenabfrage nichts mit dem Berechtigungs-System zu tuen hat. Du bist ja trotzdem in der Admin-Gruppe, auch wenn du die Berechtigung von einem anderen User übernommen hast. Wenn du so etwas prüfen willst, solltest du dir einen Test-User anlegen.
eumelchen
Mitglied
Beiträge: 716
Registriert: 09.02.2008 08:28
Wohnort: Gottin

Re: Problem mit einem Snippet

Beitrag von eumelchen »

Hallo HJW,

vielen Dank, das habe ich mir fast schon gedacht! Mir ist die Problematik ja aufgefallen als ich einen Testuser angelegt hatte.
Also, "Problem" gelöst!
Antworten

Zurück zu „[3.0.x] Mod Support“