From d66e3ddfed27523627d33cd17905445d27688afa Mon Sep 17 00:00:00 2001 From: chris <chris@teacherscpd.co.uk> Date: Thu, 25 Aug 2005 01:15:45 +0200 Subject: [PATCH] non-intrusive changes to support plugin manager darcs-hash:20050824231545-50fdc-2d0fc2e9efba6c6d740f00c9113d07eabc3963ce.gz --- conf/dokuwiki.php | 1 + inc/pluginutils.php | 52 +++++++++++++++++++++++++++++++-------------- 2 files changed, 37 insertions(+), 16 deletions(-) diff --git a/conf/dokuwiki.php b/conf/dokuwiki.php index 990e61e19..460f0a416 100644 --- a/conf/dokuwiki.php +++ b/conf/dokuwiki.php @@ -70,6 +70,7 @@ $conf['mailfrom'] = ''; //use this email when sending mails $conf['gdlib'] = 2; //the GDlib version (0, 1 or 2) 2 tries to autodetect $conf['spellchecker']= 0; //enable Spellchecker (needs PHP >= 4.3.0 and aspell installed) $conf['subscribers'] = 0; //enable change notice subscription support +$conf['pluginmanager'] = 0; //enable automated plugin management (requires plugin) //Set target to use when creating links - leave empty for same window $conf['target']['wiki'] = ''; diff --git a/inc/pluginutils.php b/inc/pluginutils.php index 964635b2c..5914c6cd2 100644 --- a/inc/pluginutils.php +++ b/inc/pluginutils.php @@ -10,21 +10,41 @@ * prints needed HTML to include plugin CSS and JS files */ function plugin_printCSSJS(){ - $plugins = plugin_list(); - foreach ($plugins as $p){ - $dir = "lib/plugins/$p/"; - if(@file_exists(DOKU_INC.$dir.'style.css')){ - print ' <link rel="stylesheet" type="text/css" href="'.DOKU_BASE.$dir.'style.css" />'."\n"; - } - if(@file_exists(DOKU_INC.$dir.'screen.css')){ - print ' <link rel="stylesheet" media="screen" type="text/css" href="'.DOKU_BASE.$dir.'screen.css" />'."\n"; - } - if(@file_exists(DOKU_INC.$dir.'print.css')){ - print ' <link rel="stylesheet" media="print" type="text/css" href="'.DOKU_BASE.$dir.'print.css" />'."\n"; - } - if(@file_exists(DOKU_INC.$dir.'script.js')){ - print ' <script type="text/javascript" language="javascript" charset="utf-8" src="'.DOKU_BASE.$dir.'script.js"></script>'."\n"; - } + global $conf; + + if (isset($conf['plugin_manager']) && $conf['plugin_manager']) { + // individual plugin instances of the files swept into one file each + $dir = "lib/plugins/plugin_"; + if(@file_exists(DOKU_INC.$dir.'style.css')){ + print ' <link rel="stylesheet" type="text/css" href="'.DOKU_BASE.$dir.'style.css" />'."\n"; + } + if(@file_exists(DOKU_INC.$dir.'screen.css')){ + print ' <link rel="stylesheet" media="screen" type="text/css" href="'.DOKU_BASE.$dir.'screen.css" />'."\n"; + } + if(@file_exists(DOKU_INC.$dir.'print.css')){ + print ' <link rel="stylesheet" media="print" type="text/css" href="'.DOKU_BASE.$dir.'print.css" />'."\n"; + } + if(@file_exists(DOKU_INC.$dir.'script.js')){ + print ' <script type="text/javascript" language="javascript" charset="utf-8" src="'.DOKU_BASE.$dir.'script.js"></script>'."\n"; + } + } else { + // no plugin manager so individual instances of these files for any plugin that uses them + $plugins = plugin_list(); + foreach ($plugins as $p){ + $dir = "lib/plugins/$p/"; + if(@file_exists(DOKU_INC.$dir.'style.css')){ + print ' <link rel="stylesheet" type="text/css" href="'.DOKU_BASE.$dir.'style.css" />'."\n"; + } + if(@file_exists(DOKU_INC.$dir.'screen.css')){ + print ' <link rel="stylesheet" media="screen" type="text/css" href="'.DOKU_BASE.$dir.'screen.css" />'."\n"; + } + if(@file_exists(DOKU_INC.$dir.'print.css')){ + print ' <link rel="stylesheet" media="print" type="text/css" href="'.DOKU_BASE.$dir.'print.css" />'."\n"; + } + if(@file_exists(DOKU_INC.$dir.'script.js')){ + print ' <script type="text/javascript" language="javascript" charset="utf-8" src="'.DOKU_BASE.$dir.'script.js"></script>'."\n"; + } + } } } @@ -39,7 +59,7 @@ function plugin_list($type=''){ $plugins = array(); if ($dh = opendir(DOKU_PLUGIN)) { while (false !== ($plugin = readdir($dh))) { - if ($plugin == '.' || $plugin == '..') continue; + if ($plugin == '.' || $plugin == '..' || $plugin == 'tmp') continue; if (is_file(DOKU_PLUGIN.$plugin)) continue; if ($type=='' || @file_exists(DOKU_PLUGIN."$plugin/$type.php")){ -- GitLab