Implementierung von hook_adv_reports_reports

  • gibt ein Array zurück,
  • mit allen Reports (Namen), die das Modul unterstützt,
  • und deren Zusatzdaten
    • Liste der Tabellen, die für den Report ausgewertet werden
    • Liste unterstützter Felder/Spalten
    • Vorgeschlagene Art der Datenquelle (Life-Abfrage oder Zwischenspeicherung)
    • Allerlei Hinweistexte
    • sonstige Infos, da wird sich bestimmt noch mehr zeigen …

Aufbereitung der Daten für Report/Zeitraum

  • Callback: module_x_adv_reports_data($report, $from, $to)
    • $from, $to als int(timestamp), damit es direkt in die Abfrage eingefügt werden kann,
      nur Tag, also Stunden=0, Minuten=0, Sekunden=0
    • $from: erster Tag
    • $to: Folgetag nach dem letzte Tag
    • query: WHERE 'date_field' >= @from AND 'date_field' < @to (echt kleiner, damit es keine Überschneidungen gibt)
  • Greift auf die betroffenen Tabellen zu, sammelt die benötigten Daten
  • und gibt die Daten in einem Array zurück

Scenario: module_x_adv_reports_data($report='registrations', $from=1337785400, $to=1339685400)

  • Array für den Zeitraum vorbereiten ($data), keys=Datum/Monat, values=array()
  • Created
    • query: alle aus users mit created im Zeitraum,
      WHERE 'created' >= @from AND 'created' < @to
    • Aufgelaufene Daten rechnen und nach $data[$datum]['created'] eintragen,
      mit $datum = adv_reports_get_datekey($row['created'];
  • Login
    • query: alle aus users mit login im Zeitraum,
      WHERE 'login' >= @from AND 'login' < @to
    • Aufgelaufene Daten rechnen und nach $data[$datum]['login'] eintragen,
      mit $datum = adv_reports_get_datekey($row['login'];
eigene_projekte/features/adv_reports/module_x.txt · Zuletzt geändert: 2022/06/06 15:13 von 127.0.0.1
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki