Page 1 of 1

Rechte ändern bei Event-Plugins

Posted: Thu Jan 26, 2006 4:20 pm
by Guest
Wie kann ich die Rechte von Plugins verändern damit z.B. ein zusätzlicher Nutzer, des Angemeldet ist im Blog, nicht auf das Plugin zugreifen kann. Ein Beispiel. Das Plugin für die Statischen Seiten ist aktiviert und steht im Menü unter Einträge. Jedoch nicht nur für den Admin sonder auch für die Nutzer, somit kann der Nutzer auch das o.g. Plugin aufrufen und es auch benutzen.

Re: Rechte ändern bei Event-Plugins

Posted: Thu Jan 26, 2006 4:38 pm
by garvinhicking
Solche Features müssen innerhalb des Plugins einprogrammiert werden. Eine Ankoppelung an das bestehende Serendipity-Rechtesystem ist möglich, wird aber bisher von keinem Plugin genutzt.

Falk, der Autor des Staticpage-Plugins, arbeitet derzeit an Version 2 dieses Plugins mit zahlreichen Feature-Veränderungen und einer neuen Architektur, die sich unter anderem diesem Problem annehmen wird. Das kann jedoch noch eine Weile dauern.

Du kannst so lange manuell das Staticpage-Plugin patchen und eine Abfrage einbauen, die das Plugin nur speziellen Usern anzeigt:

Ändere dazu folgenden Code im Plugin:

Code: Select all

                case 'backend_sidebar_entries':
                    $this->setupDB();
                    echo '<li><a href="?serendipity[adminModule]=event_display&serendipity[adminAction]=staticpages">' . STATICPAGE_TITLE . '</a></li>';
                    break;

                case 'backend_sidebar_entries_event_display_staticpages':
                    $this->showBackend();
                    break;
in

Code: Select all

                case 'backend_sidebar_entries':
                    if ($serendipity['authorid'] =! 1 AND $serendipity['authorid'] != 2) return true;
                    $this->setupDB();
                    echo '<li><a href="?serendipity[adminModule]=event_display&serendipity[adminAction]=staticpages">' . STATICPAGE_TITLE . '</a></li>';
                    break;

                case 'backend_sidebar_entries_event_display_staticpages':
                    if ($serendipity['authorid'] =! 1 AND $serendipity['authorid'] != 2) return true;
                    $this->showBackend();
                    break;
Die beiden hinzugekommenen If-Abfragen zeigen das Plugin dann nur für Autor #1 und #2 an.

Viele Grüße,
Garvin

Posted: Thu Jan 26, 2006 9:47 pm
by Guest
Danke für deine Hilfe. Mittlerweile ist mir auch aufgefallen, dass der Downloadmanager und die Mediendatenbank die gleichen Probleme haben, oder ich die gleichen Probleme damit habe.

Posted: Fri Jan 27, 2006 11:28 am
by garvinhicking
Korrekt -- wie gesagt, bei wenigen Plugins war das bisher erforderlich und es hat sich noch kein freiwilliger gefunden. Du kannst aber jedes Plugin nach dem von mir geschilderten Prinzip für'S erste leicht überarbeiten.

Viele Grüße,
Garvin