Skip to content
Snippets Groups Projects
Commit 1ad6d1a0 authored by Andreas Gohr's avatar Andreas Gohr
Browse files

Merge pull request #167 from Klap-in/master

Adds loadHelper to Syntax class and litte code reformat
parents 957e84c6 e1cc03e3
No related branches found
No related tags found
No related merge requests found
......@@ -189,7 +189,7 @@ class DokuWiki_Plugin {
*
* @return object helper plugin object
*/
function loadHelper($name, $msg){
function loadHelper($name, $msg = true){
if (!plugin_isdisabled($name)){
$obj = plugin_load('helper',$name);
}else{
......
......@@ -226,56 +226,76 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode {
$this->localised = true;
}
// configuration methods
/**
* getConf($setting)
*
* use this function to access plugin configuration variables
*/
function getConf($setting){
if (!$this->configloaded){ $this->loadConfig(); }
return $this->conf[$setting];
}
/**
* loadConfig()
* merges the plugin's default settings with any local settings
* this function is automatically called through getConf()
*/
function loadConfig(){
global $conf;
$defaults = $this->readDefaultSettings();
$plugin = $this->getPluginName();
foreach ($defaults as $key => $value) {
if (isset($conf['plugin'][$plugin][$key])) continue;
$conf['plugin'][$plugin][$key] = $value;
// configuration methods
/**
* getConf($setting)
*
* use this function to access plugin configuration variables
*/
function getConf($setting) {
if(!$this->configloaded) { $this->loadConfig(); }
return $this->conf[$setting];
}
/**
* loadConfig()
* merges the plugin's default settings with any local settings
* this function is automatically called through getConf()
*/
function loadConfig() {
global $conf;
$defaults = $this->readDefaultSettings();
$plugin = $this->getPluginName();
foreach($defaults as $key => $value) {
if(isset($conf['plugin'][$plugin][$key])) continue;
$conf['plugin'][$plugin][$key] = $value;
}
$this->configloaded = true;
$this->conf =& $conf['plugin'][$plugin];
}
$this->configloaded = true;
$this->conf =& $conf['plugin'][$plugin];
}
/**
* read the plugin's default configuration settings from conf/default.php
* this function is automatically called through getConf()
*
* @return array setting => value
*/
function readDefaultSettings() {
/**
* read the plugin's default configuration settings from conf/default.php
* this function is automatically called through getConf()
*
* @return array setting => value
*/
function readDefaultSettings() {
$path = DOKU_PLUGIN.$this->getPluginName().'/conf/';
$conf = array();
$path = DOKU_PLUGIN.$this->getPluginName().'/conf/';
$conf = array();
if(@file_exists($path.'default.php')) {
include($path.'default.php');
}
if (@file_exists($path.'default.php')) {
include($path.'default.php');
return $conf;
}
return $conf;
}
/**
* Loads a given helper plugin (if enabled)
*
* @author Esther Brunner <wikidesign@gmail.com>
*
* @param string $name name of plugin to load
* @param bool $msg if a message should be displayed in case the plugin is not available
*
* @return object helper plugin object
*/
function loadHelper($name, $msg = true) {
if(!plugin_isdisabled($name)) {
$obj = plugin_load('helper', $name);
} else {
$obj = null;
}
if(is_null($obj) && $msg) msg("Helper plugin $name is not available or invalid.", -1);
return $obj;
}
/**
* Allow the plugin to prevent DokuWiki from reusing an instance
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment