valid xhtml 1.0 strict
bookmark this site at del.icio.us bookmark this site at mister-wong.de bookmark this site at furl.net bookmark this site at ho.tli.st bookmark this site at blogmarks.net bookmark this site at stumbleupon.com bookmark this site at scuttle.org
 

zuletzt geändert : 24.01.10

Skins

Der efileman benutzt Skins (Templates), die das Benutzerinterface beschreiben. Es gibt für jede Ansicht eine separate Skin-Datei.

Skin-Dateien sind HTML-Dateien, die mit jedem Editor bearbeitet werden können :

  • manager.skin für die Datei- und Verzeichnisliste
  • edit.skin für das editieren einer Datei
  • login.skin für das Login
  • admin.skin für die Administration
  • ...

Der efileman Default Skin ist kompatibel zu (getestet mit der entsprechenden MS Windows Version)

  • Internet Explorer 6
  • Opera 6.05
  • Netscape 4.7
  • Mozilla 1.1

Es wird empfohlen, den Anwendern jederzeit die Möglichkeit zu geben, den Default Skin zu nutzen.


Soll das Layout des efileman angepasst werden, erstellt man am besten ein neues Unterverzeichnis im Skins-Verzeichnis, kopiert alle skin-Dateien aus dem default-Verzeichnis und ändert diese.

Es müssen nicht alle skin-Dateien kopiert oder geändert werden, wenn eine Skin-Datei für den gewählten Skin nicht existiert, wird automatisch auf die entsprechende Datei im default-Verzeichnis "/skins/default" zurückgegriffen, z.B. alle Skin-Dateien liegen (sowieso) im default-Verzeichnis vor und nur manager.skin, edit.skin und useradmin.skin wurden neu gestaltet und in einem neuen Unterverzeichnis abgelegt.
Der Name dieses neuen Verzeichnisses kann dann in der Administration ausgewählt werden.

Der zu verwendende Skin (Verzeichnis) wird innerhalb des /skins-Verzeichnisses wie folgt gefunden :

  1. das Verzeichnis definiert durch den myskin-Parameter, z.B. myskin=frames/header wird gesucht in /skins/frames/header
  2. das Basis-Verzeichnis definiert durch den myskin-Parameter im Fall eines Unterverzeichnisses, z.B. myskin=frames/header wird gesucht in /skins/frames
  3. das Verzeichnis konfiguriert in der Anwender Skin Variablen
  4. das Verzeichnis konfiguriert in der globalen Skin Variablen
  5. der Default Skin im Verzeichnis /skins/default
  6. ...Fehlermeldung

Wenn noch kein HTML-Editor vorhanden ist oder Schwierigkeiten mit den "benutzerfreundlichen" Funktionen des vorhandenen Editors bestehen, lohnt sich eine Blick auf den phase 5 HTML-Editor. Für professionelle Anwender ist Adobe GoLive empfehlenswert, da hier manuelle Änderungen am HTML Code respektiert werden.

Für das Ändern der Skin-Dateien müssen folgende Regeln beachtet werden :

  • Werte in ## sind Variablen die durch das Script verarbeitet werden.
  • Werte in <!-- und --> sind Kommentare. Kommentare wurden eingesetzt, um das Design während der Skin-Entwicklung besser kontrollieren zu können. Jeder Wert in ## wird verarbeitet.
  • Die Namen der Eingabefelder (input) dürfen nicht verändert werden.
  • Die Namen der versteckten Eingabefelder (hidden input) dürfen nicht verändert werden. Diese Felder dürfen auch nicht gelöscht werden.
  • Soll ein Skin mehrsprachenfähig sein, sollten die Variablen aus den Sprachdateien verwendet werden, z.B. die Verwendung der Variablen $TEXT{'mailsubject'} aus der Sprachdatei wird im Skin als ##TEXT'mailsubject'## notiert.
  • Das Format von Datum und Zeitangaben kann durch Änderung in der entsprechenden Sprachdatei geändert werden. Siehe unter Sprachdateien für weiterführende Informationen.

Nach Abschluß der Designphase sollte jede Skin-Datei noch einmal geöffnet und folgender Metatag überprüft werden :

Metatag :<meta http-equiv="content-type" content="text/html;charset=##charset##">

Einige HTML-Editoren ersetzen die ##charset##-Variable durch einen voreingestellten Wert.
TESTE JEDE NEUE SKIN DATEI !

Das "/skins/default"-Verzeichnis darf nicht gelöscht werden !
Soll nur ein Skin benutzt werden, können die entsprechenden Skin-Dateien in das "/skins/default"-Verzeichnis kopiert werden, ohne ein extra Skin-Verzeichnis anzulegen.


Seit Version 7.1.0.82 des efileman ist es möglich, Templates in den Skins durch Einsatz von ##file:filename## zu benutzen z.B. ##file:style.css##. Dies könnte so aussehen:

<style type="text/css">
    ##file:../style.css##
</style>

Die Dateiendung der Datei, deren Inhalt eingefügt werden soll, spielt keine Rolle. Die referenzierte Datei wird im Verzeichnis der Skin-Datei gesucht, oder relativ zu ihr, wie das obige Beispiel zeigt.


