[TASK] Upstream patches by surrim

This commit is contained in:
Garvin Hicking 2020-09-16 11:23:34 +02:00
parent 0ff77fca73
commit c19ed88f10
8 changed files with 77 additions and 29 deletions

View file

@ -1,9 +1,16 @@
0.3.2:
---
* Option to compress GPX-files on upload
* Changed some translation names
0.3.1:
---
* OpenLayers updated to v6.4.3
* Calculate the total distance and put it into a span, for example "<span class="distance-counter" data-category="42">(wait...)</span>"
0.3:
---
* Only show GPX records instead of all markers
* Only show GPX records instead of all markers

View file

@ -3,16 +3,18 @@
@define('PLUGIN_EVENT_OSM_DESCRIPTION', 'Bietet eine interaktive Karte für *.gpx Uploads und Blogs mit Geo-Daten.');
@define('PLUGIN_EVENT_STATIC_OSM_NAME', 'OpenStreetMap Statische Dateien');
@define('PLUGIN_EVENT_STATIC_OSM_DESCRIPTION', 'Fügt Scripte und Stylesheets für OpenStreetMap ein.');
@define('PLUGIN_EVENT_STATIC_OSM_COMPRESS_GPX', 'GPX-Dateien komprimieren');
@define('PLUGIN_EVENT_STATIC_OSM_COMPRESS_GPX_DESCRIPTION', 'Entfernt alle nicht benötigten Daten aus den GPX-Dateien beim Upload');
@define('PLUGIN_EVENT_OSM_CATEGORY', 'Kategorie');
@define('PLUGIN_EVENT_OSM_CATEGORY_DESC', 'Karte wird für diese Kategorie angezeigt');
@define('PLUGIN_EVENT_OSM_CATEGORY_DESCRIPTION', 'Karte wird für diese Kategorie angezeigt');
@define('PLUGIN_EVENT_OSM_PATH', 'Pfad');
@define('PLUGIN_EVENT_OSM_PATH_DESC', 'Pfad für GPX-Dateien');
@define('PLUGIN_EVENT_OSM_PATH_DESCRIPTION', 'Pfad für GPX-Dateien');
@define('PLUGIN_EVENT_OSM_LAT', 'Breitengrad (Lat.)');
@define('PLUGIN_EVENT_OSM_LAT_DESC', 'Breitengrad für die Mitte der Karte.');
@define('PLUGIN_EVENT_OSM_LAT_DESCRIPTION', 'Breitengrad für die Mitte der Karte.');
@define('PLUGIN_EVENT_OSM_LONG', 'Längengrad (Lon.)');
@define('PLUGIN_EVENT_OSM_LONG_DESC', 'Längengrad für die Mitte der Karte.');
@define('PLUGIN_EVENT_OSM_LONG_DESCRIPTION', 'Längengrad für die Mitte der Karte.');
@define('PLUGIN_EVENT_OSM_ZOOM', 'Zoom');
@define('PLUGIN_EVENT_OSM_ZOOM_DESC', 'Zoom Level der Karte.');
@define('PLUGIN_EVENT_OSM_ZOOM_DESCRIPTION', 'Zoom Level der Karte.');
@define('PLUGIN_EVENT_OSM_HEIGHT', 'Kartenhöhe');
@define('PLUGIN_EVENT_OSM_HEIGHT_DESC', 'Die Höhe der Karte.');
@define('PLUGIN_EVENT_OSM_HEIGHT_DESCRIPTION', 'Die Höhe der Karte.');
?>

View file

