Hauptseite | Alphabetische Liste | Auflistung der Klassen | Auflistung der Dateien | Klassen-Elemente | Datei-Elemente

JuelichDbReader Klassenreferenz

Diese Klasse bietet den Zugriff auf das DBMS. Mehr...

Aufstellung aller Elemente

Öffentliche Methoden

 JuelichDbReader ()
 getOneValue ($sql)
 Liefert einen Wert aus der DB.
 getOneRow ($sql, &$row)
 Liefert eine Zeile aus der DB.
 getAllRows ($sql, &$rows)
 Liefert mehrere Zeilen aus der DB.
 getAllCols ($sql, &$cols)
 Liefert einen Wert aus mehreren Zeilen aus der DB.
 getTemplateContent ($tName, $l10n)
 Liefert den Inhalt eines Templates.
 getModuleString ($id)
 Liefert den Modul Identifizierungs Namen zu einer Gruppe-Id.
 getImage ($id, &$imgData)
 Liefert die Bild Daten.
 getTelAccessCats ($hId, &$catData)
 Liefert die Kategorien des Teleskop Zubehörs.
 getTelAccess ($catId, &$accData)
 Liefert das Teleskop Zubehör zu einer Kategorie.
 checkError (&$value)
 Überprüft das Ergebnis einer DB-Anfrage.
 checkSql ($sql)
 Überprüft einen SQL-String.

Öffentliche Attribute

 $dbms
 das MDB2 Datenbank-Objekt
 $tplCache = array()
 der Cache für Seiten-Templates


Ausführliche Beschreibung

Diese Klasse bietet den Zugriff auf das DBMS.

Als API wird MDB2 verwendet. Um an die DB-Inhalte zu kommen, können mehrere Funktionen genutzt werden, die je nach Erwartung des Ergebnisses einer SQL-Anfrage ausgewählt werden soll. Daneben gibt es noch spezialisierte Funktionen.

Definiert in Zeile 17 der Datei JuelichDbReader.php.


Beschreibung der Konstruktoren und Destruktoren

JuelichDbReader::JuelichDbReader  ) 
 

Definiert in Zeile 22 der Datei JuelichDbReader.php.

00022 { 00023 $dsn = getDsn(); 00024 $db =& MDB2::connect($dsn); 00025 if (PEAR::isError($db)) { 00026 include_once TM_PATH . 'juelich/web/JuelichError.php'; 00027 $error = new JuelichError; 00028 $error->printError(1, $db->getMessage()); 00029 exit(); 00030 } 00031 $db->setFetchMode(MDB2_FETCHMODE_ASSOC); 00032 $this->dbms = $db; 00033 }


Dokumentation der Elementfunktionen

JuelichDbReader::checkError &$  value  ) 
 

Überprüft das Ergebnis einer DB-Anfrage.

Parameter:
value das Ergebnis
Rückgabe:
false wenn kein Fehler vorliegt, ansonsten wird das Skript abgebrochen
Definiert in Zeile 207 der Datei JuelichDbReader.php.
00207 { 00208 if (PEAR::isError($value)) { 00209 include_once TM_PATH . 'juelich/web/JuelichError.php'; 00210 $error = new JuelichError; 00211 $error->printError(2, $value->getDebugInfo()); 00212 exit(); 00213 } 00214 return false; 00215 }

JuelichDbReader::checkSql sql  ) 
 

Überprüft einen SQL-String.

Wenn nicht in Ordnung wird das Skript abgebrochen.

Parameter:
sql der String
Definiert in Zeile 224 der Datei JuelichDbReader.php.
00224 { 00225 // echo $sql, "<br>"; 00226 $pos = strpos( $sql, '=;' ); 00227 if( $pos > 0 ) { 00228 include_once TM_PATH . 'juelich/web/JuelichError.php'; 00229 $error = new JuelichError; 00230 $error->printError(2, 00231 'SQL-ScriptKiddies unterwegs?: ' . $sql); 00232 exit(); 00233 } 00234 return; 00235 }

JuelichDbReader::getAllCols sql,
&$  cols
 

Liefert einen Wert aus mehreren Zeilen aus der DB.

Parameter:
sql SQL-Query String
cols der Ergebnis Container
Rückgabe:
die Anzahgl der Zeilen
Definiert in Zeile 91 der Datei JuelichDbReader.php.
00091 { 00092 $this->checkSql($sql); 00093 $cols = $this->dbms->queryCol($sql); 00094 $this->checkError($cols); 00095 return count($cols); 00096 }

JuelichDbReader::getAllRows sql,
&$  rows
 

Liefert mehrere Zeilen aus der DB.

Parameter:
sql SQL-Query String
rows der Ergebnis Container
Rückgabe:
die Anzahl der Zeilen
Definiert in Zeile 76 der Datei JuelichDbReader.php.
00076 { 00077 $this->checkSql($sql); 00078 $rows = $this->dbms->queryAll($sql); 00079 $this->checkError($rows); 00080 return count($rows); 00081 }

JuelichDbReader::getImage id,
&$  imgData
 

Liefert die Bild Daten.

Parameter:
id die Bild-Id
imgData der Ergebnis Container
Definiert in Zeile 147 der Datei JuelichDbReader.php.
00147 { 00148 $sqlPrep = "SELECT i_name, i_size, i_time, i_data " 00149 . "FROM image " 00150 . "WHERE id = '%s'"; 00151 $sql = sprintf($sqlPrep, $id); 00152 $this->getOneRow($sql, $imgData); 00153 return; 00154 }

JuelichDbReader::getModuleString id  ) 
 

