User können Themen bearbeiten nach Ende der Beitragsbearbeitungszeit ...

  • Hallo.


    In meinem Forum habe ich der Gruppe die Berechtigung eigene Beiträge zu ändern auf 30min gestellt. Das funktioniert auch soweit. Allerdings habe ich bei einem Test eben festgestellt, das nach der eingestellten Zeit zwar ein Bearbeiten von Beiträgen nicht mehr möglich ist. Jedoch kann der Testuser sein erstelltes Thema nach Ablauf dieser Zeit trotzdem berbeiten.


    Welche Option habe ich übersehen? Ich finde dazu nichts ?(



    Hier der Test: Die Bearbeitungszeit habe ich für den Test auf 2min gestellt. Nach den 2 Minuten fällt der Beitrag bearbeiten Button weg, das Thema kann jedoch noch immer geändert werden ...

  • Jetzt nach 2h immer noch möglich das Thema zu ändern ....


    Schaut so, dass das Gruppenrecht "Beiträge bearbeiten" nicht mit erstellten Themen verbunden ist.


    • Der Testuser hat ein neues Thema erstellt
    • nach 30min kann dieser zwar keine Änderung am Beitraginhalt vornehmen
    • das Thema kann er jedoch noch immer bearbeiten


    Wie kann ich das unterbinden bzw. auf die gleiche Zeit setzen wie die Bearbeitungszeit für Beiträge?

  • Keiner eine Idee? ich hab jetzt das ganze ACP nach einer möglichen Option durchsucht. Leider können (bei mir) von Usern erstellte Themen auch nach Ablauf der Bearbeitungszeit geändert werden (Thementitel).


    @Alexander Ebert@TimWolla @Andrea Berg
    Könnt ihr einen Tipp geben? Liegt der Fehler bei mir irgendwo oder ist das aktuell von der Software so vorgegeben?

  • Das Recht greift nur für das Bearbeiten des Beitrages selbst. Das Bearbeiten des Thementitels ist weiterhin möglich, wenn man der Themenersteller ist.


    Danke erstmal.
    Das würde aber auch bedeuten, das mal angenommen ein "bockiger" Forenmember als seine erstellten Themen aufsucht und unkenntlich machen könnte, indem dieser seine Thementitel ändert in XYZ oder asjkökjahfj


    Wäre es nicht sinnvoll das Recht der Thementitelbearbeitung an das Recht der Beitrag bearbeiten zu knüpfen?

  • Ich habe gestern auch erstaunt festgestellt, daß der Thementitel vom Threadstarter jederzeit geändert werden kann. Ich habe mir jetzt so beholfen, daß die Einbindung des "Thema bearbeiten"-Buttons an das Moderatorenrecht, Themen zu löschen, gebunden ist. Dazu in der thread.tpl in Zeile 215 folgende Änderung durchführen:


    Smarty
    {if $thread->canEdit()}<li><a class="button jsThreadInlineEditor jsOnly"><span class="icon icon16 icon-pencil"></span> <span>{lang}wbb.thread.edit{/lang}</span></a></li>{/if}


    durch


    Smarty
    {if $__wcf->getUser()->userID && $__wcf->getSession()->getPermission('mod.board.canDeleteThread')}<li><a class="button jsThreadInlineEditor jsOnly"><span class="icon icon16 icon-pencil"></span> <span>{lang}wbb.thread.edit{/lang}</span></a></li>{/if}


    ersetzt. Somit können normale Mitglieder nur noch Thementitel oder Label über die erweiterte Bearbeitung des Startbeitrags innerhalb der erlaubten Zeit durchführen.


    Ich bin jetzt nicht so der PHP-Experte und bin durch etwas Try & Error zur Lösung gekommen. Falls man da noch was optimieren kann, bin ich nicht sauer über Vorschläge. Vielleicht kann man direkt abfragen, ob jemand Mitglied bestimmter Usergruppen (Mod, SuMo, Admin) ist, ohne das auf ein bestimmtes Recht zu knüpfen?

  • Die Abfrage der userID ist zumindest schon mal überflüssig.





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • Warum änderst Du denn nun die restliche Abfrage auch noch? Wenn Du einfach nur die userID nicht prüfst, gibt es keine Bedenken.





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • {if $__wcf->getSession()->getPermission('mod.board.canDeleteThread')}





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • Nachfrage, da ich die genauen Auswirkungen nicht durchschaue:


    Sorgt


    {if $__wcf->getSession()->getPermission('mod.board.canDeleteThread')}<li><a class="button jsThreadInlineEditor jsOnly"><span class="icon icon16 icon-pencil"></span> <span>{lang}wbb.thread.edit{/lang}</span></a></li>{/if}


    an der besagten Stelle dafür, dass Moderatoren und Admins nach Ablauf der Bearbeitungszeit a) Thementitel noch bearbeiten und b) Themen löschen können, "normale" User aber nicht (sofern Admins und Mods unbeschränkt bearbeiten dürfen)?

  • $__wcf->getSession()->getPermission('mod.board.canDeleteThread') sorgt dafür, dass jeder User, der sich in einer Gruppe befindet, die über das Recht Kann Themen löschen verfügt, Themen löschen kann.


    Im o.g. Beispiel wird das Recht auch für die Bearbeitung verwendet, da es kein separates Recht Kann Themen bearbeiten gibt.

  • Nö, er kann sie bearbeiten (im Gegensatz zum Benutzer, dessen Bearbeitungszeit abgelaufen ist).





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!