@ -3,16 +3,18 @@
@define('PLUGIN_EVENT_OSM_DESCRIPTION', 'Bietet eine interaktive Karte für *.gpx Uploads und Blogs mit Geo-Daten.');
@define('PLUGIN_EVENT_STATIC_OSM_NAME', 'OpenStreetMap Statische Dateien');
@define('PLUGIN_EVENT_STATIC_OSM_DESCRIPTION', 'Fügt Scripte und Stylesheets für OpenStreetMap ein.');
@define('PLUGIN_EVENT_STATIC_OSM_COMPRESS_GPX', 'GPX-Dateien komprimieren');
@define('PLUGIN_EVENT_STATIC_OSM_COMPRESS_GPX_DESCRIPTION', 'Entfernt alle nicht benötigten Daten aus den GPX-Dateien beim Upload');
@define('PLUGIN_EVENT_OSM_CATEGORY', 'Kategorie');
@define('PLUGIN_EVENT_OSM_CATEGORY_DESC', 'Karte wird für diese Kategorie angezeigt');
@define('PLUGIN_EVENT_OSM_CATEGORY_DESCRIPTION', 'Karte wird für diese Kategorie angezeigt');
@define('PLUGIN_EVENT_OSM_PATH', 'Pfad');
@define('PLUGIN_EVENT_OSM_PATH_DESC', 'Pfad für GPX-Dateien');
@define('PLUGIN_EVENT_OSM_PATH_DESCRIPTION', 'Pfad für GPX-Dateien');
@define('PLUGIN_EVENT_OSM_LAT', 'Breitengrad (Lat.)');
@define('PLUGIN_EVENT_OSM_LAT_DESC', 'Breitengrad für die Mitte der Karte.');
@define('PLUGIN_EVENT_OSM_LAT_DESCRIPTION', 'Breitengrad für die Mitte der Karte.');
@define('PLUGIN_EVENT_OSM_LONG', 'Längengrad (Lon.)');
@define('PLUGIN_EVENT_OSM_LONG_DESC', 'Längengrad für die Mitte der Karte.');
@define('PLUGIN_EVENT_OSM_LONG_DESCRIPTION', 'Längengrad für die Mitte der Karte.');
@define('PLUGIN_EVENT_OSM_ZOOM', 'Zoom');
@define('PLUGIN_EVENT_OSM_ZOOM_DESC', 'Zoom Level der Karte.');
@define('PLUGIN_EVENT_OSM_ZOOM_DESCRIPTION', 'Zoom Level der Karte.');
@define('PLUGIN_EVENT_OSM_HEIGHT', 'Kartenhöhe');
@define('PLUGIN_EVENT_OSM_HEIGHT_DESC', 'Die Höhe der Karte.');
@define('PLUGIN_EVENT_OSM_HEIGHT_DESCRIPTION', 'Die Höhe der Karte.');
?>

View file

@ -3,16 +3,18 @@
@define('PLUGIN_EVENT_OSM_DESCRIPTION', 'Provides an interactive map with *.gpx uploads and tagged geo data.');
@define('PLUGIN_EVENT_STATIC_OSM_NAME', 'OpenStreetMap static files');
@define('PLUGIN_EVENT_STATIC_OSM_DESCRIPTION', 'Includes scripts and stylesheets for OpenStreetMap support.');
@define('PLUGIN_EVENT_STATIC_OSM_COMPRESS_GPX', 'Compress GPX-files');
@define('PLUGIN_EVENT_STATIC_OSM_COMPRESS_GPX_DESCRIPTION', 'Remove not needed information from GPX-files when uploading');
@define('PLUGIN_EVENT_OSM_CATEGORY', 'Category');
@define('PLUGIN_EVENT_OSM_CATEGORY_DESC', 'Map will be shown for this category');
@define('PLUGIN_EVENT_OSM_CATEGORY_DESCRIPTION', 'Map will be shown for this category');
@define('PLUGIN_EVENT_OSM_PATH', 'Path');
@define('PLUGIN_EVENT_OSM_PATH_DESC', 'Path for GPX-files');
@define('PLUGIN_EVENT_OSM_PATH_DESCRIPTION', 'Path for GPX-files');
@define('PLUGIN_EVENT_OSM_LAT', 'Latitude');
@define('PLUGIN_EVENT_OSM_LAT_DESC', 'Latitude of the center of the map.');
@define('PLUGIN_EVENT_OSM_LAT_DESCRIPTION', 'Latitude of the center of the map.');
@define('PLUGIN_EVENT_OSM_LONG', 'Longitude');
@define('PLUGIN_EVENT_OSM_LONG_DESC', 'Longitude of the center of the map.');
@define('PLUGIN_EVENT_OSM_LONG_DESCRIPTION', 'Longitude of the center of the map.');
@define('PLUGIN_EVENT_OSM_ZOOM', 'Zoom');
@define('PLUGIN_EVENT_OSM_ZOOM_DESC', 'Zoom level of the map.');
@define('PLUGIN_EVENT_OSM_ZOOM_DESCRIPTION', 'Zoom level of the map.');
@define('PLUGIN_EVENT_OSM_HEIGHT', 'Map height');
@define('PLUGIN_EVENT_OSM_HEIGHT_DESC', 'The height of the map.');
@define('PLUGIN_EVENT_OSM_HEIGHT_DESCRIPTION', 'The height of the map.');
?>

View file

@ -1,4 +1,4 @@
<?php
@define('PLUGIN_EVENT_OSM_VERSION', '0.3.1');
@define('PLUGIN_EVENT_OSM_AUTHOR', 'Martin Sewelies');
@define('PLUGIN_EVENT_OSM_VERSION', '0.3.2');
@define('PLUGIN_EVENT_OSM_AUTHOR', 'Martin Sewelies');
?>

