add('name', PLUGIN_EVENT_STATIC_OSM_NAME);
$propbag->add('description', PLUGIN_EVENT_STATIC_OSM_DESCRIPTION);
$propbag->add('copyright', 'GPL');
$propbag->add('configuration', array('compress_gpx'));
$propbag->add('event_hooks', array(
'frontend_header' => true,
'backend_image_add' => true
));
$propbag->add('author', PLUGIN_EVENT_OSM_AUTHOR);
$propbag->add('version', PLUGIN_EVENT_OSM_VERSION);
$propbag->add('requirements', array(
'serendipity' => '2.3'
));
$propbag->add('stackable', false);
$propbag->add('groups', array('FRONTEND_ENTRY_RELATED'));
}
function generate_content(&$title)
{
$title = PLUGIN_EVENT_STATIC_OSM_NAME;
}
function event_hook($event, &$bag, &$eventData, $addData = null)
{
global $serendipity;
if ($event === 'frontend_header') {
echo ' '.PHP_EOL;
echo ' '.PHP_EOL;
echo ' '.PHP_EOL;
echo ' '.PHP_EOL;
} else if ($event === 'backend_image_add' && $this->get_config('compress_gpx', true) === true) {
$fileName = $eventData;
$file = fopen($fileName.'.temp', 'wb');
fwrite($file, '');
$gpx = simplexml_load_file($fileName);
foreach ($gpx->trk as $trk) {
fwrite($file, '');
foreach($trk->trkseg as $seg) {
fwrite($file, '');
foreach($seg->trkpt as $pt) {
fwrite($file, ''.$pt->ele.'');
}
fwrite($file, '');
}
fwrite($file, '');
}
unset($gpx);
fwrite($file, '');
fclose($file);
rename($fileName.'.temp', $fileName);
// TODO: serendipity_updateImageInDatabase(array('size' => @filesize($fileName)), $id);
}
}
function introspect_config_item($name, &$propbag)
{
switch($name) {
case 'compress_gpx':
$propbag->add('type', 'boolean');
$propbag->add('name', PLUGIN_EVENT_STATIC_OSM_COMPRESS_GPX);
$propbag->add('description', PLUGIN_EVENT_STATIC_OSM_COMPRESS_GPX_DESCRIPTION);
$propbag->add('default', true);
break;
default:
return false;
}
return true;
}
}
?>