// Dummy save-transcript event function onSave($params) { echo "** In the on-save hook.\n"; $transcript = $params['transcript']; $text = $transcript->getText(); echo "Current text: [[{$text}]]\n"; $transcript->setText("<page>{$text}</page>"); echo "New text: [[" . $transcript->getText() . "]]\n"; } // Dummy data $data = array('transcript_id' => 5, 'item_id' => 193, 'user_id' => 'username'); // Register save/load hooks echo "Registering events...\n"; $eventManager = new EventManager(); $eventManager->register('load', 'transcript', 'onLoad'); $eventManager->register('save', 'transcript', 'onSave'); echo "Setting event manager...\n"; Transcript::setEventManager($eventManager); // Register echo "Registering transcript hooks...\n"; Transcript::register('load', 'myTranscriptLoadFunction'); Transcript::register('save', 'myTranscriptSaveFunction'); echo "Loading transcript...\n\n"; $transcript = new Transcript(); $transcript->load($data); echo "Text for transcript: [" . $transcript->getText() . "]\n\n"; echo "Changing text...\n"; $myText = "Hallelujah, it worked!"; $transcript->setText($myText); echo "Text for transcript: [" . $transcript->getText() . "]\n\n";
<?php include '../EventManager.php'; $eventManager = new EventManager(); echo "Getting events for 'system' group...\n"; $events = $eventManager->getEventsByGroup('system'); echo "Events: \n"; print_r($events); echo "\nRegistering an 'echo'/'system' event...\n"; $eventManager->register("echo", "system", "myEvent"); echo "\nRegistering an 'echo'/'system' event...\n"; $eventManager->register("echo", "system", "myEvent2"); echo "\nRegistering a 'script'/'project' event...\n"; $eventManager->register("script", "project", "Test::event"); echo "\nGetting events for 'system' group...\n"; $events = $eventManager->getEventsByGroup('system'); echo "Events: \n"; print_r($events); echo "\nTriggering said event with 'apple' and 'water' passed...\n"; echo "Also triggering event 2...\n"; $eventManager->trigger("echo", "system", array('fruit' => 'apple', 'beverage' => 'water')); echo "\nRemoving said event...\n"; $eventManager->remove("echo", "system", "myEvent"); echo "\nGetting events for 'system' group...\n"; $events = $eventManager->getEventsByGroup('system'); echo "Events: \n"; print_r($events); echo "\nRemoving all echo event...\n"; $eventManager->remove("echo", "system"); echo "\nGetting events for 'system' group...\n"; $events = $eventManager->getEventsByGroup('system');
function add_action($event, $callback) { EventManager::register($event, $callback); }