IMPORTANT! The server may go down soon - possibly permanently. Please read the latest post in Announcements and News

FTP is broken. I strongly advise all users using my server for their web site to make alternative arrangements.

Outgoing mail is disabled because of the malware on the server. No new forum registrations are currently possible, and mail to the forum administrator will not work.

Please read the posts in the Announcements section about the current status of Cumulus development now that I have retired

Please read this post before posting

Latest Cumulus release v1.9.4 (build 1099) - Nov 28 2014
Latest Cumulus MX release - v3.0.0 build 3043 Jan 20 2017. See this post for download

PHP Web 'viewer' for Cumulus NOAA Style reports

Other discussion about creating web sites for Cumulus that doesn't have a specific subforum

Moderators: daj, TNETWeather

User avatar
PaulMy
Posts: 1677
Joined: Sun Sep 28, 2008 11:54 pm
Weather Station: Davis Vantage Pro 2 w/Envoy USB
Operating System: Windows-8
Location: Komoka, ON Canada
Contact:

Re: PHP Web 'viewer' for Cumulus NOAA Style reports

Postby PaulMy » Sun Dec 07, 2014 2:24 pm

Each month and years work and display fine from here. In IE10 and only on selecting 2011 and any months in 2011 then that array of Year/Month rearranges a bit but still works.

Paul

User avatar
duke
Posts: 840
Joined: Sun Jul 03, 2011 6:23 pm
Weather Station: Davis VP2 Plus - 24hr FARS
Operating System: Windows 10 - 64 bit
Location: Eastleigh, Hampshire, UK
Contact:

Re: PHP Web 'viewer' for Cumulus NOAA Style reports

Postby duke » Sun Dec 07, 2014 3:17 pm

PaulMy wrote:only on selecting 2011 and any months in 2011 then that array of Year/Month rearranges a bit but still works.


Yeah I notice that, but beteljuice's example page does the same when you select the last year - http://www.beteljuice.co.uk/NOAA2/ug2.php?yr=2008&mo=11

edit: I have now saved all my NOAA reports in UTF-8 and removed beteljuice's work-around and no strange symbols.

On another slightly different note, I like to keep all my CSS in the same directory so I added:

line 90

Code: Select all

  $CSSdir = 'css/';      // point to your CSS directory


line 158

Code: Select all

if (!file_exists($CSSdir . 'noaarep.css')) { createcss();}


works fine but if I also modify line 626

Code: Select all

$handle = fopen($CSSdir . 'noaarep.css', 'w');


the script at this point fails to see the previous declaration at line 90 and throws an undeclared error.
Duke

Nightingale Weather
Eastleigh, Hampshire, UK
------------------------------------------------------
Validate your pages - often!

User avatar
mcrossley
Posts: 5194
Joined: Thu Jan 07, 2010 9:44 pm
Weather Station: Davis VP2
Operating System: Stretch Lite rPi
Location: Wilmslow, Cheshire, UK
Contact:

Re: PHP Web 'viewer' for Cumulus NOAA Style reports

Postby mcrossley » Sun Dec 07, 2014 5:26 pm

If line 626 is in a function (?), you will need to declare $CSSdir as a global variable.

User avatar
duke
Posts: 840
Joined: Sun Jul 03, 2011 6:23 pm
Weather Station: Davis VP2 Plus - 24hr FARS
Operating System: Windows 10 - 64 bit
Location: Eastleigh, Hampshire, UK
Contact:

Re: PHP Web 'viewer' for Cumulus NOAA Style reports

Postby duke » Sun Dec 07, 2014 6:12 pm

mcrossley wrote:If line 626 is in a function (?), you will need to declare $CSSdir as a global variable.


Voila, and embarrassingly I should have realized that :shock:

Thanks Mark.

global $CSSdir;
$handle = fopen($CSSdir . 'noaarep.css', 'w');
fwrite($handle, $op);
fclose($handle);
} // END function createcss()
Duke

Nightingale Weather
Eastleigh, Hampshire, UK
------------------------------------------------------
Validate your pages - often!

dygon
Posts: 24
Joined: Tue Dec 02, 2014 9:04 pm
Weather Station: Oregon WMR200
Operating System: windows 7
Location: Italia

Re: PHP Web 'viewer' for Cumulus NOAA Style reports

Postby dygon » Tue Dec 23, 2014 5:40 pm

Hi I have copied the zip file to the post 1 and made references to my .txt file, but I get this message:
Sorry ... no NOAA-style reports found.

where am I wrong?

