Aktuelle Info zu Sicherheitsrisiken: In den aktuellen Versionen ab 4.1. sind keine Sicherheitsprobleme bekannt.
myty Core
Version: 3.5
Initialisierung
Um die Funktionalitäten der Software zu nutzen muss an erster Stelle jeder Vorlage das myty-Framework initialisiert werden. Es gibt dafür 2 Varianten:
Benutzung der xml-Tags
Wenn man eine normale Seitenvorlage erstellt, in der man die xml-Tags benutzen möchte muss die Datei “/tycon/prepend.php“ angebunden werden.
include('/tycon/prepend.php');
Diese Datei lädt alle Kernkomponenten der Software und lädt den nachfolgenden Inhalt in einen Puffer, der mittels des Skripts “/tycon/append.php“ abgearbeitet wird. Dises Skript wird nach dem schließenden <html>-Tag eingebunden.
<!-- Inhalt der Vorlage --> </body> </ html> include('../tycon/append.php');
Initialisierung für AJAX-Skripte
Falls man keine xml-Tags benutzen möchte (zum Beispiel in einem AJAX-Skript oder einem dynamischen XML-Dokument) wird empfohlen das Skript “/tycon/prepend_light.php“ einzubinden. Dieses Skript stellt je nach Definition nur bestimmte Kernkomponenten zur Verfügung. Folgendes Beispiel zeigt die Benutzung dieses Skripts:
define('MYTY_INITIALIZATION_LEVEL','siteroles'); include('../tycon/prepend_light.php'); // Verarbeitung und Ausgabe des Skripts...
folgende Werte sind für das MYTY_INITIALIZATION_LEVEL definierbar:
-
session | initiiert nur die Sitzung
-
paths | Pfaderkennung (stellt die Standardpfade (mytyInstallPath, mytyBasePath, documentRoot als globale Variablen zur Verfügung)
-
version | lädt die Versionsinformationen
-
errorhandling | aktiviert die Fehlerbehandlung (Warnungen und Fehler seitens PHP werden in die Datei /myty_log umgeleitet)
-
database | lädt die Datenbankverbindung
-
config | lädt die Setupeinstellungen
-
siteroles | lädt die Rechteverwaltung und stellt Informationen über den aktuellen Benutzer zur Verfügung
-
libraries | Bindet die Kernbibliotheken ein
-
handlers | Führt die Requesthandler bei Bedarf aus
Jedes der genannten Runlevel beinhaltet auch die davor gelisteten. Als Beispiel: Wenn man das Runlevel „database“ definiert werden auch die Runlevel session, paths, version und errorhandling durchlaufen.
Weiterhin gibt es noch die Möglichkeit nur Backend-Nutzer zu erlauben. Diese Entscheindung trifft man, in dem man die Konstante „MYTY_INITIALIZATION_TYPE“ mit dem Wert „backend“ oder „frontend“ definiert. Ruft ein Frontend-Nutzer dann dieses Skript auf wird die Statusmeldung 404 ausgegeben und die weitere Abarbeitung gestoppt.
tyImage
Informationen zu tyImage sind in der Tag-Documentation unter dynamische Bildbereiche zu finden.
Mailmodul
Textteil verfassen
Im neuesten Patch für die Verson 3.3.5 ist es möglich den Textteil einer E-Mail-Nachricht gesondert anzugeben.
Um einen eigenen Textteil festzulegen muss im Template ein Bereich innerhalb des body-Tags folgendes geschrieben werden:
<ty-mail:textpart> Textteil </ty-mail:textpart>
Im Textteil kann man zur übersichtlicheren Bearbeitung Zeilenumbrüche (<br/>) einfügen. Diese werden dann beim verschicken der Vorlage verworfen. Zu beachten ist, dass jeder Umbruch innerhalb dieses Tags auch ein Umbruch in der späteren Textmail ist.
HTML-Tags sind im Textteil nicht erlaubt und werden dann als Tag dargestellt.
tyDB
tyDBSetTables
array tyDBSetTables([bool $debug])
Überprüft die vorhandenen Module mit den Tabellen. Wenn eine Tabelle fehlt, wird die SQL-Datei des Modules mit der fehlenden Tabelle ausgeführt. Im Debug-Modus sieht man Details.
benötigtes Recht für Debug-Modus
setup/backend/setup - show
tyDBGetModulesTable
array tyDBGetModulesTable([string $modules])
Gibt alle Tabellen zu den Modulen zurück (durchsucht dazu die SQL-Dateien in den einzelnen Modulen). Es ist auch möglich sich nur einzelne Module zurückzugeben.
tyDBSize
string tyDBSize([string $database])
Gibt Größe der DB zurück. Es ist auch möglich weitere Datenbanken auszulesen, man benötigt dazu dann natürlich auch das Recht.
benötigtes Recht
setup/backend/setup - show
tyDBFormatSize
string tyDBFormatSize([int $size])
Wandelt den übergebenen Byte-Wert in KB; MB; GB um. Sinnvoll bei der Verwendung von tyDBSize.
tyDB::exec
void tyDB::exec( string $sql )
Führt eine Datenbankabfrage aus, ohne das Ergebnis auszuwerten. Diese Methode ist geeignet zum Eintragen, aktualisieren oder Löschen von Datensätzen, da hier keine Ergebnisse geliefert werden.
Für Abfrage mittels Select nehmen Sie bitte tyDB::query.
tyDB::query
ressource tyDB::query( string $sql )
Führt eine Datenbankabfrage aus, und liefert das Ergebnis als MySQL Ressource zurück. Nach dem diese Datenbankabfrage ausgeführt wurde, kann das Ergebniss in einer Iterationsschleife mittels tyDB::fetchAssoc( ressource ) gelesen werden. Beispiel:
$sql = "SELECT id,name FROM table"; $queryResult = tyDB::query( $sql ); while($row = tyDB::fetchAssoc( $queryResult ) ){ // $row enthält Daten des Ergebnisses der Abfrage }
Bitte beachten Sie, das Fehler in der Datenbankabfrage zu einer Exception führen, die separat mittels try-catch behandelt werden muss:
try{ // datenbankabfrage(n) }catch(Exception $e){ trigger_error($e->getMessage()); }
tyDB::fetchAssoc
mixed tyDB::fetchAssoc( ressource $queryResult )
Liefert den ermittelten (aktuellen) Datensatz als Assoziatives Array zurück. Eine erneute Abfrage führt dazu das das nächste Ergbnis abgerufen wird. Im Fehlerfall (oder wenn keine weiteren Daten mehr vorliegen) wird false zurückgeliefert.
letzte Änderung: 07.09.2011
Stellen Sie eine Frage
offene Fragen
Zu diesem Beitrag existieren keine offenen Fragen.

Kommentieren