Geschrieben von Christian Schnettelker

CMS-Erweiterung: Interne Dokumente

Das Content-Management System der Webseiten von Hospiz Aurich e.V., mit meinen Tools LT6 und LT7 realisiert, wurde kürzlich auf Anfrage erweitert. Wunsch des Vereins war es, den Mitarbeitern über den Login ausgewählte Dateien zur Verfügung zu stellen, welche diese selbsttätig einsehen und herunterladen können.

Login Hospiz Aurich
Bisher war der Login zu den Anfang 2012 erstellten Seiten ausschließlich dem Vorstand vorbehalten, dieser hat dort die Anzeige der Vorträge, Aktuelles- und Pressetexte verwaltet, was natürlich weiterhin unverändert bleibt.

Ausschnitt internes Menü
Oben ein Ausschnitt aus dem internen Menü zur Seitenpflege, die zwei Hauptpunkte „Interne Dokumente“ und „Benutzerverwaltung“ sind hier neu hinzugekommen.

Maske Besucher anlegen
Über die neue Benutzerverwaltung können beliebig viele neue Benutzer angelegt und auch wieder gelöscht werden. Haben diese den Level „normal“ ist ihnen nur die Einsicht in die internen Dokumente möglich, als „Supervisor“ kann der Benutzer dann alle vorgesehenen Änderungen vornehmen.

Maske Dokument hochladen
Über die Verwaltung interner Dokumente wird im obigen Bild gerade eine Datei hochgeladen. Dazu kann eine Kurzbeschreibung zum Dokument angegeben werden, da erfahrungsgemäß die Dateinamen nicht immer aussagekräftig benannt sind. Eine Liste der so hochgeladenen Dateien inklusive Beschreibung wird in einer Tabelle der MySQL-Datenbank gepflegt.

Liste hochgeladener Dateien
Wie oben sieht ein eingeloggter Benutzer die Dateien. Über die Schaltfläche „Ansehen“ kann er die Datei betrachten oder lokal abspeichern.

Menü interne Dateien für den Supervisor
Dies ist die Ansicht für den Supervisor, hier besteht die zusätzliche Möglichkeit, die Beschreibung der Dateien zu verändern oder den gesamten Eintrag zu löschen.

PHP-Notices

Im Zusammenhang mit der Änderung für Hospiz Aurich e.V. sind mir ein paar Dinge aufgefallen, die ich bisher nicht beachtet hatte. Die Syntax von PHP scheint doch (leider!) weiter von der C/C++ Syntax entfernt zu sein, als ich dachte. Ein Beispiel, während man in C/C++ eine Definition für den Präprocessor wie z.B.

#define COPYRIGHT "manoftaste.de 2013";

schreibt hatte ich in PHP bisher immer

define( COPYRIGHT,"manoftaste.de 2013" );

notiert. Dies ist wohl nicht (mehr?) korrekt, für obige Definition wird in der cgi_error.log von hospiz-aurich.de eine Meldung

PHP Notice: Use of undefined constant COPYRIGHT - assumed 'COPYRIGHT'

ausgegeben. Die korrekte Notierung in PHP lautet nun, für mich etwas verwirrend und unlogisch:

define( 'COPYRIGHT',"manoftaste.de 2013" );

PHP ist dabei wenigstens so freundlich, den „Fehler“ selbsttätig zu korrigieren, aber für jede unkorrekte Definition wird diese PHP-Notice ausgeworfen, was die cgi_error.log zumüllt. Habe in meinen LT6 / LT7-Toolboxen jetzt die Notierung dementsprechend und zähneknirschend geändert.

Variablen initialisieren

Bisher war es in PHP ebenfalls usus, eine Variable nicht vorab zu deklarieren; man benutzte sie einfach und ging davon aus, das ihr Wert am Anfang 0 bzw. einen Leerstring beinhaltet. Auch hier war die Vorgehensweise in C/C++ immer schon sauberer definiert, müssen doch alle genutzten Variablen hier zwingend vor der Nutzung deklariert und ihnen auch ein Startwert zugewiesen werden. In den neueren PHP-Versionen versucht man nun wohl, diesen „Designfehler“ sanft zu korrigieren, es wird für die Nutzung vorab nicht definierter Variablen eine Meldung wie

PHP Notice: Undefined variable $i

ausgeworfen. Tja, hätte man doch von Anfang an auf eine saubere Deklaration und Definition von Variablen gesetzt wäre mir viel Anpassungsarbeit erspart geblieben. Aber wie sagte der gescheiterte Kanzlerkandidat immer so schön: „Hätte hätte Fahrradkette“.

Ich muss abschließend einmal sagen, wenn ich PHP und die Entwicklungen so betrachte, ist C/C++ für mich nach wie vor das einzig Wahre. Schade, dass man sich online mit einem inkonsistenten C-Dialekt wie PHP rumschlagen muss. Vielleicht ist es (sicherheits)technisch nicht möglich, aber ich wünschte mir einen C-Interpreter für Apache

Kommentare

Kommentare

Kommentar schreiben

Allgemeiner Hinweis: Bitte kommentieren Sie zum Thema unter Vermeidung von Allgemeinplätzen. Eine gute Rechtschreibung sollte selbstverständlich sein.

Hinweis für SEO-Kommentarschreiber: alle Links sind nofollow und steigern Eure Linkpopularität nicht. Offensichtliche SEO-Kommentare werden nicht oder in anonymisierter Form veröffentlicht.