diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/event_tracer/main.inc.php (renamed from plugins/event_tracer/index.php) | 52 | ||||
-rw-r--r-- | plugins/event_tracer/tracer_admin.tpl | 2 | ||||
-rw-r--r-- | plugins/hello_world/index.php | 18 | ||||
-rw-r--r-- | plugins/hello_world/main.inc.php | 30 |
4 files changed, 61 insertions, 41 deletions
diff --git a/plugins/event_tracer/index.php b/plugins/event_tracer/main.inc.php index cc9130b67..fef23296a 100644 --- a/plugins/event_tracer/index.php +++ b/plugins/event_tracer/main.inc.php @@ -19,7 +19,7 @@ class EventTracer function load_config() { - $x = @file_get_contents( dirname(__FILE__).'/tracer.dat' ); + $x = @file_get_contents( dirname(__FILE__).'/data.dat' ); if ($x!==false) { $c = unserialize($x); @@ -37,39 +37,45 @@ class EventTracer function save_config() { - $file = fopen( dirname(__FILE__).'/tracer.dat', 'w' ); + $file = fopen( dirname(__FILE__).'/data.dat', 'w' ); fwrite($file, serialize($this->my_config) ); fclose( $file ); } - function pre_trigger_event($event_info) + function on_pre_trigger_event($event_info) { - if (!$this->me_working) + $this->dump('pre_trigger_event', $event_info); + } + function on_post_trigger_event($event_info) + { + $this->dump('post_trigger_event', $event_info); + } + + function on_trigger_action($event_info) + { + $this->dump('trigger_action', $event_info); + } + + function dump($event, $event_info) + { + foreach( $this->my_config['filters'] as $filter) { - foreach( $this->my_config['filters'] as $filter) + if ( preg_match( '/'.$filter.'/', $event_info['event'] ) ) { - if ( preg_match( '/'.$filter.'/', $event_info['event'] ) ) + if ($this->my_config['show_args']) { - if ($this->my_config['show_args']) - $s = var_export( $event_info['data'], true ); - else - $s = ''; - pwg_debug('begin trigger_event "'.$event_info['event'].'" '.htmlspecialchars($s) ); - break; + $s = '<pre>'; + $s .= htmlspecialchars( var_export( $event_info['data'], true ) ); + $s .= '</pre>'; } + else + $s = ''; + pwg_debug($event.' "'.$event_info['event'].'" '.($s) ); + break; } } } - /*function post_trigger_event($filter_info) - { - if (!$this->me_working) - { - $s = var_export( $filter_info['data'], true ); - pwg_debug('end trigger_event '.$filter_info['event'].' '.$s ); - } - }*/ - function plugin_admin_menu() { add_plugin_admin_menu( "Event Tracer", array(&$this, 'do_admin') ); @@ -86,5 +92,7 @@ $eventTracer = new EventTracer(); $eventTracer->load_config(); add_event_handler('plugin_admin_menu', array(&$eventTracer, 'plugin_admin_menu') ); -add_event_handler('pre_trigger_event', array(&$eventTracer, 'pre_trigger_event') ); +add_event_handler('pre_trigger_event', array(&$eventTracer, 'on_pre_trigger_event') ); +add_event_handler('post_trigger_event', array(&$eventTracer, 'on_post_trigger_event') ); +add_event_handler('trigger_action', array(&$eventTracer, 'on_trigger_action') ); ?>
\ No newline at end of file diff --git a/plugins/event_tracer/tracer_admin.tpl b/plugins/event_tracer/tracer_admin.tpl index 38fbd2796..95ee65907 100644 --- a/plugins/event_tracer/tracer_admin.tpl +++ b/plugins/event_tracer/tracer_admin.tpl @@ -8,7 +8,7 @@ You can use this plugin to see what events is PhpWebGallery calling. <legend>Event Tracer</legend> <label>Show event argument - <input type="checkbox" name="eventTracer_show_args" value="{EVENT_TRACER_SHOW_ARGS}" /> + <input type="checkbox" name="eventTracer_show_args" {EVENT_TRACER_SHOW_ARGS} /> </label> <br/> <label>Fill below a list of regular expressions (one per line). diff --git a/plugins/hello_world/index.php b/plugins/hello_world/index.php deleted file mode 100644 index d2a8bcddb..000000000 --- a/plugins/hello_world/index.php +++ /dev/null @@ -1,18 +0,0 @@ -<?php /* -Plugin Name: Hello World ! -Author: PhpWebGallery team -Description: This example plugin changes the page banner for the administration page -*/ - -add_event_handler('page_banner', 'hello_world_banner' ); - -function hello_world_banner($banner) -{ - global $page; - if ( isset($page['body_id']) and $page['body_id']=='theAdminPage') - { - return '<h1>Hello world from PhpWebGallery plugin!</h1>'; - } - return $banner; -} -?> diff --git a/plugins/hello_world/main.inc.php b/plugins/hello_world/main.inc.php new file mode 100644 index 000000000..eb5f98b82 --- /dev/null +++ b/plugins/hello_world/main.inc.php @@ -0,0 +1,30 @@ +<?php /* +Plugin Name: Hello World ! +Author: PhpWebGallery team +Description: This example plugin changes the page banner for the administration page. +*/ + +add_event_handler('loc_begin_page_header', 'hello_world_begin_header' ); + +function hello_world_begin_header() +{ + global $page; + if ( isset($page['body_id']) and $page['body_id']=='theAdminPage') + { + $hellos = array( 'Aloha', 'Ahoy', 'Guten tag', 'Hello', 'Hoi', 'Hola', 'Salut', 'Yo' ); + shuffle($hellos); + $page['page_banner'] = $hellos[0]; + // just as an example we modify it a little bit later + add_event_handler('loc_end_page_header', 'hello_world_end_header'); + } +} + + +function hello_world_end_header() +{ + global $template, $page; + $template->assign_var( 'PAGE_BANNER', + '<h1>"'.$page['page_banner'].'" from PhpWebGallery plugin!</h1>'); +} + +?>
\ No newline at end of file |