Version 7.1.0.82 des efileman unterstützt auch Frame-basierte Skins. Der Parameter myskin=skinname setzt den Skin für den nächsten Skriptdurchlauf.
Dieser Parameter muss für alle Form und Links, die den efileman aufrufen, gesetzt werden, ansonsten wird das Skript den für den Benutzer konfigurierten Skin verwenden. Das klingt vielleicht ersteinmal verwirrend, deswegen hier ein Beispiel:

skins/frames/manager.skin    Dies definiert den Dateimanager unterteilt in drei Frames
skins/frames/head/manager.skin    Dateimanager Menü
skins/frames/body/manager.skin    Dateimanager Liste
skins/frames/foot/manager.skin    Dateimanager Buttonleiste

frames ist der Name des Skin. Innerhalb der Skindatei sollte ##usrskin## anstelle des tatsächlichen Skin-/Verzeichnisnames verwendet werden, um das Umbenennen dieses Skins/Verzeichnisses zu erlauben.

<form action="##hrefscript##" method="POST" accept-charset="##charset##,iso-8859-1">
<input type="hidden" name="dir" value="##path##">
<input type="hidden" name="sid" value="##sid##">
<input type="hidden" name="root" value="##rootalias##">
<input type="hidden" name="myskin" value="##usrskin##/adm_values">
...

oder als Parameter für einen Link:

<a href="##hrefdirectory##&myskin=##usrskin##/man_list" style="color:#FFFFFF">##directoryname##</a>


unvollständige Liste der Platzhalter

Die Parameter-Werte in Links wie der Name des aktuell angezeigten Unterverzeichnisses in dir=... sind generell URL kodiert.

Platzhalter    wird ersetzt durch     wird ersetzt in
##imageURL##    Basis-URL zu den efileman images aus der Konfiguration wie http://yourdomain/images/efileman    alle Skindateien
##hrefscript##    vollständige URL des efileman ohne Parameter wie http://yourdomain/cgi-bin/efileman/efileman.cgi    alle Skindateien
##hrefmanager##    vollständige URL des efileman mit Parameter wie http://yourdomain/cgi-bin/efileman/efileman.cgi?root=0&dir=&sid=ttXydORJt50wQ-555F52427A725109026775424D    alle Skindateien
##hrefupload##    vollständige URL des efileman mit Parameter innnerhalb ##startuploadlink## ##enduploadlink## wie http://yourdomain/cgi-bin/efileman/efileman.cgi?mode=upload&root=0&dir=&sid=ttXydORJt50wQ-555F52427A725109026775424D    alle Skindateien
##hrefmail##    vollständige URL des efileman mit Parameter innerhalb ##startmaillink## ##endmaillink## wie http://yourdomain/cgi-bin/efileman/efileman.cgi?mode=mail&root=0&dir=&sid=ttXydORJt50wQ-555F52427A725109026775424D    alle Skindateien
##hrefadmin##    vollständige URL des efileman mit Parameter innerhalb ##startadminlink## ##endadminlink## wie http://yourdomain/cgi-bin/efileman/efileman.cgi?mode=admin&root=0&dir=&sid=ttXydORJt50wQ-555F52427A725109026775424D    alle Skindateien
##hreflogout##    vollständige URL des efileman mit Parameter innerhalb ##startlogoutlink## ##endlogoutlink## wie http://yourdomain/cgi-bin/efileman/efileman.cgi?mode=logout&root=0&dir=&sid=ttXydORJt50wQ-555F52427A725109026775424D    alle Skindateien
##path##    aktuell angezeigtes Unterverzeichnis (HTML encoded), Wert des Parameter dir    alle Skindateien
##sid##    verschlüsselter Benutzername und -paßwort    alle Skindateien
##usrskin##    aktuell verwendeter Skin    alle Skindateien
##username##    Anmeldename des aktuellen Benutzers     alle Skindateien
##href_manager_help##
##href_upload_help##
##href_admin_help##
##href_edit_help##
##href_login_help##
##href_mail_help##
##href_useradmin_help##
    Link zum entsprechenden Hilethema z.B. http://yourdomain/cgi-bin/efileman/efileman.cgi?mode=admin_help     alle Skindateien
##filespace##    Diskquota des aktuellen Benutzers    Manager & Upload Skindatei
##spaceused##    verbrauchte Menge der Diskquota    Manager & upload Skindatei
##curpath##    aktuell angezeigtes Unterverzeichnis wie ../currentdir (HTML encoded)    Manager & Upload Skindatei
##nocopy##    disabled innerhalb ##startcopybtn## ##endcopybtn##    manager Skindatei
##nomove##    disabled innerhalb ##startmovebtn## ##endmovebtn##    Manager Skindatei
##workroot##    Index der aktuell angezeigten Benutzer Root     Manager Skindatei
##filecnt##    Anzahl der aktuell angezeigten Dateien     Manager Skindatei
##dircnt##    Anzahl der aktuell angezeigten Verzeichnisse     Manager Skindatei
##dirsize##    Verzeichnisgröße in KB (##TEXT'kilobyte'##), zeigt an, wieviel Plattenplatz durch die Dateien in den Verzeichnissen belegt wird, Benutzung innerhalb von ##startdirlist## und ##enddirlist##    Manager Skindatei
##savevalue##    Index der aktuell angezeigten Benutzerwerte     Admin Skindatei