Dies ist eine alte Version des Dokuments!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Settings ====== Alle Einstellungen (bis auf die Verbindungsdaten und Angaben zur Datenbank) sind in der Datenbank an sich gespeichert. Somit ist es möglich das von mehreren unterschiedlichen Installationen des Programms auf ein und dieselben Einstellungen zugegriffen werden kann. (Nur die Einstellungen für die Datenbank müssen bei den jeweiligen Installationen identisch sein) \todo Hier fällt mir gerade ein das scripte nicht im Installationsverzeichnis liegen sollten, da diese dann über alle Installationen verteilt auf denselben stand gehalten werden müssen. Resultat: Auch Scripte in die Datenbank! (like SAP) Um einen simplen zugriff auf die Verschiedenen Daten zu geben existieren die beiden Klassen MVW_Settings_Program und MVW_Settings_User. Diese sind abgeleitet von der abstrakten Klasse MVW_Settings. Die Speicherung der Daten erfolgt in der Datenbank immer als reiner Text in einem separaten Feld. Die MVW_Settings Klasse bietet funktionen um die interne Darstellung in einen reinen Text zu Konvertieren der dann in der Datenbank gespeichert werden kann. Ausserdem sind funktionen enhalten die den aus der Datenbank gelesenen Text wieder in die interne Struktur umwandeln. Es existieren Einstellungen die programmweit und für jeden Benutzer gelten, diese werden durch MVW_Settings_Program verwaltet. Einstellungen die die Benutzer selbst ändern dürfen, und somit das Programm auf ihre gegebenheiten anzupassen, werden von MVW_Settings_User verwaltet. Benutzer Einstellungen können nur 1 mal existieren! Bei den Programm Einstellungen ist es möglich mehrere Einstellungs-Varianten in der Datenbank zu speichern und bei Bedarf die eine oder andere zu aktivieren (es kann aber nur 1 zur Zeit aktiv sein). Wenn Programm-Einstellungen geändert werden sind diese bei den Benutzern erst nach einem Neustart des Programms aktiv! Auf Einstellungen kann über die Funktionen MVW_Settings::set() und MVW_Settings::get() zugriffen werden (siehe dortige Dokumentation für Details). ===== Struktureller Aufbau ===== <graphviz dot left> digraph mvw_settings_struct { graph [ rankdir="TB" ]; node [shape=record, fontname=Helvetica, fontsize=10]; settings [ label="MVW_Settings" ]; user_settings [ label="MVW_Settings_User" ]; prog_settings [ label="MVW_Settings_Program"]; user [ label="MVW_User" ]; right [ label="MVW_right" ]; user_groups [ label="MVW_user_groups" ]; right_groups [ lable="MVW_right_groups" ]; rights [ label="rights" ]; user -> user_settings [ arrowhead="open", style="solid" ]; user -> rights [ arrowhead="open", style="solid" ]; rights -> right_groups [ arrowhead="open", style="solid" ]; rights -> user_groups [ arrowhead="open", style="solid" ]; rights -> right [ arrowhead="open", style="solid" ]; right_groups -> right [ arrowhead="open", style="solid" ]; user_groups -> right [arrowhead="open", style="solid" ]; user_groups -> right_groups [arrowhead="open", style="solid" ]; user_settings -> settings [ arrowhead="open", style="solid" ]; prog_settings -> settings [ arrowhead="open", style="solid" ]; } </graphviz>

Projektwerkzeuge