diff options
-rw-r--r-- | documentation/examples/events/advanced.php | 10 | ||||
-rw-r--r-- | documentation/examples/events/all.php | 24 | ||||
-rw-r--r-- | documentation/examples/events/basic.php | 13 | ||||
-rw-r--r-- | documentation/examples/events/basic.php.out | 0 | ||||
-rw-r--r-- | documentation/examples/events/emit.php | 7 | ||||
-rw-r--r-- | documentation/examples/hooks/basic.php | 34 | ||||
-rw-r--r-- | documentation/examples/hooks/register/advanced.php | 23 | ||||
-rw-r--r-- | documentation/examples/hooks/register/all.php | 8 | ||||
-rw-r--r-- | documentation/examples/hooks/register/basic.php | 14 | ||||
-rw-r--r-- | documentation/examples/hooks/register/basic.php.out | 0 | ||||
-rw-r--r-- | documentation/examples/hooks/register/emit.php | 6 | ||||
-rw-r--r-- | documentation/examples/hooks/trigger/advanced.php | 9 | ||||
-rw-r--r-- | documentation/examples/hooks/trigger/basic.php | 9 |
13 files changed, 157 insertions, 0 deletions
diff --git a/documentation/examples/events/advanced.php b/documentation/examples/events/advanced.php new file mode 100644 index 000000000..c6fc2d0fb --- /dev/null +++ b/documentation/examples/events/advanced.php @@ -0,0 +1,10 @@ +<?php + +register_elgg_event_handler('create', 'object', 'example_event_handler'); + +function example_event_handler($event, $type, $params) { + // Don't allow any non-admin users to create objects + // Returning false from this function will halt the creation of the object. + return isadminloggedin(); +} + diff --git a/documentation/examples/events/all.php b/documentation/examples/events/all.php new file mode 100644 index 000000000..63959a9d2 --- /dev/null +++ b/documentation/examples/events/all.php @@ -0,0 +1,24 @@ +<?php + +register_elgg_event_handler('all', 'object', 'example_event_handler'); + +// This function will be called for any event of type 'object' +function example_event_handler($event, $type, $params) { + // check what sort of object is passed + if ($params instanceof ElggObject) { + $subtype = $params->getSubtype(); + + switch($subtype) { + case 'blog': + case 'thewire': + case 'pages': + return false; + default: + return true; + } + + } + + return true; +} + diff --git a/documentation/examples/events/basic.php b/documentation/examples/events/basic.php new file mode 100644 index 000000000..b274137b8 --- /dev/null +++ b/documentation/examples/events/basic.php @@ -0,0 +1,13 @@ +<?php + +register_elgg_event_handler('init', 'system', 'example_event_handler'); + +function example_event_handler($event, $type, $params) { + var_dump($event); + var_dump($object_type); + var_dump($params); + + return true; +} + + diff --git a/documentation/examples/events/basic.php.out b/documentation/examples/events/basic.php.out new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/documentation/examples/events/basic.php.out diff --git a/documentation/examples/events/emit.php b/documentation/examples/events/emit.php new file mode 100644 index 000000000..f4cd1b127 --- /dev/null +++ b/documentation/examples/events/emit.php @@ -0,0 +1,7 @@ +<?php + +$params = new ElggObject(); +trigger_elgg_event('test', 'example', $params); + +// handlers would be registered by saying +register_elgg_event_handler('test', 'example', 'example_event_handler'); diff --git a/documentation/examples/hooks/basic.php b/documentation/examples/hooks/basic.php new file mode 100644 index 000000000..fe0b847a2 --- /dev/null +++ b/documentation/examples/hooks/basic.php @@ -0,0 +1,34 @@ +<?php + +register_plugin_hook('get_items', 'example', 'example_plugin_hook'); +register_plugin_hook('get_items', 'example', 'example_plugin_hook_2'); + +$params = array('username' => 'Joe'); +$items = trigger_plugin_hook('get_items', 'example', $params, $default); + +var_dump($items); + +function example_plugin_hook($hook, $type, $value, $params) { + if (is_array($value)) { + $value[] = "Hook Value 1"; + $value[] = "Hook Value 2"; + } + + return $value; +} + +function example_plugin_hook($hook, $type, $value, $params) { + $username = isset($params['username']) ? $params['username'] : NULL; + if (is_array($value)) { + switch($username) { + case 'Joe': + $value[] = "Joe's item"; + break; + case 'John': + $value[] = "Joe's item"; + break; + } + } + + return $value; +} diff --git a/documentation/examples/hooks/register/advanced.php b/documentation/examples/hooks/register/advanced.php new file mode 100644 index 000000000..48cddd480 --- /dev/null +++ b/documentation/examples/hooks/register/advanced.php @@ -0,0 +1,23 @@ +<?php + +// the output:page hook is triggered by page_draw(). +register_plugin_hook('output', 'page', 'example_plugin_hook_handler', 600) +register_plugin_hook('output', 'page', 'example_plugin_hook_handler_2', 601); + +function example_plugin_hook_handler($event, $type, $value, $params) { + // change A to @ + $value = str_replace('A', '@', $value); + + return $value +} + +function example_plugin_hook_handler($event, $type, $value, $params) { + // change S to $ + $value = str_replace('S', '$', $value); + + return $value +} + +$content = 'This is some Sample Content.'; + +page_draw('Title', $content); diff --git a/documentation/examples/hooks/register/all.php b/documentation/examples/hooks/register/all.php new file mode 100644 index 000000000..f2e4407a6 --- /dev/null +++ b/documentation/examples/hooks/register/all.php @@ -0,0 +1,8 @@ +<?php + +register_plugin_hook('all', 'system', 'example_plugin_hook_handler'); + +// This function will be called for any event of type 'object' +function example_plugin_hook_handler($hook, $type, $value, $params) { + // logic here. +} diff --git a/documentation/examples/hooks/register/basic.php b/documentation/examples/hooks/register/basic.php new file mode 100644 index 000000000..957e82743 --- /dev/null +++ b/documentation/examples/hooks/register/basic.php @@ -0,0 +1,14 @@ +<?php + +register_plugin_hook('forward', 'system', 'example_plugin_hook_handler'); + +function example_plugin_hook_handler($event, $type, $value, $params) { + var_dump($event); + var_dump($type); + var_dump($value); + var_dump($params): + + return true; +} + + diff --git a/documentation/examples/hooks/register/basic.php.out b/documentation/examples/hooks/register/basic.php.out new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/documentation/examples/hooks/register/basic.php.out diff --git a/documentation/examples/hooks/register/emit.php b/documentation/examples/hooks/register/emit.php new file mode 100644 index 000000000..bcf991794 --- /dev/null +++ b/documentation/examples/hooks/register/emit.php @@ -0,0 +1,6 @@ +<?php + +register_elgg_event_handler('test', 'example', 'example_init_system_callback'); + +$params = new ElggObject(); +trigger_elgg_event('test', 'example', $params); diff --git a/documentation/examples/hooks/trigger/advanced.php b/documentation/examples/hooks/trigger/advanced.php new file mode 100644 index 000000000..de33e7a10 --- /dev/null +++ b/documentation/examples/hooks/trigger/advanced.php @@ -0,0 +1,9 @@ +<?php + +$default = array('Entry 1', 'Entry 2', 'Entry 3'); + +$menu = trigger_plugin_hook('get_menu_items', 'menu', null, $default); + +foreach ($menu as $item) { + var_dump($item); +} diff --git a/documentation/examples/hooks/trigger/basic.php b/documentation/examples/hooks/trigger/basic.php new file mode 100644 index 000000000..a32bf9296 --- /dev/null +++ b/documentation/examples/hooks/trigger/basic.php @@ -0,0 +1,9 @@ +<?php + +$result = trigger_plugin_hook('get_status', 'example', null, true); + +if ($result) { + var_dump('Plugin hook says ok!'); +} else { + var_dump('Plugin hook says no.'); +} |