User avatar
beteljuice
Posts: 2475
Joined: Tue Dec 09, 2008 1:37 pm
Weather Station: None !
Operating System: XP SP3 - honest
Location: Dudley, West Midlands, UK

Re: PHP Web 'viewer' for Cumulus NOAA Style reports

Postby beteljuice » Tue Dec 23, 2014 8:13 pm

Have any NOAA reports been uploaded to your site ?
Is the path/ to the directory correct ?
Image
......................Imagine, what you will KNOW tomorrow !

dygon
Posts: 24
Joined: Tue Dec 02, 2014 9:04 pm
Weather Station: Oregon WMR200
Operating System: windows 7
Location: Italia

Re: PHP Web 'viewer' for Cumulus NOAA Style reports

Postby dygon » Tue Dec 23, 2014 10:51 pm

one:
http://meteosoresina.altervista.org/NOAA/NOAAYR2014.txt

two:
http://meteosoresina.altervista.org/NOAA/NOAAMO1214.txt

path: /NOAA

Code: Select all

<?php
//------------------------------------------------
// safely display NOAA style text report files
// Author:  Ken True - webmaster@saratoga-weather.org
// Version: 1.02  12-Mar-2006 - Initial release
// Version: 1.03  13-Aug-2006 - added downloader and include capability
// Version: 1.04  01-Dec-2007 - added WL auto update for prior month/year rollover
// initialize request variables
// Version: 1.05  01-Jan-2008 - added timezone to fix year rollover issue
// Version: 1.06  03-Oct-2008 - added variables for WL LastMonth/LastYear files

$ourTZ = 'PST8PDT';      

$yr =    isset($_REQUEST['yr']) ? $_REQUEST['yr'] : '';
$mo =   isset($_REQUEST['yr']) ? $_REQUEST['mo'] : '';
   
if ( isset($_REQUEST['sce']) and strtolower($_REQUEST['sce']) == 'view' ) {
   //--self downloader --
   $filenameReal = __FILE__;
   $download_size = filesize($filenameReal);
   header('Pragma: public');
   header('Cache-Control: private');
   header('Cache-Control: no-cache, must-revalidate');
   header("Content-type: text/plain");
   header("Accept-Ranges: bytes");
   header("Content-Length: $download_size");
   header('Connection: close');
   
   readfile($filenameReal);
   exit;
}   

$IncludeMode = false;
if (isset($_REQUEST['inc']) and strtolower($_REQUEST['inc']) == 'y') {
  $IncludeMode = true;
}
if (isset($doInclude)) {
  $IncludeMode = $doInclude;
}
   
if (! $IncludeMode ) {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Refresh" content="300" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>NOAA style reports</title>
</head>
<body>
  <h1 id="pageName">NOAA-style Climate Reports  </h1>
<?php
}
// NOAA-reports.php
// Author:  Ken True  webmaster@saratoga-weather.org
// Version: 1.02  12-Mar-2006
//
// Permission is given to freely use and/or modify this script for
// private, non-commercial usage.
// No warranty is expressed or implied .. use at your own risk.
//
$Naming = 'VWS';              // set to 'WL' or 'VWS'
// Note:  WeatherLink conventions:
//    NOAAMO.TXT, NOAAYR.TXT  for current month and current year
//    NOAAPRMO.TXT, NOAAPRYR.TXT for last month, last year
//    NOAAyyyy.TXT for year 'yyyy' summary
//    NOAAyyyy-mm.TXT for month 'mm' in year 'yyyy' summary
//
// VWS naming format
//    noaamo.txt,noaayr.txt  for current month and current year
//    yyyy.txt  for year 'yyyy' summary
//    yyyy_mm.txt for month 'mm', year 'yyyy' summary.
//
// Weather-Display naming format
//   (to be done)
//
if ($Naming == 'WL') {
  $NOAAdir = './NOAA-reports'; // point to your NOAA file sub-directry
  $ThisYearFile = "./NOAAYR.TXT"; // point to your current NOAA yearly file
  $ThisMonthFile= "./NOAAMO.TXT"; // point to your current NOAA monthly file
  $LastYearFile = "./NOAAPRYR.TXT"; // point to your prior NOAA yearly file
  $LastMonthFile= "./NOAAPRMO.TXT"; // point to your prior NOAA monthly file
}
if ($Naming == 'VWS') {
  $NOAAdir = './NOAA';      // point to your NOAA file sub-directry
  $ThisYearFile = "$NOAAdir/NOAAYR2014.txt"; // point to your current NOAA yearly file
  $ThisMonthFile= "$NOAAdir/NOAAMO1214.txt"; // point to your current NOAA monthly file
}

