Erweiterungen Globale Filter Geschätzte Lektüre: 3 Minuten Globale Filter sind für große Tabellen mit vielen Datensätzen, auf die immer der gleiche Filter angewandt wird, von Vorteil. Sie sind dauerhafte Filter für eine Tabelle. Sie bieten die Möglichkeit getgresult (= Funktion, die die Daten holt) unabhängig von Rechten, Usern, etc. zu modifizieren. Globale Filter sind eine bestimmte Regel und eine Erweiterung, die über allem steht. Ein globaler Filter ist ähnlich zu der Mandatenfähigkeit (siehe Mandanten), jedoch einfacher anzuwenden. Mithilfe eines globalen Filters wird der Filter IMMER auf die ausgewählte Tabelle angewandt und es gibt keine Ausnahmen bei denen er ausgesetzt wird. Der globale Filter ist für jeden Benutzer dieser Tabelle gültig. Beispiel 1 Angenommen eine Firma hat mehrere Standorte: München, Paris, Wien und Madrid.Wenn eine Tabelle „Kunde“ nun dauerhaft nach Standort gefiltert werden soll, kann dies durch einen globalen Filter gemacht werden. Beispiel 2 Angenommen eine Firma besteht aus mehreren Abteilungen. Wenn eine Tabelle „Aufträge“ nun immer nach Abteilung dauerhaft gefiltert werden soll, kann dies durch einen globalen Filter gemacht werden. Globale Filter erstellen In den Extensions muss eine neue Datei mit dem Namen „ext_globalFilter.inc“ angelegt werden. In dieser Datei kann nun für jeden globalen Filter eine neue Funktion, in welcher die Funktionsweise des globalen Filters definiert ist, erstellt werden.Mögliche Befehle sind „WHERE“- oder „IF-THEN-ELSE“-Befehle. Ein globaler Filter kann für mehrere Tabellen verwendet werden, wenn die Namen der Attribute gleich sind. Siehe auch Extension für die Beschreibung des Codes einer Erweiterung und Erweiterungen für allgemein alle Erweiterungen. Beispiel Angenommen eine Firma besteht aus mehreren Abteilungen. Wenn eine Tabelle „Kunden“ nun dauerhaft nach Abteilung gefiltert werden soll, kann dies durch einen globalen Filter gemacht werden. EXTENSIONS/ext_globalFilter.inc function globalfilter1($gtabid,&$extension){ $departmentId = 3; $extension['where'] = 'customers.department = ' . parse_db_int($deparmentId); } Globalen Filter auf eine Tabelle anwenden Globale Filter können nur vom Admin auf Tabellen angewandt werden. Unter [Admin -> Tabellen -> „eine Tabellengruppe“ -> Zahnradsymbol] kommt man zu den Einstellungen von einer Tabelle. Abb. 1: Tabelleneinstellungen In den Tabelleneinstellungen unter [Optionen -> globaler Filter] kann man die entsprechende Extension als globalen Filter für diese Tabelle auswählen. Dies funktioniert nur, wenn zuvor ein globaler Filter erstellt wurde und muss für jede Tabelle einzeln gemacht werden. Globalen Filter von einer Tabelle entfernen Um einen globalen Filter von einer Tabelle zu entfernen, muss unter [Admin -> Tabellen -> „entsprechende Tabellengruppe“ -> Zahnradsymbol -> Optionen -> globaler Filter] der Haken entfernt werden. Globale Filter ändern Ein globaler Filter kann geändert werden, indem man im Code unter [Extensions -> ext_globalFilter.inc] die entsprechende Funktion ändert.