add('name', PLUGIN_EVENT_FCKEDITOR_NAME);
$propbag->add('description', PLUGIN_EVENT_FCKEDITOR_DESC);
$propbag->add('stackable', false);
$propbag->add('author', 'Ziyad Saeed, Garvin Hicking, Ian');
$propbag->add('version', '0.8');
$propbag->add('requirements', array(
'serendipity' => '0.9',
'smarty' => '2.6.7',
'php' => '4.1.0'
));
$propbag->add('event_hooks', array(
'backend_wysiwyg' => true,
'backend_wysiwyg_finish' => true
));
$propbag->add('configuration', array('path', 'fckeditor_plugins'));
$propbag->add('groups', array('BACKEND_EDITOR'));
}
function introspect_config_item($name, &$propbag)
{
global $serendipity;
switch($name) {
case 'path':
$propbag->add('type', 'string');
$propbag->add('name', INSTALL_RELPATH);
$propbag->add('description', '');
$propbag->add('default', str_replace(strtolower($serendipity['serendipityPath']), '', str_replace('\\', '/', strtolower(dirname(__FILE__))) . '/fckeditor/'));
break;
default:
return false;
}
return true;
}
function generate_content(&$title) {
$title = $this->title;
}
function event_hook($event, &$bag, &$eventData, $addData = null) {
global $serendipity;
$hooks = &$bag->get('event_hooks');
if (isset($hooks[$event])) {
switch($event) {
case 'backend_wysiwyg':
$eventData['skip'] = true;
if (preg_match('@^nugget@i', $eventData['item'])) {
$this->event_hook('backend_wysiwyg_finish', $bag, $eventData);
}
return true;
break;
case 'backend_wysiwyg_finish':
$path = htmlspecialchars($this->get_config('path'));
if ($this->init) {
return true;
}
?>
init = true;
return true;
break;
default:
return false;
}
} else {
return false;
}
}
}
/* vim: set sts=4 ts=4 expandtab : */
?>