Kirjautumissivun personointi

Wippies Wiki

Loikkaa: valikkoon, hakuun

Sisällysluettelo

Yleistä

Vierailijaverkon kirjautumissivun voi kukin personoida sellaiseksi kuin haluaa. Sivu tulee tehdä (X)HTML-kielellä. Skriptikielet, kuten PERL, PHP, ASP yms eivät toimi. Sivun toimintaa on rajoitettu myös siten, että, että kirjautumatta siltä ei pääse muualle, vaikka siinä olisikin linkkejä.

Tukiasemakartta vierailijaverkon kirjautumissivulle

Google Map API key

Ensimmäiseksi tarvitset Google Map API avaimen, sillä se on yksilöllinen kullekin verkko osoitteelle. Esim. tunnus.wippiespace.com ja/tai username.wippiespace.com tarvitsee molemmat omansa, että tukiasema kartta toimii. Tarvittavan avaimen voi hankkia osoitteesta http://www.google.com/apis/maps/

Selvitä oma koordinaattisi

Selvitä esim. http://mcnano.wippiespace.com/map.html osoitteessa oma koordinaattisi tuplaklikkaamalla haluamaasi kohdetta. Kartan alla pitäisi kohta tämän jälkeen olla paikan koordinaatit. Ota koordinaatit talteen. Samalla voit linkkiä klikkaamalla tarkistaa että kartalle tuleva tukiasemienmäärä on hyvä, esim. 100 kpl on varsin hyvä. (Älä hämäänny siitä, mitä tuolla sivulla niitä tukiasemia näkyy, sininen linkki näyttää aina kartta-alueen kaikki tukiasemat, jos niitä on alle 200 kpl.) Zoomaamalla kauemmaksi saat tukiasemia listalle lisää. Kun olet saanut listaan sopivan määrän lähimpiä tukiasemia, niin tallenna linkki nimellä maplocations.xml.

index.html

Luo itsellesi omannäköisesi index.html -sivu.


<body>-tagin muokkaaminen

Lisää index.html tiedoston body-tagiin seuraavat atribuutit onload ja onunload. Esim.

<body onload="load()" onunload="GUnload()">

Karttakoodin lisääminen

