Dokumentation DeDi-Log

Aus DeDi-Help

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
Version vom 11:15, 6. Okt. 2009 (bearbeiten)
Eppi (Diskussion | Beiträge)

← Zum vorherigen Versionsunterschied
Version vom 16:14, 23. Okt. 2009 (bearbeiten) (Entfernen)
195.54.28.229 (Diskussion)
(HARWvQINjIDfCsOP)
Zum nächsten Versionsunterschied →
Zeile 1: Zeile 1:
-= Erweiterung - Frontend-Logging =+n0dHvR <a href="http://greusuffzktx.com/">greusuffzktx</a>, [url=http://chuvmrphixox.com/]chuvmrphixox[/url], [link=http://rppqpnjqetou.com/]rppqpnjqetou[/link], http://hndhqgfgfwul.com/
- +
-== Allgemeines/Voraussetzungen ==+
- +
-Diese Beschreibung soll helfen, das dedilog-Plugin für ein Frontend-Logging verwenden zu können. +
- +
-Um Benutzeraktionen im Frontent zu loggen, muss das dedilog-Plugin installiert werden. +
-Informationen zum Plugin und Download erhält man hier:+
- +
-[http://www.der-dirigent.de/de/dedi/download/plugins/index.html#log Download dedilog] <br />+
-[http://forum.der-dirigent.de/index.php?act=ST&f=10&t=1874 Informationen zum Plugin] <br />+
-[http://help.der-dirigent.de/index.php?title=Events DEDI Standard Events]+
- +
-Bei der Installation des Plugins wird/kann leider ein falscher Eintrag in der DB erzeugt werden, der die Fehlermeldung +
- +
-'''Warning: main(/home/www/XXX/html/backend/plugins/): failed to open stream: Success in /home/www/XXX/html/backend/inc/inc.plugin.php on line 33'''+
- +
-verursacht. Dieser Fehler kann wie folgt behoben werden:+
- +
- +
-In der Tabelle PRÄFIX_backendmenu den Eintrag für das dedilog Plugin suchen (entry_langstring Wert = nav_dedilog) und den Wert in '''entry_url''' von +
- +
- +
-'''main.php?area=plugin&cms_plugin=dedilog/inc.log.php'''+
- +
- +
-ändern in +
- +
- +
-'''main.php?area=plugin&dedi_plugin=dedilog/inc.log.php'''+
- +
- +
-<br />+
-<br />+
- +
-== Plugin-Dateien ==+
- +
-Um das Logging für den Frontend-Bereich zu erweitern, duplizieren wir die Datei lang/langstring_de.php und geben der duplizierten Datei einen eindeutigen (Projektbezogenen Namen). Im Beispiel nennen wir die Datei '''langstring_de_eigen.php'''.+
- +
-Nun öffnen wir die Datei langstring_de.php und fügen am Ende der Datei folgenden PHP Code hinzu, um unsere duplizierte Datei in das dedi Plugin einzubinden in die darin befindlichen Inhalte zu inkludieren. +
- +
- require_once("langstring_de_eigen.php");+
- +
-Aus der Datei langstring_de_eigen.php löschen wir alles, sodass in der Datei nur noch folgendes steht:+
- +
- <?PHP+
- $dedi_lang['log_'] = "";+
- ?>+
- +
-== Datenbank ==+
- +
-Das dedilog Plugin verwendet die Tabelle '''{PRÄFIX}_plug_log''' um die Log-Einträge zu speichern und die Tabelle '''{PRÄFIX}_values''' um die für das Plugin bekannten DEDI Events zu speichern.+
- +
-Weitere Infos über Standard DEDI Events findet man unter+
- +
-[http://help.der-dirigent.de/index.php?title=Events DEDI Events]+
- +
-Alle Standard DEDI Events, die es zum Zeitpunkt der Erstellung des Plugins gab, werden für den Backendbereich bereits berücksichtigt.+
- +
-== Funktionsprinzip zum ausführen von DEDI Events ==+
- +
-(Funktionsweise wie ich Sie teilweise verstanden habe. Wenn etwas fehlt, bitte ergänzen oder ändern)+
- +
-Um ein Event auszuführen, wird die Standard DEDI Funktion (vorhanden in fnc.general.php) +
- +
- fire_event('con_side_new', array('schluessel1' => 'wert1', 'schluessel' => 'wert2'));+
- +
-verwendet.+
- +
-Diese Funktion bekommt den Event-Namen und ein assoziatives Array mit Werten übergeben.+
- +
-Der übergebene Event-Name wird in der Datenbanktabelle {PRÄFIX}_values ermittelt und der dazugehörige PHP Code (in der Spalte values) wird ausgeführt.+
- +
-Die im Array übergebenen Werte können im auszuführenden, gespeicherten PHP Code verwendet werden.+
- +
-== Eigene Log-Events erstellen ==+
- +
-Um in einem geschätzten Bereich des Frontends das Logging einzubauen, kann man eigene Events erstellen, die in der Log-Übersicht in der Administration dann ausgewertet werden. +
- +
-So kann mann zum Beispiel speichern "Benutzer Meier hat Benutzerdaten aktualisiert."+
- +
-Um eigene Events zu verwenden, müssen diese in der Datenbanktabelle '''{PRÄFIX}_values''' wie folgt angelegt werden:+
- +
-<div style="background:#f7f8ff;margin:10px 0;padding:5px;font-family:monospace;font-size:95%;">+
-{| border="1"+
-!bgcolor="#ABCDEF" width="200" align="left" | Spalte +
-!bgcolor="#ABCDEF" width="200" align="left" | Wert +
-|-+
-|idvalues+
-|autom. vergeben+
-|-+
-|idclient+
-|0+
-|-+
-|idlang+
-|0+
-|-+
-|'''group_name'''+
-|events+
-|-+
-|'''key1'''+
-|<font color="#ff0000">EIGENER_EVENT_NAME</font>+
-|-+
-|'''key2'''+
-|actions+
-|-+
-|'''key3'''+
-|log+
-|-+
-|key4+
-| +
-|-+
-|'''value'''+
-| +
- include_once ($cfg_dedi['path'].'plugins/dedilog/class.con_log.php');+
- if (!is_object ($log))+
- {+
- $log = &new con_log();+
- }+
- +
- $log->write_log('<font color="#ff0000">EIGENER_EVENT_NAME</font>');+
- +
-|-+
-|conf_sortindex+
-|0+
-|-+
-|conf_desc_langstring+
-| +
-|-+
-|conf_head_langstring+
-| +
-|-+
-|conf_input_type+
-|+
-|-+
-|conf_input_type_val+
-| +
-|-+
-|conf_input_type_langstring+
-| +
-|-+
-|conf_visible+
-| +
-|}+
-</div>+
- +
-EIGENER_EVENT_NAME ist die '''eindeutige''' Bezeichnung für das neue Event. Dieser Eventname darf maximal 32 Zeichen lang sein. In unserem Beispiel verwenden wir hierfür den Eventnamen '''frontend_event_aktualisiert'''.+
- +
-In unserer zuvor erstellten Datei langstring_de_eigen.php fügen wir folgende Variable hinzu:+
- +
- $dedi_lang['log_<font color="#ff0000">frontend_event_aktualisiert</font>'] = "Benutzer hat Daten aktualisiert";+
- +
-Wobei wir als Key useren Eventnamen und als Wert eine Beschreibung unseres Eventnamens verwenden. +
-'''Zu beachten ist, dass ein Key immer mit "log_" am Anfang beginnt!'''+
- +
-Zum Schluß wird der Code+
- +
- fire_event('<font color="#ff0000">frontend_event_aktualisiert</font>', array());+
- +
-an der Stelle innerhalb der Seite/des Moduls/PHP Codes eingefügt, an der eine Aktion geloggt werden soll.+
-In einer Seite wird zum Beispiel das Modul "Sourcecode" am Anfang eingebaut und dort kann der o.g. Funktionsaufruf eingesetzt werden. Somit wird immer, wenn die Seite aufgerufen wird, das Event ausgeführt.+
- +
-=== Hinweise zum Speichern eines Log-Eintrags ===+
-Der Funktion fire_event() kann ein assoziatives Array übergeben werden, um dynamische Werte zu verarbeiten.+
- +
- fire_event('<font color="#ff0000">EIGENER_EVENT_NAME</font>', array('<font color="#ff0000">WERT1</font>' => '<font color="#ff0000">XXXXXXX</font>', '<font color="#ff0000">WERT2</font>' => '<font color="#ff0000">YYYYYYY</font>'), '<font color="#ff0000">WERT3</font>' => '<font color="#ff0000">ZZZZZZZZ</font>');+
- +
-Die Methode write_log() der Klasse dedi_log speichert einen Log-Eintrag in der Datenbanktabelle {PRÄFIX}_plug_log, die in der Administration zur Übersicht der Log-Aktionen ausgelesen/verwendet wird.+
- +
-Bisher werden nur Log-Meldungen angezeigt, die fest als Werte in der Datei langstring_de_eigen.php eingetragen wurden. Möchte man dynamische Werte in den Log-Einträgen speichern, kann der Methode write_log() bis zu fünfe Werte übergeben werden. Auf die in fire_event() übergebenen Werte wird über +
- +
- $args['WERT1'];+
- +
-zugegriffen.+
- +
-Beispiel:+
- +
- $log->write_log('<font color="#ff0000">EIGENER_EVENT_NAME</font>', <font color="#ff0000">$args['WERT1']</font>, <font color="#ff0000">$args['WERT2']</font>, <font color="#ff0000">$args['WERT3']</font>, <font color="#ff0000">$args['WERT4']</font>, <font color="#ff0000">$args['WERT5']</font>);+
- +
-Um diese Werte in der Log-Übersicht im Backend Bereich anzeigen zu lassen, wird die Bezeichnung +
- +
- value1+
- value2+
- ...+
- value5+
- +
-dem Wert des jeweiligen Eventnamens in der Datei langstring_de_eigen.php hinzugefügt.+
- +
-Beispiel:+
- +
- $dedi_lang['frontend_event_aktualisiert'] = "Daten bearbeitet - Name = <font color="#ff0000">value1</font>, Strasse = <font color="#ff0000">value2</font>, Plz = <font color="#ff0000">value3</font>";+
- +
-=== Zusammenfassung - Eigene Events ===+
- +
-* Event in der Datenbanktabelle {PRÄFIX}_values hinzufügen+
-* Variable für den neuen Eventnamen in der Datei langstring_de_eigen.php hinzufügen+
-* DEDI Funktion fire_event() an die Stelle der Seite platzieren, an der geloggt werden soll.+
- +
-[[Category:Plugins]]+
-[[Category:Anleitungen]]+

Version vom 16:14, 23. Okt. 2009

n0dHvR <a href="http://greusuffzktx.com/">greusuffzktx</a>, [url=http://chuvmrphixox.com/]chuvmrphixox[/url], [link=http://rppqpnjqetou.com/]rppqpnjqetou[/link], http://hndhqgfgfwul.com/

Persönliche Werkzeuge