diff options
author | plegall <plg@piwigo.org> | 2010-03-31 09:42:50 +0000 |
---|---|---|
committer | plegall <plg@piwigo.org> | 2010-03-31 09:42:50 +0000 |
commit | b3670ff733368f702955b4104afacef1a52691e8 (patch) | |
tree | c235c6819bd4eb9ad6d5eccc737c889b335a1ead /plugins/event_tracer/main.inc.php | |
parent | 047d0de680ee5892012428cc0bae6d2fb6ec7a03 (diff) |
move event_tracer plugin from core to extensions
git-svn-id: http://piwigo.org/svn/trunk@5490 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to '')
-rw-r--r-- | plugins/event_tracer/main.inc.php | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/plugins/event_tracer/main.inc.php b/plugins/event_tracer/main.inc.php deleted file mode 100644 index c72f1df27..000000000 --- a/plugins/event_tracer/main.inc.php +++ /dev/null @@ -1,162 +0,0 @@ -<?php -// +-----------------------------------------------------------------------+ -// | Piwigo - a PHP based picture gallery | -// +-----------------------------------------------------------------------+ -// | Copyright(C) 2008-2010 Piwigo Team http://piwigo.org | -// | Copyright(C) 2003-2008 Piwigo team http://phpwebgallery.net | -// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick | -// +-----------------------------------------------------------------------+ -// | This program is free software; you can redistribute it and/or modify | -// | it under the terms of the GNU General Public License as published by | -// | the Free Software Foundation | -// | | -// | This program is distributed in the hope that it will be useful, but | -// | WITHOUT ANY WARRANTY; without even the implied warranty of | -// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | -// | General Public License for more details. | -// | | -// | You should have received a copy of the GNU General Public License | -// | along with this program; if not, write to the Free Software | -// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | -// | USA. | -// +-----------------------------------------------------------------------+ - -/* -Plugin Name: Event tracer -Version: 2.0.3 -Description: For developers. Shows all calls to trigger_event. -Plugin URI: http://piwigo.org/ext/extension_view.php?eid=288 -Author: Piwigo team -Author URI: http://piwigo.org -*/ - -if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); - -class EventTracer -{ - var $my_config; - var $trigger_counts = array(); - - function EventTracer() - { - } - - function get_config_file_dir() - { - global $conf; - return $conf['local_data_dir'].'/plugins/'; - } - - function get_config_file_name() - { - return basename(dirname(__FILE__)).'.dat'; - } - - function load_config() - { - $x = @file_get_contents( $this->get_config_file_dir().$this->get_config_file_name() ); - if ($x!==false) - { - $c = unserialize($x); - // do some more tests here - $this->my_config = $c; - } - if ( !isset($this->my_config) - or empty($this->my_config['filters']) ) - { - $this->my_config['filters'] = array( '.*' ); - $this->my_config['show_registered'] = true; - $this->save_config(); - } - } - - function save_config() - { - $dir = $this->get_config_file_dir(); - @mkgetdir($dir); - $file = fopen( $dir.$this->get_config_file_name(), 'w' ); - fwrite($file, serialize($this->my_config) ); - fclose( $file ); - } - - function on_page_tail() - { - global $debug; - if (@$this->my_config['show_registered']) - { - global $pwg_event_handlers; - $out = ''; - foreach ($pwg_event_handlers as $event => $prio_array) - { - $out .= $event.' '.intval(@$this->trigger_counts[$event])." calls\n"; - foreach ($prio_array as $prio => $handlers) - { - foreach ($handlers as $handler) - { - $out .= "\t$prio "; - if ( is_array($handler['function']) ) - { - if ( is_string($handler['function'][0]) ) - $out .= $handler['function'][0].'::'; - else - $out .= @get_class($handler['function'][0]).'->'; - $out .= $handler['function'][1]; - } - else - $out .= $handler['function']; - $out .= "\n"; - } - } - $out .= "\n"; - } - $debug .= '<pre>'.$out.'</pre>'; - } - if (@$this->my_config['show_included_files']) - { - $debug .= "<pre><em>Included files</em>\n".var_export( get_included_files(), true ).'</pre>'; - } - } - - function on_trigger($event_info) - { - if ($event_info['type']!='post_event') - @$this->trigger_counts[$event_info['event']]++; - - foreach( $this->my_config['filters'] as $filter) - { - if ( preg_match( '/'.$filter.'/', $event_info['event'] ) ) - { - if (@$this->my_config['show_args']) - { - $s = '<pre>'; - $s .= htmlspecialchars( var_export( $event_info['data'], true ) ); - $s .= '</pre>'; - } - else - $s = ''; - pwg_debug($event_info['type'].' "'.$event_info['event'].'" '.($this->trigger_counts[$event_info['event']]).' calls '.($s) ); - break; - } - } - } - - function plugin_admin_menu($menu) - { - array_push($menu, - array( - 'NAME' => 'Event Tracer', - 'URL' => get_admin_plugin_menu_link(dirname(__FILE__).'/tracer_admin.php') - ) - ); - return $menu; - } -} - -$obj = new EventTracer(); -$obj->load_config(); - -add_event_handler('get_admin_plugin_menu_links', array(&$obj, 'plugin_admin_menu') ); -add_event_handler('loc_begin_page_tail', array(&$obj, 'on_page_tail') ); -add_event_handler('trigger', array(&$obj, 'on_trigger') ); -set_plugin_data($plugin['id'], $obj); -?> |