Een PHP script om de meteoalarm.eu waarschuwingen op uw website af te beelden Versie v3 For English clik here  Voor Nederlands klik hier 

Introductie


Wat doet dit script:

  • Het script leest vanaf de www.meteoalarm.eu website, de HTML pagina met de huidige waarschuwingen voor het gebied waar het weerstation zich bevindt
  • De html gegevens worden daarna omgezet naar een PHP tabel
  • De tabel wordt opgeslagen in een cache om herhaaldelijk lezen van de relatief langzame alarm-site te vermijden.
  • Voor zover mogelijk worden de gegevens vertaald in de taal van de website
  • Het script vertaalt de PHP tabel uit de cache in de vorm die door de website beheerder is ingesteld.

Wind from: 28-01-2014 13:00 until: 29-01-2014 18:59 warning for: Wind level: Yellow info button
No Litoral rajadas da ordem de 80 km h Nas terras altas temporariamente durante a tarde do dia 28 rajadas da ordem de 100 km h


Er kan veel ingesteld worden met behulp van "settings":

  • gebied en standaard taal van het weerstation
  • wel of geen (groen) vak als er geen waarschuwingen zijn
  • alle waarschuwingen in 1 vak of iedere waarschwuwing apart
  • wat te doen als er teveel waarschuwingen zijn
  • waarschuwingen met meerdere talen kunnen gesplitst worden

Voorbeelden


Dit is een box om uw eigen mededelingen duidelijk aan de bezoeker te tonen.
De inhoud van dit vak wordt gelezen vanuit een tekstbestand waar u elke inhoud in kunt opslaan.
De inhoud van het bestand wordt onvertaald weergegeven.

This is your own message box to warn visitors for maintenance or tell them about new pages on your site

Deze website is in opbouw / onderhoud. This website is under construction / in maintenance.
Ce site est en construction / l'entretien. Diese Website ist im Aufbau / Wartung.


Hier drie weer waarschuwingen voor de regio PT013.
Dit voorbeeld komt uit een test-bestand, dus dit zijn niet de huidige waarschuwingen voor deze regio.
Als de bezoeker op de grote I klikt wordt hij/zij door verwezen naar een aparte pagina met meer informatie.
Dit kan een eigen pagina van uw website zijn of de website van meteoalarm.eu.

Kustbedreiging van: 28-01-2014 12:00 tot: 30-01-2014 12:59 waarschuwing voor: Kustbedreiging niveau: Oranje info button
Wind van: 28-01-2014 13:00 tot: 29-01-2014 18:59 waarschuwing voor: Wind niveau: Geel info button
Sneeuw/IJzel/Bevriezing van: 28-01-2014 16:00 tot: 29-01-2014 15:59 waarschuwing voor: Sneeuw/IJzel/Bevriezing niveau: Geel info button


Dit is het optionele "er zijn geen waarschuwingen" vak.

Het weer levert geen direct gevaar op. Er zijn geen waarschuwingen afgegeven.


Hier wordt maar 1 vak afgebeeld als er meer waarschuwingen zijn dan ingesteld.
NIEUWAls er nu op de grote I geklikt wordt, verschijnen de verborgen foutboodschappen direct.

There are multiple Weather-warnings  Click here for more information


En dit is het voorbeeld hoe drie aparte waarschuwingen er uit kunnen zien

Kustbedreiging van: 28-01-2014 12:00 tot: 30-01-2014 12:59 waarschuwing voor: Kustbedreiging niveau: Oranje info button
Wind van: 28-01-2014 13:00 tot: 29-01-2014 18:59 waarschuwing voor: Wind niveau: Geel info button
Sneeuw/IJzel/Bevriezing van: 28-01-2014 16:00 tot: 29-01-2014 15:59 waarschuwing voor: Sneeuw/IJzel/Bevriezing niveau: Geel info button


In dit voorbeeld is ook de complete waarschuwing-tekst afgebeeld.
Voor sommige gebieden worden de waarschuwingen in meerdere talen afgebeeld. NL: nl-en. Be: nl-fr
De tekst kan dan al snel zeer groot worden.
Er is een mogelijkheid om de tekst te splitsen. Dit omdat er vaak dezelfde tekens worden gebruikt tussen de twee taalteksten. Maar omdat de waarschuwingen handmatig in de meteoalarm.eu database worden ingevoerd kan dit ook soms mislopen.Het is daarom ook niet mogelijk deze handmatige teksten automatisch te vertalen.

Wind van: 28-01-2014 13:00 tot: 29-01-2014 18:59 waarschuwing voor: Wind niveau: Geel info button
No Litoral rajadas da ordem de 80 km h Nas terras altas temporariamente durante a tarde do dia 28 rajadas da ordem de 100 km h


