<?php
// Force Defaults for Zone and County
if ( ! isset($REQUEST['warnzone']) )
$REQUEST['warnzone']="TXZ081";
if ( ! isset($REQUEST['warncounty']) )
$REQUEST['warncounty']="TXC043";
if ( ! isset($REQUEST['warnlocal']) )
$REQUEST['warnlocal']="Rural+Big+Bend+Area";
//You can pass data to this script with:
// http://www.carterlake.org/testadvisory.php?warnzone=IAZ069&warncounty=IAC155&warnlocal=Carter+Lake
//Where the zone is your zone and the county is your county and location is your location
//using pluses in place of spaces
$warnzone = $REQUEST['warnzone'];
$warncounty = $REQUEST['warncounty'];
$warnlocal = $_REQUEST['warnlocal'];
//import NOAA Advisory info
//data can be altered by changing the zone and county numbers
//Target data ends up in $targetwarn and $targettext[0]
$html = implode('', file("http://www.crh.noaa.gov/showsigwx.php?warnzone=TXZ081&warncounty=TXC043"));
//Get the advisory headers and put them in an array
preg_match_all('|<h3>(.*)</h3>|', $html, $headers);
$warnheaders = $headers[1];
//Get the advisory text and put them into an array as well
preg_match_all('|<pre>(.*)</pre>|Uis', $html, $headers);
$warntext = $headers[1];
//If there is more than one advisory, we need to set its priority
if (count($warnheaders) >= 1) {
$i = 0;
$flag = 0;
//First, around here tornados are the biggest danger. A warning is critical information.
//Display this one first no matter what!
while ($i < count($warnheaders)):
if (preg_match("/Tornado Warning/i", $warnheaders[$i])) {
$targetwarn = $warnheaders[$i];
$targettext = $warntext[$i];
$targettext = explode("$$",$targettext);
$flag = 1;
break;
}
$i++;
endwhile;
//Next if there are none of the above found. Display the first warning message.
if ($flag == 0) {
$i = 0;
while ($i < count($warnheaders)):
if (preg_match("/Warning/i", $warnheaders[$i])) {
$targetwarn = $warnheaders[$i];
$targettext = $warntext[$i];
$targettext = explode("$$",$targettext);
$flag = 1;
break;
}
$i++;
endwhile;
}
//Next if there are none of the above found. Display the first watch message.
if ($flag == 0) {
$i = 0;
while ($i < count($warnheaders)):
if (preg_match("/Watch/i", $warnheaders[$i])) {
$targetwarn = $warnheaders[$i];
$targettext = $warntext[$i];
$targettext = explode("$$",$targettext);
$flag = 1;
break;
}
$i++;
endwhile;
}
//Next if there are none of the above found. Display the first advisory message.
if ($flag == 0) {
$i = 0;
while ($i < count($warnheaders)):
if (preg_match("/Advisory/i", $warnheaders[$i])) {
$targetwarn = $warnheaders[$i];
$targettext = $warntext[$i];
$targettext = explode("$$",$targettext);
$flag = 1;
break;
}
$i++;
endwhile;
}
//Next if there are none of the above found. Display the first statement message.
if ($flag == 0) {
$i = 0;
while ($i < count($warnheaders)):
if (preg_match("/Statement/i", $warnheaders[$i])) {
$targetwarn = $warnheaders[$i];
$targettext = $warntext[$i];
$targettext = explode("$$",$targettext);
$flag = 1;
break;
}
$i++;
endwhile;
}
//Next if there are none of the above found. Set the advisory to default message.
if ($targetwarn == "Hazardous Weather Outlook") {
$targetwarn = "NO CURRENT ADVISORIES";
$targettext[0] = "THERE ARE NO ACTIVE WATCHES, WARNINGS OR ADVISORIES";
} else if ($targetwarn == "No Active Hazardous Weather Conditions Found") {
$targetwarn = "NO CURRENT ADVISORIES";
$targettext[0] = "THERE ARE NO ACTIVE WATCHES, WARNINGS OR ADVISORIES";
} else if (empty($targetwarn)) {
$targetwarn = "NO CURRENT ADVISORIES";
$targettext[0] = "THERE ARE NO ACTIVE WATCHES, WARNINGS OR ADVISORIES";
} else if ($targetwarn == "Short Term Forecast") {
$targetwarn = "NO CURRENT ADVISORIES";
$targettext[0] = "THERE ARE NO ACTIVE WATCHES, WARNINGS OR ADVISORIES";
}
if ($targetwarn <> "NO CURRENT ADVISORIES") {
$warnlist = 'ALL CURRENT ADVISORIES:';
for ($i = 0; $i <= count($warnheaders); $i++) {
$warnheaderplus = preg_replace( '| |', '+', $warnheaders[$i] );
$warnlist = $warnlist . '<br><a href="http://www.crh.noaa.gov/showsigwx.php?warnzone=' . $warnzone. '&warncounty=' . $warncounty . '&local_place1=' . $warnlocal . '&product1=' . $warnheaderplus . '" target="_new">' . $warnheaders[$i] . '</a>';
}
}
} error_reporting(0);
echo "<b>";
echo $targetwarn;
echo "</b><br><br><pre>";
echo $targettext[0];
echo $warnlist;
echo "</pre>";
?>