Ereignisse beim Speichern von Dateien nutzen

Beim Speichern von Dateien können über Verzeichnisereignisse zahlreiche Aktionen, wie z.B. Protokollierung, E-Mail Versand, etc. durchgeführt werden.

Verzeichnisereignisse geben Ihnen die Möglichkeit, im Projekt entsprechende Aktionen durchzuführen, wenn z.B. eine Datei gespeichert wird. Nachfolgend finden Sie ein paar Beispiele, was mit Ereignissen umgesetzt werden kann.

Beispiel 1: E-Mail Benachrichtigung beim Speichern einer Datei

Verzeichnisereignis onAfterSaveFile:

$mailHeader = array();
$mailHeader['From'] = 'absender@domain.dd';
$mailHeader['To'] = 'empfaenger@domain.dd'; // ggf. auch per Verweis auf eine individuelle Erweiterung in der Projektkonfiguration: $mailHeader['To'] = wVariables::getValue('myEvent_onAfterSave_email');
$mailHeader['Subject'] = 'Ereignisinfo: Die Seite '.$eventData['filePath'].' wurde geändert';
$text = 'Eine Seite wurde geändert!

Pfad zur Seite: '
.$eventData['filePath'].'
Redakteur: '
.$eventData['wEventUser'].'
Zeitpunkt: '
.wDate::formatDate('d. F Y', $eventData['wEventTime'], 'de').', '.wDate::formatDate('H:i', $eventData['wEventTime'], 'de').' Uhr
User-Agent: '
.$_SERVER['HTTP_USER_AGENT'].'

Bitte Inhalte prüfen!
http://'
.$_SERVER['HTTP_HOST'].$eventData['filePath'].'

Das Web-Team'
;

wMailer::sendMailText($mailHeader, $text);

Die Pfade und E-Mail Adressen passen Sie entsprechend Ihrer Umgebung und Ihren Wünschen an.

Beispiel 2: Protokollierung beim Speichern einer Datei

Verzeichnisereignis onAfterSaveFile:

$logStr = $eventData['wEventTime'].';'.$eventData['wEventUser'].';'.$eventData['filePath'].';'.$eventData['dirPath']."\n";
wReadWrite::writeFile($_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/tmp/'.$eventData['wEventName'].'.eventLog.php', $logStr, 'a');

Die Pfade und E-Mail Adressen passen Sie entsprechend Ihrer Umgebung und Ihren Wünschen an.