Berechtigungen in PHP für eigene eingebundene Seite

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
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.
Benutzeravatar
HabNurNeFrage
Ehemaliges Teammitglied
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Berechtigungen in PHP für eigene eingebundene Seite

Beitrag von HabNurNeFrage »

Hi,

beim Basteln einer Seite für Moderatoren und Admins für Schnellzugriffe auf verschiedene Funktionen...

Was fehlt hier noch, damit die Funktion erfolgreich auf acl_get zugreifen kann?

Code: Alles auswählen

<?php

if (!defined('IN_PHPBB'))
{
    exit;
}

function generate_admin_content ($text)
{
    global $user, $auth, $config;

    if(!$auth->acl_get('a_') || (!$auth->acl_get('m_'))) //Wenn Nutzer nicht Mod oder Admin ist
     {
        // Für User und Gäste
     }
     if ($auth->acl_get('a_') || ($auth->acl_get('m_'))) // Wenn Nutzer Mod oder Admin ist
    {
        // Nur für Admins und Mods
    }
    return $text;
}

?>
Die Berechnung für Gäste funktioniert so, aber für User wird auch der "nur für Admins" Teil berechnet.
Session-Management ist in der Datei enthalten, die diese hier einbindet...

LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Berechtigungen in PHP für eigene eingebundene Seite

Beitrag von Miriam »

Das sollte dann prinzipiell so passen.

Du brauchst aber imho hier die globalen Variablen $user und $config nicht. Auch würde ich $text mit false als Standardwert vorbelegen. Zumal diese Variable in der Funktion garnicht auftritt.
Du solltest den Code aber etwas übersichtlicher schreiben. Bspw. so:
  • Code: Alles auswählen

    function generate_admin_content($text = false)
    {
        global $auth;
        
        if ($auth->acl_get('a_') || ($auth->acl_get('m_'))) // Wenn Nutzer administrative oder Moderator-Rechte hat
        {
            print "admin content here";
        }
        else
        {
            print "no admin content available";
        }
    }
Aber das ist natürlich Dir überlassen.


Du könntest das ganze auch mit Template Variablen "erschlagen"

Code: Alles auswählen

<!-- IF U_ACP or U_MCP -->
    Hier steht der Text für Admins und Moderatoren
<!-- ELSEIF -->
    Text für alle anderen
<!-- ENDIF -->
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
HabNurNeFrage
Ehemaliges Teammitglied
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Berechtigungen in PHP für eigene eingebundene Seite

Beitrag von HabNurNeFrage »

Hi,

erneut vielen Dank :grin:

Die Template-Variablen nutze ich auch, allerdings soll durch diese Funktion der selbe String laufen, wobei dann unterschiedliche Ergebnisse für Admins und User erzielt werden sollen. Hintergrund: Admins und Mods sollen keine Beitragsteile entfernen, sondern die zu entfernenden Teile mit einem speziellen Admin-bbCode maskieren. Hinterher sollen diese Beitragsteile dann für Mos und Admins weiterhin sichtbar bleiben, während User und Gäste nur eine Meldung "entfernt durch die Boardmoderation" angezeigt bekommen. Daher scheiden die T-Varis hier aus.

Mit den T-Varis werden die spezial Moderations-Menüs vor unbefugter Anzeige geschützt...

Allerdings ist das IF -> ELSE Konstrukt wirklich etwas aufgeräumter.
Bei den Globals war ich mir nicht sicher mit $config, $user wird weiter unten dann aber noch verwndet :wink:
$config brauche ich nur, wenn ich ACP-Einstellungen checken will?

LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Berechtigungen in PHP für eigene eingebundene Seite

Beitrag von Miriam »

Diese Variable enthält im Wesentlichen die Daten der config Tabelle. Lass sie Dir doch mal mit [php:var_dump] ausgeben.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
HabNurNeFrage
Ehemaliges Teammitglied
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Berechtigungen in PHP für eigene eingebundene Seite

Beitrag von HabNurNeFrage »

Hi.

:geek:

Coole Funktion...

LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
Benutzeravatar
HabNurNeFrage
Ehemaliges Teammitglied
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Berechtigungen in PHP für eigene eingebundene Seite

Beitrag von HabNurNeFrage »

Hi,

so, alles läuft jetzt so, wie ich mir das vorstelle.
Aber warum lässt es sich nicht mit AutoMod intallieren?
In der XML steht es richtig, aber AutoMod performt es an einer ganz anderen Stelle :-?
Sowohl mit Replace-with als auch mit Add before macht es Probleme.

Find ist ?>

Schon jemand so ein Problem gehabt?

LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Berechtigungen in PHP für eigene eingebundene Seite

Beitrag von Miriam »

Wie sieht denn die XML Datei aus?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
HabNurNeFrage
Ehemaliges Teammitglied
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Berechtigungen in PHP für eigene eingebundene Seite

Beitrag von HabNurNeFrage »

| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Berechtigungen in PHP für eigene eingebundene Seite

Beitrag von Miriam »

\includes\functions.php (2 hits)
Line 3469: '#<.*?>#s', <<<--- Da isser, der Übeltäter.
Line 4965: ?> <<<--- Aber der soll es sein.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
HabNurNeFrage
Ehemaliges Teammitglied
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Berechtigungen in PHP für eigene eingebundene Seite

Beitrag von HabNurNeFrage »

:P Yippieh

Genau da hat er es auch immer hingeschmissen...

Das bekomme ich gefixed - DANKÖÖÖÖ

Nachtrag: Es funktioniert... :P
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
Antworten

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