Stats4Lox (Entwickler)

Das Dokument enthält Entwicklerteam-Infos zur Umstellung von Stats4Lox V0.1 (LB0.2.3) auf V0.3> (LB1.2.3>)

Configfile stats4lox.cfg

$lbpconfigdir/stats4lox.cfg

Enthält nun Variablen für

Config-Parameter Lesender Zugriff Beschreibung
Main.ConfigVersion$CFG::MAIN_CONFIGVERSIONEnthält den Stand der stats4lox.cfg, zum Speichern bei etwaigen Config-Änderungen bei Updates
Main.rrdfolder $CFG::MAIN_RRDFOLDER Enthält das Ablageverzeichnis der RRD-Datenbanken (Default: "$lbpdatadir/databases")
Main.configfolder $CFG::MAIN_CONFIGFOLDER Enthält das Ablageverzeichnis der RRD-/Stats4Lox Konfiguration, NICHT für die stats4lox.cfg selbst (Neuer Default! "$lbpdatadir/s4ldata")

Da diese Ordner dann für den Benutzer änderbar sind, unbedingt immer die Variablen verwenden.

Die stats4lox.cfg wird automatisch beim Einbinden von $lbpbindir/libs/Stats4Lox.pm geöffnet, ggf. erzeugt und gelesen. Dabei werden auch Standardwerte gesetzt, wenn Pflichtfelder leer sind. Im Modul sind auch ein paar Funktionen, die öfter gebraucht werden, bzw. sollen auch neue Funktionen hineinkommen, die an mehreren Stellen gebraucht werden, oder man kann auch gleich Funktionen dorthin verschieben, die bereits doppelt sind.

Einbinden auf diese Weise:

use LoxBerry::System;
require "$lbpbindir/libs/Stats4Lox.pm";

Lesen von Config-Parametern immer mit:

$CFG::SECTION_PARAMETER, wobei dabei alles CAPITAL angegeben werden muss (egal wie es im Configfile steht)

Die lange Schreibweise geht auch: $Stats4Lox::pcfg→param('Section.Parameter');

Scheiben von Config-Parametern:

$Stats4Lox::pcfg→param('Section.Parameter', value);

Es ist autosave aktiv, es muss kein write gemacht werden (kann aber gemacht werden).

Die alte, statische Navigation Bar ist durch die NavBar-Funktion von LoxBerry ersetzt.

Damit man nicht alle Elemente in allen Templates bzw. Scripts pflegen muss, ist der Code für die Initialisierung der NavBar in Stats4Lox.pm in der Funktion navbar_main.

Zum Anzeigen der NavBar:

Stats4Lox::navbar_main(Nummer);
LoxBerry::Web::lbheader(x, y, z);

Die Nummer ist das Element, das gehighlighted werden soll. Die Elemente haben jetzt 10=Statistiken, 20=Import, usw. 

Die alten Funktionen &header und &footer sind in den meisten Fällen durch LoxBerry::Web::lbheader und ::lbfooter ersetzt, aber evt. nicht überall.

use warnings, use strict

In index.cgi und import.cgi ist das weitestgehend umgesetzt, nur wegen des alten Templatesystems muss dort trotzdem noch no strict "refs"; verwendet werden.

HTML::Template und neue Sprachdatei

Neue Sachen gleich mit HTML::Template machen, z.B. general_settings.cgi.

Die neue Sprachdatei heißt $lbptemplatedir/lang/stats4lox_en.ini

An den alten Templates und Sprachen ist noch alles beim Alten.