Merge branch 'release/v1.2' into main
This commit is contained in:
commit
d204bdd8e5
7
.gitignore
vendored
7
.gitignore
vendored
@ -41,12 +41,9 @@ Temporary Items
|
||||
## Project Files
|
||||
wsgi/.idea
|
||||
www/dlsv
|
||||
www/event.xml
|
||||
www/events.xml
|
||||
www/geolocation.js
|
||||
www/geolocationTable.js
|
||||
www/stations.xml
|
||||
www/index.html
|
||||
www/favicon.ico
|
||||
www/data/events.xml
|
||||
www/data/geolocation.js
|
||||
scripts/*.json
|
||||
scripts/*.xml
|
||||
|
13
Dockerfile
Normal file
13
Dockerfile
Normal file
@ -0,0 +1,13 @@
|
||||
# Version: v1.2 (2022-02-23)
|
||||
FROM nginx:alpine
|
||||
|
||||
# set labels
|
||||
LABEL org.opencontainers.image.authors="kasper.fischer@rub.de"
|
||||
|
||||
# copy nginx config files
|
||||
COPY nginx/nginx.conf /etc/nginx/nginx.conf
|
||||
COPY nginx/mime.types /etc/nginx/mime.types
|
||||
COPY nginx/default.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
# copy webpage content
|
||||
COPY www /usr/share/nginx/html/map
|
19
docker-compose.yaml
Normal file
19
docker-compose.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
version: "3.9"
|
||||
|
||||
networks:
|
||||
seisobs:
|
||||
external: false
|
||||
|
||||
services:
|
||||
map:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
image: seisobs-map:dev
|
||||
networks:
|
||||
- seisobs
|
||||
volumes:
|
||||
- ./www/data:/usr/share/nginx/html/map/data:ro
|
||||
ports:
|
||||
- "${SEISOBS_MAPPORT}:80"
|
||||
restart: unless-stopped
|
76
nginx/default.conf
Normal file
76
nginx/default.conf
Normal file
@ -0,0 +1,76 @@
|
||||
# Version: v1.2 (2022-02-23)
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name localhost;
|
||||
|
||||
#charset koi8-r;
|
||||
#access_log /var/log/nginx/host.access.log main;
|
||||
set $first_language $http_accept_language;
|
||||
if ($http_accept_language ~* '^(.+?),') {
|
||||
set $first_language $1;
|
||||
}
|
||||
|
||||
set $language_suffix 'en';
|
||||
if ($first_language ~* 'de') {
|
||||
set $language_suffix 'de';
|
||||
}
|
||||
|
||||
#rewrite rules to /map/
|
||||
rewrite ^(.*)/index(\.html)*$ /map/index.html.$language_suffix last;
|
||||
rewrite ^/favicon.ico$ /map/favicon.ico last;
|
||||
rewrite ^/map$ /map/ last;
|
||||
rewrite ^/map.js$ /map/map.js last;
|
||||
rewrite ^/karte$ /map/ last;
|
||||
rewrite ^/karte/$ /map/ last;
|
||||
rewrite ^/karte/(.*)$ /map/$1 last;
|
||||
|
||||
if ($uri !~ "^/map") {
|
||||
rewrite ^(.*)/(.*)$ /map$1/$2 last;
|
||||
}
|
||||
|
||||
#location /map {
|
||||
# root /usr/share/nginx/html/;
|
||||
# index index.html.$language_suffix index.html;
|
||||
# #try_files $uri.$language_suffix $uri.html.$language_suffix $uri.html $uri index.html.$language_suffix index.html;
|
||||
#}
|
||||
|
||||
location / {
|
||||
root /usr/share/nginx/html/;
|
||||
index index.html.$language_suffix index.html;
|
||||
|
||||
}
|
||||
|
||||
#error_page 404 /404.html;
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
#
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root /usr/share/nginx/html;
|
||||
}
|
||||
|
||||
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
|
||||
#
|
||||
#location ~ \.php$ {
|
||||
# proxy_pass http://127.0.0.1;
|
||||
#}
|
||||
|
||||
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
|
||||
#
|
||||
#location ~ \.php$ {
|
||||
# root html;
|
||||
# fastcgi_pass 127.0.0.1:9000;
|
||||
# fastcgi_index index.php;
|
||||
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
|
||||
# include fastcgi_params;
|
||||
#}
|
||||
|
||||
# deny access to .htaccess files, if Apache's document root
|
||||
# concurs with nginx's one
|
||||
#
|
||||
#location ~ /\.ht {
|
||||
# deny all;
|
||||
#}
|
||||
}
|
||||
|
98
nginx/mime.types
Normal file
98
nginx/mime.types
Normal file
@ -0,0 +1,98 @@
|
||||
|
||||
types {
|
||||
text/html html htm shtml de en;
|
||||
text/css css;
|
||||
text/xml xml;
|
||||
image/gif gif;
|
||||
image/jpeg jpeg jpg;
|
||||
application/javascript js;
|
||||
application/atom+xml atom;
|
||||
application/rss+xml rss;
|
||||
|
||||
text/mathml mml;
|
||||
text/plain txt;
|
||||
text/vnd.sun.j2me.app-descriptor jad;
|
||||
text/vnd.wap.wml wml;
|
||||
text/x-component htc;
|
||||
|
||||
image/png png;
|
||||
image/svg+xml svg svgz;
|
||||
image/tiff tif tiff;
|
||||
image/vnd.wap.wbmp wbmp;
|
||||
image/webp webp;
|
||||
image/x-icon ico;
|
||||
image/x-jng jng;
|
||||
image/x-ms-bmp bmp;
|
||||
|
||||
font/woff woff;
|
||||
font/woff2 woff2;
|
||||
|
||||
application/java-archive jar war ear;
|
||||
application/json json;
|
||||
application/mac-binhex40 hqx;
|
||||
application/msword doc;
|
||||
application/pdf pdf;
|
||||
application/postscript ps eps ai;
|
||||
application/rtf rtf;
|
||||
application/vnd.apple.mpegurl m3u8;
|
||||
application/vnd.google-earth.kml+xml kml;
|
||||
application/vnd.google-earth.kmz kmz;
|
||||
application/vnd.ms-excel xls;
|
||||
application/vnd.ms-fontobject eot;
|
||||
application/vnd.ms-powerpoint ppt;
|
||||
application/vnd.oasis.opendocument.graphics odg;
|
||||
application/vnd.oasis.opendocument.presentation odp;
|
||||
application/vnd.oasis.opendocument.spreadsheet ods;
|
||||
application/vnd.oasis.opendocument.text odt;
|
||||
application/vnd.openxmlformats-officedocument.presentationml.presentation
|
||||
pptx;
|
||||
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
|
||||
xlsx;
|
||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document
|
||||
docx;
|
||||
application/vnd.wap.wmlc wmlc;
|
||||
application/wasm wasm;
|
||||
application/x-7z-compressed 7z;
|
||||
application/x-cocoa cco;
|
||||
application/x-java-archive-diff jardiff;
|
||||
application/x-java-jnlp-file jnlp;
|
||||
application/x-makeself run;
|
||||
application/x-perl pl pm;
|
||||
application/x-pilot prc pdb;
|
||||
application/x-rar-compressed rar;
|
||||
application/x-redhat-package-manager rpm;
|
||||
application/x-sea sea;
|
||||
application/x-shockwave-flash swf;
|
||||
application/x-stuffit sit;
|
||||
application/x-tcl tcl tk;
|
||||
application/x-x509-ca-cert der pem crt;
|
||||
application/x-xpinstall xpi;
|
||||
application/xhtml+xml xhtml;
|
||||
application/xspf+xml xspf;
|
||||
application/zip zip;
|
||||
|
||||
application/octet-stream bin exe dll;
|
||||
application/octet-stream deb;
|
||||
application/octet-stream dmg;
|
||||
application/octet-stream iso img;
|
||||
application/octet-stream msi msp msm;
|
||||
|
||||
audio/midi mid midi kar;
|
||||
audio/mpeg mp3;
|
||||
audio/ogg ogg;
|
||||
audio/x-m4a m4a;
|
||||
audio/x-realaudio ra;
|
||||
|
||||
video/3gpp 3gpp 3gp;
|
||||
video/mp2t ts;
|
||||
video/mp4 mp4;
|
||||
video/mpeg mpeg mpg;
|
||||
video/quicktime mov;
|
||||
video/webm webm;
|
||||
video/x-flv flv;
|
||||
video/x-m4v m4v;
|
||||
video/x-mng mng;
|
||||
video/x-ms-asf asx asf;
|
||||
video/x-ms-wmv wmv;
|
||||
video/x-msvideo avi;
|
||||
}
|
32
nginx/nginx.conf
Normal file
32
nginx/nginx.conf
Normal file
@ -0,0 +1,32 @@
|
||||
# Version: v1.2 (2022-02-23)
|
||||
user nginx;
|
||||
worker_processes 1;
|
||||
|
||||
error_log /var/log/nginx/error.log warn;
|
||||
pid /var/run/nginx.pid;
|
||||
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
|
||||
http {
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||
|
||||
access_log /var/log/nginx/access.log main;
|
||||
|
||||
sendfile on;
|
||||
#tcp_nopush on;
|
||||
|
||||
keepalive_timeout 65;
|
||||
|
||||
#gzip on;
|
||||
|
||||
include /etc/nginx/conf.d/*.conf;
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
# Version: v1.2 (2022-02-23)
|
||||
|
||||
# get starting date
|
||||
# find gdate or date command ( OSX: brew install coreutils)
|
||||
|
@ -12,6 +12,8 @@
|
||||
AJAX calls to the Nominatim service small, e. g. :
|
||||
curl -s "https://fdsnws.geophysik.ruhr-uni-bochum.de/fdsnws/event/1/query?minlat=50&maxlat=54&minlon=3&maxlon=10&minmag=1" | mkGeolocationTable.py > geolocationTable.js
|
||||
|
||||
Version: v1.2 (2022-02-23)
|
||||
|
||||
License
|
||||
Copyright 2020-2021 Kasper D. Fischer <kasper.fischer@rub.de>
|
||||
|
||||
@ -123,7 +125,7 @@ if __name__ == "__main__":
|
||||
|
||||
# parse arguments
|
||||
import argparse
|
||||
versionText = 'r20211017 (2021-10-17)'
|
||||
versionText = 'v1.2 (2022-02-23)'
|
||||
parser = argparse.ArgumentParser(
|
||||
description='Reverse geocoding lookup of events in xml format (stdin).',
|
||||
epilog=versionText)
|
||||
|
21
scripts/patchVersion.sh
Executable file
21
scripts/patchVersion.sh
Executable file
@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
# version: v1.2 (2022-02-23)
|
||||
function fail {
|
||||
printf '%s\n' "$1" >&2 ## Send message to stderr.
|
||||
exit "${2-1}" ## Return a code specified by $2, or 1 by default.
|
||||
}
|
||||
|
||||
if [ $# -le 1 ] ; then
|
||||
echo usage: ${0} version_string files ...
|
||||
exit 0
|
||||
fi
|
||||
version="$1"
|
||||
shift
|
||||
files="$*"
|
||||
|
||||
echo ${version} ${files}
|
||||
which sponge > /dev/null || fail "sponge util must be installed"
|
||||
|
||||
for file in ${files}; do
|
||||
sed "s/V\{5\}/${version}"/ ${file} | sponge ${file}
|
||||
done
|
@ -4,8 +4,7 @@
|
||||
Get waveform data from FDSN web service and create a fancy plot
|
||||
This programme runs as a script or as a WSGI application.
|
||||
|
||||
Subversion information:
|
||||
$Id$
|
||||
:version VVVVV
|
||||
|
||||
:license
|
||||
Copyright 2020 Kasper Fischer <kasper.fischer@ruhr-uni-bochum.de>
|
||||
@ -379,8 +378,7 @@ if __name__ == "__main__":
|
||||
epilog=u'$Revision$ ($Date$, $Author$)'.replace(
|
||||
"$", ""))
|
||||
parser.add_argument(u'-v', u'-V', u'--version', action='version',
|
||||
version=u'$Revision$ ($Date$, \
|
||||
$Author$)'.replace('$', ''))
|
||||
version=u'VVVVV')
|
||||
parser.add_argument(u'-u', u'--url', action='store', dest='server',
|
||||
default=u'https://ariadne.geophysik.ruhr-uni-bochum.de',
|
||||
help=u'Base URL of the FDSN web service (https://ariadne.geophysik.ruhr-uni-bochum.de).')
|
||||
|
@ -7,6 +7,8 @@ def application(environ, start_response):
|
||||
:type start_response: function
|
||||
:return: response to be sent to the client by the wsgi server
|
||||
:rtype: list
|
||||
|
||||
:version: v1.2 (2022-02-23)
|
||||
"""
|
||||
|
||||
from cgi import FieldStorage
|
||||
|
@ -3,8 +3,7 @@
|
||||
"""
|
||||
Produce a dayplot from seismogram recordings
|
||||
|
||||
Subversion information:
|
||||
$Id$
|
||||
version: v1.2 (2022-02-23)
|
||||
|
||||
license: gpl3
|
||||
Copyright 2012-2020 Seismological Observatory, Ruhr-University Bochum
|
||||
|
@ -1,7 +0,0 @@
|
||||
Allow from all
|
||||
Header always set Access-Control-Allow-Origin "https://fdsnws.geophysik.ruhr-uni-bochum.de"
|
||||
Header always append Access-Control-Allow-Origin "https://photon.komoot.de"
|
||||
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
|
||||
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
|
||||
Header always set Access-Control-Expose-Headers "Content-Security-Policy, Location"
|
||||
Header always set Access-Control-Max-Age "600"
|
0
www/data/.gitkeep
Normal file
0
www/data/.gitkeep
Normal file
10
www/data/specialevents.js
Normal file
10
www/data/specialevents.js
Normal file
@ -0,0 +1,10 @@
|
||||
/* last change 2021-10-30 */
|
||||
var specialEvents = [
|
||||
// 'bug2016ajgm', // CTBT violation North Korea
|
||||
// 'bug2016qphy', // Central Italy 6.1
|
||||
// 'bug2016rslt', // CTBT violation North Korea
|
||||
// 'bug2016vico', // Central Italy 6.5
|
||||
// 'bug2017rfxe', // CTBT violation North Korea 6.1
|
||||
// 'bug2019fura', // Sprengung Duisburg-Hochheide (Weißer Riese) 2.0
|
||||
'bug2021vtgi' // Geilenkirchen 1.9
|
||||
];
|
@ -19,7 +19,7 @@
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
Version r20211017.2 (2021-10-17)
|
||||
Version VVVVV
|
||||
*/
|
||||
|
||||
/* adding row(s) to a table and format date strings afterwards */
|
||||
|
@ -19,7 +19,7 @@
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
Version r20211017.2 (2021-10-17)
|
||||
Version VVVVV
|
||||
*/
|
||||
|
||||
/* adding row(s) to a table and format date strings afterwards */
|
||||
|
2
www/external/easyPrint/bundle.js
vendored
2
www/external/easyPrint/bundle.js
vendored
File diff suppressed because one or more lines are too long
1
www/external/easyPrint/bundle.js.map
vendored
1
www/external/easyPrint/bundle.js.map
vendored
File diff suppressed because one or more lines are too long
16
www/external/easyPrint/easyPrint.css
vendored
16
www/external/easyPrint/easyPrint.css
vendored
@ -1,16 +0,0 @@
|
||||
|
||||
.leaflet-control-easyPrint-button a {
|
||||
background:#fff url(external/easyPrint/print.png) no-repeat 5px;
|
||||
background-size:16px 16px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
//@media print {
|
||||
html {padding: 0px!important;}
|
||||
.leaflet-control-easyPrint-button{display: none!important;}
|
||||
}
|
||||
|
||||
//#map {
|
||||
width: 1200;
|
||||
height: 800;
|
||||
}
|
BIN
www/external/easyPrint/print.png
vendored
BIN
www/external/easyPrint/print.png
vendored
Binary file not shown.
Before Width: | Height: | Size: 219 B |
6
www/external/jQuery.print.min.js
vendored
6
www/external/jQuery.print.min.js
vendored
@ -1,6 +0,0 @@
|
||||
/* @license
|
||||
* jQuery.print, version 1.6.0
|
||||
* (c) Sathvik Ponangi, Doers' Guild
|
||||
* Licence: CC-By (http://creativecommons.org/licenses/by/3.0/)
|
||||
*--------------------------------------------------------------------------*/
|
||||
!function(e){"use strict";function t(t,n,r){for(var o=e(t),i=o.clone(n,r),a=o.find("textarea").add(o.filter("textarea")),l=i.find("textarea").add(i.filter("textarea")),c=o.find("select").add(o.filter("select")),d=i.find("select").add(i.filter("select")),f=0,s=a.length;f<s;++f)e(l[f]).val(e(a[f]).val());for(f=0,s=c.length;f<s;++f)for(var p=0,u=c[f].options.length;p<u;++p)!0===c[f].options[p].selected&&(d[f].options[p].selected=!0);return i}function n(n){var r=e("");try{r=t(n)}catch(t){r=e("<span />").html(n)}return r}function r(t,n,r){var o=e.Deferred();try{var i=(t=t.contentWindow||t.contentDocument||t).document||t.contentDocument||t;r.doctype&&i.write(r.doctype),i.write(n),i.close();var a=!1,l=function(){if(!a){t.focus();try{t.document.execCommand("print",!1,null)||t.print(),e("body").focus()}catch(e){t.print()}t.close(),a=!0,o.resolve()}};e(t).on("load",l),setTimeout(l,r.timeout)}catch(e){o.reject(e)}return o}function o(e,t){return r(window.open(),e,t).always(function(){try{t.deferred.resolve()}catch(e){console.warn("Error notifying deferred",e)}})}function i(e){return!!("object"==typeof Node?e instanceof Node:e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName)}e.print=e.fn.print=function(){var a,l,c=this;c instanceof e&&(c=c.get(0)),i(c)?(l=e(c),arguments.length>0&&(a=arguments[0])):arguments.length>0?i((l=e(arguments[0]))[0])?arguments.length>1&&(a=arguments[1]):(a=arguments[0],l=e("html")):l=e("html");var d={globalStyles:!0,mediaPrint:!1,stylesheet:null,noPrintSelector:".no-print",iframe:!0,append:null,prepend:null,manuallyCopyFormValues:!0,deferred:e.Deferred(),timeout:750,title:null,doctype:"<!doctype html>"};a=e.extend({},d,a||{});var f=e("");a.globalStyles?f=e("style, link, meta, base, title"):a.mediaPrint&&(f=e("link[media=print]")),a.stylesheet&&(f=e.merge(f,e('<link rel="stylesheet" href="'+a.stylesheet+'">')));var s=t(l);if((s=e("<span/>").append(s)).find(a.noPrintSelector).remove(),s.append(t(f)),a.title){var p=e("title",s);0===p.length&&(p=e("<title />"),s.append(p)),p.text(a.title)}s.append(n(a.append)),s.prepend(n(a.prepend)),a.manuallyCopyFormValues&&(s.find("input").each(function(){var t=e(this);t.is("[type='radio']")||t.is("[type='checkbox']")?t.prop("checked")&&t.attr("checked","checked"):t.attr("value",t.val())}),s.find("select").each(function(){e(this).find(":selected").attr("selected","selected")}),s.find("textarea").each(function(){var t=e(this);t.text(t.val())}));var u,h,m,y,v=s.html();try{a.deferred.notify("generated_markup",v,s)}catch(e){console.warn("Error notifying deferred",e)}if(s.remove(),a.iframe)try{u=v,m=e((h=a).iframe+""),0===(y=m.length)&&(m=e('<iframe height="0" width="0" border="0" wmode="Opaque"/>').prependTo("body").css({position:"absolute",top:-999,left:-999})),r(m.get(0),u,h).done(function(){setTimeout(function(){0===y&&m.remove()},1e3)}).fail(function(e){console.error("Failed to print from iframe",e),o(u,h)}).always(function(){try{h.deferred.resolve()}catch(e){console.warn("Error notifying deferred",e)}})}catch(e){console.error("Failed to print from iframe",e.stack,e.message),o(v,a)}else o(v,a);return this}}(jQuery);
|
BIN
www/favicon.ico
Normal file
BIN
www/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 318 B |
@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
|
||||
<!-- r20211017.2 (2021-10-17) -->
|
||||
<!DOCTYPE html>
|
||||
<!-- Version VVVVV -->
|
||||
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='de' lang='de'>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
|
||||
@ -11,11 +11,10 @@
|
||||
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/cupertino/jquery-ui.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.31.3/css/theme.blue.min.css" integrity="sha512-jJ9r3lTLaH5XXa9ZOsCQU8kLvxdAVzyTWO/pnzdZrshJQfnw1oevJFpoyCDr7K1lqt1hUgqoxA5e2PctVtlSTg==" crossorigin="anonymous" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.31.3/css/jquery.tablesorter.pager.min.css" integrity="sha512-TWYBryfpFn3IugX13ZCIYHNK3/2sZk3dyXMKp3chZL+0wRuwFr1hDqZR9Qd5SONzn+Lja10hercP2Xjuzz5O3g==" crossorigin="anonymous" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.6.0/leaflet.css" integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin="anonymous" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.css" integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A==" crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet-dvf/0.3.1/css/dvf.min.css" integrity="sha512-Ts/IYE5D8PaMBUDHcf6O57lOiV923cai3sEXo0WjhakpTxlwodQQJx1YA2t1mDUKO6fIXEngkKFLQNMXK/kBZg==" crossorigin="anonymous" />
|
||||
|
||||
<!-- jQuery & jQueryUI -->
|
||||
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
|
||||
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>
|
||||
|
||||
<!-- Localtime, sprintf, showdown -->
|
||||
@ -31,18 +30,19 @@
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.31.3/js/widgets/widget-scroller.min.js" integrity="sha512-1D2qKse1/4gCgLbgmBBv+9fJluAeJIlDgzIyZkovd1xmoyh1SW30lMIzCrD2X8Xs/sIzitUNDy86YagJRSUmaA==" crossorigin="anonymous"></script>
|
||||
|
||||
<!-- Leaflet -->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.6.0/leaflet.js" integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew==" crossorigin="anonymous"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.js" integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet-dvf/0.3.1/leaflet-dvf.markers.min.js" integrity="sha512-R/iucaxFnDFUTdZRxUvxzc+sypDQhqnxInBmNjgGE0RaiMl/ektVB1wFS/L0xDZmLFPpEGR0Kw3GEBgtQNFHyg==" crossorigin="anonymous"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet-providers/1.10.1/leaflet-providers.min.js" integrity="sha512-Ifxj89Ujg72gC/psKB9ystryRYiopmDud2EmNTKC9kz192aQwDKVK1FzWsyPc37tgU0UmRQlNnBM++ZnwIXJ9Q==" crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/leaflet.browser.print@1.0.5/dist/leaflet.browser.print.min.js" integrity="sha256-1MQvHEnVXSKwR+XIVswRSBla/B5ohkp5+HJtritIkgE=" crossorigin="anonymous"></script>
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet-providers/1.13.0/leaflet-providers.min.js" integrity="sha512-5EYsvqNbFZ8HX60keFbe56Wr0Mq5J1RrA0KdVcfGDhnjnzIRsDrT/S3cxdzpVN2NGxAB9omgqnlh4/06TvWCMw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/leaflet.browser.print@1.0.6/dist/leaflet.browser.print.min.js" integrity="sha256-LrZphoL6+XVEuBR4BfhOIdRAMpRigQvsu3/iCNhQSXw=" crossorigin="anonymous"></script>
|
||||
<script src="https://www.mapquestapi.com/sdk/leaflet/v2.2/mq-map.js?key=RPOPuz3lA2GGBtVpEU0ugxtVoGba53Dt"></script>
|
||||
|
||||
<!-- Map, Events & Stations -->
|
||||
<script type="text/javascript" src="misc.js"></script>
|
||||
<script type="text/javascript" src="geolocation.js"></script>
|
||||
<script type="text/javascript" src="specialevents.js"></script>
|
||||
<script type="text/javascript" src="map.js"></script>
|
||||
<script type="text/javascript" src="events.js"></script>
|
||||
<script type="text/javascript" src="stations.js"></script>
|
||||
<script type="text/javascript" src="data/geolocation.js"></script>
|
||||
<script type="text/javascript" src="data/specialevents.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@ -111,7 +111,7 @@
|
||||
<span id="events-type">Symbole:</span>
|
||||
</p>
|
||||
<p class="table-caption">
|
||||
Reverse Geolocation courtesy of <a href="http://photon.komoot.de/" target="_blank">Photon by Komoot</a>
|
||||
Reverse Geolocation courtesy of <a href="http://photon.komoot.io/" target="_blank">Photon by Komoot</a>
|
||||
</p>
|
||||
</div>
|
||||
<!-- Stations -->
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
|
||||
<!-- r20211017.2 (2021-10-17) -->
|
||||
<!DOCTYPE html>
|
||||
<!-- Version VVVVV -->
|
||||
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='de' lang='de'>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
|
||||
@ -11,11 +11,11 @@
|
||||
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/cupertino/jquery-ui.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.31.3/css/theme.blue.min.css" integrity="sha512-jJ9r3lTLaH5XXa9ZOsCQU8kLvxdAVzyTWO/pnzdZrshJQfnw1oevJFpoyCDr7K1lqt1hUgqoxA5e2PctVtlSTg==" crossorigin="anonymous" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.31.3/css/jquery.tablesorter.pager.min.css" integrity="sha512-TWYBryfpFn3IugX13ZCIYHNK3/2sZk3dyXMKp3chZL+0wRuwFr1hDqZR9Qd5SONzn+Lja10hercP2Xjuzz5O3g==" crossorigin="anonymous" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.6.0/leaflet.css" integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin="anonymous" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.css" integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A==" crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet-dvf/0.3.1/css/dvf.min.css" integrity="sha512-Ts/IYE5D8PaMBUDHcf6O57lOiV923cai3sEXo0WjhakpTxlwodQQJx1YA2t1mDUKO6fIXEngkKFLQNMXK/kBZg==" crossorigin="anonymous" />
|
||||
|
||||
<!-- jQuery & jQueryUI -->
|
||||
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
|
||||
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>
|
||||
|
||||
<!-- Localtime, sprintf, showdown -->
|
||||
@ -31,18 +31,19 @@
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.31.3/js/widgets/widget-scroller.min.js" integrity="sha512-1D2qKse1/4gCgLbgmBBv+9fJluAeJIlDgzIyZkovd1xmoyh1SW30lMIzCrD2X8Xs/sIzitUNDy86YagJRSUmaA==" crossorigin="anonymous"></script>
|
||||
|
||||
<!-- Leaflet -->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.6.0/leaflet.js" integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew==" crossorigin="anonymous"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.js" integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet-dvf/0.3.1/leaflet-dvf.markers.min.js" integrity="sha512-R/iucaxFnDFUTdZRxUvxzc+sypDQhqnxInBmNjgGE0RaiMl/ektVB1wFS/L0xDZmLFPpEGR0Kw3GEBgtQNFHyg==" crossorigin="anonymous"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet-providers/1.10.1/leaflet-providers.min.js" integrity="sha512-Ifxj89Ujg72gC/psKB9ystryRYiopmDud2EmNTKC9kz192aQwDKVK1FzWsyPc37tgU0UmRQlNnBM++ZnwIXJ9Q==" crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/leaflet.browser.print@1.0.5/dist/leaflet.browser.print.min.js" integrity="sha256-1MQvHEnVXSKwR+XIVswRSBla/B5ohkp5+HJtritIkgE=" crossorigin="anonymous"></script>
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet-providers/1.13.0/leaflet-providers.min.js" integrity="sha512-5EYsvqNbFZ8HX60keFbe56Wr0Mq5J1RrA0KdVcfGDhnjnzIRsDrT/S3cxdzpVN2NGxAB9omgqnlh4/06TvWCMw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/leaflet.browser.print@1.0.6/dist/leaflet.browser.print.min.js" integrity="sha256-LrZphoL6+XVEuBR4BfhOIdRAMpRigQvsu3/iCNhQSXw=" crossorigin="anonymous"></script>
|
||||
<script src="https://www.mapquestapi.com/sdk/leaflet/v2.2/mq-map.js?key=RPOPuz3lA2GGBtVpEU0ugxtVoGba53Dt"></script>
|
||||
|
||||
<!-- Map, Events & Stations -->
|
||||
<script type="text/javascript" src="misc.js"></script>
|
||||
<script type="text/javascript" src="geolocation.js"></script>
|
||||
<script type="text/javascript" src="specialevents.js"></script>
|
||||
<script type="text/javascript" src="map.js.en"></script>
|
||||
<script type="text/javascript" src="events.js.en"></script>
|
||||
<script type="text/javascript" src="stations.js.en"></script>
|
||||
<script type="text/javascript" src="data/geolocation.js"></script>
|
||||
<script type="text/javascript" src="data/specialevents.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@ -111,7 +112,7 @@
|
||||
<span id="events-type">Symbols:</span>
|
||||
</p>
|
||||
<p class="table-caption">
|
||||
Reverse Geolocation courtesy of <a href="http://photon.komoot.de/" target="_blank">Photon by Komoot</a>
|
||||
Reverse Geolocation courtesy of <a href="http://photon.komoot.io/" target="_blank">Photon by Komoot</a>
|
||||
</p>
|
||||
</div>
|
||||
<!-- Stations -->
|
||||
@ -154,7 +155,9 @@
|
||||
<p class="table-caption">Download as <a id="stations-csv-link" href="link" download="stations.csv">CSV file</a>.</p>
|
||||
</div>
|
||||
<!-- More -->
|
||||
<div class="tab" id="moretab"><!--include virtual="more.html.de" --></div>
|
||||
<div class="tab more_de" id="moretab">
|
||||
<p>Loading text ...</p>
|
||||
</div>
|
||||
<!-- Info -->
|
||||
<div class="tab" id="infotab">
|
||||
<div id="infoaccordion">
|
||||
|
25
www/map.js
25
www/map.js
@ -19,7 +19,7 @@
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program. If not, see https://www.gnu.org/licenses/.
|
||||
|
||||
Version r20211017.2 (2021-10-17)
|
||||
Version VVVVV
|
||||
*/
|
||||
|
||||
/* add station marker */
|
||||
@ -139,10 +139,14 @@ function initMapLink() {
|
||||
**********************************************************************/
|
||||
$(document).ready(function() {
|
||||
|
||||
// create a map in the "map" div, set the view to a given place and zoom
|
||||
map = L.map('map', { zoomControl: false, worldCopyJump: true }).setView(config['map']['centerDefault'], config['map']['zoomDefault']);
|
||||
|
||||
// create baselayer
|
||||
map = L.map('map', {
|
||||
center: config['map']['centerDefault'],
|
||||
zoom: config['map']['zoomDefault'],
|
||||
zoomControl: false,
|
||||
worldCopyJump: true
|
||||
});
|
||||
|
||||
// change baselayer if mapquest is not requested
|
||||
switch ( config['map']['baselayer'] ) {
|
||||
case 'esrigray': // add ESRI Grayscale World Map (neither city nor road names)
|
||||
L.tileLayer.provider('Esri.WorldGrayCanvas').addTo(map);
|
||||
@ -153,9 +157,16 @@ $(document).ready(function() {
|
||||
case 'opentopo': // add OpenTopoMap tile layer
|
||||
L.tileLayer.provider('OpenTopoMap').addTo(map);
|
||||
break;
|
||||
case 'mapnik': // add OpenStreetMap.Mapni tile layer
|
||||
case 'mapnik': // add OpenStreetMap.Mapnik tile layer
|
||||
L.tileLayer.provider('OpenStreetMap.Mapnik').addTo(map);
|
||||
break;
|
||||
case 'topplus': // add TopPlus tile layer (https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html)
|
||||
L.tileLayer('https://sgx.geodatenzentrum.de/wmts_topplus_open/tile/1.0.0/web/default/WEBMERCATOR/{z}/{y}/{x}.png',
|
||||
{attribution: '© Bundesamt für Kartographie und Geodäsie ('+jahr+'), Datenquellen: <a href="http://sg.geodatenzentrum.de/web_public/Datenquellen_TopPlus_Open.pdf">Geodatenzentrum</a>'}).addTo(map);
|
||||
break;
|
||||
case 'mapquest':
|
||||
MQ.mapLayer().addTo(map);
|
||||
break;
|
||||
default: // use OpenStreetMap.DE as default
|
||||
L.tileLayer.provider('OpenStreetMap.DE').addTo(map);
|
||||
};
|
||||
@ -170,7 +181,7 @@ $(document).ready(function() {
|
||||
eventLayer = new L.MarkerGroup().addTo(map);
|
||||
|
||||
// load events
|
||||
ajaxLoadEvents('', '', '', 'events.xml');
|
||||
ajaxLoadEvents('', '', '', 'data/events.xml');
|
||||
ajaxLoadEvents();
|
||||
specialEvents.map(function(id) {
|
||||
ajaxLoadEvents('', '', id)
|
||||
|
@ -19,7 +19,7 @@
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program. If not, see https://www.gnu.org/licenses/.
|
||||
|
||||
Version r20211017.2 (2021-10-17)
|
||||
Version VVVVV
|
||||
*/
|
||||
|
||||
/* add station marker */
|
||||
@ -139,11 +139,14 @@ function initMapLink() {
|
||||
**********************************************************************/
|
||||
$(document).ready(function() {
|
||||
|
||||
// create a map in the "map" div, set the view to a given place and zoom
|
||||
map = L.map('map', { zoomControl: false, worldCopyJump: true }).setView(config['map']['centerDefault'], config['map']['zoomDefault']);
|
||||
|
||||
map = L.map('map', {
|
||||
center: config['map']['centerDefault'],
|
||||
zoom: config['map']['zoomDefault'],
|
||||
zoomControl: false,
|
||||
worldCopyJump: true
|
||||
});
|
||||
|
||||
// create baselayer
|
||||
// change baselayer if mapquest is not requested
|
||||
switch ( config['map']['baselayer'] ) {
|
||||
case 'esrigray': // add ESRI Grayscale World Map (neither city nor road names)
|
||||
L.tileLayer.provider('Esri.WorldGrayCanvas').addTo(map);
|
||||
@ -154,12 +157,20 @@ $(document).ready(function() {
|
||||
case 'opentopo': // add OpenTopoMap tile layer
|
||||
L.tileLayer.provider('OpenTopoMap').addTo(map);
|
||||
break;
|
||||
case 'mapnik': // add OpenStreetMap.Mapni tile layer
|
||||
case 'mapnik': // add OpenStreetMap.Mapnik tile layer
|
||||
L.tileLayer.provider('OpenStreetMap.Mapnik').addTo(map);
|
||||
break;
|
||||
case 'topplus': // add TopPlus tile layer (https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html)
|
||||
L.tileLayer('https://sgx.geodatenzentrum.de/wmts_topplus_open/tile/1.0.0/web/default/WEBMERCATOR/{z}/{y}/{x}.png',
|
||||
{attribution: '© Federal Agency for Cartography and Geodesy ('+jahr+'), Datasource: <a href="http://sg.geodatenzentrum.de/web_public/Datenquellen_TopPlus_Open.pdf">Geodatenzentrum</a>'}).addTo(map);
|
||||
break;
|
||||
case 'mapquest':
|
||||
MQ.mapLayer().addTo(map);
|
||||
break;
|
||||
default: // use OpenStreetMap.DE as default
|
||||
L.tileLayer.provider('OpenStreetMap.DE').addTo(map);
|
||||
};
|
||||
|
||||
// add controls
|
||||
new L.Control.Zoom({ position: 'topright' }).addTo(map);
|
||||
new L.control.scale({position: 'bottomright', imperial: false}).addTo(map);
|
||||
@ -170,7 +181,7 @@ $(document).ready(function() {
|
||||
eventLayer = new L.MarkerGroup().addTo(map);
|
||||
|
||||
// load events
|
||||
ajaxLoadEvents('', '', '', 'events.xml');
|
||||
ajaxLoadEvents('', '', '', 'data/events.xml');
|
||||
ajaxLoadEvents();
|
||||
specialEvents.map(function(id) {
|
||||
ajaxLoadEvents('', '', id)
|
||||
|
@ -19,7 +19,7 @@
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
Version r20211017.2 (2021-10-17)
|
||||
Version VVVVV
|
||||
*/
|
||||
|
||||
/* calculate marker radius from magnitude
|
||||
@ -81,6 +81,7 @@ function parseQueryString() {
|
||||
}
|
||||
|
||||
/* create global vars */
|
||||
var jahr = new Date().getFullYear();
|
||||
var map;
|
||||
var openMarkerID;
|
||||
var eventTable = {};
|
||||
@ -93,7 +94,7 @@ var config = {
|
||||
dlsvURL: 'dlsv',
|
||||
mseedURL: 'https://fdsnws.geophysik.ruhr-uni-bochum.de/fdsnws/dataselect/1/query',
|
||||
stationURL: 'https://fdsnws.geophysik.ruhr-uni-bochum.de/fdsnws/station/1/query',
|
||||
nominatimURL: 'https://photon.komoot.de/reverse',
|
||||
nominatimURL: 'https://photon.komoot.io/reverse',
|
||||
timespan: 400,
|
||||
},
|
||||
event: {
|
||||
|
@ -1,40 +0,0 @@
|
||||
/* last change 2021-10-17 */
|
||||
var specialEvents = [
|
||||
//'bug2014ytlk', // Vechta 3.0
|
||||
//'bug2014wjwx', // Haltern 3.6
|
||||
//'bug2014ldts', // Darmstadt
|
||||
//'bug2014kowj', // Vogtland 5.0
|
||||
//'bug2014jptq', // Seeheim-Jugenheim
|
||||
//'bug2014infb', // Troisdorf
|
||||
//'bug2014ilxd', // Bassum
|
||||
//'bug2014gfzw', // Darmstadt
|
||||
//'bug2014datb', // Groningen
|
||||
// 'bug2013yvko', // Haltern 3.4
|
||||
// 'bug2015fdpy', // Darmstadt 3.0
|
||||
// 'bug2016ajgm', // CTBT violation North Korea
|
||||
// 'bug2016cqkd', // Taunusstein 2.5
|
||||
// 'bug2016hdae', // Aldenhoven 2.6
|
||||
// 'bug2016hdaj', // Aldenhoven 2.4
|
||||
// 'bug2016kkrq', // Bottrop 3.3
|
||||
// 'bug2016qphy', // Central Italy 6.1
|
||||
// 'bug2016rslt', // CTBT violation North Korea
|
||||
// 'bug2016ueqo', // Darmstadt 2.4
|
||||
// 'bug2016ufpi', // Darmstadt 3.0
|
||||
// 'bug2016vico', // Central Italy 6.5
|
||||
// 'bug2016vrnc', // Nörvenich 3.2
|
||||
// 'bug2016zawb', // St Goar 3.2
|
||||
// 'bug2017iyhl', // Hürtgenwald 2.1
|
||||
// 'bug2017omwg', // Brühl 2.3
|
||||
// 'bug2017rfxe', // CTBT violation North Korea 6.1
|
||||
// 'bug2017rjvq', // Dreieich / Hessen 2.6
|
||||
// 'bug2017vxmm', // Brühl / Hürth 3.1
|
||||
// 'bug2018nyax' // Ochtendung 2.7
|
||||
// 'bug2019cxga', // Ochtendung 3.0
|
||||
// 'bug2019czbt', // Ochtendung 2.9
|
||||
// 'bug2019fura', // Sprengung Duisburg-Hochheide (Weißer Riese) 2.0
|
||||
// 'bug2019yeij', // Tektonisch, Hambach 2.2
|
||||
'bug2020fqxf', // Meckenheim, 2.5
|
||||
'bug2020skmt', // Heinsberg 1.7
|
||||
'bug2020skon', // Heinsberg 2.5
|
||||
'bug2020stdp' // Niederkassel 2.4
|
||||
];
|
@ -19,7 +19,7 @@
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
Version r20211017.2 (2021-10-17)
|
||||
Version VVVVV
|
||||
*/
|
||||
|
||||
/* Load the stations using ajax */
|
||||
|
@ -19,7 +19,7 @@
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
Version r20211017.2 (2021-10-17)
|
||||
Version VVVVV
|
||||
*/
|
||||
|
||||
/* Load the stations using ajax */
|
||||
|
Loading…
Reference in New Issue
Block a user