$PHP_SELF = $_SERVER['PHP_SELF'];
putenv("TZ=$ourTZ");
$now = getdate();
// print "<!-- now \n" . print_r($now,true) . " -->\n";
$now_month = sprintf("%02d",$now['mon']);
$now_year = $now['year'];
$prior_month = $now['mon'] - 1;
$prior_year = $now['year'];
$last_year = $prior_year -1;
if ($prior_month < 1) {$prior_month = 12; $prior_year--;}
$prior_month = sprintf("%02d",$prior_month);
print "<!-- parms: yr='$yr' mo='$mo' -->\n";
print "<!-- now='$now_year'-'$now_month' prior='$prior_year'-'$prior_month' -->\n";

if ($Naming == 'WL') { // check for month/year rollover and update

  if(! file_exists("$NOAAdir/NOAA$prior_year-$prior_month.TXT") and
       file_exists($LastMonthFile) ) {
      print "<!-- copying $LastMonthFile to $NOAAdir/NOAA$prior_year-$prior_month.TXT -->\n";
      if (copy($LastMonthFile,"$NOAAdir/NOAA$prior_year-$prior_month.TXT")) {
        print "<!-- copy successful -->\n";
      } else {
        print "<!-- unable to copy -->\n";
      }
   }

  if(! file_exists("$NOAAdir/NOAA$last_year.TXT") and
       file_exists($LastYearFile) ) {
      print "<!-- copying $LastYearFile to $NOAAdir/NOAA$last_year.TXT -->\n";
      if (copy($LastYearFile,"$NOAAdir/NOAA$last_year.TXT")) {
        print "<!-- copy successful -->\n";
      } else {
        print "<!-- unable to copy -->\n";
      }

   }
}

$months = array( "01"=>"Jan", "02"=>"Feb", "03"=>"Mar",
         "04"=>"Apr", "05"=>"May", "06"=>"Jun",
       "07"=>"Jul", "08"=>"Aug", "09"=>"Sep",
       "10"=>"Oct", "11"=>"Nov", "12"=>"Dec"
      );

if ($handle = opendir("$NOAAdir")) {
   while (false !== ($file = readdir($handle))) {
       if ($file != "." && $file != "..") {
              $files[] = $file;
        }
   }
  closedir($handle);
   
  sort($files);
  $lastyear = '';
  echo "<pre style=\"font-size: 9pt;\">\n";
  // set up the files and find the first and last year for reports
  $first_year = "";
 
  foreach ($files as $key => $file) {
   if ($Naming == 'WL') {
       $year = substr($file,4,4);
   } elseif ($Naming == 'VWS') {
       $year = substr($file,0,4);
   }

   if (! preg_match("/^\d{4}$/",$year) ) { continue;} //make sure year is numeric
   

    $filesfound["$file"] = 1;
    if (!$first_year) { $first_year = $year; }
    $last_year = $year;
  } 

 if (! $first_year) {
   echo "<h2>Sorry... no NOAA-style reports found.</h2>";
   echo $first_year;
   echo "</body></html>";
   return;
 
 }
// now create the index links based on which files we have

//  for ($y = $first_year; $y <= $now_year; $y++) {
// above will do ascending sort by year in index
// but we like the Index links sorted in descending year so
//   newest reports are at the top of the list
//
 for ($y = $now_year; $y >= $first_year; $y--) {
 
   $yy = sprintf("%04d",$y);
   if ($Naming == 'WL')  {$t = "NOAA$yy.TXT"; }
   if ($Naming == 'VWS') {$t = "$yy.txt"; }
   
   if ($filesfound[$t] || $yy == $now_year) {
      echo "<a href=\"$PHP_SELF?yr=$yy\"><b>$yy</b></a>: ";
   } else {
     echo " <b>$yy</b>: ";
   }

   for ($m = 1; $m <= 12; $m++) {
     $mm = sprintf("%02d",$m);
    if ($Naming == 'WL')  {$testfile = "NOAA$yy-$mm.TXT";}
    if ($Naming == 'VWS') {$testfile = "$yy" . "_" . "$mm.txt"; }
   
    if ($filesfound[$testfile]) {
      echo "<a href=\"$PHP_SELF?yr=$yy&amp;mo=$mm\"><b>" . $months[$mm]. "</b></a> ";
     } else {
      if ($yy == $now_year && $mm == $now_month) {
         echo  "<a href=\"$PHP_SELF\"><b>" . $months[$mm] ."</b></a> ";
      } else {
         echo  "<b>" . $months[$mm] ."</b> ";
      }
    }
    if ($m < 12) {
       echo "| ";
    } else {
      echo "\n";
    }
   }
 }
 
// Now give out the reports

 if (! $yr && ! $mo) {  // special for 'current month'
    echo "<br /><b>Report for $now_year $now_month</b>\n";
    $rpt = implode("",file("$ThisMonthFile"));
   echo "<br />\n";
   $rpt = preg_replace('|<|Uis','&lt;',$rpt);
   echo $rpt;
  }

 if ($yr == $now_year && ! $mo) { // special for current year
    echo "<br /><b>Report for $now_year</b>\n";
    $rpt = implode("",file("$ThisYearFile"));
   echo "<br />\n";
   $rpt = preg_replace('|<|Uis','&lt;',$rpt);
   echo $rpt;
  } else { // otherwise, process the requested year or year/month

   if ($yr) {
      if ($mo) { // month given
       if ($Naming == 'WL')  {$testfile = "NOAA$yr-$mo.TXT";}
      if ($Naming == 'VWS') {$testfile = "$yr" . "_" . "$mo.txt";}
     } else { // no month given
       if ($Naming == 'WL')  {$testfile = "NOAA$yr.TXT";}
      if ($Naming == 'VWS') {$testfile = "$yr.txt";}
     } // no month given
     if ($filesfound[$testfile]) {
        echo "<br /><b>Report for $yr $mo</b>\n";
       $rpt = implode("",file("$NOAAdir/$testfile"));
          echo "<br />\n";
      $rpt = preg_replace('|<|Uis','&lt;',$rpt);
        echo $rpt;

     } else {
       echo "<br /><b>Sorry, no report for $yr $mo.</b><br /><br />\n";
      }
   }
 }
 
}
echo "</pre>\n";
// echo "------- debugging -----\n";
// print_r($filesfound);
if (! $IncludeMode ) {
?>
</body>
</html>
<?php
}
?>


