MiniDB Klassenreferenz

Id
MiniDB.php 845 2008-05-11 08:04:51Z aur
Mehr ...

Klassendiagramm für MiniDB:

Dialog Download DragList Folder Image Link MailBuilder Menu Picture Polaroid Toolbar

Aufstellung aller Elemente

Öffentliche Methoden

 MiniDB ()
 __construct ($file=null, $create=false, $withOID=null)
 init ($withOID=null)
 setFile ($file, $create=false)
 setOid ($withOID=null)
 transmitMtimeToParent ($tstamp)
 setMtimeUpdate ($flag)
 setCtime ($tstamp=null)
 setMtime ($tstamp=null)
 incrRowcount ()
 setInt ($regpath, $value)
 set ($regpath, $value, $column=0)
 setDesc ($regpath, $value)
 delete ($regpath)
 copy (&$src, $srcNode=null, $dstNode=null)
 moveDBfile ($toname=null)
 exportTemplateCSS ($rootname=null, $checkRows=true, $global=true)
 commit ()
 getTimestamp ($key)
 getCtime ($format='d.M.y')
 getMtime ($format='d.M.y')
 getID ()
 getOID ()
 get ($regpath, $column=0, $fallback=null, $parseSpecialChars=false)
 getNative ($regpath, $fallback=null)
 getDesc ($regpath, $fallback=null)
 getNativeDesc ($regpath, $fallback=null)
 getInt ($regpath, $column=0, $fallback=null)
_getCursor ($regpath, $writing, $asRef=true)
_getReadCursor ($regpath, $asRef=true)
_getWriteCursor ($regpath)
 getFile ()
 getRowcount ()
 isMtimeUpdate ()
getDB ()
getNode ($regpath=null)
 getChildren ($regpath=null, $sort=false)
 getTree ($regpath=null, $parent=null)
 toString ($regpath=null, $format='html', $excPatterns=null)
 paintLastChange ()

Öffentliche Attribute

 $db
 $file = null
 $rowcount = 0
 $mtimeUpdate = true


Ausführliche Beschreibung

Id
MiniDB.php 845 2008-05-11 08:04:51Z aur

MiniDB-Klasse.


Beschreibung der Konstruktoren und Destruktoren

MiniDB.__construct ( file = null,
create = false,
withOID = null 
)

PHP5 Konstruktor.

Parameter:
$file - Dateiname, in der die DB geschrieben wird.
$create - optional: Datei wird erzeugt, falls sie nicht existiert.
$withOID - optional: Der DB bekommt eine eindeutige OID, die selbst beim Umbenennen nicht verändert wird.

Erneute Implementation in Folder.


Dokumentation der Elementfunktionen

MiniDB.MiniDB (  ) 

Soll Änderungszeitstempel festgehalten werden.

PHP4 Konstruktor. Wrapper für __construct()

MiniDB.init ( withOID = null  ) 

Initialisiert die Datenbank.

Falls Dateiname angegeben wurde, wird diese eingelesen, ansonsten wird ein leeres Array erstellt.

Parameter:
$withOID - [optional] Soll ein internes, eindeutiges "_oid"-Attribut erzeugt werden, dass selbst bei Umbennungen konstant bleibt.

MiniDB.setFile ( file,
create = false 
)

Speichert den Dateinamen der Datenbank.

Falls keine Pfadangaben im Dateinamen gemacht wurden, lege diese im selben Verzeichnis ab, in dem sich dieses Script befindet.

Parameter:
$create - optional: Datei wird getoucht und somit getestet, ob sie beim "commit()" ggf. geschrieben werden kann.

Erneute Implementation in Image.

MiniDB.setOid ( withOID = null  ) 

Setzt ein internes, eindeutiges "_oid"-Attribut, welches selbst bei Umbennungen konstant bleibt.

Parameter:
$withOID - [optional] Falls NULL, wird das Attribut gesetzt, wenn eine DB-Datei definiert ist, ansonsten nicht. Wird durch setFile() aufgerufen, daher läuft es synchron damit.

MiniDB.transmitMtimeToParent ( tstamp  ) 

Vererbt die Mtime an die übergeordneten exitistierenden MiniDBs.

Betroffen sind derzeit Pictures und Folders

Parameter:
$tstamp - Der zu vererbende Timestamp.

MiniDB.setMtimeUpdate ( flag  ) 

Legt fest, ob beim Commit, der Änderungszeitstempel gespeichert wird.

Parameter:
$flag - Boolean Flag.

