mxGetAdminPref

Begonnen von MikePapa, 26 Oktober 2003, 16:17:31

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

MikePapa

Hallo,

ich hoffe, dieses Posting geht diesmal nicht unter, da ich jetzt nicht mehr "drumherum proggen" kann ;)

Damit ich für meine Moderatoren und Hilfadmins die Editierberechtigung im GB einrichten kann, muß ich (wenn ich den Code richtig interpretiere) die Funktion mxGetAdminPref anpassen. Aber wo finde ich diese Funktion??

Für jede Hilfe immer dankbar...  :thumbup:

"MikePapa"

Future

Ist wenn ich mich nicht irre verschlüsselt

MikePapa

mmhhh... eine solche Antwort hatte ich befürchtet. :(

In Eurer letzten Version hatte ich die Datenbank erweitert und die entsprechende Admin-Prüffunktion, um so für jedes x-beliebige Modul die Admin-Rechte zu vergeben.

Gibt es trotzdem eine Möglichkeit, auf sichere Weise eine Abfrage zu integrieren, ob für die jeweiligen Module ein RADMIN....-Eintrag in der DB besteht?
Würde es reichen, im Admin-Ordner die betreffenden Dateien so abzuändern, daß ich prüfe, ob der User in der Tabelle nuke_authors eingetragen ist und der notwendige Eintrag vorhanden ist (wenn User = Author und RADMINGUESTBOOK=1 dann Attacke) ??  ... oder ist diese Methode nicht sicher (Ihr werdet diesen Part schließlich nicht ohne Grund verschlüsseln, wenn die Abfrage so einfach wäre)?

Gruß

"MikePapa"


Andi

Hi MikePapa :)

wenn ich Dich richtig verstehe, brauchst Du die Funktion nicht verändern, sondern kannst sie direkt verwenden. Hier mal die unverschlüsselte Version:
 ########################
/// prueft ob der aktuell angemeldete
/// Admin eine bestimmte Berechtigung hat
/// Aufrufbeispiel:  $xx = mxGetAdminPref('radminarticle');
function mxGetAdminPref($preference) {
$allprefs = mxGetAdminData();
return (empty($allprefs[$preference]) && empty($allprefs['radminsuper'])) ? FALSE : TRUE;
}
 

Die Funktion ersetzt also die jeweilige Datenbankabfrage in den Adminmodulen.
Die Funktion mxGetAdminData() gibt alle Daten des aktuellen Admins aus der _authors Tabelle zurück. Das Ergebnis wird statisch zwischengespeichert um Datenbankabfragen zu sparen.

ps. verschlüsselt ist die nur, weil sie sinnvollerweise in der verschlüsselten mx_api.php drin ist....
schön´s Grüssle, Andi

MikePapa

Also: Ich habe den Adminbereich (Autoren verwalten) so angepasst, daß nun auch Rechte für das Gästebuch vergeben werden können.
Die Datenbank habe ich entsprechend erweitert.

Im GB-Modul habe ich die Rechteüberprüfung wie folgt abgeändert:

//        if (mxIsAdmin())
           if (mxGetAdminPref("radminguestbook"))


... mit dem Ergebnis, daß der Superadmin weiterhin die Adminrechte für das Gästebuch wahrnehmen kann, der nur für das GB eingeteilte Admin jedoch immer noch nicht!

Hier benötige ich also noch ein wenig Hilfe ;)

Gruß

"MikePapa"


-----------------------------------


Kommando zurück! ;)
War wohl ein Cache-Problem.... nach dem Schließen des Browserfensters und nochmaligem Testen funktioniert es nun.

@Tora: Vielen Dank für die Hilfestellung... ! :)


ABER: Eine Ungereimtheit hab ich trotzdem noch: ;)

Wenn ich jemandem Adminrechte für den Kalender gebe, kann er diese nicht nutzen!?
Im Kalender-Modul wird der Aufruf
 if (calIsAdmin())
genutzt ..... kann ich diesen einfach ändern (wie im GB)?? Hat dieser Aufruf eine Besonderheit?


[Editiert am 22/12/2003 von MikePapa]