Bilderupload Benutzerrechte

Keiner hat dran geglaubt, doch es ist passiert, WBB Support ist auf 6.2.
Neuer Shop von Pur Digital, ich hoffe es funktioniert alles so wie es soll.
Habe extra kein Update gemacht, da ich so viel besser alten Schrott losgeworden bin.
  • Habe heute mal dieses Plugin gezogen und installiert. Sowei sogut nur greift ein Benutzerrecht nicht.

    Keine Benutzergruppe ausser Admin das den Bilderupload benutzen. Den Menübutton sehen aber alle, auch Gäste und denke nicht das dies so gewollt ist.

    Fakt ist das dies nur der Administration bzw. Benutzergruppen vorbehalten bleiben soll die dazu die Erlaubnis haben. ;)

  • bx19

    Bei mir darf die Gruppe "Jeder" ohnehin nichts, da ist immer alles auf NEIN.

    Dann sollte es auch nicht wundern wenn es nicht funktioniert. Denn die Benutzergruppe "Registrierte Benutzer" liegen, genauso wie auch Administratoren und Moderatoren, zugleich auch in der Benutzergruppe "Jeder". Wenn gewissen Funktionen in der Benutzergruppe "Jeder" auf "Nein" gesetzt wird, können/würden damit gewisse Funktionen den registrierten Benutzern natürlich auch vorenthalten bleiben. Möchtest Du etwas für Gäste ausschließen, so ist dies in der entsprechenden Benutzergruppe für "Gäste" auszuschließen, jedoch nicht in der Benutzergruppe "Jeder".

    Gruss,
    Andreas

  • Habe ich mich Falsch ausgedrückt :/ ...Eigentlich nicht.

    Nochmals von Vorne...

    Niemand außer die Benutzergruppe Administrator darf den Bilderupload nutzen. Und es konnte auch nur die Admingruppe nutzen. Also... soweit, so gut.

    Der Button im Hauptmenü wurde jedoch allen Gruppen weiterhin Angezeigt und genau das sollte nicht sein.

    Wenn eine bestimmte Gruppe das Forum nicht betreten oder sehen darf wird dieser Button im Hauptmenü ausgeblendet und nur den Gruppen mit Erlaubnis angezeigt.

    Ich hoffe es ist jetzt klar was ich im eigentlichen Sinne gemeint habe.

  • bx19

    Habe ich mich Falsch ausgedrückt :/ ...Eigentlich nicht.

    Wenn ich mir Dein ersten Beitrag durchlese, dann würde ich dies eher mit einen: "eigentlich ja" beantworten, denn darin gehen eben mehr die Benutzergruppenrechte hervor als dem, dass Du explizit den Menüpunkt ausgeblendet haben möchtest. Denn, so wie Du geschrieben hast:

    Den Menübutton sehen aber alle, auch Gäste und denke nicht das dies so gewollt ist

    Da Du damit denkst, dass dies so nicht gewollt ist, bezieht sich dies mehr auf den Plugin-Entwickler als auf Dich und Deinen Wunsch ;)

    Doch nun zur Problemlösung wozu es diverse Möglichkeiten gibt:

    • Per CSS
      Den Menüpunkt mit [data-identifier="XXX"] { display: none; } vollständig ausblenden. Das XXX müsse natürlich mit der Kennung des Menüpunkts zum Bilderupload, welche per Entwicklerkonsole ausfindig gemacht werden kann, ersetzt werden. Damit würde jedoch der Menüpunkt vollständig ausgeblendet werden und somit weder für Gäste, Mitglieder, Moderatoren und Administratoren ersichtlich sein. Per direkten Aufruf des Links wäre die Funktion des Bilduploads aber dennoch erreich- und nutzbar. Beispiel: https://URL/index.php?BILDERUPLOAD/ bzw. https://URL/BILDERUPLOAD/.
    • Per Template
      Den ausgegebenen Menüpunkt im Template mit einer Schleife umlegen, so dass die Ausgabe des Menüpunkts nur für gewisse Benutzer-IDs oder aber Benutergruppen-IDs erfolgt. Dies kann u.a. hiermit erfolgen: {if $specificGroupID|in_array:$user->getGroupIDs()}..........{/if}. Hierbei müsse $specificGroupID mit der Gruppen-ID (in Deinem Fall die der Administratoren) ersetzt werden. Die Quellcode welcher den Menüpunkt des Plugins darstellt müsse natürlich innerhalb der Schleife (gepunktet) bestehen und letztlich mit der schließenden if-Schleife abgeschlossen werden.
    • Per Plugin (Entwickler)
      Insofern nicht vorhanden, könne eine solche Funktion ggfls. auch im Plugin selbst eingebaut werden. Da ich jedoch nicht zu den Entwicklerkreis des Plugins gehöre, kann ich dazu leider nicht mehr sagen. Denke aber das misterpu sicher mehr darüber weiß.

    Da ich selbst das Plugin nicht benutze, kann ich weder in den Quellcode einsehen, noch dazu weiter beitragen etwas umzusetzen. Sollten jedoch Fragen bestehen, so helfe ich in so weit des möglichen gerne weiter ;)

    Gruss,
    Andreas

  • Ich bedanke mich recht Herzlichst @Belarus für den ausführlichen Bericht. Das mit dem CSS Code kenne ich aber entspricht nicht ganz meiner Vorstellung.

    Erwähnen möchte ich noch das wenn eine gewisse Benutzergruppe oder Gast was nicht darf dann soll es nicht zu sehen sein. Ich vermute das dann auch weniger Versuche stattfinden wo reinzukommen.

    Wenn ich Zeit finde werde ich es mir anschauen, aber wenn es ein Fehler sein sollte ist er aber nicht so schlimm, das man das Plugin nicht benutzen kann.

    Das Plugin funktioniert so wie ich beim testen war ohne Fehler.

    Einzig wenn ich das noch richtig in Erinerung habe wird keine kleinen Vorschau neben den Link zu den Bilder angezeigt was bei einer späteren Suche zu einem bestimmten Bild sehr schwer sein wird die aufzufinden.

  • Per Template
    Den ausgegebenen Menüpunkt im Template mit einer Schleife umlegen, so dass die Ausgabe des Menüpunkts nur für gewisse Benutzer-IDs oder aber Benutergruppen-IDs erfolgt. Dies kann u.a. hiermit erfolgen: {if $specificGroupID|in_array:$user->getGroupIDs()}..........{/if}. Hierbei müsse $specificGroupID mit der Gruppen-ID (in Deinem Fall die der Administratoren) ersetzt werden. Die Quellcode welcher den Menüpunkt des Plugins darstellt müsse natürlich innerhalb der Schleife (gepunktet) bestehen und letztlich mit der schließenden if-Schleife abgeschlossen werden.

    Template "pictureUpload"

    Nur wo füge ich den Templatecode genau ein. :/

  • bx19

    wie bereits genannt habe ich das Plugin selbst nicht in Einsatz und kann entsprechend nicht auf des gleichen als installiertes Plugin zugreifen um Dir letztlich hierbei helfen zu können. Lediglich so viel, dass dies mit einer Anpassung des Templates und dem bereits genannten Quellcode: {if $specificGroupID|in_array:$user->getGroupIDs()}..........{/if} ggfls. umsetzbar ist. Dazu müsse dann ...

    1. {if $specificGroupID|in_array:$user->getGroupIDs()} vor den entsprechenden Menüeintrag im Template eingefügt werden
    2. Das darin enthaltene $specificGroupID mit der ID der Benutzergruppe des Administrators (z.B. 1) ersetzt werdenUnd nach dem Menüeintrag die Schleife mit [tt]{/if} geschlossen werden.[/tt]

    Da ich jedoch kein Zugriff auf den Quellcode habe, kann ich Dir dazu kein Beispiel nennen, wo genau dieses eingefügt werden muss. Beachte aber auch, dass ein Eingriff in Templates ohne Erfahrung mit des gleichen zu einen Fatal-Error führen kann. Entsprechend dem sollte solches immer in einer Testumgebung vorab getestet und zudem natürlich auch ein Backup angelegt werden.

    Gruss,
    Andreas


    Edith: misterpu war schneller ;)

    Frage mich aber warum das so nicht gehen sollte. Immerhin wird damit nur ein bewerkstelligt, dass nur eine Benutzergruppe (in diesem Fall die Administratoren) letztlich den Menü-Eintrag sehen würden.

  • misterpu

    Der Menü Punkt wird durch die Page.xml erzeugt nicht durch das Template.

    Da hast Du natürlich vollkommen recht, so dass ich eingestehen muss mich zuvor unverständlich bzw. unvollständig ausgedrückt habe. Im Plugin selbst kann dies natürlich ohne weiteres nicht per Anpassung am Template abgeändert werden. Jedoch wäre es dennoch per Template möglich, zu bewerkstelligen. Dazu könnte in etwa so vorgegangen werden wie bei der von mir geschriebenen Anleitung: [Template] Mega Menu: Erweiterung.

    Zwar hat sich dieses Thema bereits erledigt, da bx19 ein anderen Lösungsweg gefunden hat, doch möchte ich hier an dieser Stelle dennoch einmal die Möglichkeit mit der Anpassung des Templates dokumentieren. Zu beachten ist jedoch, dass dies bisher ungetestet ist, jedoch theoretisch so funktionieren sollte.

    Quellcode

    [info='warning']Das unachtsame bearbeiten von Templates kann zu einen Fatal-Error führen. Entsprechend dem sind vor jeglichen Änderungen ein Backup durchzuführen! Insofern keine Kenntnisse mit Templates vorhanden sind, so empfiehlt es sich einen Entwickler des Vertrauen zu kontaktieren.[/info]

    Smarty
    {if $specificGroupID|in_array:$user->getGroupIDs()}  // "$specificGroupID" mit der ID ersetzen
    
      <li class="boxMenuHasChildren myNewMenuEntry"> // "myNewMenuEntry" ggfls. nach belieben ändern
        <a href="URL">Bilderupload</a>  // URL eintragen
      </li>
    
    {/if}

    Benutzung

    1. Gehe zu Anpassung Templates
    2. Wähle unter Templates (falls dort nicht schon markiert) über den Filter Deinen Style aus.
    3. Lege mit einen klick auf + Template hinzufügen ein neues Template an.
    4. Wähle als Templatename: "Bilderupload"
    5. Füge dann den HTML-Quellcode (siehe oben) ein und speicher dieses ab.
    6. Passe anschließend die CSS-Klassen nach Deinen Bedürfnissen an.

    Um das Template nun einzubinden und anzeigen zu lassen gehe wie folgt vor:

    1. Gehe zu Anpassungen Templates DEIN_STYLE und suche das Template: __menu
    2. Klicke hier auf um das Template zu bearbeiten.
    3. Suche nun nach der Zeile {event name='menuAfter'} (relativ weit oben).
    4. Füge davor folgendes in einer neuen Zeile ein: {include file='Bilderupload'} und speicher dieses ab.
    5. Fertig!

    bx19

    Nichts zu danken und gern geschehen ;)

    Gruss,
    Andreas

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!