MiniDB.setCtime ( tstamp = null  ) 

Setzt den "Change, Änderung der Datei-Information Zeitstempel Attribut.

Dieses überschreibt eine evtl. veraltete MTime gleich mit.

Parameter:
$tstamp - default:null Falls nicht angegeben, wird PHP Funktion time() verwendet.

MiniDB.setMtime ( tstamp = null  ) 

Setzt den "Modifikation des Datei-Inhalts" Zeitstempel.

Parameter:
$tstamp - default:null Falls nicht angegeben, wird PHP Funktion time() verwendet.

MiniDB.incrRowcount (  ) 

Inkrementiert den Rowcount.

MiniDB.setInt ( regpath,
value 
)

Integer Cast beim Setzen eines Wertes.

Spezialisierung von ->set(...)

MiniDB.set ( regpath,
value,
column = 0 
)

Setzt einen Wert in der MiniDB.

Es wird vorher verglichen, ob der Wert anders als der bisher gestzte ist.

Rückgabe:
- der RowCount der Änderung

MiniDB.setDesc ( regpath,
value 
)

Setzt eine Wert-Beschreibung in der MiniDB.

Geht nur, wenn der Wert bereits gesetzt ist.

MiniDB.delete ( regpath  ) 

Löscht eine Variable in der MiniDB.

Diese ist nicht über Referenz möglich, deshalb wird in dem Cursor ein Array geliefert.

MiniDB.copy ( &$  src,
srcNode = null,
dstNode = null 
)

Kopiert Attribute von einer anderen MiniDB ab einem Knoten.

Bestehende Werte werden überschrieben

Parameter:
$src - Die MiniDB von der kopiert werden soll.
$srcNode - optional: Knoten in Quell-MiniDB, ab dem in die Tiefe kopiert wird.
$dstNode - optional: Zielknoten, zu dem kopiert wird.

MiniDB.moveDBfile ( toname = null  ) 

Benennt das Database File um.

Falls der neue Dateiname bereits existiert, wird die Datei überschrieben.

Parameter:
$toname - optional: Rootname (Dateiname ohne Extension) der Zieldatei. Falls NULL, wird intern ein eindeutiger Name vergeben.
Rückgabe:
Der Rootname der neuen Datei, wenn diese exitiert, sonst NULL.

MiniDB.exportTemplateCSS ( rootname = null,
checkRows = true,
global = true 
)

Erzeugt eine CSS Datei aus einem Template, falls dieses vorhanden ist.

Falls die Exportdatei 0 Bytes hat, wird diese automatisch entfernt.

Parameter:
$rootname - optional:Der Rootname der CSS Datei/des Templates, anonsten wird "rootname" der akt. MiniDB verwendet.
$checkRows - optional: nur Exportieren, falls rowcount > 0, also Modifikationen stattfanden. ACHTUNG!! rowCount wird beim "commit" zurückgesetzt, deshalb am Besten direkt davor aufrufen, oder mit FALSE Prüfung übergehen.
$global - optional: Wenn TRUE, findet Durchlauf im zentralen "css" Verzeichnis statt, sonst im selben Verzeichnis wie die akt. MiniDB.
Rückgabe:
- TRUE, wenn exportierte CSS Datei existiert.

MiniDB.commit (  ) 

Speichert die geänderten Settings.

Erneute Implementation in Folder.

MiniDB.getTimestamp ( key  ) 

Liefert einen Zeitstempel in lesbarer Form.

Parameter:
$key - ctime, oder mtime

MiniDB.getCtime ( format = 'd.M.y'  ) 

Liefert den CTIME Zeitstempel.

MiniDB.getMtime ( format = 'd.M.y'  ) 

Liefert den MTIME Zeitstempel.

MiniDB.getID (  ) 

Liefert die ID des Objektes Standard-Methode.

Erneute Implementation in Download und Picture.

MiniDB.getOID (  ) 

Liefert die OID des Objektes.

MiniDB.get ( regpath,
column = 0,
fallback = null,
parseSpecialChars = false 
)

Liefert einen Wert aus der Datenbank.

Es wird versucht jeweils das [0]te Element aus dem Ziel-Array geliefert. Ist dieses nicht gesetzt, wird das gesamte Array dieser Ebene geliefert.

Parameter:
$regpath - Registerpfad z.B. "etc.keywords"
$column - optional: Spalte im Array (1 = Wert, 2 = Description)
$fallback - optional: Falls kein Wert in der MiniDB, nimm dies als Rückgabe
$parseSpecialChars - optional: TRUE = "htmlspecialchars()" auf Wert anwenden

