From c2a6d81662045023bdf1617b6b49f71c274d55ca Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 1 Feb 2010 16:10:25 +0100 Subject: [PATCH] plugin related autoloading This patch moved the place where DOKU_PLUGIN is defined. It no longer can be set from a normal config (only via preload) --- inc/init.php | 5 +++-- inc/load.php | 5 +++++ lib/plugins/acl/admin.php | 4 ---- lib/plugins/acl/ajax.php | 6 ------ lib/plugins/action.php | 3 --- lib/plugins/admin.php | 3 --- lib/plugins/config/admin.php | 3 --- lib/plugins/config/settings/config.class.php | 2 -- lib/plugins/info/syntax.php | 3 --- lib/plugins/plugin/admin.php | 2 -- lib/plugins/plugin/classes/ap_download.class.php | 3 --- lib/plugins/popularity/admin.php | 6 ------ lib/plugins/revert/admin.php | 4 ---- lib/plugins/syntax.php | 3 --- lib/plugins/usermanager/admin.php | 2 -- 15 files changed, 8 insertions(+), 46 deletions(-) diff --git a/inc/init.php b/inc/init.php index 3cff40073..7f4792cfa 100644 --- a/inc/init.php +++ b/inc/init.php @@ -20,6 +20,9 @@ if (@file_exists($preload)) include($preload); // define the include path if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/'); +// define Plugin dir +if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); + // define config path (packagers may want to change this to /etc/dokuwiki/) if(!defined('DOKU_CONF')) define('DOKU_CONF',DOKU_INC.'conf/'); @@ -158,8 +161,6 @@ if(!defined('DOKU_TAB')) define ('DOKU_TAB',"\t"); // define cookie and session id, append server port when securecookie is configured FS#1664 if (!defined('DOKU_COOKIE')) define('DOKU_COOKIE', 'DW'.md5(DOKU_REL.(($conf['securecookie'])?$_SERVER['SERVER_PORT']:''))); -// define Plugin dir -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); // define main script if(!defined('DOKU_SCRIPT')) define('DOKU_SCRIPT','doku.php'); diff --git a/inc/load.php b/inc/load.php index 792f05e27..e06a2c63d 100644 --- a/inc/load.php +++ b/inc/load.php @@ -76,6 +76,11 @@ function load_autoload($name){ 'GeSHi' => DOKU_INC.'inc/geshi.php', 'TarLib' => DOKU_INC.'inc/TarLib.class.php', 'ZibLib' => DOKU_INC.'inc/ZipLib.class.php', + + 'DokuWiki_Action_Plugin' => DOKU_PLUGIN.'action.php', + 'DokuWiki_Admin_Plugin' => DOKU_PLUGIN.'admin.php', + 'DokuWiki_Syntax_Plugin' => DOKU_PLUGIN.'syntax.php', + ); if(isset($classes[$name])){ diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php index a7037047a..b38d2ac6e 100644 --- a/lib/plugins/acl/admin.php +++ b/lib/plugins/acl/admin.php @@ -10,9 +10,6 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_PLUGIN.'admin.php'); - /** * All DokuWiki plugins to extend the admin function * need to inherit from this class @@ -216,7 +213,6 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { * @author Andreas Gohr */ function _html_explorer(){ - require_once(DOKU_INC.'inc/search.php'); global $conf; global $ID; global $lang; diff --git a/lib/plugins/acl/ajax.php b/lib/plugins/acl/ajax.php index d3e88d932..d91586a5d 100644 --- a/lib/plugins/acl/ajax.php +++ b/lib/plugins/acl/ajax.php @@ -13,9 +13,6 @@ if(!count($_POST) && $HTTP_RAW_POST_DATA){ if(!defined('DOKU_INC')) define('DOKU_INC',dirname(__FILE__).'/../../../'); require_once(DOKU_INC.'inc/init.php'); -require_once(DOKU_INC.'inc/common.php'); -require_once(DOKU_INC.'inc/pageutils.php'); -require_once(DOKU_INC.'inc/auth.php'); //close session session_write_close(); @@ -24,8 +21,6 @@ if(!checkSecurityToken()) die('CRSF Attack'); $ID = getID(); -require_once(DOKU_INC.'inc/pluginutils.php'); -require_once(DOKU_INC.'inc/html.php'); $acl = plugin_load('admin','acl'); $acl->handle(); @@ -35,7 +30,6 @@ header('Content-Type: text/html; charset=utf-8'); if($ajax == 'info'){ $acl->_html_info(); }elseif($ajax == 'tree'){ - require_once(DOKU_INC.'inc/search.php'); global $conf; global $ID; diff --git a/lib/plugins/action.php b/lib/plugins/action.php index a26bc654a..885bd7c96 100644 --- a/lib/plugins/action.php +++ b/lib/plugins/action.php @@ -8,9 +8,6 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_INC.'inc/plugin.php'); - /** * All DokuWiki plugins to interfere with the event system * need to inherit from this class diff --git a/lib/plugins/admin.php b/lib/plugins/admin.php index 2eeda3f7b..25f01b657 100644 --- a/lib/plugins/admin.php +++ b/lib/plugins/admin.php @@ -8,9 +8,6 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_INC.'inc/plugin.php'); - /** * All DokuWiki plugins to extend the admin function * need to inherit from this class diff --git a/lib/plugins/config/admin.php b/lib/plugins/config/admin.php index cbee3440a..7cc2918f4 100644 --- a/lib/plugins/config/admin.php +++ b/lib/plugins/config/admin.php @@ -9,9 +9,6 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_PLUGIN.'admin.php'); - define('CM_KEYMARKER','____'); // used for settings with multiple dimensions of array indices define('PLUGIN_SELF',dirname(__FILE__).'/'); diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php index d995e8a30..f9867b8de 100644 --- a/lib/plugins/config/settings/config.class.php +++ b/lib/plugins/config/settings/config.class.php @@ -528,8 +528,6 @@ if (!class_exists('setting_password')) { } if (!class_exists('setting_email')) { - - require_once(DOKU_INC.'inc/mail.php'); if (!defined('SETTING_EMAIL_PATTERN')) define('SETTING_EMAIL_PATTERN','<^'.PREG_PATTERN_VALID_EMAIL.'$>'); class setting_email extends setting_string { diff --git a/lib/plugins/info/syntax.php b/lib/plugins/info/syntax.php index dc0a7d2fc..ba2831a90 100644 --- a/lib/plugins/info/syntax.php +++ b/lib/plugins/info/syntax.php @@ -9,9 +9,6 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_PLUGIN.'syntax.php'); - /** * All DokuWiki plugins to extend the parser/rendering mechanism * need to inherit from this class diff --git a/lib/plugins/plugin/admin.php b/lib/plugins/plugin/admin.php index 198512a43..c662b565a 100644 --- a/lib/plugins/plugin/admin.php +++ b/lib/plugins/plugin/admin.php @@ -13,8 +13,6 @@ if(!defined('DOKU_INC')) die(); // - allow a plugin to contain extras to be copied to the current template (extra/tpl/) // - to images (lib/images/) [ not needed, should go in lib/plugin/images/ ] -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_PLUGIN.'admin.php'); require_once(DOKU_PLUGIN."/plugin/classes/ap_manage.class.php"); //--------------------------[ GLOBALS ]------------------------------------------------ diff --git a/lib/plugins/plugin/classes/ap_download.class.php b/lib/plugins/plugin/classes/ap_download.class.php index 90e5de53b..6ad048d72 100644 --- a/lib/plugins/plugin/classes/ap_download.class.php +++ b/lib/plugins/plugin/classes/ap_download.class.php @@ -197,8 +197,6 @@ class ap_download extends ap_manage { $ext = $this->guess_archive($file); if (in_array($ext, array('tar','bz','gz'))) { - require_once(DOKU_INC."inc/TarLib.class.php"); - switch($ext){ case 'bz': $compress_type = COMPRESS_BZIP; @@ -227,7 +225,6 @@ class ap_download extends ap_manage { } return true; } else if ($ext == 'zip') { - require_once(DOKU_INC."inc/ZipLib.class.php"); $zip = new ZipLib(); $ok = $zip->Extract($file, $target); diff --git a/lib/plugins/popularity/admin.php b/lib/plugins/popularity/admin.php index d084f5b58..c72beafdb 100644 --- a/lib/plugins/popularity/admin.php +++ b/lib/plugins/popularity/admin.php @@ -8,12 +8,6 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_PLUGIN.'admin.php'); -require_once(DOKU_INC.'inc/infoutils.php'); -require_once(DOKU_INC.'inc/pluginutils.php'); -require_once(DOKU_INC.'inc/search.php'); - /** * All DokuWiki plugins to extend the admin function * need to inherit from this class diff --git a/lib/plugins/revert/admin.php b/lib/plugins/revert/admin.php index b24b1ff6e..1a327ca8a 100644 --- a/lib/plugins/revert/admin.php +++ b/lib/plugins/revert/admin.php @@ -2,10 +2,6 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_PLUGIN.'admin.php'); -require_once(DOKU_INC.'inc/changelog.php'); - /** * All DokuWiki plugins to extend the admin function * need to inherit from this class diff --git a/lib/plugins/syntax.php b/lib/plugins/syntax.php index 633e001d2..601b5591e 100644 --- a/lib/plugins/syntax.php +++ b/lib/plugins/syntax.php @@ -8,9 +8,6 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_INC.'inc/parser/parser.php'); - /** * All DokuWiki plugins to extend the parser/rendering mechanism * need to inherit from this class diff --git a/lib/plugins/usermanager/admin.php b/lib/plugins/usermanager/admin.php index da6029bbf..4eb923bb1 100644 --- a/lib/plugins/usermanager/admin.php +++ b/lib/plugins/usermanager/admin.php @@ -13,9 +13,7 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); if(!defined('DOKU_PLUGIN_IMAGES')) define('DOKU_PLUGIN_IMAGES',DOKU_BASE.'lib/plugins/usermanager/images/'); -require_once(DOKU_PLUGIN.'admin.php'); /** * All DokuWiki plugins to extend the admin function