add('name', PLUGIN_EVENT_BBCODE_NAME);
$propbag->add('description', PLUGIN_EVENT_BBCODE_DESC);
$propbag->add('stackable', false);
$propbag->add('author', 'Jez Hancock, Garvin Hicking');
$propbag->add('version', '2.04');
$propbag->add('requirements', array(
'serendipity' => '0.8',
'smarty' => '2.6.7',
'php' => '4.1.0'
));
$propbag->add('cachable_events', array('frontend_display' => true));
$propbag->add('event_hooks', array('frontend_display' => true, 'frontend_comment' => true, 'css' => true));
$propbag->add('groups', array('MARKUP'));
$this->markup_elements = array(
array(
'name' => 'ENTRY_BODY',
'element' => 'body',
),
array(
'name' => 'EXTENDED_BODY',
'element' => 'extended',
),
array(
'name' => 'COMMENT',
'element' => 'comment',
),
array(
'name' => 'HTML_NUGGET',
'element' => 'html_nugget',
)
);
$conf_array = array();
$conf_array[] = 'info';
foreach($this->markup_elements as $element) {
$conf_array[] = $element['name'];
}
$propbag->add('configuration', $conf_array);
}
function bbcode_callback($matches) {
$type = $matches[1];
$input = trim($matches[2], "\r\n");
switch ($type) {
case 'code':
$search_replace = array(
'&' => '&',
' ' => ' ',
'<' => '<',
'<' => '<',
'>' => '>',
'>' => '>',
'"' => '"',
':' => ':',
'[' => '[',
']' => ']',
')' => ')',
'(' => '(',
'*' => '*',
'\t' => ' ',
'\\"' => '"',
"\\'" => "'"
);
$input = strtr($input, $search_replace);
break;
case 'php':
if (substr($input, 0, 2) != '') {
$input = "";
}
ob_start();
highlight_string($input);
$input = ob_get_contents();
ob_end_clean();
$input = str_replace('
', "\n", $input);
break;
default:
return false;
}
$input = "