Als u gebruik maakt van uw eigen waarschuwingen pagina worden ook de gebruikelijke blokken tekst door het script aangemaakt.

 From: 03-08-2014 10:48   Until: 04-08-2014 10:48
Extreme high temperature  Level: : Yellow 

Kymenlaakso: Lähivuorokauden aikana on odotettavissa tukalaa hellettä. (Varoitus kattaa seuraavat 24 h. Se annetaan ajanjakson suurimman vaaratason mukaan.)Kymmenedalen: Under det närmaste dygnet är det svår hettan att vänta. (Varningen gäller upp till 24 timmar enligt den högsta nivån.)Kymenlaakso: Warm weather is expected during the coming 24 hours. (Warning covers the next 24 h. It is based on the highest awareness level during the warning period.) 

 From: 03-08-2014 10:48   Until: 04-08-2014 10:48
Forest fire  Level: : Yellow 

Kymenlaakso: Metsäpalovaroitus annetaan tänään klo 12. (Varoitus annetaan kerran vuorokaudessa klo 12 ja kattaa seuraavat 24 h.)Kymmenedalen: Varning för skogsbrand ges i dag kl 12. (Varning ges en gång på dagen klockan 12 och gäller upp till 24 timmar.)Kymenlaakso: A forest fire warning is issued today at 12 local time. (Warning is given once a day at noon and covers the next 24 h.) 

