zisslaweng.de

 Home    CSS    PHP    HTML    JavaScript    Allgemein    Sitemap   exemption-filter

einige Erläuterungen

Hier möchte ich mich jetzt kürzer fassen, insbesondere nicht alle Methoden listen, die zu dieser Auswertung führen. Grund: die Geschmäcker sind verschieden, wie denn die Auswertung aussehen soll. Außerdem: einiges jetzt wirklich zisslaweng-spezifisch, z.B. wird die Verwendung der Klasse MenueDbMapper vorausgesetzt, um an die Kästchen ein Label mit dem Menüpunkt zu setzen.

Deshalb nur so viel: Eine neue Klasse TraceDbMapper in der Datei z_tracedbclass.php5. Sie ist kurz mit der einzigen Methode get_Anzahl_trace (). Die weiteren benötigten Methoden gibt es bereits, sie befinden sich in BaseDbMapper.

class TraceDbMapper extends BaseDbMapper {
  public function __construct(){
    parent::__construct();
  }

  public function get_trace (){
    $sql  = "
    SELECT 
      * 
    FROM 
      z_session
    WHERE 
      ! isnull(access_end)
    ORDER BY 
      access DESC
    ";
    $result = $this->base_query($sql);
    $this->store_result();
    return $result;
  }
}

Die Klasse Trace in der Datei z_traceclass.php5 enthält mehrere Methoden, die schlicht der Aufbereitung der Daten dienen. In dem speziellen Fall genau dieser Auflistung interessieren alle Einträge der Spalte var_php in z_session, die boolsche Variablen sind und damit besuchte Seiten repräsentieren. Mit Hilfe von regulären Ausdrücken werden diese aus var_php extrahiert (function var_bool()). Vorsicht: das ist möglicherweise nicht perfekt, passt bislang aber auf alle bei zisslaweng vorkommenden Zugriffe.

Zu den User-Rechten, hier $R. Nur ein User mit dem Recht R(eferrer) kann in der Auflistung den Referrer einsehen. Das hat praktische Gründe. Eine Auflistung dieser Art dient in der Regel internen Zwecken. Da ich sie hier öffentlich mache, möchte ich die Referrer nicht den Suchmaschinen präsentieren. Also: den Referrer bekommen die zu sehen, die hier bei zisslaweng angemeldet und eingeloggt sind. Für manchen Fragesteller damit gleich anschaulich, „wie wende ich an, wenn ein User irgendwelche Rechte hat?“

Und falls Sie zisslaweng aufmerksam studiert haben, die Auflistung hat eine sehr große Ähnlichkeit mit den Methoden aus "ein Gästebuch". Die Methode paginate() wird 1 zu 1 verwendet, die Positionierung des Lesezeigers in der Datenbank durch $Tset->data_seek($ug) und das Lesen einzelner Einträge durch new Trace($T->fetch_assoc()) in der Methode write_box_trace ($T, $me, $rechte). Diese ist neu in der Klasse Html (hier nicht gezeigt).

Berücksichtigung der Rechte also so...

if (is_object($Session->USER)) {
  $R = $Session->USER->R;
} else {
  $R = FALSE;
}

... und dann ein Vierzeiler für die Auflistung.

echo Html::paginate($anz,$entries,$ug,$_SERVER['PHP_SELF']);
$Tset->data_seek($ug);
for ($ii = $ug; $ii < $og ; $ii++) {
	echo Html::write_box_trace($Tset, $MENUE, $R);
}

Vielleicht noch der Stylesheet für die hinterlegten Texte:

abbr[title] {
  border-bottom: none;
}
abbr[title]:hover {
  cursor:help;
}

 Referrer. Siehe zur Schreibweise auch Wikipedia

Logo