Benutzer:M.koehn
Sonderrecht für Gruppen erstellen
In der Anleitung werden exemplarisch 2 Sonderrechte für das Testmodul (siehe Einbinden eigener Module) erstellt.
- Verwaltung des Testmoduls
- Erweitere Ansicht - zeige alle Details
mcedit /usr/share/iserv/priv/test
In dieser Datei werden die Sonderrechte wie folgt definiert:
test_manage: module Testmodul description Manage Testmodul assign admins test_extendedview: module Testmodul description Extended View - show all details assign admins,testgruppe
test_manage: | interner Name des Sonderechts im Programmcode |
module | angezeigter Name des Moduls für dass das Recht verwendet wird |
description | angezeigter Name des Sonderechts |
assign | Sonderecht als Standard für die Gruppe(n) / kann man auch leerlassen wenn man keine Vorauswahl will |
Übersetzungsdatei für die deutsche Sprache erstellen und verwenden
Zum Bearbeiten öffnen man die Übersetzungs-Datei:
mcedit /opt/iserv/user/locale/de/test.po
Bei der Entwicklung sollten alle zur Ausgabe gebrachten Texte in Englisch programmiert werden.
Für die deutschen Übersetzungen erstellt man eine Übersetzungsdatei.
Allgemeine Syntax ist.
msgid "Suchtext"
msgstr "Ersetzungstext"
Zwei Möglichkeiten der Definition stehen zur Wahl.
msgid "Manage Testmodul" msgstr "Verwaltung des Testmoduls" msgid "Extended View - show all details" msgstr "Erweitere Ansicht - zeige alle Details"
msgid "test:Manage Testmodul" msgstr "test:Verwaltung des Testmoduls" msgid "test:Extended View - show all details" msgstr "test:Erweitere Ansicht - zeige alle Details"
Folgender Aufruf erneuert die Definition.
/opt/iserv/sbin/chklocale
der Abruf der Übersetzung kann mit der Funktion _() oder _c() erfolgen. Die Ausgabe der _c()-Funktion bibt nur die Zeichenkette nach dem Doppelpunkt zurück. Sollten die Funktionen keine Übersetzung finden wird der als Parameter übergebene Text zurückgegeben.
<? echo _("Manage"); //Version 1 "Verwaltung" wird aus einer der IServ-Dateien gelesen echo _("Manage Testmodul"); //Version 1 "Verwaltung des Testmoduls" echo _c("test:Manage Testmodul"); //Version 2 "Verwaltung des Testmoduls" ?>
Sonderrecht für Gruppen abfragen
Die Abfrage des Sonderrechts erfolgt mit der Funktion secure_privilege("NameDesSonderechts"). Exemplarisch hier der Einbau in die Navigation.
mcedit /usr/share/iserv/www/nav/info/main/05test.mod
if (secure_privilege("test_manage")) TreeNode(_c("test_manage:Manage Testmodul"), "info/test/manage.php", "manage"); elseif (secure_privilege("test_extendedview")) TreeNode(_c("test_manage:Extended View - show all details"), "info/test/eview.php", "dlg-info"); else TreeNode(_c("test:Testmodul"), "info/test/index.php", "new");