**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'];//