popfetcher und zugriffsrechte

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
soulman

popfetcher und zugriffsrechte

Post by soulman »

Hallo zusammen!

Ich habe ein Problem mit der Rechtevergabe für den popfetcher.
Ich möchte das der nur für mich (user-id 1 / Admin) sichbar ist. Ich hab schon probiert die Rechte in der Plugin-Verwaltung zu vergeben, aber immer wenn ich da eine Einstellung ändere und dann "speichern" klicke stehen die Rechte danach sofort wieder auf "alle Autoren".
Ich habs dann über die Datenbank versucht. Hier habe ich in der Tabelle "_plugins" die "authorid" auf 1 gesetzt. Nun werde ich bei den Rechten zwar angezeigt, andere Autoren können den popfetcher aber immernoch benutzen.

Über Ideen oder ne Lösung würde ich mich freuen.

Danke schonmal
soulman
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: popfetcher und zugriffsrechte

Post by garvinhicking »

Leider hat der Popfetcher so direkt keine Integration in das Rechtesystem von Serendipity.

Die Rechte in der Pluginübersicht geben leider nur an, wer die plugin configuration ändern darf. Um da Änderungen zu speichern muss auch die Checkbox links angekreuzt werden.

Aber das hilft Dir ja in Deinem Problem nicht weiter.

Um das ganze also "wegzupatchen" musst Du leider Hand in der Plugin-Datei anlegen. Editier mal die Datei serendipity_event_popfetcher.php und suche nach folgendem Code:

Code: Select all

                case 'backend_sidebar_entries':
                    if (!$adminmenu) return false;
                    echo '<li><a href="?serendipity[adminModule]=event_display&serendipity[adminAction]=popfetcher">'.PLUGIN_MF_NAME.'</a></li>';
                    break;
Der ist dafür zuständig, den Link anzuzeigen. Das beheben wir als erstes:

Code: Select all

                case 'backend_sidebar_entries':
                    if (!$adminmenu || $serendipity['author'] != 1) return false;
                    echo '<li><a href="?serendipity[adminModule]=event_display&serendipity[adminAction]=popfetcher">'.PLUGIN_MF_NAME.'</a></li>';
                    break;
Diese geänderte IF-Bedingung sorgt dafür, dass der Link nur für den Autoren #1 angezeigt wird. Damit Leute die den Link kennen aber diesen nicht aufrufen können, muss dieselbe IF-Abfrage auch in diesem Code von

Code: Select all

                case 'external_plugin':
                    if ($adminmenu) return false;
geändert werden in:

Code: Select all

                case 'external_plugin':
                    if (!$adminmenu || $serendipity['author'] != 1) return false;
Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Post Reply