Anandos Template-Parser - technische Dokumentation - A - Initialisierungsdateien

    Anhang A - Initialisierungsdateien

    < Abschnitt 6 Beispiele Inhaltsverzeichnis Anhang B - History >

    ATP.conf.php

    Die Initialisierungsdatei atp.conf.php befindet sich im gleichen Verzeichnis wie die index.php.
    In ihr  werden die Parser-Grundeinstellungen festgelegt:
     

    Variablenname Beschreibung Beispiel Standard-Wert als Parameter übergebbar
    sATP_AppDir Verzeichnis, in dem die Anwendungsdateien abgelegt sind; darf nicht leer sein; '.' ist erlaubt
    ein optional angegebener Argv-Parameter 'sAppDir' überschreibt diesen Wert zur Laufzeit
    opac-test application X
    sATP_AppName Name des Funktionspakets (für Anzeigen o. Ausschriften) OPAC Anwendung X
    sATP_TplDir Verzeichnis, in dem sich die Template-Dateien befinden
    ein optional angegebener Argv-Parameter 'sTDir' überschreibt diesen Wert zur Laufzeit
    tpl template X
    sATP_TplFile Name der zu starteneden Template-Datei
    ein optional angegebener Argv-Parameter 'sATP_TplFile' überschreibt diesen Wert zur Laufzeit
    index2.html index.html X
    nATP_LogLevel wenn >0 gesetzt, wird eine Log-Datei geschrieben

    Jede Zeile wird mit einem Zeitstempel, der Quelladresse und der Session-ID eingeleitet.
    0 - kein Logging
    1 - nur Fehler
    2 - Quelle, Liste der Parameter, Laufzeit:
    • init
    • ReadTemplate
    • Marker
    • Pattern
    • Transform
    • Lokalisierung
    • Summe
    3 - zusätzliche Funktionsinterne Inhalte
    4 - zusätzliche Header-informationen (uac, Land)
    5 - alle GET/POST-Parameter
    99 - Trace-Level - alle Funktionsaufrufe
    3 0  
    sATP_LogFile absoluter Pfad und Name der Logdatei c:\log /var/log/atp-test.log  
    sATP_TplValid Zeichenkette zur Gültigkeitsüberprüfung der Templates
    wenn gesetzt, wird Template nur dann verarbeitet, wenn
    Validitäts-Tag mit diesem Inhalt vorkommt:
    Beispiel: ... @ ATP VAR=(zeichenkette) @
    123456 (leer)  
    sATP_UasFile wenn gesetzt, wird der Browserstring ausgewertet atp_uas.txt (leer)  
    sATP_UasLogFile und in dieser Datei die unbekannten Browserstrings protokolliert /var/log/atp_unidentified_uac.log (leer)  
    MARK_BEG_Strt Konstante; Beginn des öffnenden Marker-Tags "<!-- " "<atp "  
    MARK_BEG_End Konstante: Ende des öffnenden Marker-Tags "-->" ">"  
    LEN_MARK_BEnd Konstante : Länge der Zeichenkette Ende des öffnenden Marker-Tags 3 1  
    MARK_END Konstante: schließendes Marker-Tag "<!--/atp-->" </atp>  
    LEN_MARK_END Konstante: Länge der Zeichenkette Ende des schließenden Marker-Tags 11 6  



    Inhalt der Datei (Beispiel):

      Kommentare (mit ; eingeleitet)
    sATP_AppDir  = opac Verzeichnis unterhalb der index.php, in dem die Anwendungs-Scripte stehen
    sATP_AppName = AndoLib-OPAC Name der Anwendung; informativ; kann im Anwendungs-Template verwendet werden
    sATP_TplDir  = tpl Verzeichnis unterhalb der index.php, in dem sich die Teplate-Dateien befinden
    sATP_TplFile = index.html Name der Start-Template-Datei (index.html ist default)
    ; DEBUG = 1 -> ATP-Tags bleiben im Ausgabequelltext stehen
    DEBUG = 0
    Kommentar; ATP-Tags werden in Großschreibung gewandelt und bleiben zu Diagnosezwecken im Ausgabetext stehen. In Produktivumgebungen sollte immer DEBUG=0 gesetzt sein.
    ATP-Tags werden vollständig aus produziertem Quelltext entfernt
    ; wenn gesetzt, wird Template nur dann verarbeitet, wenn
    ; Validitäts-Tag mit diesem Inhalt vorkommt:
    ; Beispiel: ... @ ATP VAR=123456 @
    sValid = 123456
     
    Templates, die diese ATP-Pattern nicht enthhalten, werden nicht verarbeitet; dient vorrangig der Abwehr von Path-Traversal- und remote-include-Attacken
    ; Name der Device-Liste
    UasFile=atp_uas.txt
    Ist diese Liste angegeben, werden globale Variablen mit Informationen zum erkannten System gesetzt:
    • $_ATP_PLA
      • sma - Smartphone
      • tab - Tablet
      • pc - PC
      • bot - WebBot, Spider, Suchmaschine
    • $_ATP_RES - Auflösung in Pixeln, z.B. 1024x768
    • $_ATP_SYS - System-Kennung
      • win
      • winxp
      • win7
      • win8
      • android
      • ...
    • $_ATP_DIA - Schirmdiagonale in Zoll auf ganze Werte gerundet
    • $_ATP_BRO - Browserkennung
      • msie9
      • msie10
      • firefox
      • seamonkey
      • ...
    • $_ATP_LNG - Sprachkennung aus Browserstring
      • de
      • en
      • ...
    Diese globalen Variablen lassen sich in der Anwendung beliebig auswerten, z.B. zur Auswahl separater Templates für verschiedene Geräte.

    Ausgewertet wird der UA-String ($_SERVER['HTTP_USER_AGENT']).

    Je Zeile wird eine Geräteart definiert, für eine Geräteart können mehrere Zeilen verwendet werden.
    Es wird das Gerät gesetzt, für das der erste RegEx-Ausdruck zutrifft
    default: PC (wenn kein RegEx-Ausdruck zutrifft)

    Der Inhalt der Device-Liste hat folgenden Aufbau:
    • # leitet Kommentarzeilen ein
    • leere Zeilen werden ignoriert
    • jede Zeile enthält mindestens zwei durch TAB-Zeichen (09hex) getrennte Bereiche:
      • einen RegEx-Ausdruck der Form /blabla/ (wird an führendem '/' erkannt
      • eine Liste von mit ',' getrennten Paaren von Variablennamen und Werten, die ihrerseits durch ':' getrennt sind
    • optional kann noch ein mit '#' eingeleiteter Kommentar folgen, der vom Rest der Zeile auch mit TAB getrennt werden muß


    Funktion:

    1. die Zeilen mit den Suchausdrücken werden nacheinander abgearbeitet
    2. treffen mehrere Suchausdrücke zu, überschreiben Werte, die diesem zugeordnet sind, eventuell schon aus voranstehenden Zeilen entstandene Werte
    3. aus 2. ergibt sich, dass zuerst die allgemeinsten und am Ende die speziellsten Suchausdrücke stehen sollten
    4. Zeilen mit fehlerhaften Regex-Ausdrücken werden ignoriert

    Beispiele:
    /Tablet/               pla:tab
    /Mobile/               pla:sma
    /Windows NT/           pla:pc,sys:win
    /ME301T/               pla:tab
    /de-de/                lng:de
    /en-en/                lng:en
    /Googlebot/            pla:bot
    /Mozilla\/5.0; TOB/    bro:t-online
    /N905i/                pla:sma,res:320x240
    /LG-P990/              pla:sma,res:800x480
    /LIFETAB_E1031\d/      pla:tab,res:1280x800            # Medion Lifetab E3031x 
    /LIFETAB_E7316/        pla:tab,dia:7,res:1024x600      # Medion Lifetab E7316 
    UasLogfile = /var/log/atp_unidentified_uac.log In dieser Datei werdendie unbekannten Browserstrings protokolliert, d.h.,  alle Browserstrings, die keinen bekannten Textteil enthalten

     

    Artikel zuletzt bearbeitet am: 25.03.2019 21:32