<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://de.contaowiki.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://de.contaowiki.org/index.php?action=history&amp;feed=atom&amp;title=MultiTriggerFramework</id>
		<title>MultiTriggerFramework - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="https://de.contaowiki.org/index.php?action=history&amp;feed=atom&amp;title=MultiTriggerFramework"/>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/index.php?title=MultiTriggerFramework&amp;action=history"/>
		<updated>2026-04-30T01:29:12Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in Contao Community Documentation</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>https://de.contaowiki.org/index.php?title=MultiTriggerFramework&amp;diff=5025&amp;oldid=prev</id>
		<title>BugBuster: /* Trigger aktualisieren */</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/index.php?title=MultiTriggerFramework&amp;diff=5025&amp;oldid=prev"/>
				<updated>2012-02-25T20:33:27Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Trigger aktualisieren&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 25. Februar 2012, 20:33 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 53:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 53:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Datei:trigger_update.png|Trigger aktualisieren|frame|center]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Datei:trigger_update.png|Trigger aktualisieren|frame|center]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Werten &lt;/del&gt;alle Erweiterungen gelöscht, die Trigger verwenden, werden die Trigger gelöscht.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Werden &lt;/ins&gt;alle Erweiterungen gelöscht, die Trigger verwenden, werden die Trigger gelöscht.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Datei:trigger_drop.png|Trigger löschen|frame|center]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Datei:trigger_drop.png|Trigger löschen|frame|center]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key kunde29sql1:diff:version:1.11a:oldid:5023:newid:5025 --&gt;
&lt;/table&gt;</summary>
		<author><name>BugBuster</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/index.php?title=MultiTriggerFramework&amp;diff=5023&amp;oldid=prev</id>
		<title>Tril: /* Trigger aktualisieren */</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/index.php?title=MultiTriggerFramework&amp;diff=5023&amp;oldid=prev"/>
				<updated>2012-02-25T10:33:54Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Trigger aktualisieren&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 25. Februar 2012, 10:33 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 51:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 51:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Werden weitere Erweiterungen installiert, die ebenfalls Trigger verwenden, werden die alten Trigger gelöscht und neue angelegt.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Werden weitere Erweiterungen installiert, die ebenfalls Trigger verwenden, werden die alten Trigger gelöscht und neue angelegt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Datei:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;trigger_drop&lt;/del&gt;.png|Trigger aktualisieren|frame|center]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Datei:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;trigger_update&lt;/ins&gt;.png|Trigger aktualisieren|frame|center]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Werten alle Erweiterungen gelöscht, die Trigger verwenden, werden die Trigger gelöscht.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Werten alle Erweiterungen gelöscht, die Trigger verwenden, werden die Trigger gelöscht.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key kunde29sql1:diff:version:1.11a:oldid:5020:newid:5023 --&gt;
