summaryrefslogtreecommitdiff
path: root/plugins/format.pearwiki_general.php
diff options
context:
space:
mode:
authorMax Kremmel <xing@synapse.plus.com>2006-08-25 18:38:24 +0000
committerMax Kremmel <xing@synapse.plus.com>2006-08-25 18:38:24 +0000
commit2bffe3efdbfd9d57ffa5e4ca1daa2cec66a5404f (patch)
tree8bf6430bac654d434730055255c2956652c18b9c /plugins/format.pearwiki_general.php
parent29013fffcd1beb6a79f927649b7b7a706eb1beba (diff)
downloadliberty-2bffe3efdbfd9d57ffa5e4ca1daa2cec66a5404f.tar.gz
liberty-2bffe3efdbfd9d57ffa5e4ca1daa2cec66a5404f.tar.bz2
liberty-2bffe3efdbfd9d57ffa5e4ca1daa2cec66a5404f.zip
make sure pearwiki plugin doesn't kill the system when PEAR/Registry isn't available
Diffstat (limited to 'plugins/format.pearwiki_general.php')
-rw-r--r--plugins/format.pearwiki_general.php73
1 files changed, 37 insertions, 36 deletions
diff --git a/plugins/format.pearwiki_general.php b/plugins/format.pearwiki_general.php
index aad08b3..79e345e 100644
--- a/plugins/format.pearwiki_general.php
+++ b/plugins/format.pearwiki_general.php
@@ -10,44 +10,45 @@
*/
global $gLibertySystem;
-$genPluginParams = array (
-'store_function' => 'pearwiki_general_save_data',
-'verify_function' => 'pearwiki_general_verify_data',
-'plugin_type' => FORMAT_PLUGIN
-);
+if( @include_once('PEAR/Registry.php') ) {
+ $genPluginParams = array (
+ 'store_function' => 'pearwiki_general_save_data',
+ 'verify_function' => 'pearwiki_general_verify_data',
+ 'plugin_type' => FORMAT_PLUGIN
+ );
-require_once('PEAR/Registry.php');
-$reg = new PEAR_Registry;
-foreach ($reg->listPackages() as $package) {
- if (substr($package,0,strlen("text_wiki"))=="text_wiki") {
- $inf = $reg->packageInfo($package);
- $package = $inf['package'];
- $p = substr($package,strlen("text_wiki"));
- if (empty($p)) {
- $parser = "Text_Wiki";
- $parser_class = "Default";
- } else {
- $parser = substr($p,1);
- $parser_class = $parser;
- }
- $f = create_function('&$pParseHash, &$pCommonObject','return pearwiki_general_parse_data("'.$parser_class.'",$pParseHash, $pCommonObject);');
- $guid = "pearwiki_$parser";
- if (strlen($guid)>16) {
- $guid = "pw_$parser";
- }
- if (strlen($guid)>16) {
- $guid = substr($guid,0,16);
- }
- $insPluginParams = array(
- 'load_function' => $f,
- 'edit_field' => "<input type=\"radio\" name=\"format_guid\" value=\"$guid\"",
- 'description' => "Pear Wiki Parser for $parser Syntax.",
- 'edit_label' => "$parser Syntax, parsed by Pear::Text_Wiki$p",
- 'help_page' => "{$parser}Syntax",
- 'auto_activate' => true,
- );
- $gLibertySystem->registerPlugin( $guid, array_merge($genPluginParams,$insPluginParams) );
+ $reg = new PEAR_Registry;
+ foreach ($reg->listPackages() as $package) {
+ if (substr($package,0,strlen("text_wiki"))=="text_wiki") {
+ $inf = $reg->packageInfo($package);
+ $package = $inf['package'];
+ $p = substr($package,strlen("text_wiki"));
+ if (empty($p)) {
+ $parser = "Text_Wiki";
+ $parser_class = "Default";
+ } else {
+ $parser = substr($p,1);
+ $parser_class = $parser;
+ }
+ $f = create_function('&$pParseHash, &$pCommonObject','return pearwiki_general_parse_data("'.$parser_class.'",$pParseHash, $pCommonObject);');
+ $guid = "pearwiki_$parser";
+ if (strlen($guid)>16) {
+ $guid = "pw_$parser";
+ }
+ if (strlen($guid)>16) {
+ $guid = substr($guid,0,16);
+ }
+ $insPluginParams = array(
+ 'load_function' => $f,
+ 'edit_field' => "<input type=\"radio\" name=\"format_guid\" value=\"$guid\"",
+ 'description' => "Pear Wiki Parser for $parser Syntax.",
+ 'edit_label' => "$parser Syntax, parsed by Pear::Text_Wiki$p",
+ 'help_page' => "{$parser}Syntax",
+ 'auto_activate' => true,
+ );
+ $gLibertySystem->registerPlugin( $guid, array_merge($genPluginParams,$insPluginParams) );
+ }
}
}