Benutzer:M.koehn: Unterschied zwischen den Versionen

Aus dem IServ-Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde geleert.)
 
Zeile 1: Zeile 1:
==Sonderrecht für Gruppen erstellen==
 
In der Anleitung werden exemplarisch 2 Sonderrechte für das Testmodul (siehe [[Einbinden eigener Module]]) erstellt.
 
<ul type="square">
 
  <li>Verwaltung des Testmoduls</li>
 
  <li>Erweitere Ansicht - zeige alle Details</li>
 
</ul>
 
  
<rootpre>mcedit /usr/share/iserv/priv/test</rootpre>
 
In dieser Datei werden die Sonderrechte wie folgt definiert:
 
<filepre>
 
test_manage:
 
module      Testmodul
 
description  Manage Testmodul
 
assign      admins
 
 
test_extendedview:
 
module      Testmodul
 
description  Extended View - show all details
 
assign      admins,testgruppe
 
</filepre>
 
<table border="0">
 
<tr><td><tt>test_manage:</tt></td><td>interner Name des Sonderechts im Programmcode</td></tr>
 
<tr><td><tt>module</tt></td><td>angezeigter Name des Moduls für dass das Recht verwendet wird</td></tr>
 
<tr><td><tt>description</tt></td><td>angezeigter Name des Sonderechts</td></tr>
 
<tr><td><tt>assign</tt></td><td>Sonderecht als Standard für die Gruppe(n) / kann man auch leerlassen wenn man keine Vorauswahl will </td></tr>
 
</table>
 
 
==Übersetzungsdatei für die deutsche Sprache erstellen und verwenden==
 
Zum Bearbeiten öffnen man die Übersetzungs-Datei:
 
<rootpre>mcedit /opt/iserv/user/locale/de/test.po</rootpre>
 
Bei der Entwicklung sollten alle zur Ausgabe gebrachten Texte in Englisch programmiert werden.
 
Für die deutschen Übersetzungen erstellt man eine Übersetzungsdatei.<br>
 
Allgemeine Syntax ist.<br>
 
'''msgid  "Suchtext"'''<br>
 
'''msgstr "Ersetzungstext"'''<br>
 
Zwei Möglichkeiten der Definition stehen zur Wahl.
 
 
<filepre>
 
msgid  "Manage Testmodul"
 
msgstr "Verwaltung des Testmoduls"
 
msgid  "Extended View - show all details"
 
msgstr "Erweitere Ansicht - zeige alle Details"
 
</filepre>
 
{{Hinweis|Falls in einer der Übersetzungsdateien schon die Übersetzung existiert kommt es zu einem Fehler der das Duplikat meldet. Dies kann man beheben in dem man das Duplikat aus der eigenen Definition löscht oder wie nachfolgend gezeigt anpasst.}}
 
<filepre>
 
msgid  "test:Manage Testmodul"
 
msgstr "test:Verwaltung des Testmoduls"
 
msgid  "test:Extended View - show all details"
 
msgstr "test:Erweitere Ansicht - zeige alle Details"
 
</filepre>
 
Folgender Aufruf erneuert die Definition.
 
<rootpre>/opt/iserv/sbin/chklocale</rootpre>
 
der Abruf der Übersetzung kann mit der Funktion <tt>_()</tt> oder <tt>_c()</tt> 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.
 
<filepre>
 
<?
 
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"
 
?>
 
</filepre>
 
 
==Sonderrecht für Gruppen abfragen==
 
Die Abfrage des Sonderrechts erfolgt mit der Funktion <tt>secure_privilege("NameDesSonderechts")</tt>.
 
Exemplarisch hier der Einbau in die Navigation.
 
<rootpre>mcedit /usr/share/iserv/www/nav/info/main/05test.mod</rootpre>
 
<filepre>
 
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"); 
 
</filepre>
 
{{Hinweis|Die Überprüfung der Sonderrechte sollte auch in den aufgerufenen Dateien(manage.php;eview.php) erfolgen! }}
 
 
[[Kategorie:Für Bastler]]
 

Aktuelle Version vom 20. April 2012, 07:20 Uhr