User avatar
beteljuice
Posts: 2475
Joined: Tue Dec 09, 2008 1:37 pm
Weather Station: None !
Operating System: XP SP3 - honest
Location: Dudley, West Midlands, UK

Re: PHP Web 'viewer' for Cumulus NOAA Style reports

Postby beteljuice » Tue Dec 23, 2014 11:19 pm

That script is NOT the script from this site !!!
Image
......................Imagine, what you will KNOW tomorrow !

dygon
Posts: 24
Joined: Tue Dec 02, 2014 9:04 pm
Weather Station: Oregon WMR200
Operating System: windows 7
Location: Italia

Re: PHP Web 'viewer' for Cumulus NOAA Style reports

Postby dygon » Wed Dec 24, 2014 9:10 am

Perfect now works.
I was convinced to have it downloaded here

THANK YOU

malkie
Posts: 65
Joined: Sun Jan 02, 2011 9:38 am
Weather Station: Watson W-8681
Operating System: XP SP3
Location: Stevenage, Herts, UK

Re: PHP Web 'viewer' for Cumulus NOAA Style reports

Postby malkie » Sun Feb 01, 2015 7:47 am

PaulMy wrote:In IE10 and only on selecting 2011 and any months in 2011 then that array of Year/Month rearranges a bit but still works.

Paul


I've been trying to work out why the reports menu gets jumbled when viewing reports from 2011:

http://www.elmnet-weather.net/NOAA_reports.php?yr=2011&mo=04

Click on the 'expand' button next to the year and the menu looks like this:

Image

Tried it with IE11 and Chrome, no change.

I have changed the NOAA-reports.php file to the newest version, 3.3, no change.

I can't work out why it changes the menu when you select the drop down box for the first year, any suggestions?
Malcolm
North Herts, UK
http://www.elmnet-weather.net
Cumulus 3 on Raspberry Pi 2, running on Raspbian, from a Davis Vantage Vue.

User avatar
beteljuice
Posts: 2475
Joined: Tue Dec 09, 2008 1:37 pm
Weather Station: None !
Operating System: XP SP3 - honest
Location: Dudley, West Midlands, UK

Re: PHP Web 'viewer' for Cumulus NOAA Style reports

Postby beteljuice » Sun Feb 01, 2015 12:09 pm

Looks alright in Firefox.

The only thing I can see is that you have some 'orphan' closing html statements in your page.