MiniDB.getNative ( regpath,
fallback = null 
)

Liest einen Wert, ohne "special character parsing", nativ eben.

Parameter:
$regpath - Registerpfad z.B. "etc.keywords"
$fallback - optional: Falls kein Wert in der MiniDB, nimm dies als Rückgabe

MiniDB.getDesc ( regpath,
fallback = null 
)

Wendet auf die Beschreibung-Spalte (1) "htmlspecialchars()" an.

Parameter:
$regpath - Registerpfad z.B. "etc.keywords"
$fallback - optional: Falls kein Wert in der MiniDB, nimm dies als Rückgabe

MiniDB.getNativeDesc ( regpath,
fallback = null 
)

Beschafft die in BASE64 gekodeten Spalte 1, ohne diese mit "htmlspecialchars()" zu behandeln.

Parameter:
$regpath - Registerpfad z.B. "etc.keywords"
$fallback - optional: Falls kein Wert in der MiniDB, nimm dies als Rückgabe

Erneute Implementation in Folder.

MiniDB.getInt ( regpath,
column = 0,
fallback = null 
)

Integer Cast beim Lesen eines Wertes.

Spezialisierung von ->set(...)

Parameter:
$regpath - Registerpfad z.B. "etc.keywords"
$column - optional: Spalte im Array (1 = Wert, 2 = Description)
$fallback - optional: Falls kein Wert in der MiniDB, nimm dies als Rückgabe

& MiniDB._getCursor ( regpath,
writing,
asRef = true 
)

Gibt den gewünschten Cursor als Referenz zurück.

Parameter:
$keys - Array, welches die Key-Pfad in der MiniDB angibt.
$column - "1" => Wertespalte, "2" => Beschreibungsspalte.
$reading - "false" => fehlende Schlüssel werden angelegt.
Rückgabe:
den Pointer auf die Spalte in der Zielstruktur bzw. ein String auf das UnterArray der Zieladresse, welcher via "eval" verarbeitet werden muss, falls eine Referenz nicht ausreicht. (z.B. beim Löschen)

& MiniDB._getReadCursor ( regpath,
asRef = true 
)

Liefert einen LeseCursor.

& MiniDB._getWriteCursor ( regpath  ) 

Liefert einen SchreibCursor.

MiniDB.getFile (  ) 

Liefert den Dateinamen der Datenbank.

Erneute Implementation in Image.

MiniDB.getRowcount (  ) 

Liefert die Anzahl der modifizierten Zeilen.

MiniDB.isMtimeUpdate (  ) 

Liefert das Mtime Update Flag.

& MiniDB.getDB (  ) 

Liefert die Referenz zur Datenbank.

& MiniDB.getNode ( regpath = null  ) 

Liefert den regPath-Knoten als Adresse.

Parameter:
$regpath - optional: der Pfad der Wurzel

MiniDB.getChildren ( regpath = null,
sort = false 
)

Gibt die (DB-Tabellen) der Datenbank zurück.

Parameter:
$regpath - optional: der Pfad der Wurzel
$sort - optional: Children werden "natural" sortiert.

MiniDB.getTree ( regpath = null,
parent = null 
)

Gibt den Teilbaum als Liste der regpath-Pfade zurück.

Parameter:
$regpath - optional: der Pfad der Wurzel
$parent - optional: Der regpath-Anteil der beim Start der Rekursion angegeben wurde.

MiniDB.toString ( regpath = null,
format = 'html',
excPatterns = null 
)

Parameter:
$regpath - optional: Der Registerpfad. Bei NULL wird getTables() verwendet.
$format - default:html Ausgabeformat: html, css.
$excPatterns - optional: Array mit preg_match Patterns, die bestimmte Styles exkludieren sollen
Rückgabe:
HTML/CSS Code, der durch einen RegPath produziert wird

MiniDB.paintLastChange (  ) 

Rückgabe:
- Den HTML Code des "last change" Textes der Seite


Dokumentation der Datenelemente

MiniDB.$db

MiniDB.$file = null

Die Datenbank.

Erneute Implementation in Image.

MiniDB.$rowcount = 0

Die Datei, in der die Datenbank gespeichert ist.

MiniDB.$mtimeUpdate = true

Die Zeilen, die seit dem letzten COMMIT modifiziert wurden.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:

Erzeugt am Sat May 31 09:41:24 2008 für DoYoWeSi-API von  doxygen 1.5.5