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')); $this->dependencies = array( 'serendipity_event_geo_osm' => 'keep' ); } 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; } } ?>