From 6549528204f8f01bf363a26081bb1a72df2cac65 Mon Sep 17 00:00:00 2001 From: bfabiszewski Date: Sun, 23 Jun 2013 23:43:09 +0200 Subject: store preferences in cookies --- api_openlayers.js | 16 ++++++++++++---- auth.php | 5 +++++ config.php | 4 +++- index.php | 33 +++++++++++++++++++++++++++++++-- lang.php | 12 ++++++++++++ main.css | 2 +- main.js | 27 +++++++++++++++++++++++++++ 7 files changed, 91 insertions(+), 8 deletions(-) diff --git a/api_openlayers.js b/api_openlayers.js index 3df53bd..228eff5 100755 --- a/api_openlayers.js +++ b/api_openlayers.js @@ -66,12 +66,20 @@ function init() { 'http://c.osm.trail.pl/osmapa.pl/${z}/${x}/${y}.png']); map.addLayer(osmapa); } + if (layer_ump==1) { + // UMP + var ump = new OpenLayers.Layer.OSM('UMP', + ['http://1.tiles.ump.waw.pl/ump_tiles/${z}/${x}/${y}.png', + 'http://2.tiles.ump.waw.pl/ump_tiles/${z}/${x}/${y}.png', + 'http://3.tiles.ump.waw.pl/ump_tiles/${z}/${x}/${y}.png']); + map.addLayer(ump); + } var position = new OpenLayers.LonLat(21.01,52.23).transform(wgs84, mercator); var zoom = 8; map.setCenter(position, zoom); // init layers - layerTrack = new OpenLayers.Layer.Vector( 'Track' ); - layerMarkers = new OpenLayers.Layer.Markers( 'Markers' ); + layerTrack = new OpenLayers.Layer.Vector('Track'); + layerMarkers = new OpenLayers.Layer.Markers('Markers'); } function displayTrack(xml,update) { altitudes.length = 0; @@ -167,8 +175,8 @@ function setMarker(p,i,posLen) { return function() { // remove popups if (map.popups.length>0) { - for (var i = map.popups.length-1; i>=0; i-- ) { - map.removePopup(map.popups[i]) + for (var j = map.popups.length-1; j>=0; j-- ) { + map.removePopup(map.popups[j]) }; } // show popup diff --git a/auth.php b/auth.php index ab4729c..c7d881b 100755 --- a/auth.php +++ b/auth.php @@ -18,6 +18,11 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ require_once("config.php"); +// if is set cookie overwrite config value +if (isset($_COOKIE["phpTrackme_api"])) { $mapapi = $_COOKIE["phpTrackme_api"]; } +if (isset($_COOKIE["phpTrackme_lang"])) { $lang = $_COOKIE["phpTrackme_lang"]; } +if (isset($_COOKIE["phpTrackme_units"])) { $units = $_COOKIE["phpTrackme_units"]; } +if (isset($_COOKIE["phpTrackme_interval"])) { $interval = $_COOKIE["phpTrackme_interval"]; } require_once("lang.php"); $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname); if ($mysqli->connect_errno) { diff --git a/config.php b/config.php index 702f382..ae48a10 100755 --- a/config.php +++ b/config.php @@ -17,7 +17,7 @@ * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -$version = "2.1"; +$version = "2.2"; // default map drawing framework // (gmaps = google maps, openlayers = openlayers/osm) @@ -31,6 +31,8 @@ $layer_ocm = 1; $layer_mq = 1; // osmapa.pl (0 = no, 1 = yes) $layer_osmapa = 1; +// UMP (0 = no, 1 = yes) +$layer_ump = 1; // you may set your google maps api key // this is not obligatory by now diff --git a/index.php b/index.php index 9919f8b..0a1da1c 100755 --- a/index.php +++ b/index.php @@ -71,13 +71,35 @@ $track_form .= ' $api_form = ' '.$lang_api.'
-
'; +// language select form +$lang_form = ' +'.$lang_language.'
+
+ +
+'; +// units select form +$units_form = ' +'.$lang_units.'
+
+ +
+'; + print ' @@ -109,6 +131,7 @@ print var layer_ocm = "'.$layer_ocm.'"; var layer_mq = "'.$layer_mq.'"; var layer_osmapa = "'.$layer_osmapa.'"; + var layer_ump = "'.$layer_ump.'"; '; @@ -149,8 +172,14 @@ print '
'.$api_form.'
+
+ '.$lang_form.' +
+
+ '.$units_form.' +
- '.$lang_download.'
+ '.$lang_download.'
kml
gpx
diff --git a/lang.php b/lang.php index 03c7ab0..7944718 100755 --- a/lang.php +++ b/lang.php @@ -48,6 +48,10 @@ switch($lang) { $lang_language = "Language"; $lang_newinterval = "Enter new interval value (seconds)"; $lang_api = "Map API"; + $lang_language = "Language"; + $lang_units = "Units"; + $lang_metric = "Metric"; + $lang_imperial = "Imperial/US"; break; case "pl": @@ -79,6 +83,10 @@ switch($lang) { $lang_language = "Język"; $lang_newinterval = "Podaj częstotliwość odświeżania (w sekundach)"; $lang_api = "Map API"; + $lang_language = "Język"; + $lang_units = "Jednostki"; + $lang_metric = "Metryczne"; + $lang_imperial = "Anglosaskie"; break; case "de": @@ -110,6 +118,10 @@ switch($lang) { $lang_language = "Sprache"; $lang_newinterval = "Neuen Intervall-Wert eingeben (in Sekunden)"; $lang_api = "Karten API"; + $lang_language = "Sprache"; + $lang_units = "Maßsystem"; + $lang_metric = "Metrisches"; + $lang_imperial = "Angloamerikanisches"; break; } ?> diff --git a/main.css b/main.css index a042812..f9a7c6c 100755 --- a/main.css +++ b/main.css @@ -81,7 +81,7 @@ select { background-color: #666; color: lightgray; } -#user, #trip, #summary, #export, #other, #api { +#user, #trip, #summary, #export, #other, #units { padding-bottom: 10px; } #login { diff --git a/main.js b/main.js index bd16562..15cf2d5 100755 --- a/main.js +++ b/main.js @@ -278,6 +278,8 @@ function setTime() { clearInterval(auto); autoReload(); } + // save current state as default + setCookie('interval',interval,30); } } @@ -326,6 +328,8 @@ function waitAndInit(api) { loadTime = 0; zoomToBounds(savedBounds); loadTrack(userid,trackid,0); + // save current api as default + setCookie('api',api,30); } function addScript(url) { @@ -346,3 +350,26 @@ function isScriptLoaded(url) { } return false; } + +function setCookie(name,value,days) { + if (days) { + var date = new Date(); + date.setTime(date.getTime()+(days*24*60*60*1000)); + var expires = '; expires='+date.toGMTString(); + } + else { + var expires = ''; + } + document.cookie = 'phpTrackme_'+name+'='+value+expires+'; path=/'; +} + +function setLang(lang) { + setCookie('lang',lang,30); + location.reload(); +} + +function setUnits(unit) { + units = unit; + setCookie('units',unit,30); + location.reload(); +} -- cgit v1.2.3