Seite 1 von 1

Problem mit einem Snippet

Verfasst: 12.01.2011 12:20
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

Re: Problem mit einem Snippet

Verfasst: 12.01.2011 12:42
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 ;-)

Re: Problem mit einem Snippet

Verfasst: 12.01.2011 18:15
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

Re: Problem mit einem Snippet

Verfasst: 13.01.2011 20:05
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

Re: Problem mit einem Snippet

Verfasst: 13.01.2011 23:21
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.

Re: Problem mit einem Snippet

Verfasst: 14.01.2011 09:56
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!