Genealogie: Code-Struktur/Datenstruktur
Die Objektstruktur: HirachyStructure
Verzeichnis: Der Code der Datenstruktur befindet sich im Verzeichnis: Genealogie\Structure\. Das Objekt CStructure befinden sich im File Structure.inc.php. Für alle anderen Objekte der Datenstruktur wurden in der Regel eigene Files (nach dem Muster *.inc.php) angelegt.
CStructure: Von CStructure sind (bis auf CSession) alle Datenstruktur-Objekte abgeleitet. Es ist vorsorglich für spätere Erweiterungen angelegt worden. Z.Z. ist dies Objekt lediglich ein leerer Container.
C ...: Alle Datenstruktur-Objekte, die nun direkt in der Application zur Anwendung kommen, sind direkt von CStructure abgeleitet.
CSesssion: Beschreibung:

Dieses Objekt verwaltet und hält alle Daten der Applikation Genealogie über die ganze Lauzeit der aktuellen WEB-Session. Es ist daher sehr eng mit der PHP-Server-Variablen$_SESSION[] verbunden.

CSession leitet sich über CDBConnect von CDB ab. Von seiner Abstammung her könnte es also durchaus der Datenbankschicht zugerechnet werden. Tatsächlich sind die Funktionalitäten von CSession schichtübergreifend. Aufgrund dessen hält CSession alle für die Ausführung der Applikation notwendigen Daten. Eben wegen dieser Eigenschaft als "Daten-Container" der übergreifenden Applikations-Daten wurde es trotz seiner schichtübergreifenden Eigenschaten physikalisch der Datenstruktur-Schicht zugeordnet.


Die Methoden:

  function __construct($QueryString = "")  

Am Anfang einer PHP-Site steht (meist in der Applikations-Schicht) die Instanzierung von CSession:

$Session = new CSession();

oder:

$Session = new CSession($_SERVER["QUERY_STRING"]);

Im Constructor wird zuerst die WEB-Session gestartet bzw. auf eine Bestehende zugegriffen. Aus $_SESSION[] werden dann die Login-Parameter und die Log-Session-ID gelesen.

Wird dem Constructor noch der Query-String $_SERVER["QUERY_STRING"] übergeben, dann ermittelt er hieraus noch die GET-Parameter &BackForm und &ForwardForm. Diese werden ebenfalls in $_SESSION[] unter Angabe der PHP-Site abgelegt. Diese beiden Werte ermöglichen es einer PHP-Site mitzuteilen, wohin sie nach Bearbeitung weiter leiten soll (&ForwardForm), bzw. wohin sie zurückkehren soll (&BackForm). Da diese Informationen zusammen mit dem Namen der PHP-Site ($_SERVER["PHP_SELF"]) abgelegt wird, funktioniert dieser Mechanismus auch, wenn zwischenzeitlich auch noch andere PHP-Sites aufgerufen wurden (z.B. um weitere Informationen nachzuschlagen).


  public function getConnected()  

Liefert true zurück, wenn sich ein Application-User erfolgreich authentifiziert hat. Die Daten über den aktiven Application-User können über die von CDBLogin vererbten Methoden getLogin() und getPassword() abgefragt werden.


  public function createSessionID()  

Erzeugt unter Verwendung der von CDBLog vererbten Methode createSessionID() eine neue Log-Session-ID. Dabei wird der Name der Log-Session nach dem folgenden Muster vergeben:

"Web-Session TCP-IP = [".$_SERVER["REMOTE_ADDR"]."]"


  public function logon($Login, $Password)  

Unter Verwendung der von CDBLogin vererbten Methode logon() wird das in $Password übergebene Password für den in $Login übergebenen Application-User überprüft. Login und Password werden in der Session-Variablen $_SESSION[] abgelegt, sodaß diese für den Zeitraum des Bestehens der WEB-Session zur Verfügung steht.


  public function logout()  

Der aktiv angemeldete Application-User wird unter Verwendung der von CDBLogin vererbten Methode logout() abgemeldet und die entsprechenden Einträge in der Session-Variablen $_SESSION[] gelöscht.


  public function changePassword($OldPassword, $NewPassword)  

Das Password des aktiv angemeldete Application-User wird unter Verwendung der von CDBLogin vererbten Methode changePassword() geändert und die entsprechenden Einträge in der Session-Variablen $_SESSION[] angepaßt.


  public function getPermission($Permission)  

Ist ein Application-User angemeldet, dann wird unter Verwendung der von CDBLogin vererbten Methode getPermission() abgefragt, ob für den aktiven Application-User diese Berechtigung gesetzt ist.


  public function getValueFromQueryString($QueryString, $Key)  

Ließt aus dem übergebenen $QueryString den Wert, der durch den angegebenen $Key spezifiziert ist und gibt diesen zurück. Diese Methode wird vom Constructor verwendet, um aus der Server-Variablen $_SERVER["QUERY_STRING"] die Werte für &BackForm und &ForwardForm zu extraieren.


  public function getBackForm()  
  public function setBackForm($BackForm)  
  public function getForwardForm()  
  public function setForwardForm($ForwardForm)  

Im Constructor wird in $_SESSION[] ein Array angelegt, in dem für jede PHP-Site (definiert durch $_SERVER["PHP_SELF"]) hinterlegt werden kann wohin sie nach Bearbeitung weiter leiten soll (&ForwardForm), bzw. wohin sie zurückkehren soll (&BackForm). Um diese Werte auszulesen dienen diese Schnittstellen-Methoden. Dabei werden immer die Werte für die aktuelle PHP-Site gesetzt bzw. gelesen.
.:  :.