pragmaMx Support Forum

pragmaMx => integrierte Module => Thema gestartet von: HanSolo am 30 Januar 2008, 01:21:19

Titel: [Erledigt] Admin-Mitteilungen für eingeschränkten Admin freigeben
Beitrag von: HanSolo am 30 Januar 2008, 01:21:19
Hallo allesamt,

ich möchte die Mitteilungen im Admin-Menü für einen Admin mit eingeschränkten Rechten freigeben; der Admin ist angelegt und besitzt für verschiedene Module auch die entsprechenden Rechte; er sieht auch den Link zum Ändern der Mitteilung, erhält dann aber beim "klick" auf diesen Link die Meldung "Access denied"; gibt es eine Möglichkeit in der jetzigen Version 0.1.9 auch für diesen Bereich eine Berechtigung zu vergeben? Und wie schaut das mit der 0.1.10 aus?

Vielen Dank für Infos und Anregungen.
Titel: Re: Admin-Mitteilungen für eingeschränkten Admin freigeben
Beitrag von: JoergK am 30 Januar 2008, 02:16:15
Hoi ;)

Standartmässig ist das Erstellen von Mitteilungen nur für den God-Admin (Superadmin) freigegeben.

Schau mal in die /admin/modules/messages.php, dort findest Du zu Beginn den
if (!mxGetAdminPref('radminsuper')) {
    mxErrorScreen("Access Denied");
    die();
}


Um jetzt Deinem "Hilfsadmin" den Zugriff zu gewähren, mußt Du nur die Abfrage, ob er irgendwelche Adminrechte hat, zu der obigen Abfrage hinzufügen:
if (!mxGetAdminPref('radminsuper') && !MX_IS_ADMIN) {
    mxErrorScreen("Access Denied");
    die();
}


Allerdings bedeutet das auch, dass, wenn weitere Admins hinzu kommen, diese ebenfalls Zugriff auf die Mitteilungen haben.


In der kommenden 0.1.10 wird sich bezüglich der Rechteverwaltung (User / Gruppen / Admins) nichts ändern.
Titel: Re: Admin-Mitteilungen für eingeschränkten Admin freigeben
Beitrag von: Eismann1976 am 30 Januar 2008, 06:39:45
Wo wir schon gerade beim Thema sind. Es geht auch

if (!mxGetAdminPref('radminnewsletter')) {
    mxErrorScreen("Access Denied");
    die();


z.B. für Admins die normalerweise den Newsletter bearbeiten dürfen. Muss man halt ins entsprechende Modul schauen.

Mögliche Einträge sind:
radminarticle, radmintopic, radminuser, radminsurvey, radminsection, radminlink, radminephem, radminfaq, radmindownload, radminreviews, radminnewsletter, radminforum, radmincontent, radminency, radminsuper

Was mich jetzt gerade interessieren würde, wie kann ich 2 verschiedene Admingruppen für ein Modul zulassen?

if (!mxGetAdminPref('radminnewsletter') ("radminforum")) {
    mxErrorScreen("Access Denied");
    die();


if (!mxGetAdminPref('radminnewsletter'), ("radminforum")) {
    mxErrorScreen("Access Denied");
    die();


if (!mxGetAdminPref('radminnewsletter')OR ("radminforum")) {
    mxErrorScreen("Access Denied");
    die();


klappt nicht. Bekommt man das irgendwie hin ?
Titel: Re: Admin-Mitteilungen für eingeschränkten Admin freigeben
Beitrag von: HanSolo am 30 Januar 2008, 11:57:42
@ Jörg

Danke für die Info - das macht das Problem doch schon mal deutlich kleiner .. oder auch im Anschluss wieder größer - je nachdem, wie "gut" der Co-Admin ist  :smile:

@ Eismann

das sind interessante Infos, das eröffnet neue Möglichkeiten; habe ich euch aber richtig verstanden, dass eine solche Abfrage für den Mitteilungs-Bereich nicht möglich ist, sondern nur über den God-Admin zu lösen ist? Eine Verknüpfung mit solchen Einzelabfragen wäre natürlich mehr als schön :-) Vielleicht findet sich ja auch noch eine Code-Lösung für die "OR"-Verknüpfung, die dir vorschwebt.

In jedem Fall, danke für die Infos - ich bastele und probiere mal ein wenig...
Titel: Re: Admin-Mitteilungen für eingeschränkten Admin freigeben
Beitrag von: Eismann1976 am 30 Januar 2008, 12:35:32
Doch klar geht das für den Mitteilungsbereich.

Einfach in /admin/modules/messages.php

if (!mxGetAdminPref('radminsuper')) {
    mxErrorScreen("Access Denied");
    die();


in

if (!mxGetAdminPref('radminnewsletter')) {
    mxErrorScreen("Access Denied");
    die();


ändern. Dann hat der Admin die Berechtigung. Um auch noch den Link ins Adminmenü zu bekommen must du noch in der /admin/links/links.messages.php

if ($radminsuper == 1) {

in

if (($radminsuper == 1) || ($radminnewsletter == 1)) {


ändern.

Für das andere Problem hab ich leider noch keine Lösung aber ich fänd es echt sinnvoll zumal in 0.1.10 keine Änderung enthalten ist.



Edit: 'radminnewsletter' ist natürlich nur ein Beispiel. Kannst dir aussuchen.


Titel: Re: Admin-Mitteilungen für eingeschränkten Admin freigeben
Beitrag von: StegRene am 08 Juni 2008, 20:28:13
Zitat von: JoergK am 30 Januar 2008, 02:16:15
Um jetzt Deinem "Hilfsadmin" den Zugriff zu gewähren, mußt Du nur die Abfrage, ob er irgendwelche Adminrechte hat, zu der obigen Abfrage hinzufügen:
if (!mxGetAdminPref('radminsuper') && !MX_IS_ADMIN) {
    mxErrorScreen("Access Denied");
    die();
}


Hi JoergK!

Das funktioniert super! Gibt es denn auch eine Möglichkeit, dass das Pictogramm "Mitteilungen" beim Hilfsadmin in der Admin-Oberfläche unter "Inhalte" aufscheint?
Titel: Re: Admin-Mitteilungen für eingeschränkten Admin freigeben
Beitrag von: JoergK am 08 Juni 2008, 21:26:43
Hoi ;)

Schau mal in der Anwort von Eismann, da steht's eigentlich schon drin:
Zitat von: Eismann1976 am 30 Januar 2008, 12:35:32

Um auch noch den Link ins Adminmenü zu bekommen must du noch in der /admin/links/links.messages.php

if ($radminsuper == 1) {

in

if (($radminsuper == 1) || ($radminnewsletter == 1)) {


ändern.

Wenn Du das lieber universell hättest, dann tausch in dem von ihm genannten Code einfach das ($radminnewsletter == 1) gegen MX_IS_ADMIN aus.
Titel: Re: Admin-Mitteilungen für eingeschränkten Admin freigeben
Beitrag von: StegRene am 09 Juni 2008, 17:03:03
Man bin ich blind............ ich muss mich wohl erst wieder eingewöhnen.......  :puzzled:
Ich danke Dir Joerg!
Titel: Re: Admin-Mitteilungen für eingeschränkten Admin freigeben
Beitrag von: JoergK am 09 Juni 2008, 18:15:52
Ja, ja ... das alte Spiel mit dem Wald und den Bämen.  ;D ;D