Code: Select all


  </tr> <---- REMOVE
</table> <---- REMOVE

<p class="credits"><br />
Page updated 01/Feb/2015 12:00:02<br />
Image
......................Imagine, what you will KNOW tomorrow !

malkie
Posts: 65
Joined: Sun Jan 02, 2011 9:38 am
Weather Station: Watson W-8681
Operating System: XP SP3
Location: Stevenage, Herts, UK

Re: PHP Web 'viewer' for Cumulus NOAA Style reports

Postby malkie » Sun Feb 01, 2015 3:00 pm

beteljuice wrote:Looks alright in Firefox.

The only thing I can see is that you have some 'orphan' closing html statements in your page.

Code: Select all


  </tr> <---- REMOVE
</table> <---- REMOVE

<p class="credits"><br />
Page updated 01/Feb/2015 12:00:02<br />


Thanks for pointing that out, but it hasn't helped.

If I expand the menu while 2013 (for example) is displayed, the menu table has <br /> characters between lines:

<!-- parms: yr='2013' mo='' -->
<!-- now='2015'-'02' prior='2015'-'01' -->
<div class="noaa_rep_container">
<div class="noaa_rep_nav_container">
Select a Year or Month report<br />
<div id="all_nav" style="display: inline;">
<span id="nav_updown" class="noaa_rep_nav noaa_expand_alt" onClick="switch_nav();">V/&#923:
(All the month buttons in here:)
class="noaa_rep_nav ">Dec</span>
<br />
<span class="noaa_rep_nav noaa_expand_alt" onClick="switch_nav();">V/&#923
(All the month buttons in here:)
class="noaa_rep_nav ">Dec</a>
</span><br />

etc etc.......

If I expand the menu for 2011, the <br/> character between the rows is missing. So now I know what is happening, have to find out what creates it...

Edit:

I can see a line in NOAA-reports.php that reads:

if($yr != $first_year) { $full_nav2 .= "<br />\n";}

This is the only line that seems to be special for the first year of the reports.

I've looked through 'full_nav2' but cannot see anything missing. Mark's site works properly so I guess the script must be OK, but I can't see any reason why the line breaks should be missing only when the first year is selected and no month is selected other than something wrong in the script.

I need a drink!
Malcolm
North Herts, UK
http://www.elmnet-weather.net
Cumulus 3 on Raspberry Pi 2, running on Raspbian, from a Davis Vantage Vue.

User avatar
beteljuice
Posts: 2475
Joined: Tue Dec 09, 2008 1:37 pm
Weather Station: None !
Operating System: XP SP3 - honest
Location: Dudley, West Midlands, UK

Re: PHP Web 'viewer' for Cumulus NOAA Style reports

Postby beteljuice » Sun Feb 01, 2015 8:17 pm

How very odd, you may just have found a bug, but why it only seems to affect you ????

Try changing line #432:

Code: Select all

if($yr != $first_year) { $full_nav2 .= "<br />\n";}
To ..

Code: Select all

if($y != $first_year) { $full_nav2 .= "<br />\n";}
See if that fixes things.
Image
......................Imagine, what you will KNOW tomorrow !

User avatar
mcrossley
Posts: 5194
Joined: Thu Jan 07, 2010 9:44 pm
Weather Station: Davis VP2
Operating System: Stretch Lite rPi
Location: Wilmslow, Cheshire, UK
Contact:

Re: PHP Web 'viewer' for Cumulus NOAA Style reports

Postby mcrossley » Sun Feb 01, 2015 9:08 pm

malkie wrote:Mark's site works properly so I guess the script must be OK
My page is based on an old version of the script, and I have modded it, so don't make any assumptions based on my page. Now, I must go and see if my page has the same bug! ....

User avatar
jdc
Posts: 135
Joined: Tue Jun 19, 2012 8:51 pm
Weather Station: Davis VP2 : Instromet
Operating System: Win 10 : Win XP
Location: Berwick-upon-Tweed, England.
Contact:

Re: PHP Web 'viewer' for Cumulus NOAA Style reports

Postby jdc » Sun Feb 01, 2015 9:17 pm

Had a play with mine and found adjusting 'noaa_rep_container' width could cause this.

Try setting (in noaarep.css) yours to 590px - currently 635px.

Code: Select all

.noaa_rep_container {
    font-family: courier new, courier, monospace;
    width: 590px;
    margin: 0 auto;
   align: right;
}


Return to “Web site - General”

Who is online

Users browsing this forum: No registered users and 3 guests