Sijoitat seuraavan koodin html-koodiin sekaan body-tagien väliin. Muista vaihtaa oma avaimesi sille varattuun paikkaan

  <script src="http://maps.google.com/maps?file=api&v=2&key=TÄHÄN_TULEE_SINUN_OMA_AVAIMESI" //TÄMÄ pitää vaihtaa
      type="text/javascript"></script>
    <script type="text/javascript">

    //<![CDATA[

    var locSaunalahti = new GLatLng(60.2131, 24.8108); //NÄMÄ koordinaatit määrittävät aukeavan kartan keskipisteen
    var map = null;
    var currentMarkers = new Array();

    var iconGreen = new GIcon();
    iconGreen.image = "http://www.wippies.com/pic_gen/wippies_icon1green_20.png";
  
    var iconYellow = new GIcon();
    iconYellow.image = "http://www.wippies.com/pic_gen/wippies_icon1yellow_20.png";

    var iconRed = new GIcon();
    iconRed.image = "http://www.wippies.com/pic_gen/wippies_icon1red_20.png";

    var icons = [ iconGreen, iconRed, iconYellow ];
    for (var i = 0; i<3; i++) {
        icons[i].shadow = "http://www.wippies.com/pic_gen/shadow20.png";
		icons[i].iconSize = new GSize(12, 20);
		icons[i].shadowSize = new GSize(22, 20);
		icons[i].iconAnchor = new GPoint(6, 20);
		icons[i].infoWindowAnchor = new GPoint(5, 1);
    }

    function addMarker(point, info, icon) {
		var marker = new GMarker(point, icon)
		// markerMgr.addMarker(marker, 10);
		map.addOverlay(marker);
		GEvent.addListener(marker, "click", function() {
		    marker.openInfoWindowHtml(info);
		});
		currentMarkers[currentMarkers.length] = marker;
    }

    function load() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());

		GEvent.addListener(map, "moveend", function() {
		    var bounds = map.getBounds();
		    var neLat = bounds.getNorthEast().lat();
		    var neLong = bounds.getNorthEast().lng();
		    var swLat = bounds.getSouthWest().lat();		    		    
		    var swLong = bounds.getSouthWest().lng();

			updateLocations(swLat, swLong, neLat, neLong); 
		});
    	map.setCenter(locSaunalahti, 11); //Tässä numero 11 määrää kartan zoomauksen. Isompi luku tuo zoomausta lähemmäksi

        // markerMgr = new GMarkerManager(map);

      }
    }
    
	function clearMarkers() {
		for (var i=0; i<currentMarkers.length; i++) {
			map.removeOverlay(currentMarkers[i]);
		}
		currentMarkers = new Array();
	}
	
    function updateLocations(latBegin, lngBegin, latEnd, lngEnd) {
        var url = "maplocations.xml";  //Tukiasemien tiedot sisältävä XML-tiedosto
        var url2 = "http://www.wippies.com/maplocations?beginLat="+ latBegin + //NÄMÄ RIVIT
            "&beginLng="+ lngBegin +                                           //SISÄLTÄISIVÄT AUTOMAATTISEN
            "&endLat="+ latEnd +                                               //TUKIASEMALISTAUKSEN
            "&endLng="+ lngEnd;                                                //MUTTA SE EI TOIMI KARTAN KANSSA WIPPIESPACE.COM:ssa
		GDownloadUrl(url, function(data, responseCode) {
		    var xml = GXml.parse(data);
			var locdata = xml.getElementsByTagName("locationdata")[0];
		    var count = locdata.getAttribute("markerCount");
		    var msg;
			clearMarkers();
			if (locdata.getAttribute("limitExceeded") == null) {
				var locs = xml.getElementsByTagName("location");
				for (var i=0; i<locs.length; i++) {
				    var loc = locs[i];
				    addMarker(new GLatLng(loc.getAttribute("latitude"),
				                          loc.getAttribute("longitude")),
				              loc.getAttribute("text"),
					      iconGreen);
				}
			}
			msg = GXml.value(locdata.getElementsByTagName("infomessage")[0]);
			document.getElementById("message").innerHTML = msg;

		});
    }
    //]]>
    </script>

<div id="map" style="width: 400px; height: 300px;"></div> //TÄSSÄ OLEVIA kartan korkeutta ja leveyttä voi itse säätää
  <div id="message"></div>

Hakemiston luonti

Tee itsellesi Vierailijaverkko-sivun osoittaman tavalla sopiva hakemisto esim. captive

Tiedostojen siirto

Siirrä maplocations.xml ja index.html juuri luomaasi captive-hakemistoon

Valmis

Kartan pitäisi nyt olla valmis ja toiminnassa


Karttatietojen päivitys

Jotta kartta pysyisi edes jotenkin ajantasalla, niin maplocations.xml-tiedostoa pitää välillä päivittää kopioimalla se sinne uudestaan osoiteesta esim. http://mcnano.wippiespace.com/map.html


Karttatietojen päivitys -Automaattisesti

Tarvittavat ohjelmat:

     wget linuxille löytyy oletuksena melkein kaikista Linuxeista

     ncftpput -linuxille http://jis.wippiespace.com/captive/ncftpput (muista chmod +x ncftpput )
 

  • Tee kansio: C:\map\temp (Linuxissa /root/map )
  • Lataa wget ja ncftpput C:\map -kansioon

 

Scriptin tekeminen

  • Tee kansio: C:\map\temp
  • Tee tiedosto: map.cmd ja tallenna se kansioon C:\map
cd C:\map
wget -O c:\map\temp\maplocations.xml "http://www.wippies.com/maplocations?beginLat=59.495435&beginLng=25.527147&endLat=61.495435&endLng=26.527147"
cd C:\map\temp
c:\map\ncftpput -mRDD -u "käyttäjätunnuksesi" -p "salasanasi" "käyttäjätunnuksesi".wippiespace.com /captive maplocations.xml
Linuxille vastaava scripti olisi: map.sh
cd /root/maps
wget -O temp/maplocations.xml  "http://www.wippies.com/maplocations?beginLat=59.495435&beginLng=25.527147&endLat=61.495435&endLng=26.527147"
cd /root/maps/temp
../ncftpput -mRDD -u "käyttäjätunnuksesi" -p "salasanasi" "käyttäjätunnuksesi".wippiespace.com /captive maplocations.xml

