Anzeige-/Editierregel erstellen

Aus Limbas Wiki

Wechseln zu: Navigation, Suche

→ zurück zu LIMBAS Admin


Anzeige- und Editierregeln können sowohl bei den allgemeinen Tabellen-Einstellungen als auch bei den Tabellenrechten der einzelnen Benutzergruppen, die Regel für Schreibrecht nur bei den Tabellenrechten der einzelnen Benutzergruppen eingetragen werden.

Für das vom Return-Wert der Funktionen abhängige Verhalten gilt:

  • false: Bewirkt keine Veränderung verglichen mit dem Verhalten, wenn keine Regel eingetragen wäre. Die Tabelle oder das Tabellenfeld wird angezeigt bzw. ist editierbar.
  • true: Die Tabelle oder das Tabellenfeld wird NICHT angezeigt bzw. ist NICHT editierbar.

Die aufzurufenden Funktionen können in ext_gtab.inc implementiert werden.

Im Funktionsaufruf können folgende Variablen verwendet werden:

  • $gresult[]: Array mit Rückgabe-Ergebnis des letzten Datenbank-Zugriffs, dies kann der Inhalt der ganzen Tabelle oder eines Datensatzes sein
  • $gtabid: Tabellen-ID der aktuell angezeigten Tabelle
  • $key: Tabellenfeld-ID des zu überprüfenden Tabellenfeldes


Beispiel 1:

function extShowDateBeforeYear($year, $tabId, $dataFieldId, &$gresult)
{
   # time stamp to be compared
   $tsYear = strtotime($year."-01-01");

   # time stamp from DB entry
   $tsDB = strtotime($gresult[$tabId][$dataFieldId][0]);

   # time in database before $year
   if ($tsDB < $tsYear)
   {
       return false;    
   }

   # value in DB later
   return true;
}

Wird diese Funktion für ein Tabellenfeld vom Typ Datum bei der Anzeigeregel wie folgt eingetragen, so wird dieses in der Detail- und Bearbeitungsansicht eines Datensatzes nur angezeigt, wenn ein Datum vor dem Jahr 2000 eingetragen ist:

return extShowDateBeforeYear(2000, $gtabid, $key, $gresult);

Beispiel 2:

function extShowOnlyOnWeekday($day)
{
   $today = getdate();
   if ($today[weekday] == $day)
   {
       return false;    
   }
   return true;
}

Wird diese Funktion bei den Tabellenrechten einer Benutzergruppe als Regel für Schreibrecht wie folgt eingetragen, so kann diese Benutzergruppe die Tabelle nur an Freitagen editieren:

return extShowOnlyOnWeekday("Friday");
Persönliche Werkzeuge
Werkzeuge
LANGUAGES