&lt;/table&gt;</summary>
		<author><name>Tril</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/index.php?title=MultiTriggerFramework&amp;diff=5020&amp;oldid=prev</id>
		<title>Tril: Die Seite wurde neu angelegt: „Das Multi Trigger Framework erlaubt einem Entwickler, mehrere Trigger auf einfache Art und Weise zu definieren. Kategorie:Extensions {{ExtInfo | Dev=Tristan L…“</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/index.php?title=MultiTriggerFramework&amp;diff=5020&amp;oldid=prev"/>
				<updated>2012-02-25T10:20:09Z</updated>
		
		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „Das Multi Trigger Framework erlaubt einem Entwickler, mehrere Trigger auf einfache Art und Weise zu definieren. &lt;a href=&quot;/Kategorie:Extensions&quot; title=&quot;Kategorie:Extensions&quot;&gt;Kategorie:Extensions&lt;/a&gt; {{ExtInfo | Dev=Tristan L…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Das Multi Trigger Framework erlaubt einem Entwickler, mehrere Trigger auf einfache Art und Weise zu definieren.&lt;br /&gt;
[[Kategorie:Extensions]]&lt;br /&gt;
{{ExtInfo&lt;br /&gt;
| Dev=Tristan Lins&lt;br /&gt;
| ExtVersion=1.0.0&lt;br /&gt;
| Version=2.11+&lt;br /&gt;
| ERLink=http://www.contao.org/erweiterungsliste/view/MySQLMultiTriggerFramework.de.html&lt;br /&gt;
| TrackerLink=https://github.com/InfinitySoft/contao-mysqlmultitriggerframework/issues&lt;br /&gt;
| Depending=MySQL 5+&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Multi Trigger Framework=&lt;br /&gt;
&lt;br /&gt;
MySQL 5+ unterstützt [http://dev.mysql.com/doc/refman/5.1/de/triggers.html Trigger], leider wird pro Time/Event nur ein einziger Trigger unterstützt. Das Multi Trigger Framework gestattet es Extension-Entwicklern, Trigger zu definieren, ohne sich um diesen Umstand Gedanken machen zu müssen. Das Framework löscht automatisch nicht mehr benötigte Trigger und legt neue an.&lt;br /&gt;
&lt;br /&gt;
==Trigger definieren==&lt;br /&gt;
&lt;br /&gt;
Trigger werden in der &amp;lt;code&amp;gt;config.php&amp;lt;/code&amp;gt; einer Erweiterung, in der globalen Variable &amp;lt;code&amp;gt;$GLOBALS['TL_TRIGGER']&amp;lt;/code&amp;gt; definiert.&lt;br /&gt;
Die Variable ist folgendermaßen aufgebaut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_TRIGGER']['&amp;lt;table&amp;gt;']['&amp;lt;time&amp;gt;']['&amp;lt;event&amp;gt;'] = array('&amp;lt;sql&amp;gt;');&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;amp;lt;table&amp;amp;gt;''' definiert die Tabelle, auf der der Trigger angelegt wird.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;amp;lt;time&amp;amp;gt;''' definiert den Zeitpunkt, wann der Trigger ausgeführt wird: '''before''' oder '''after'''.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;amp;lt;event&amp;amp;gt;''' definiert das Event, zu dem der Trigger ausgeführt wird: '''insert''', '''update''' oder '''delete'''.&lt;br /&gt;
&lt;br /&gt;
===Beispiel===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * Multi Triggers&lt;br /&gt;
 */&lt;br /&gt;
$GLOBALS['TL_TRIGGER']['tl_avisota_recipient']['after']['insert'][]     = 'CALL avisota_recipient_list(NEW.id, NEW.lists);';&lt;br /&gt;
$GLOBALS['TL_TRIGGER']['tl_avisota_recipient']['after']['update'][]     = 'CALL avisota_recipient_list(NEW.id, NEW.lists);';&lt;br /&gt;
$GLOBALS['TL_TRIGGER']['tl_avisota_recipient']['before']['delete'][]    = 'DELETE FROM tl_avisota_recipient_list WHERE recipient=OLD.id;';&lt;br /&gt;
$GLOBALS['TL_TRIGGER']['tl_member']['after']['insert'][]                = 'CALL avisota_member_list(NEW.id, NEW.avisota_lists);';&lt;br /&gt;
$GLOBALS['TL_TRIGGER']['tl_member']['after']['update'][]                = 'CALL avisota_member_list(NEW.id, NEW.avisota_lists);';&lt;br /&gt;
$GLOBALS['TL_TRIGGER']['tl_member']['before']['delete'][]               = 'DELETE FROM tl_avisota_member_list WHERE member=OLD.id;';&lt;br /&gt;
$GLOBALS['TL_TRIGGER']['tl_avisota_mailing_list']['before']['delete'][] = 'DELETE FROM tl_avisota_recipient_list WHERE list=OLD.id;&lt;br /&gt;
DELETE FROM tl_avisota_member_list WHERE list=OLD.id;';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Trigger aktualisieren==&lt;br /&gt;
&lt;br /&gt;
Die Trigger werden über das Install Tool bzw. die Datenbankaktualisierung aktualisiert.&lt;br /&gt;
&lt;br /&gt;
[[Datei:trigger_create.png|Trigger anlegen|frame|center]]&lt;br /&gt;
&lt;br /&gt;
Werden weitere Erweiterungen installiert, die ebenfalls Trigger verwenden, werden die alten Trigger gelöscht und neue angelegt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:trigger_drop.png|Trigger aktualisieren|frame|center]]&lt;br /&gt;
&lt;br /&gt;
Werten alle Erweiterungen gelöscht, die Trigger verwenden, werden die Trigger gelöscht.&lt;br /&gt;
&lt;br /&gt;
[[Datei:trigger_drop.png|Trigger löschen|frame|center]]&lt;br /&gt;
&lt;br /&gt;
==Trigger Namenskonvention==&lt;br /&gt;
&lt;br /&gt;
Die Trigger sind nach folgendem Schema benannt: &amp;lt;code&amp;gt;CMT_&amp;lt;table&amp;gt;_&amp;lt;time&amp;gt;&amp;lt;event&amp;gt;_&amp;lt;hash&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''CMT''' steht für ''Contao Multi Trigger''.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;amp;lt;table&amp;amp;gt;''' definiert die Tabelle, auf der der Trigger angelegt wird.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;amp;lt;time&amp;amp;gt;''' definiert den Zeitpunkt (nur das erste Zeichen), wann der Trigger ausgeführt wird: '''B''' für '''before''' oder '''A''' für '''after'''.&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;amp;lt;event&amp;amp;gt;''' definiert das Event (nur das erste Zeichen), zu dem der Trigger ausgeführt wird: '''I''' für '''insert''', '''U''' für '''update''' oder '''D''' für '''delete'''.&lt;br /&gt;
&lt;br /&gt;
Ein Trigger heißt dann bspw. &amp;lt;code&amp;gt;CMT_tl_avisota_mailing_list_BD_1ded90261a1101e0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hooks==&lt;br /&gt;
&lt;br /&gt;
Das Framework liefert 2 Hooks, mit denen auf Trigger Veränderungen reagiert werden kann.&lt;br /&gt;
&lt;br /&gt;
===mysqlMultiTriggerDrop===&lt;br /&gt;
&lt;br /&gt;
Wird ausgeführt, wenn ein Trigger gelöscht wird. (Der DROP Befehl befindet sich bereits in &amp;lt;code&amp;gt;$return['ALTER_ADD']&amp;lt;/code&amp;gt;!)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_HOOKS']['mysqlMultiTriggerDrop'][] = array('MyClass', hookMysqlMultiTriggerDrop);&lt;br /&gt;
&lt;br /&gt;
class MyClass&lt;br /&gt;
{&lt;br /&gt;
    public function hookMysqlMultiTriggerDrop($strTriggerName, $return)&lt;br /&gt;
    {&lt;br /&gt;
        // do somethink&lt;br /&gt;
        return $return;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===mysqlMultiTriggerCreate===&lt;br /&gt;
&lt;br /&gt;
Wird ausgeführt, wenn ein Trigger erstellt wird. (Der CREATE Befehl befindet sich bereits in &amp;lt;code&amp;gt;$return['ALTER_ADD']&amp;lt;/code&amp;gt;!)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_HOOKS']['mysqlMultiTriggerCreate'][] = array('MyClass', hookMysqlMultiTriggerCreate);&lt;br /&gt;
&lt;br /&gt;
class MyClass&lt;br /&gt;
{&lt;br /&gt;
    public function hookMysqlMultiTriggerCreate($strTriggerName, $objTrigger, $return)&lt;br /&gt;
    {&lt;br /&gt;
        // do somethink&lt;br /&gt;
        return $return;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tril</name></author>	</entry>

	</feed>