Ohje:

  • Ensimmäinen rivi kertoo scriptille oikean kansion
  • Toinen rivi lataa wget -ohjelmalla päivitetyn maplocations.xml listan, tee itselle sopiva esim. http://jis.wippiespace.com/captive/karttapisteet.html
  • Kolmas rivi vaihtaa kansion kansioon mistä tiedosto ladataan ftp-palvelimelle
  • Neljäs rivi lataa ncftpput -ohjelmalla tiedoston ftp:llä wippiespace-palvelimelle, HUOM! käyttäjätunnus ja salasana tulee ilman heittomerkkejä.

 

Testaa scriptin toimivuus

  • Ennen ajastamista kannattaa testata toimiiko scripti jotta tiedetään toimiiko scripti oikein.
  • Aja scripti seuraavasti:
    • Start (käynnistä) --> Run (suorita) --> CMD --> "Enter"
    • C:\map\map.cmd "Enter"
C:\map>cd C:\map
cd C:\map
C:\map>wget -O c:\map\temp\maplocations.xml "http://www.wippies.com/maplocations?beginLat=59.495435&beginLng=25.527147&endLat=61.495435&endLng=26.527147"
--12:30:05--  http://www.wippies.com:80/maplocations?beginLat=59.495435&beginLng=25.527147&endLat=61.495435&endLng=26.527147
           => `c:\map\temp\maplocations.xml'
Connecting to www.wippies.com:80... connected!
HTTP request sent, awaiting response... 200 OK
Length: 4,953 [text/xml]
    0K -> ....                                                   [100%]
12:30:05 (4.72 MB/s) - `c:\map\temp\maplocations.xml' saved [4953/4953]
C:\map>cd C:\map\temp
C:\map\temp>c:\map\ncftpput -mRDD -u tunnus -p salasana tunnus.wippiespace.com /captive maplocations.xml
maplocations.xml:                                        4.84 kB   23.83 kB/s

 

Ajastetun tehtävän tekeminen

  • Windowsissa sen saa helpoiten seuraavasti:
    • Start (käynnistä) --> Run (suorita) --> CMD --> "Enter"
    • at 17:05 /every:M,T,W,Th,F,S,Su c:\map\map.cmd /interactive "Enter"

 

  • Linuxissa tehdään uusi crontab, esim:
5 17 * * * sh /root/map/map.sh >/dev/null 2>&1

--Vippe0 19:36, 14 May 2007 (EEST)
 

  • Ubuntussa croniin lisätään näin (mahdollisesti muissakin linuxissa):
Päätteessä koodia:
export ED=nano && crontab -e
tänne lisätään rivi, esim:
5 17 * * * /bin/sh /root/map/map.sh >/dev/null 2>&1
(tuo tarkottaa että tuo map.sh ajetaan joka päivä klo 17:05)

Huomioitavaa kirjautumissivusta

Kirjautumissivu on tehty kehyksillä. Ylempi kehys on varattu kirjautumislomakkeelle ja alempi tälle personoidulle sivulle. Personoidun sivun osoite tässä tapauksessa on http://tacts.wippies.com:81/ ja sen Google Map API key kaikilla on:

ABQIAAAAuJ70GBkhf_scUP__IaT-cRRqES0_BeLlZS1m4B596LJWybAvyhT2Qa2rlMiApl7uDmlQ_mE2mEWLTA

Tämänkin jälkeen kartta näkyy valitettavasti vasta kirjautumisen jälkeen.

Kartan toimimattomuus voidaan kiertää tekemällä ensin sivu, johon on otettu kuvaruutukaappaus kartasta, jolloin kartta on pelkkä kuvatiedosto ja näkyy myös kirjautumattomalle käyttäjälle, kunhan kuva on vain siirretty samaan captive-hakemistoon. Tämän jälkeen kuva linkitetään oikeaan osoitteeseen http://tunnus.wippiespace.com/hakemisto/ Jos näin toimitaan, niin silloin oikealle karttasivulle pitää olla oma Google Map API avain osoitteeseen http://tunnus.wippiespace.com/hakemisto/.

Henkilökohtaiset työkalut
EnglantiRuotsiEesti