Warning data courtesy of and Copyright © EUMETNET-METEOalarm (http://www.meteoalarm.eu/). Used with permission.
Time delays between this website and the www.meteoalarm.eu website are possible, for the most up to date information about alert levels as published by the participating National Meteorological Services please use www.meteoalarm.eu


Download

  1. Download van de link => Support site
  2. Deze bestanden en mappen vindt u in de download na de unzip:
    naamWat is het en wat doet u er mee
    _read-me.txtbestandEen samenvatting van al deze informatie
    cachemapcache map
    flag-??.gifbestandflags => wrnExample.php
    wrnExample.phpprogrammaEen klein programma on het "warning" script te testen
    Kopieer dit script naar dezelfde plaats als waar het "Warning" script is gekopieerd.
    wrnImages
    wrnImagesLarge
    mapDe afbeeldingen zoals gebruikt door Meteoalarm.eu
    Kopieer deze map naar de hoofdmap van uw website, vaak is dat de root root maar soms ook een aparte map met een naam zoals "weather"
    U kunt natuurlijk ook de afbeeldingen kopiëren naar uw huidige map met afbeeldingen. Een instelling moet dan straks worden aangepast om voor het "warning" programma de link te leggen naar uw afbeeldingen map.
    wrnPrintWarnings.phpprogrammaLeuven-template: Voorbeeld script voor de waarschuwingen op 1 pagina
    wrnWarningv3.phpprogrammaHet script wat de weerwaarschuwingen ophaalt en de html genereert voor uw website.
    Kopieer deze map naar de hoofdmap van uw website, vaak is dat de root root maar soms ook een aparte map met een naam zoals "weather".
    wrnWarning.txtbestandDe teksten die u up iedere pagina wilt afbeelden zoals "er is een nieuwe webcam" of website in onderhoud
    Plaats ook dit bestandje in de hoofdmap van uw website.
    wxAdvisoryv3.phpprogrammaSaratoga-template: Voorbeeld script voor de waarschuwingen op 1 pagina
  3. Test als eerste het wrnExample.php programma. Er mogen geen fouten voorkomen. U kunt het script ook gebruiken als een voorbeeld voor uw eigen implementatie van het "warning" script.
  4. Pas de instellingen aan uw eigen situatie aan. Deze instellingen vindt u vooraan het "wrnWarningv3.php" script. Controleer met de tab "instellingen"

Instellingen


Deze instellingen vindt u aan het begin van het "warning" script.

  • De belangrijke taal-instelling. De weer-waarschuwingen worden vertaald in deze taal, als de vertalingen aanwezig zijn. Zie einde script wrnWarningv3.php
    #-----------------------------------------------------------------------------------------
    # these are your settings for retrieving information from www.meteoalarm.eu/en_UK/0/0/xx123.html
    #-----------------------------------------------------------------------------------------
    #
    $lang           = 'en';                 // default language - supported nl en fr de

  • Als u het script en de plaatjes echt in een andere map moet installeren kunt u hier de map vermelden
    $myfolder       = './';                 //##### set if include 'foldername/wrnWarningv3.php'; is used
    #$myfolder      = './EUwarning/';       // EXAMPLE: include './EUwarning/uvforecastv3.php';

  • Als u (tijdelijk) de weer-waarschuwingen niet wilt afbeelden dan zet u deze instelling op "false". Dit kan voorkomen als de meteoalarm website "down" is. Er wordt dan ook geen groen vak afgebeeld.
    $warnings       = true;                 // do we want to print warnings

  • Hier geeft u het gebied aan waar uw weer-station zich bevindt. U kunt de code van uw gebied vinden door naar de meteoalarm.eu website te gaan en daar naar uw gebied te bladeren. In het adresveld vindt u dan de code.
    $warnArea       = 'BE004';              //      the area we want the warnings for

  • Hier geeft u aan of u een groen vak wilt afbeelden met de boodschap dat er geen waarschuwingen zijn
    $warningGreen   = true;                 //      do we print a message also when there are no warnings

  • Als (door drukte) de meteoalarm site niet bereikbaar is, wordt er een boodschap afgedrukt met een directe link naar de www.meteoalarm.eu site
    $warningFailed   = true;                //      do we print a message when the Metoalarm site is unavailable

  • Als u een algemene boodschap aan de bezoekers van uw website heeft (onderhoud, nieuwe pagina's e.d.) dan kunt u deze in een tekstbestand plaatsen en het "warning" script genereert dan de html code om het vak af te kunnen beelden.
    $warnMsg        = true;                  // do we want a message f.i. maintenance on each page
    $warnMsgTxt     = $myfolder.'wrnWarning.txt';    // location of our own message text
    #$warnMsgTxt	= '../maintenance.txt';  // example for a file to be found in the root

  • De locatie van de afbeeldingen. Standaard zitten die in een eigen folder.
    De tweede instelling kunt u gebruiken als u de plaatjes rechtstreeks van de meteoalarm server wilt afhalen.
    $warnImg        = $myfolder.'/wrnImages/warn_';  // location and first part of the name for the small images of the warnings, f.i. full name warn_11.gif
    #$warnImg	= 'http://www.meteoalarm.eu/Bilder/warnflags/warn_';
    
    $warnImgLarge   = $myfolder.'wrnImagesLarge/';   // location for the large warnimages
    #$warnImgLarge  = 'http://www.meteoalarm.eu/theme/common/pictures/';
    
    $infoImg        = $myfolder.'wrnImages/i_symbol.png';   // name + location of  the big I which is used in to click on for more information

  • Als u al een eigen pagina heeft (b.v. bij de Saratoga template) met de detail informatie van de weer-waarschuwingen, dan geeft u dat hier aan. $warnpage vult u dan met de juiste pagina-naam bijvoorbeeld: wxadvisoryv3.php
    Standaard wordt de "meteoalarm.eu" pagina afgebeeld als op de i wordt geklikt.
    $warnPage       = '';                   // we have no warning page of our own
    #$warnPage	= 'index.php?p=57-1';	  //      exact name for leuven template	        
    #$warnPage      = 'wxadvisoryv3.php';   //      or the exact name of the page to load

  • Hier geeft u aan hoeveel afzonderlijke weer-waarschuwingen mogen worden afgebeeld. Meer dan 3 waarschuwingen nemen al veel ruimte in. Als er meer waarschuwingen worden afgebeeld dan hier aangegeven, dan wordt er 1 box met een algemene boodschap afgebeeld.
    Als er dan op de I geklikt wordt verschijnen alsnog de waarschuwingen zelf.
    $warningDetail  = 1;                    // maximum number of warnings before we switch to one warning

  • Om minder onnodige ruimte te gebruiken kunnen de afzonderlijke waarschuwingen in 1 vak gecombineerd worden met 1 regel per waarschuwing.
    $warn1Box       = true;                 // true = put all warnings in one box;  false = one box for every warning

  • Als deze instelling op "true" wordt gezet, wordt ook de gedetailleerde waarschuwingstekst in het vak afgebeeld. Dit kan veel ruimte innemen omdat soms ook de waarschuwingstekst in meerdere talen is opgenomen.
    Belangrijk: De waarschuwingstekst wordt niet vertaald, het is vrije tekst door een mens ingetypt in de meteoalarm database.
    $warningsXtnd   = true;                 // false =  one line per warning, true = also the long text description = DO NOT USE IN BELGIUM
    #                                       //      this can be very large chunks of text, be carefull 
    $warningSplit   = true;                 // if the large text has multiple languages and a "standard" character-string to divide them is used
    #                                       //      only the current language is shown
    #                                       //      not all countries support that, at the moment only AT BA  BE  HR  ME  NL  NO PO  RO  RS  SI

  • De vaak overbodige standaardteksten kunnen met behulp van deze instelling onderdrukt worden
    $printLevelText = false;                // print standard texts such as 'The weather is potentially dangerous for outside activities.'

  • De boodschappen van meteoalarm zijn in UTF-8. Hier geeft u aan wat de character set van uw website is.
    $charset        = 'UTF-8';               // default character set for webpages, UTF-8 is the modern one, windows-1252 is the most used one

  • De waarschuwingen worden een korte tijd opgeslagen in een cache om onnodige belasting van de meteoalarm.eu website te voorkomen.
    $cacheDir        = $myfolder.'cache/';           // directory to cache files     IMPORTANT setting

  • Voordat u hier iets verandert, bezoek: http://php.net/manual/en/timezones.php Daar vindt u de correcte schrijfwijze.
    $timezone       = 'Europe/Brussels';     // again important, valid for most of europe.  Do not change if you do not know what valid codes are.
    #                                        //      check here:     http://php.net/manual/en/timezones.php
    

Installatie

  1. Hoe wordt het "warning" script gebuikt
    1. Gebruik de PHP-instructie include 'wsWarningv3.php'; in het "eerste" deel van uw pagina
      Het "warning" script genereert dan drie PHP variabelen die u op elke plaats van de pagina kunt afbeelden.
    2. $wrnHead bevat de complete HTML voor uw eigen "boodschap - vak" of is een lege string als u die faciliteit niet gebruikt.
    3. $wrnStrings bevat de complete HTML voor de waarschuwingen, of voor het groene vak, of is een lege string. E.e.a. gebaseerd op uw instellingen.
    4. $ownpagehtml bevat de complete HTML voor de waarschuwingen, of voor het groene vak opgebouwd in de uitgebreide vorm zoals op de meteoalarm.eu site.
    5. U hoeft nu alleen "echo" te gebruiken om $wrnHead, $wrnStrings en $ownpagehtml op uw pagina te plaatsen daar waar u het boodschap vak of de waarschuwingen wilt tonen.
  2. How-to Saratoga-template
    • Voeg deze regel toe aan het fly-out menu of pas de bestaande regel (wxadvisory.php) aan
      <item caption="Advisories" link="wxadvisoryv3.php" />

    • Open met een programma editor het header.php script en zoek de regel die begint met
      <div id="page">

    • voeg de 4 regels toe zoals hieronder.
      Haal het commentaar teken # op de derde regel weg, als u de waarschuwingen boven elke pagina wilt. U bent nu klaar.
      <?php	include ('wrnWarningv3.php');  
      		echo $wrnHead;                  // if you want the yellow box with your message
      #		echo $wrnStrings                // if you want the warnings before anything else remove the #
      ?>

    • Optioneel: Als u de weer-waarschuwingen naast het menu, onder het bovenste stuk wilt,
      1. open dan het menubar.php script en zoek de volgende twee regels:
        // generate navigation links script - Ken True - webmaster@saratoga-weather.org
        function gen_navlinks($html) {

      2. voeg de ene regel toe (zoals hieronder in het voorbeeld). De waarschuwingen worden dan op de juiste plaats afgebeeld.
        // generate navigation links script - Ken True - webmaster@saratoga-weather.org
        echo '<div style="margin-left: 114px;">'.$wrnStrings.'</div>';
        function gen_navlinks($html) {

  3. How-to Leuven-template
    • Zoals bij de tab download is beschreven verplaats u eerst wat scripts en mappen vanuit de download naar de hoofdmap weather2
      1. De scripts wrnWarningv3.php en wrnPrintWarnings.php
      2. De mappen met de plaatjes wrnImages en wrnImagesLarge
    • Let op: vroeger stonden er instellingen op twee plaatsen: 1. in de settings en 2. in het script zelf.
      Vanaf v3 worden zoveel mogelijk instellingen en vertalingen opgenomen in het script zelf.
      Alleen de naam van het script staat nog in de wsSettings.php!
    • Nadat u dus de instellingen in wrnWarning.php heeft aangepast, past u in de wsSettings.php de naam van het warning-script aan:
      	$SITE['warningScript']	= 'wsWarning.php';  // Euro 

    • verander dit in
      	$SITE['warningScript']	= 'wrnWarningv3.php';  // Euro 

    • U past in wsMenudat.xml de naam van het 1 pagina script aan aan:
      	<item 	nr="57-1"	show="warningsEuro"
      			link="meteoalarm/meteoalarmPrintWarnings.php" 
      			caption="Advisories"
      			title="Weather alarms by European MeteoAlarm"
      			/>

    • verander dit in
      	<item 	nr="57-1"	show="warningsEuro"
      			link="wrnPrintWarnings.php" 
      			caption="Advisories"
      			title="Weather alarms by European MeteoAlarm"
      			/>

    • Omdat die pagina nummers (p=xx) kunnen variëren, moet u in wrnWarningv3.php nog de setting
      $warnPage	= '';

    • correct aanpassen naar
      $warnPage	= 'index.php?p=57-1';