diff options
Diffstat (limited to 'BSF/plugins/event_tracer')
-rw-r--r-- | BSF/plugins/event_tracer/event_list.php | 90 | ||||
-rw-r--r-- | BSF/plugins/event_tracer/event_list.tpl | 17 | ||||
-rw-r--r-- | BSF/plugins/event_tracer/index.php | 30 | ||||
-rw-r--r-- | BSF/plugins/event_tracer/main.inc.php | 137 | ||||
-rw-r--r-- | BSF/plugins/event_tracer/maintain.inc.php | 9 | ||||
-rw-r--r-- | BSF/plugins/event_tracer/tracer_admin.php | 31 | ||||
-rw-r--r-- | BSF/plugins/event_tracer/tracer_admin.tpl | 29 |
7 files changed, 0 insertions, 343 deletions
diff --git a/BSF/plugins/event_tracer/event_list.php b/BSF/plugins/event_tracer/event_list.php deleted file mode 100644 index ae617fe87..000000000 --- a/BSF/plugins/event_tracer/event_list.php +++ /dev/null @@ -1,90 +0,0 @@ -<?php -if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); - -function get_php_files($path, $to_ignore=array(), $recursive=true ) -{ - $files = array(); - if (is_dir($path)) - { - if ($contents = opendir($path)) - { - while (($node = readdir($contents)) !== false) - { - if ($node != '.' and $node != '..' and $node != '.svn' - and !in_array($node, $to_ignore) ) - { - if ( $recursive and is_dir($path.'/'.$node) ) - { - $files = array_merge($files, get_php_files($path.'/'.$node, $to_ignore)); - - } - if ( is_file($path.'/'.$node) ) - { - $files[] = $path.'/'.$node; - } - } - } - closedir($contents); - } - } - return $files; -} - -$files = array(); -$files = array_merge( $files, get_php_files('.', array(), false) ); -$files = array_merge( $files, get_php_files('./include') ); -$files = array_merge( $files, get_php_files('./admin') ); -$files = array_unique($files); - -$events = array(); -foreach ($files as $file) -{ - $code = file_get_contents($file); - $code = preg_replace( '#\?'.'>.*<\?php#m', '', $code); - $code = preg_replace( '#\/\*.*\*\/#m', '', $code); - $code = preg_replace( '#\/\/.*#', '', $code); - - $count = preg_match_all( - '#[^a-zA-Z_$-]trigger_(action|event)\s*\(\s*([^,)]+)#m', - $code, $matches - ); - - for ($i=0; $i<$count; $i++) - { - $type = $matches[1][$i]; - $name = preg_replace( '#^[\'"]?([^\'"]*)[\'"]?$#', '$1', $matches[2][$i]); - array_push($events, array($type,$name,$file) ); - } -} - -$sort= isset($_GET['sort']) ? $_GET['sort'] : 1; -usort( - $events, - create_function( '$a,$b', 'return $a['.$sort.']>$b['.$sort.'];' ) - ); - -global $template; - -$url = get_admin_plugin_menu_link(__FILE__); - -$template->assign( array( - 'NB_EVENTS' => count($events), - 'U_SORT0' => add_url_params($url, array('sort'=>0) ), - 'U_SORT1' => add_url_params($url, array('sort'=>1) ), - 'U_SORT2' => add_url_params($url, array('sort'=>2) ), - ) ); - -$template->assign('events', array()); -foreach ($events as $e) -{ - $template->append( 'events', array( - 'TYPE' => $e[0], - 'NAME' => $e[1], - 'FILE' => $e[2], - ) - ); -} - -$template->set_filenames( array('event_list' => dirname(__FILE__).'/event_list.tpl' ) ); -$template->assign_var_from_handle( 'ADMIN_CONTENT', 'event_list'); -?> diff --git a/BSF/plugins/event_tracer/event_list.tpl b/BSF/plugins/event_tracer/event_list.tpl deleted file mode 100644 index accc27278..000000000 --- a/BSF/plugins/event_tracer/event_list.tpl +++ /dev/null @@ -1,17 +0,0 @@ -{* $Id$ *} -There are {$NB_EVENTS} calls to triger_event or triger_action. - -<table width="99%" class="table2"> -<tr class="throw"> - <th><a href="{$U_SORT0}">Type</a></th> - <th><a href="{$U_SORT1}">Name</a></th> - <th><a href="{$U_SORT2}">File</a></th> -</tr> -{foreach from=$events item=event} -<tr> - <td>{$event.TYPE}</td> - <td>{$event.NAME}</td> - <td>{$event.FILE}</td> -</tr> -{/foreach} -</table> diff --git a/BSF/plugins/event_tracer/index.php b/BSF/plugins/event_tracer/index.php deleted file mode 100644 index c15b15795..000000000 --- a/BSF/plugins/event_tracer/index.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php -// +-----------------------------------------------------------------------+ -// | Piwigo - a PHP based picture gallery | -// +-----------------------------------------------------------------------+ -// | Copyright(C) 2008 Piwigo Team http://piwigo.org | -// | Copyright(C) 2003-2008 PhpWebGallery 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. | -// +-----------------------------------------------------------------------+ - -// Recursive call -$url = '../'; -header( 'Request-URI: '.$url ); -header( 'Content-Location: '.$url ); -header( 'Location: '.$url ); -exit(); -?> diff --git a/BSF/plugins/event_tracer/main.inc.php b/BSF/plugins/event_tracer/main.inc.php deleted file mode 100644 index dcf282146..000000000 --- a/BSF/plugins/event_tracer/main.inc.php +++ /dev/null @@ -1,137 +0,0 @@ -<?php -// +-----------------------------------------------------------------------+ -// | Piwigo - a PHP based picture gallery | -// +-----------------------------------------------------------------------+ -// | Copyright(C) 2008 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: 1.8.a -Description: For developers. Shows all calls to trigger_event. -Plugin URI: http://piwigo.org -Author: Piwigo team -Author URI: http://piwigo.org -*/ - -if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); - -class EventTracer -{ - var $me_working; - var $my_config; - - function EventTracer() - { - $this->me_working=0; - } - - 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_args'] = false; - $this->save_config(); - } - } - - function save_config() - { - $dir = $this->get_config_file_dir(); - @mkdir($dir); - $file = fopen( $dir.$this->get_config_file_name(), 'w' ); - fwrite($file, serialize($this->my_config) ); - fclose( $file ); - } - - function on_pre_trigger_event($event_info) - { - $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) - { - 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.' "'.$event_info['event'].'" '.($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('pre_trigger_event', array(&$obj, 'on_pre_trigger_event') ); -add_event_handler('post_trigger_event', array(&$obj, 'on_post_trigger_event') ); -add_event_handler('trigger_action', array(&$obj, 'on_trigger_action') ); -set_plugin_data($plugin['id'], $obj); -?> diff --git a/BSF/plugins/event_tracer/maintain.inc.php b/BSF/plugins/event_tracer/maintain.inc.php deleted file mode 100644 index f7d0131c5..000000000 --- a/BSF/plugins/event_tracer/maintain.inc.php +++ /dev/null @@ -1,9 +0,0 @@ -<?php -if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); - -function plugin_uninstall($plugin_id) -{ - global $conf; - @unlink( $conf['local_data_dir'].'/plugins/'.$plugin_id.'.dat' ); -} -?> diff --git a/BSF/plugins/event_tracer/tracer_admin.php b/BSF/plugins/event_tracer/tracer_admin.php deleted file mode 100644 index b17f2a301..000000000 --- a/BSF/plugins/event_tracer/tracer_admin.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php -if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); - -$me = get_plugin_data($plugin_id); - -global $template; -$template->set_filenames( array('plugin_admin_content' => dirname(__FILE__).'/tracer_admin.tpl') ); - -if ( isset($_POST['eventTracer_filters']) ) -{ - $v = $_POST['eventTracer_filters']; - $v = str_replace( "\r\n", "\n", $v ); - $v = str_replace( "\n\n", "\n", $v ); - $v = stripslashes($v); - if (!empty($v)) - $me->my_config['filters'] = explode("\n", $v); - else - $me->my_config['filters'] = array(); - $me->my_config['show_args'] = isset($_POST['eventTracer_show_args']); - $me->save_config(); - global $page; - array_push($page['infos'], 'event tracer options saved'); -} -$template->assign('EVENT_TRACER_FILTERS', implode("\n", $me->my_config['filters'] ) ); -$template->assign('EVENT_TRACER_SHOW_ARGS', $me->my_config['show_args'] ? 'checked="checked"' : '' ); -$template->assign('U_LIST_EVENTS', get_admin_plugin_menu_link(dirname(__FILE__).'/event_list.php')); - -//$template->assign_var('EVENT_TRACER_F_ACTION', $my_url); - -$template->assign_var_from_handle( 'ADMIN_CONTENT', 'plugin_admin_content'); -?> diff --git a/BSF/plugins/event_tracer/tracer_admin.tpl b/BSF/plugins/event_tracer/tracer_admin.tpl deleted file mode 100644 index 17d7e2b01..000000000 --- a/BSF/plugins/event_tracer/tracer_admin.tpl +++ /dev/null @@ -1,29 +0,0 @@ -{* $Id$ *} -<div class="titrePage"> - <h2>Event Tracer</h2> -</div> - -<p> -The event tracer is a developer tool that logs in the footer of the window all calls to trigger_event method. -You can use this plugin to see what events is Piwigo calling. -<b>Note that $conf['show_queries'] must be true.</b> -</p> -<form method="post" action="" class="general"> -<fieldset> - <legend>Event Tracer</legend> - -<label>Show event argument - <input type="checkbox" name="eventTracer_show_args" {$EVENT_TRACER_SHOW_ARGS} /> -</label> -<br/> -<label>Fill below a list of regular expressions (one per line). -An event will be logged if its name matches at least one expression in the list. - <textarea name="eventTracer_filters" id="eventTracer_filters"rows="10" cols="80">{$EVENT_TRACER_FILTERS}</textarea> -</label> - -</fieldset> - -<p><input class="submit" type="submit" value="Submit" /></p> - -<p><a href="{$U_LIST_EVENTS}">Click here to see a complete list of actions and events trigered by this PWG version</a>.</p> -</form> |