mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-08-09 18:23:18 +02:00
plugins last modifications + events are triggered now from picture.php
git-svn-id: http://piwigo.org/svn/trunk@1590 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
@@ -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') );
|
||||
?>
|
||||
@@ -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).
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
?>
|
||||
@@ -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>');
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user