Liefert den Modul Identifizierungs Namen zu einer Gruppe-Id.

Parameter:
id die Gruppe-Id
Rückgabe:
den Namen
Definiert in Zeile 131 der Datei JuelichDbReader.php.
00131 { 00132 $sqlPrep = "SELECT g_modString " 00133 . "FROM gruppe " 00134 . "LEFT JOIN produkt USING(gruppe_id) " 00135 . "WHERE produkt_id = %s "; 00136 $sql = sprintf($sqlPrep, $id); 00137 return $this->getOneValue($sql); 00138 }

JuelichDbReader::getOneRow sql,
&$  row
 

Liefert eine Zeile aus der DB.

Parameter:
sql SQL-Query String
row der Ergebnis Container
Rückgabe:
true wenn Werte vorhanden, sonst false
Definiert in Zeile 58 der Datei JuelichDbReader.php.
00058 { 00059 $this->checkSql($sql); 00060 $row = $this->dbms->queryRow($sql); 00061 $this->checkError($row); 00062 if (empty($row)) { 00063 return false; 00064 } 00065 return true; 00066 }

JuelichDbReader::getOneValue sql  ) 
 

Liefert einen Wert aus der DB.

Parameter:
sql SQL-Query String
Rückgabe:
den Wert
Definiert in Zeile 42 der Datei JuelichDbReader.php.
00042 { 00043 $value = ''; 00044 $this->checkSql($sql); 00045 $value = $this->dbms->queryOne($sql); 00046 $this->checkError($value); 00047 return $value; 00048 }

JuelichDbReader::getTelAccess catId,
&$  accData
 

Liefert das Teleskop Zubehör zu einer Kategorie.

Parameter:
catId die Kategorie-Id
accData der Ergebnis Container
Definiert in Zeile 185 der Datei JuelichDbReader.php.
00185 { 00186 $sqlPrep = "SELECT tz_name AS name, tz_preis AS price " 00187 . "FROM telZub " 00188 . "WHERE telZub_kat_id = %s " 00189 . "AND tz_online = '%s' " 00190 . "ORDER BY tz_sort"; 00191 $sql = sprintf($sqlPrep, 00192 $catId, 00193 SQL_ONLINE 00194 ); 00195 $this->getAllRows($sql, $accData); 00196 return; 00197 }

JuelichDbReader::getTelAccessCats hId,
&$  catData
 

Liefert die Kategorien des Teleskop Zubehörs.

Parameter:
hId die Hersteller-Id
catData der Ergebnis Container
Definiert in Zeile 163 der Datei JuelichDbReader.php.
00163 { 00164 $sqlPrep = "SELECT DISTINCT " 00165 . "telZub_kat.telZub_kat_id AS id, k_name AS name " 00166 . "FROM telZub_kat " 00167 . "LEFT JOIN telZub USING(telZub_kat_id) " 00168 . "WHERE hersteller_id = %s " 00169 . "AND tz_online = '%s'"; 00170 $sql = sprintf($sqlPrep, 00171 $hId, 00172 SQL_ONLINE 00173 ); 00174 $this->getAllRows($sql, $catData); 00175 return; 00176 }

JuelichDbReader::getTemplateContent tName,
l10n
 

Liefert den Inhalt eines Templates.

Cacht schon einmal angeforderte Inhalte.

Parameter:
tName der Name des Templates
l10n die Sprache
Rückgabe:
den Inhalt
Definiert in Zeile 107 der Datei JuelichDbReader.php.
00107 { 00108 if (!empty($this->tplCache[$tName])) { 00109 return $this->tplCache[$tName]; 00110 } 00111 $sqlPrep = "SELECT t_content " 00112 . "FROM template " 00113 . "WHERE template_id = '%s' " 00114 . "AND l10n_id = %d"; 00115 $sql = sprintf($sqlPrep, 00116 $tName, 00117 $l10n 00118 ); 00119 $content = $this->getOneValue($sql); 00120 $this->tplCache[$tName] = $content; 00121 return $content; 00122 }


Dokumentation der Datenelemente

JuelichDbReader::$dbms
 

das MDB2 Datenbank-Objekt

Definiert in Zeile 19 der Datei JuelichDbReader.php.

JuelichDbReader::$tplCache = array()
 

der Cache für Seiten-Templates

Definiert in Zeile 20 der Datei JuelichDbReader.php.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
Erzeugt am Sun May 14 02:49:09 2006 für JuelichWeb von doxygen 1.3.8