View file

@ -4,7 +4,7 @@ const dateToColor = date => {
return "hsl(" + ((date.getTime() - minDate.getTime()) / (maxDate.getTime() - minDate.getTime())) + "turn, 100%, 50%)"
};
window.addEventListener('load', () => {
window.addEventListener("load", () => {
document.querySelectorAll("div.map").forEach(divMap => {
const popup = document.createElement("div");
popup.setAttribute("class", "ol-popup");

View file

@ -96,31 +96,31 @@
case 'path':
$propbag->add('type', 'text');
$propbag->add('name', PLUGIN_EVENT_OSM_PATH);
$propbag->add('description', PLUGIN_EVENT_OSM_PATH_DESC);
$propbag->add('description', PLUGIN_EVENT_OSM_PATH_DESCRIPTION);
$propbag->add('default', '');
break;
case 'height':
$propbag->add('type', 'string');
$propbag->add('name', PLUGIN_EVENT_OSM_HEIGHT);
$propbag->add('description', PLUGIN_EVENT_OSM_HEIGHT_DESC);
$propbag->add('description', PLUGIN_EVENT_OSM_HEIGHT_DESCRIPTION);
$propbag->add('default', '463px');
break;
case 'latitude':
$propbag->add('type', 'string');
$propbag->add('name', PLUGIN_EVENT_OSM_LAT);
$propbag->add('description', PLUGIN_EVENT_OSM_LAT_DESC);
$propbag->add('description', PLUGIN_EVENT_OSM_LAT_DESCRIPTION);
$propbag->add('default', '51.48165');
break;
case 'longitude':
$propbag->add('type', 'string');
$propbag->add('name', PLUGIN_EVENT_OSM_LONG);
$propbag->add('description', PLUGIN_EVENT_OSM_LONG_DESC);
$propbag->add('description', PLUGIN_EVENT_OSM_LONG_DESCRIPTION);
$propbag->add('default', '7.21648');
break;
case 'zoom':
$propbag->add('type', 'string');
$propbag->add('name', PLUGIN_EVENT_OSM_ZOOM);
$propbag->add('description', PLUGIN_EVENT_OSM_ZOOM_DESC);
$propbag->add('description', PLUGIN_EVENT_OSM_ZOOM_DESCRIPTION);
$propbag->add('default', '15');
break;
default:

View file

@ -13,7 +13,11 @@
$propbag->add('name', PLUGIN_EVENT_STATIC_OSM_NAME);
$propbag->add('description', PLUGIN_EVENT_STATIC_OSM_DESCRIPTION);
$propbag->add('copyright', 'GPL');
$propbag->add('event_hooks', array('frontend_header' => true));
$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(
@ -31,16 +35,47 @@
function event_hook($event, &$bag, &$eventData, $addData = null)
{
global $serendipity;
if ($event == 'frontend_header') {
if ($event === 'frontend_header') {
echo ' <link rel="stylesheet" href="'.$this->getFile('ressources/ol.css', 'serendipityHTTPPath').'" type="text/css" />'.PHP_EOL;
echo ' <link rel="stylesheet" href="'.$this->getFile('ressources/osm.css', 'serendipityHTTPPath').'" type="text/css" />'.PHP_EOL;
echo ' <script src="'.$this->getFile('ressources/ol.js', 'serendipityHTTPPath').'"></script>'.PHP_EOL;
echo ' <script src="'.$this->getFile('ressources/osm.js', 'serendipityHTTPPath').'"></script>'.PHP_EOL;
} else if ($event === 'backend_image_add' && $this->get_config('compress_gpx', true) === true) {
$fileName = $eventData;
$file = fopen($fileName.'.temp', 'wb');
fwrite($file, '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><gpx version="1.1" creator="surrim.org" xmlns="http://www.topografix.com/GPX/1/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">');
$gpx = simplexml_load_file($fileName);
foreach ($gpx->trk as $trk) {
fwrite($file, '<trk>');
foreach($trk->trkseg as $seg) {
fwrite($file, '<trkseg>');
foreach($seg->trkpt as $pt) {
fwrite($file, '<trkpt lat="'.$pt['lat'].'" lon="'.$pt['lon'].'"><ele>'.$pt->ele.'</ele></trkpt>');
}
fwrite($file, '</trkseg>');
}
fwrite($file, '</trk>');
}
unset($gpx);
fwrite($file, '</gpx>');
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;
}
}