Wieder mal was kostenloses...
Hier auf Wunsch ein Projektstatus Modul mit Statusanzeige als Progressbar und %. Dies ist nur ne Alpha und deshalb etwas unfertig vom Frontend.
Features:
Frontend:
- Eine Seite mit Projekten und deren Status
Backend:
- Übersicht aller Projekte
- Projekte erstellen ( Name, Beschreibung, Status )
- Projekte editieren
- Projekte entfernen
- Einfarbig oder Multicolor Progressbar einstellbar
Frontend Demo:
http://img2.abload.de/img/index_projektstatus5tbd.png
Backend Demo:
http://img2.abload.de/img/admin_projektstatusxogl.png
http://img2.abload.de/img/admin_projektstatus_ed8ty0.png
http://img2.abload.de/img/admin_projektstatus_ne5syo.png
http://img2.abload.de/img/admin_projektstatus_se9qcq.png
Download:
Ich habe noch ein paar programmiertechnische Verbesserungsvorschläge, und zwar fange ich mit der projekt_edit.inc.php an. Da würde ich das Array mit den
Werten erst abfüllen, wenn die Zugriffsberechtigung überprüft wurde. Somit würde der Schritt nur ausgeführt werden, wenn es auch tatsächlich nötig ist.
Zusätzlich fehlen mir die Fehlerbehandlungen. Was würde passieren, wenn ein Query aus irgendeinem Grund nicht ausgeführt werden könnte? Es würde immer so aussehen, als ob der Query erfolgreich war.
Und der Name des Projektes ist einmalig, oder? Dafür würde ich das Feld in MySQL als UNIQUE definieren, anstatt eine Abfrage zu tätigen, ob der Name existiert. Wenn das INSERT gemacht wird, und der Name existiert bereits, gibt mysql_query() einen Fehler zurück mit dem entsprechenden Fehlercode. Damit wären wir wieder bei der Fehlerbehandlung. ;-)
So, nun die index.inc.php
Das erste, was mir auffällt, was aber überall im CMS der Fall ist, sind die falschen Typangaben. multicolor in der Tabelle modul_projektstatus_settings ist ja ein Integer, als sollten auch Integer und keine Strings abgefüllt, bzw. abgefragt werden. Dabei verursachst du ein Casting, was auch Zeit verbraucht. Also statt $modul_settings['multicolor'] == "0" einfach $modul_settings['multicolor'] == 0 schreiben.
Bei den anderen Dateien gilt das gleiche mit der Fehlerbehandlung der Abfragen.
Das sind die Sachen, die ich noch verbessern würde. Es liegt natürlich an dir, ob du dir diese Mühen machen willst. :-)