Plugin Directory

Changeset 624174


Ignore:
Timestamp:
11/12/2012 07:47:35 PM (12 years ago)
Author:
grudgeuk
Message:

Major update version 2.0

Location:
wxsim-forecast/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • wxsim-forecast/trunk/WXSIMforecast.php

    r302771 r624174  
    33 * @package WXSIM-Forecast
    44 * @author Rob Douglass
    5  * @version 1.0
     5 * @version 2.0
    66 */
    77/*
     
    1010Description: This Plugin is just a port from Saratoga weather scripts for use in Wordpress
    1111Author: Rob Douglass
    12 Version: 1.0
     12Version: 2.0
    1313Author URI: http://www.jmrwebsolutions.co.uk
    1414*/
     
    3838                'showhumidex' => 'false',
    3939                'showfrost' => 'false',
    40                 'showheatidx' => 'false');
    41            
     40                'showheatidx' => 'false',
     41                'showHotIconF' => '100',
     42                'showHotIconC' => '37.7',
     43                'showWindChill' => 'true',
     44                'showColdvalF' => '26',
     45                'showColdvalC' => '-3',
     46                'uomTemp' => 'C',
     47                'ourTZ' => 'America/Los_Angeles',
     48                'animatedimage' => 'false');
     49                           
    4250            $WXSIMOptions = get_option($this->adminOptionsName);
    4351            if (!empty($WXSIMOptions)) {
     
    8694                        }
    8795                        if (isset($_POST['WXSIMshowheatidx'])) {
    88                             $devOptions['showheatidx'] = apply_filters('content_save_pre', $_POST['WXSIMshowheatidx']);
     96                            $devOptions['showheatidx'] = $_POST['WXSIMshowheatidx'];
    8997                        }
    90                
     98                        if (isset($_POST['WXSIMshowHotIconF'])) {
     99                            $devOptions['showHotIconF'] = $_POST['WXSIMshowHotIconF'];
     100                        }
     101                        if (isset($_POST['WXSIMshowHotIconC'])) {
     102                            $devOptions['showHotIconC'] = $_POST['WXSIMshowHotIconC'];
     103                        }
     104                        if (isset($_POST['WXSIMshowWindChill'])) {
     105                            $devOptions['showWindChill'] = $_POST['WXSIMshowWindChill'];
     106                        }
     107                        if (isset($_POST['WXSIMshowColdvalF'])) {
     108                            $devOptions['showColdvalF'] = $_POST['WXSIMshowColdvalF'];
     109                        }
     110                        if (isset($_POST['WXSIMshowColdvalC'])) {
     111                            $devOptions['showColdvalC'] = $_POST['WXSIMshowColdvalC'];
     112                        }
     113                        if (isset($_POST['WXSIMuomTemp'])) {
     114                            $devOptions['uomTemp'] = $_POST['WXSIMuomTemp'];
     115                        }   
     116                        if (isset($_POST['WXSIMourTZ'])) {
     117                            $devOptions['ourTZ'] = $_POST['WXSIMourTZ'];
     118                        }                               
     119                        if (isset($_POST['WXSIManimatedimage'])) {
     120                            $devOptions['animatedimage'] = apply_filters('content_save_pre', $_POST['WXSIManimatedimage']);
     121                        }
     122
    91123                        update_option($this->adminOptionsName, $devOptions);
    92124                       
     
    154186                        <label for="WXSIMshowheatidx_no"><input type="radio" id="WXSIMshowheatidx_no" name="WXSIMshowheatidx" value="false"
    155187                        <?php if ($devOptions['showheatidx'] == "false") { _e('checked="checked"', "WXSIMForecast"); }?>/> No</label></p>
     188   
     189                        <h3>Show Hot icon if Heat-Index >= value (Fahrenheit)</h3>
     190                        <p>Heat Icon will be displayed if the value is equal to or greater than the value entered (Fahrenheit)</p>
     191                        <textarea name="WXSIMshowHotIconF" style="width: 10%; height: 30px;"><?php _e(apply_filters('format_to_edit',$devOptions['showHotIconF']), 'WXSIMForecast') ?></textarea>
     192
     193                        <h3>Show Hot icon if Heat-Index >= value (Celcius)</h3>
     194                        <p>Heat Icon will be displayed if the value is equal to or greater than the value entered (Celcius)</p>
     195                        <textarea name="WXSIMshowHotIconC" style="width: 10%; height: 30px;"><?php _e(apply_filters('format_to_edit',$devOptions['showHotIconC']), 'WXSIMForecast') ?></textarea>
    156196                       
     197                        <h3>Show Windchill?</h3>
     198                        <p>Selecting "No" will disable Windchill from being displayed.</p>
     199                        <p><label for="WXSIMshowWindChill_true"><input type="radio" id="WXSIMshowWindChill_true" name="WXSIMshowWindChill" value="true"
     200                        <?php if ($devOptions['showWindChill'] == "true") { _e('checked="checked"', "WXSIMForecast"); }?> /> Yes</label>&nbsp;&nbsp;&nbsp;&nbsp;
     201                        <label for="WXSIMshowWindChill_false"><input type="radio" id="WXSIMshowWindChill_false" name="WXSIMshowWindChill" value="false"
     202                        <?php if ($devOptions['showWindChill'] == "false") { _e('checked="checked"', "WXSIMForecast"); }?>/> No</label></p>
     203                       
     204                        <h3>Show Cold! if Wind-Chill <= value (Fahrenheit)</h3>
     205                        <p>Cold Icon will be displayed if the value is less than or greater than the value entered (Fahrenheit)</p>
     206                        <textarea name="WXSIMshowColdvalF" style="width: 10%; height: 30px;"><?php _e(apply_filters('format_to_edit',$devOptions['showColdvalF']), 'WXSIMForecast') ?></textarea>
     207                       
     208                        <h3>Show Cold! if Wind-Chill <= value (Celcius)</h3>
     209                        <p>Cold Icon will be displayed if the value is less than or greater than the value entered (Celcius)</p>
     210                        <textarea name="WXSIMshowColdvalC" style="width: 10%; height: 30px;"><?php _e(apply_filters('format_to_edit',$devOptions['showColdvalC']), 'WXSIMForecast') ?></textarea>
     211                       
     212                        <h3>UOM Temperature</h3>
     213                        <p>Selecting either &deg;C or &deg;F this value should match forecast temperature</p>
     214                        <p><label for="WXSIMuomTemp_C"><input type="radio" id="WXSIMuomTemp_C" name="WXSIMuomTemp" value="C"
     215                        <?php if ($devOptions['uomTemp'] == "C") { _e('checked="checked"', "WXSIMForecast"); }?> /> &deg;C</label>&nbsp;&nbsp;&nbsp;&nbsp;
     216                        <label for="WXSIMuomTemp_F"><input type="radio" id="WXSIMuomTemp_F" name="WXSIMuomTemp" value="F"
     217                        <?php if ($devOptions['uomTemp'] == "F") { _e('checked="checked"', "WXSIMForecast"); }?>/> &deg;F</label></p>
     218                       
     219                        <h3>Language</h3>
     220                        <p>Please enter your timezone (http://php.net/manual/en/timezones.america.php)</p>
     221                        <textarea name="WXSIMourTZ" style="width: 10%; height: 30px;"><?php _e(apply_filters('format_to_edit',$devOptions['ourTZ']), 'WXSIMForecast') ?></textarea>
     222                       
     223                        <h3>Show Animated images?</h3>
     224                        <p>Selecting "No" will show static images and selecting "Yes" will show animated images.</p>
     225                        <p><label for="WXSIManimatedimage_yes"><input type="radio" id="WXSIManimatedimage" name="WXSIManimatedimage" value="true"
     226                        <?php if ($devOptions['animatedimage'] == "true") { _e('checked="checked"', "WXSIMForecast"); }?> /> Yes</label>&nbsp;&nbsp;&nbsp;&nbsp;
     227                        <label for="WXSIManimatedimage_no"><input type="radio" id="WXSIManimatedimage_no" name="WXSIManimatedimage" value="false"
     228                        <?php if ($devOptions['animatedimage'] == "false") { _e('checked="checked"', "WXSIMForecast"); }?>/> No</label></p>
     229
    157230                        <div class="submit">
    158231                            <input type="submit" name="update_WXSIMForecastSettings" value="<?php _e('Update Settings', 'WXSIMForecast') ?>" /></div>
     
    191264}   
    192265
    193 function WXSIMforecast_func() {
    194 
    195 // plaintext-parser.php script by Ken True - [email protected]
     266?>
     267
     268<?php
     269
     270function WXSIMforecast_func( $atts) {
     271
    196272//
    197273// Version 0.90 - 24-Mar-2007 - Pre-release - testing and commments version
     
    221297// Version 1.18 - 09-Jul-2010 - added support for Humidex and frost forecast optional displays
    222298// Version 1.19 - 12-Aug-2010 - added support for Heat-index and 'hot' icon for Heat-index/humidex above specified values
    223 //
    224 $Version = "plaintext-parser.php Version 1.19 - 12-Aug-2010";
     299// Version 1.20 - 18-Oct-2010 - Corrected Frost display wording below icons
     300// Version 1.21 - 01-Jan-2011 - added support for Wind-chill and 'Cold!' for windchill below specified value
     301// Version 1.22 - 03-Jan-2011 - added formatting to windchill, heatidx, humidex and frost arrays
     302// Version 1.23 - 23-Jan-2011 - corrected display for frost when windchill also exists
     303// Version 1.24 - 15-Feb-2011 - corrected display for snow conditions not being selected
     304// Version 1.25 - 18-Feb-2011 - added lang=en for optional translation and fixed 'snow likely' not showing snow icon
     305// Version 1.26 - 22-Feb-2011 - added more Wind-Chill processing for WXSIM 12.8.5+
     306// Version 1.27 - 01-Oct-2011 - added support for alternative animated icon set from http://www.meteotreviglio.com/
     307// Version 1.28 - 27-Dec-2011 - added support for RTL languages (Hebrew)
     308//
     309$Version = "plaintext-parser.php Version 1.28 - 27-Dec-2011";
    225310//
    226311// error_reporting(E_ALL);  // uncomment to turn on full error reporting
     
    289374// $WXSIMtext[$i]   - text of forecast (translated)
    290375// $WXSIMuv[$i]     - UV index value (number)
    291 //      note: you can use 'set_UV_string($WXSIMuv[$i])' to get a UV N and meaning text
     376//      note: you can use 'PPset_UV_string($WXSIMuv[$i])' to get a UV N and meaning text
    292377// $WXSIMtemp[$i]   - Temperature with translated text and formatting
    293378// $WXSIMpop[$i]    - Number - Probabability of Precipitation ('',10,20, ... ,100)
     
    303388// $WXSIMBeaufort[$i]  - Beaufort scale for max wind speed 'n Bft' or 'Light air' (translated)
    304389// $WXSIMhumidex[$i] - humidex number (or '' if not present in forecast)
    305 // $WXSIMfrost[$i]  - frost forecast (or ''' if not present in forecast)
    306 // $WXSIMheatidx[$i]  - heat-index forecast (or ''' if not present in forecast)
     390// $WXSIMfrost[$i]  - frost forecast (or '' if not present in forecast)
     391// $WXSIMheatidx[$i]  - heat-index forecast (or '' if not present in forecast)
     392// $WXSIMwindchill[$i] - wind-chill forecast (or '' if not present in forecast)
    307393// Note:
    308394//
     395
    309396// Settings ---------------------------------------------------------------
     397
    310398global $LanguageLookup, $doTranslate;
    311399$WXSIMOptions = get_option(WXSIMForecastAdminOptions);  //Load array from wordpress options table
     400
     401// Attributes
     402
     403extract( shortcode_atts( array(
     404    'lang' => $WXSIMOptions['language']
     405), $atts ) );
     406$WXSIMlang = $lang;
     407//return $lang;
     408
    312409
    313410$iconDir ='./wp-content/plugins/wxsim-forecast/images/';           // directory for carterlake icons
    314411$WXSIMstation = $WXSIMOptions['station'];                          // name of your weather station
    315412$plaintextFile = $WXSIMOptions['plaintextfile'];                   // location of the WXSIM plaintext.txt
    316 $lang = $WXSIMOptions['language'];                                 // default language is 'en' = English
     413//$lang = $WXSIMOptions['language'];                                 // default language is 'en' = English
     414$lang = $WXSIMlang;
     415
    317416$tempDegrees = '&deg;' . $WXSIMOptions['tempdegrees'];             // set to '' to omit degree sign
    318417//                                                                 //   or set to '&deg;', '&deg;F' or '&deg;C'
     
    330429if ($WXSIMOptions['showheatidx'] == "true") {$showHeatIDX = true;}
    331430                   
    332 $showHotIconF = 100;                                               // show Hot icon if Heat-Index >= value
    333 $showHotIconC = 37.7;                                              // show Hot icon if Humidex >= value
    334 // ---- end of settings ---------------------------------------------------
     431$showHotIconF = $WXSIMOptions['showHotIconF'];                     // show Hot icon if Heat-Index >= value
     432$showHotIconC = $WXSIMOptions['showHotIconC'];                                               // show Hot icon if Humidex >= value
     433
     434$showWindChill = true;                                              // =true to display Wind-Chill, =false to suppress display
     435if ($WXSIMOptions['showWindChill'] == "true") {$showWindChill = true;}
     436$showColdvalF = $WXSIMOptions['showColdvalF'];                      // show Cold! if Wind-Chill <= value in F
     437$showColdvalC = $WXSIMOptions['showColdvalC'];                      // show Cold! if Wind-Chill <= value in C
     438$uomTemp   = $WXSIMOptions['uomTemp'];                        // ='C' if forecast temperature in Centigrade, ='F' if in Fahrenheit
     439$ourTZ     = 'America/Los_Angeles';      // your timezone
     440
     441//Icon type
     442$iconType = '.jpg';        // default type='.jpg' -- use '.gif' for animated icons from http://www.meteotreviglio.com/
     443if ($WXSIMOptions['animatedimage'] == "true") {$iconType = '.gif';}
     444
    335445// ---- end of settings ---------------------------------------------------
    336446//
     
    338448global $SITE;
    339449if (isset($SITE['fcsticonsdir']))   {$iconDir = $SITE['fcsticonsdir'];}
     450if (isset($SITE['fcsticonstype']))  {$iconType = $SITE['fcsticonstype'];}
    340451if (isset($SITE['defaultlang']))    {$lang = $SITE['defaultlang'];}
     452if (isset($SITE['uomTemp']))        {$uomTemp = $SITE['uomTemp'];}
     453if (isset($SITE['tz']))         {$ourTZ = $SITE['tz'];}
    341454// end of overrides from Settings.php
    342455//
     
    357470   exit;
    358471}
     472# Set timezone in PHP5/PHP4 manner
     473if (!function_exists('date_default_timezone_set')) {
     474  putenv("TZ=" . $ourTZ);
     475  } else {
     476  date_default_timezone_set("$ourTZ");
     477 }
     478
    359479$Status = "<!-- $Version -->\n";
    360480$doTranslate = true;                     
    361481if (isset($_REQUEST['lang']) ) {
    362482  $lang=strtolower($_REQUEST['lang']);
    363   if ($lang == 'en') { $doTranslate = false; };
     483//  if ($lang == 'en') { $doTranslate = false; };
    364484}
    365485global $doDebug;
     
    402522
    403523$useCharSet = 'iso-8859-1';
    404 $UTFLang = ',gr,ru,cn,jp,';  // languages needing UTF-8 character set for display
     524$UTFLang = ',gr,ru,cn,jp,he,';  // languages needing UTF-8 character set for display
     525$RTLlangs = ',he,cn,jp,';       // languages needing right-to-left display
     526$doRTL = (strpos($RTLlangs,$lang) !== false)?true:false;
    405527$timeFormat = 'd-M-Y h:i a'; // default to USA format
    406528// load the config file
    407529$config = file("./wp-content/plugins/wxsim-forecast/plaintext-parser-data.txt");  //
    408530// load and merge the language file (if it exists)
    409 if ($doTranslate and $lang <> 'en' and file_exists("./wp-content/plugins/wxsim-forecast/plaintext-parser-lang-$lang.txt") ) {
     531if ($doTranslate and file_exists("./wp-content/plugins/wxsim-forecast/plaintext-parser-lang-$lang.txt") ) {
    410532  $lfile = file("./wp-content/plugins/wxsim-forecast/plaintext-parser-lang-$lang.txt");
    411533  foreach ($lfile as $val) {
     
    416538} else {
    417539  $doTranslate = false;
    418   if($lang <> 'en') {
     540//  if($lang <> 'en') {
    419541    $Status .= "<!-- translation file for '$lang' not found -->\n";
    420542    $lang = 'en';
    421   }
    422 }
     543//  }
     544}
     545
     546$showColdVal = preg_match('|C|i',$uomTemp)?$showColdvalC:$showColdvalF;
     547$Status .= "<!-- using $showColdVal for wind-chill test -->\n";
    423548
    424549// Initialize -- read in control file and place in $Conditions and $Precip
     
    538663 'frost' => 'plaintext-frost.txt',
    539664 'hot' => 'plaintext-hot.txt',
     665 'nl-frost' => 'plaintext-nl-frost.txt',
     666 'wc' => 'plaintext-wc.txt',
     667 'wc2' => 'plaintext-wc2.txt',
     668 'nl4' => 'plaintext-nl4.txt',
     669 'nl5' => 'plaintext-nl5.txt',
     670 'sn4' => 'plaintext-sn4.txt',
     671 'sn5' => 'plaintext-sn5.txt',
     672 'wc3' => 'plaintext-wc3.txt',
    540673);
     674$linksList = '';
     675if (isset($_REQUEST['testlinks'])) {
     676    $thisTest = isset($_REQUEST['test'])?$_REQUEST['test']:'notspecified';
     677    foreach ($testFiles as $name => $fname) {
     678        $linksList .= "<a href=\"?testlinks&amp;test=$name&amp;lang=$lang\">";
     679        if($thisTest == $name) {
     680            $linksList .= "<b><span style=\"font-size: 14pt;\">$name</span></b></a>&nbsp; ";
     681        } else {
     682            $linksList .= "$name</a>&nbsp; ";
     683        }
     684    }
     685
     686}
    541687 
    542688if (isset($_REQUEST['test']) ) { // for testing only
     
    575721// Find city and update date
    576722if (preg_match('|WXSIM text forecast for (.*), initialized at\s+(.*)|i',$plaintext,$matches)) {
    577   $WXSIMcity = get_lang(trim($matches[1]));
     723  $WXSIMcity = PPget_lang(trim($matches[1]));
    578724  $wdate = trim($matches[2]);
    579725  $Status .= "<!-- wdate '$wdate' -->\n";
     
    614760    $Status .= "<!-- updated '$wdate'-->\n";
    615761    $d = strtotime($wdate);
    616     $WXSIMupdated = get_lang(date('l',$d)) . ', ' . gmdate($timeFormat,$d) . ' UTC';
     762    $WXSIMupdated = PPget_lang(date('l',$d)) . ', ' . gmdate($timeFormat,$d) . ' UTC';
    617763  } else {
    618764    $wdate = "$wDay-$wMon-$wYear $wTime " . date('O',time());
    619765    $Status .= "<!-- updated '$wdate'-->\n";
    620766    $d = strtotime($wdate);
    621     $WXSIMupdated = get_lang(date('l',$d)) . ', ' . date($timeFormat,$d);
     767    $WXSIMupdated = PPget_lang(date('l',$d)) . ', ' . date($timeFormat,$d);
    622768  }
    623769}
     
    648794 $WXSIMfrost[$i] = '';
    649795 $WXSIMheatidx[$i] = '';
     796 $WXSIMwindchill[$i] = '';
    650797 
    651798 // make the period 'pretty' with HTML breaks.
    652  $WXSIMtitles[$i] = preg_replace('! (\S+)$!',"<br />\\1",get_lang($WXSIMday[$i]));
     799 $WXSIMtitles[$i] = preg_replace('! (\S+)$!',"<br />\\1",PPget_lang($WXSIMday[$i]));
    653800 if (! preg_match('!<br />!',$WXSIMtitles[$i])) {
    654801   $WXSIMtitles[$i] .= '<br />';  // add line break to 'short' day titles
     
    670817 }
    671818
    672  // extract Wind direction, values
     819// extract Wind-chill value
     820 if (preg_match('/Wind chill (down to|ranging from) (\S+)/i',$WXSIMtext[$i],$mtemp) ) {
     821   $WXSIMwindchill[$i] = $mtemp[2];
     822 }
     823
     824// extract Wind direction, values
    673825 $testwind = str_replace('Wind chill','Wind-chill',$WXSIMtext[$i]);
    674826 if (preg_match('|Wind (.*)\.|Ui',$testwind,$mtemp) ) {
     
    725877 
    726878  }
    727    $WXSIMBeaufort[$i] = displayBeaufort(getBeaufort($maxWind,$WXSIMwindunits[$i])) ;
     879   $WXSIMBeaufort[$i] = PPdisplayBeaufort(PPgetBeaufort($maxWind,$WXSIMwindunits[$i])) ;
    728880//   $Status .= "<!-- dir='" . $WXSIMwinddir[$i] . "' wind='" . $WXSIMwind[$i] .
    729881     "' gust='" . $WXSIMgust[$i] . "' units='" . $WXSIMwindunits[$i] .
     
    733885 // extract temperature High/Low values
    734886 if (preg_match('!(high|low) ([-|\d]+)[\.|,]!i',$WXSIMtext[$i],$mtemp)) {
    735    $WXSIMtemp[$i] = get_lang($mtemp[1] .':') . ' ' . $mtemp[2] . $tempDegrees;
     887   $WXSIMtemp[$i] = PPget_lang($mtemp[1] .':') . ' ' . $mtemp[2] . $tempDegrees;
    736888   if ($tempDegrees) {  // fix up degrees in the text
    737889      $WXSIMtext[$i] = preg_replace(
     
    767919 if (preg_match('!with\s+(.*)\s+frost.!is',$WXSIMtext[$i],$mtemp)) {
    768920//   print "<pre>" . print_r($mtemp,true) . "</pre>\n";
    769    $WXSIMfrost[$i] = 'Frost '.$mtemp[1];
     921   $WXSIMfrost[$i] = ucfirst($mtemp[1]) . ' frost';
    770922  if ($doTranslate) {
    771923    // perform optional translation if $Language has entries
     
    785937 reset($Conditions);  // Do search in load order
    786938 foreach ($Conditions as $cond => $condrec) { // look for matching condition
     939 if ($doDebug) {
     940   $Status .= "<!-- check '$cond' -->\n";
     941 }
    787942   
    788943   if(preg_match("!$cond!i",$WXSIMtext[$i],$mtemp)) {
    789944     list($dayicon,$nighticon,$condition) = explode("\t",$condrec);
    790945     if (preg_match('!chance!i',$condition) and $WXSIMpop[$i] < $minPoP) {
     946       if ($doDebug) {
     947         $Status .= "<!-- skip-chance -->\n";
     948       }
    791949       continue; // skip this one
    792950     }
    793      if (preg_match("|$cond level|i",$WXSIMtext[$i]) ) {
     951     if (preg_match("|$cond level|i",$WXSIMtext[$i]) and !preg_match("/(chance of $cond|$cond likely|$cond very likely)/i",$WXSIMtext[$i]) ) {
     952       if ($doDebug) {
     953         $Status .= "<!-- skip $cond level -->\n";
     954       }
    794955       continue; // skip 'snow level' and 'freezing level' entries
    795956     }
    796      $WXSIMcond[$i] = get_lang($condition);
     957     if ($doDebug) {
     958       $Status .= "<!-- $cond / $condition selected -->\n";
     959     }
     960     $WXSIMcond[$i] = PPget_lang($condition);
    797961     if (preg_match('|night|i',$WXSIMday[$i])) {
    798962       $WXSIMicon[$i] = $nighticon;
     
    828992 
    829993//  now fix up the full icon name and PoP if available
    830   $curicon = $WXSIMicon[$i]  . '.jpg';
     994  $curicon = $WXSIMicon[$i]  . $iconType;
    831995  if ($WXSIMpop[$i] > 0) {
    832     $testicon = preg_replace("|\.jpg|","$WXSIMpop[$i].jpg",$curicon);
     996    $testicon = preg_replace('|'.$iconType.'|',$WXSIMpop[$i].$iconType,$curicon);
    833997//  print "<pre>testicon='$testicon'</pre>\n";
    834998    if (file_exists($iconDir . $testicon)) {
     
    8401004    $WXSIMicon[$i] = $curicon;
    8411005  }
    842 
     1006 
    8431007  if ($WXSIMtempdirect[$i] <> '') {
    8441008     $tempdirect = 'up.gif';
     
    8581022    // put back translated text, fixing capitalization for sentence starts (except the first one).
    8591023    $WXSIMtext[$i] = preg_replace('!\.\s+([a-z])!es',"'.  ' . strtoupper('\\1')",$text);
    860     $WXSIMday[$i] = get_lang($WXSIMday[$i]);
    861     $wdirs = get_lang('NESW');  // default directions
    862     if(strlen($wdirs) == 4) {
    863       $WXSIMwinddir[$i] = strtr($WXSIMwinddir[$i],'NESW',$wdirs); // do translation
    864     } elseif (preg_match('|,|',$wdirs)) { //multichar translation
    865       $wdirsmc = explode(',',$wdirs);
    866       $wdirs = array('N','E','S','W');
    867       $wdirlook = array();
    868       foreach ($wdirs as $n => $d) {
    869         $wdirlook[$d] = $wdirsmc[$n];
    870       }
    871       $tstr = ''; // get ready to pass once through the string
    872       for ($n=0;$n<strlen($WXSIMwinddir[$i]);$n++) {
    873         $c = substr($WXSIMwinddir[$i],$n,1);
    874         if(isset($wdirlook[$c])) {
    875           $tstr .= $wdirlook[$c]; // use translation
    876         } else {
    877           $tstr .= $c; // use regular
    878         }
     1024    $WXSIMday[$i] = PPget_lang($WXSIMday[$i]);
     1025    if($doRTL and isset($LanguageLookup['NESW-N'])) { // handle RTL language type
     1026      $Status .= "<!-- RTLtrans input WXSIMwinddir[$i] = '".$WXSIMwinddir[$i]."' -->\n";
     1027      $tstr = preg_replace('|&rarr;|',"\t",$WXSIMwinddir[$i]);
     1028      $twdirs = explode("\t",$tstr);
     1029      foreach ($twdirs as $n => $twdir) {
     1030          $twdirs[$n] = isset($LanguageLookup['NESW-'.$twdir])?$LanguageLookup['NESW-'.$twdir]:$twdir;
    8791031      }
    880       $WXSIMwinddir[$i] = $tstr; // do translation
     1032      $WXSIMwinddir[$i] = join('&larr;',array_reverse($twdirs));
     1033      $Status .= "<!-- RTLtrans output WXSIMwinddir[$i] = '".$WXSIMwinddir[$i]."' -->\n";
     1034      if(preg_match('|&rarr;|',$WXSIMwind[$i])) {
     1035        $Status .= "<!-- RTLtrans input WXSIMwind[$i] = '".$WXSIMwind[$i]."' -->\n";
     1036        $tstr = preg_replace('|&rarr;|',"\t",$WXSIMwind[$i]);
     1037        $twspds = explode("\t",$tstr);
     1038        $WXSIMwind[$i] = join('&larr;',array_reverse($twspds));
     1039        $Status .= "<!-- RTLtrans output WXSIMwind[$i] = '".$WXSIMwind[$i]."' -->\n";
     1040      }
     1041     
     1042    } else { // handle non-RTL language type
    8811043   
     1044      $wdirs = PPget_lang('NESW');  // default directions
     1045      if(strlen($wdirs) == 4) {
     1046        $WXSIMwinddir[$i] = strtr($WXSIMwinddir[$i],'NESW',$wdirs); // do translation
     1047      } elseif (preg_match('|,|',$wdirs)) { //multichar translation
     1048        $wdirsmc = explode(',',$wdirs);
     1049        $wdirs = array('N','E','S','W');
     1050        $wdirlook = array();
     1051        foreach ($wdirs as $n => $d) {
     1052          $wdirlook[$d] = $wdirsmc[$n];
     1053        }
     1054        $tstr = ''; // get ready to pass once through the string
     1055        for ($n=0;$n<strlen($WXSIMwinddir[$i]);$n++) {
     1056          $c = substr($WXSIMwinddir[$i],$n,1);
     1057          if(isset($wdirlook[$c])) {
     1058            $tstr .= $wdirlook[$c]; // use translation
     1059          } else {
     1060            $tstr .= $c; // use regular
     1061          }
     1062        }
     1063        $WXSIMwinddir[$i] = $tstr; // do translation
     1064     
     1065      }
    8821066    }
    8831067    // translate speed and wind units based on lang entries in one pass
    8841068    $text = ' ' . $WXSIMwind[$i] . " \t " . $WXSIMwindunits[$i] . ' '; // make test string.
    885     reset ($Language); // process in order of the file
    886     foreach ($Language as $key => $replacement) {
    887       $text = str_replace($key,$replacement,$text);
    888     }
    889     $key = explode("\t",$text);
     1069    reset ($Language); // process in order of the file
     1070    foreach ($Language as $key => $replacement) {
     1071      $text = str_replace($key,$replacement,$text);
     1072    }
     1073    $key = explode("\t",$text);
    8901074    $WXSIMwind[$i] = trim($key[0]);
    8911075    $WXSIMwindunits[$i] = trim($key[1]);   
    892 
     1076 
    8931077  }
    894 
    895  // override icon with hot.jpg if high heat-index or humidex
    896  if($WXSIMheatidx[$i] >= $showHotIconF or $WXSIMhumidex[$i] >= $showHotIconC) {
    897      $WXSIMicon[$i] = 'hot.jpg';
    898      $WXSIMcond[$i] .= "<br/>\n<span style=\"color:red;\"><strong>" . get_lang('Hot!') . "</strong></span>";
    899  }
     1078   // override icon with hot.jpg if high heat-index or humidex
     1079   if($WXSIMheatidx[$i] >= $showHotIconF or $WXSIMhumidex[$i] >= $showHotIconC) {
     1080       $WXSIMicon[$i] = 'hot.jpg';
     1081       $WXSIMcond[$i] .= "<br/>\n<span style=\"color:red;\"><strong>" . PPget_lang('Hot!') . "</strong></span>";
     1082   }
     1083   
     1084   if($WXSIMheatidx[$i] <> '') {
     1085       $WXSIMheatidx[$i] = "<span style=\"color: red;\">".PPget_lang('Heat').": $WXSIMheatidx[$i]$tempDegrees</span>\n";
     1086       
     1087   }
    9001088 
    901  // make HTML for full icon with condition description
    902  $WXSIMicons[$i] = "$WXSIMtitles[$i]<br />
    903  <img src=\"$iconDir$WXSIMicon[$i]\" alt=\"".strip_tags($WXSIMcond[$i])."\"  title=\"".
    904  strip_tags($WXSIMcond[$i]) ."\" /><br />
    905  $WXSIMcond[$i]";
     1089   if($WXSIMhumidex[$i] <> '') {
     1090       $WXSIMhumidex[$i] = "<span style=\"color: red;\">".PPget_lang('Hmdx').": $WXSIMhumidex[$i]</span>\n";
     1091   }
     1092 
     1093   // process Wind-chill
     1094   if ($WXSIMwindchill[$i] <= $showColdVal and $WXSIMwindchill[$i] <> '') {
     1095       $WXSIMcond[$i] .= "<br/>\n<span style=\"color:blue;\"><strong>" . PPget_lang('Cold!') . "</strong></span>";
     1096  //     $WXSIMicon[$i] = 'cold.jpg';
     1097   }
     1098   
     1099 
     1100   if($WXSIMwindchill[$i] <> '') {
     1101       $WXSIMwindchill[$i] = "<span style=\"color: blue;\">".PPget_lang('WCh').": $WXSIMwindchill[$i]$tempDegrees</span>\n";
     1102   }
     1103   
     1104   if ($WXSIMfrost[$i] <> '') {
     1105      $WXSIMfrost[$i] = "<span style=\"color: blue;\">$WXSIMfrost[$i]</span>\n";
     1106   }
     1107
     1108
     1109   // make HTML for full icon with condition description
     1110   $WXSIMicons[$i] = "$WXSIMtitles[$i]<br />
     1111   <img src=\"$iconDir$WXSIMicon[$i]\" alt=\"".strip_tags($WXSIMcond[$i])."\"  title=\"".
     1112   strip_tags($WXSIMcond[$i]) ."\" /><br />
     1113   $WXSIMcond[$i]";
    9061114 
    9071115} // end of main loop -------------------------
     
    9301138preg_match('|(\d+)(.*)|',$maxWidth,$widthparts);
    9311139//$Status .= "<!-- widthparts\n" . print_r($widthparts,true) . " -->\n";
    932 //$nTD = count($WXSIMicon);
    933 $nTD = $maxIcons;
     1140$nTD = count($WXSIMicon);
    9341141if ($nTD < 1) { $nTD = 1; }
    9351142$wTD = round($widthparts[1]/$nTD,0) . $widthparts[2];
     
    9481155}
    9491156if ($printHeading) {
     1157    $RTL = $doRTL?'style="unicode-bidi: embed;"':'';
     1158
    9501159?>
    951     <tr align="center">
    952       <td><b><?php echo get_lang("WXSIM Forecast for:");?> </b><span style="color: green;">
     1160    <tr>
     1161      <td align="center"<?php echo $RTL; ?>><b><?php echo PPget_lang("WXSIM Forecast for:");?> </b><span style="color: green;">
    9531162       <?php echo $WXSIMcity; ?></span><br />
    954         <?php echo get_lang("Issued by:"); ?> <?php echo $WXSIMstation; ?>
     1163        <?php echo PPget_lang("Issued by:"); ?> <?php echo $WXSIMstation; ?>
    9551164      </td>
    9561165    </tr>
    9571166    <tr>
    958       <td align="center"><?php echo get_lang("Updated:");?> <?php echo $WXSIMupdated; ?>
     1167      <td align="center"<?php echo $RTL; ?>><?php echo PPget_lang("Updated:");?> <?php
     1168        if($doRTL) { echo "<span style=\"unicode-bidi: bidi-override; direction: ltr;\">";}
     1169        echo $WXSIMupdated;
     1170        if($doRTL) { echo "</span>";}
     1171      ?>
    9591172      </td>
    9601173    </tr>
     
    9661179    <tr>
    9671180      <td align="center">&nbsp;
    968         <table width="<?php echo $maxWidth; ?>" border="0" cellpadding="0" cellspacing="0"> 
     1181        <table width="100%" border="0" cellpadding="0" cellspacing="0"> 
    9691182          <tr valign ="top" align="center">
    9701183    <?php
    9711184      for ($i=0;$i<min(count($WXSIMicons),$maxIcons);$i++) {
    972         print "<td style=\"width: $wTD;\"><span>$WXSIMicons[$i]</span></td>\n";
     1185        print "<td style=\"width: $wTD;\"><span style=\"font-size: 8pt;\">$WXSIMicons[$i]</span></td>\n";
    9731186      }
    9741187    ?>
     
    9781191      for ($i=0;$i<min(count($WXSIMprecip),$maxIcons);$i++) {
    9791192        print "<td style=\"width: $wTD; color: green;\">$WXSIMprecip[$i]</td>\n";
    980         }
     1193      }
    9811194      ?>
    9821195          </tr>
     
    9891202          </tr>
    9901203         
    991       <?php if ($showHumidex or $showFrost or $showHeatIDX) {
    992           print "<tr valign =\"top\" align=\"center\">";
    993      
     1204      <?php if ($showHumidex or $showHeatIDX or $showWindChill) { ?>
     1205          <tr valign ="top" align="center">
     1206      <?php
    9941207      for ($i=0;$i<min(count($WXSIMhumidex),$maxIcons);$i++) {
    995         $temp = '';
    996         if ($WXSIMhumidex[$i] <> '') {$temp = get_lang('Hmdx').': ';
    997           print "<td style=\"width: $wTD; color: red;\">$temp$WXSIMhumidex[$i]</td>\n";
     1208        $flag = 0;
     1209        if ($showHumidex and $WXSIMhumidex[$i] <> '') {$flag++;
     1210          print "<td style=\"width: $wTD;\">$WXSIMhumidex[$i]</td>\n";
     1211         
    9981212        }
    999         if ($WXSIMheatidx[$i] <> '') {$temp = get_lang('Heat').': ';
    1000           print "<td style=\"width: $wTD; color: red;\">$temp$WXSIMheatidx[$i]$tempDegrees</td>\n";
     1213        if ($showHeatIDX and $WXSIMheatidx[$i] <> '') {$flag++;
     1214          print "<td style=\"width: $wTD;\">$WXSIMheatidx[$i]</td>\n";
    10011215        }
    1002         if ($WXSIMfrost[$i] <> '') {
    1003           $temp = 'Frost ';
    1004           print "<td style=\"width: $wTD; color: blue;\">$WXSIMfrost[$i]</td>\n";
     1216        if ($showWindChill and $WXSIMwindchill[$i] <> '') {$flag++;
     1217          print "<td style=\"width: $wTD;\">$WXSIMwindchill[$i]</td>\n";
     1218           
    10051219        }
    1006         if($temp == '') {
     1220        if($flag < 1) { // print spacer row
    10071221          print "<td style=\"width: $wTD;\">&nbsp;</td>\n";
    10081222         
     
    10111225      ?>
    10121226          </tr>
    1013       <?php } // end of showHumidex or showFrost ?>
     1227      <?php } // end of showHumidex/showHeatidx/showWindchill ?>
     1228      <?php if ($showFrost and strlen(implode('',$WXSIMfrost)) > 1) { ?>
     1229          <tr valign ="top" align="center">
     1230      <?php
     1231      for ($i=0;$i<min(count($WXSIMfrost),$maxIcons);$i++) {
     1232       
     1233        if ($WXSIMfrost[$i] <> '') {$flag++;
     1234          print "<td style=\"width: $wTD;\">$WXSIMfrost[$i]</td>\n";
     1235        } else {
     1236          print "<td style=\"width: $wTD;\">&nbsp;</td>\n";
     1237        }
     1238      }
     1239      ?>
     1240         </tr>         
     1241     <?php } // end of showFrost ?>
    10141242          <tr valign ="top" align="center">
    10151243      <?php
     
    10271255      <?php
    10281256      for ($i=0;$i<min(count($WXSIMuv),$maxIcons);$i++) {
    1029         print "<td style=\"width: $wTD;\">" . set_UV_string($WXSIMuv[$i]) . "</td>\n";
     1257        print "<td style=\"width: $wTD;\">" . PPset_UV_string($WXSIMuv[$i]) . "</td>\n";
    10301258      }
    10311259      ?>
     
    10471275if ($printText) {
    10481276?>
    1049 <div class="WXSIMforecastcontent">
     1277<div class="WXSIMforecascontent">
    10501278
    10511279<table style="border: 0" width="<?php echo $maxWidth; ?>">
    10521280    <?php
     1281      $rAlign = $doRTL?' text-align: right;':'';
    10531282      for ($i=0;$i<count($WXSIMday);$i++) {
    10541283        print "<tr valign =\"top\" align=\"left\">\n";
    1055         print "<td style=\"width: 20%;\"><b>$WXSIMday[$i]</b><br />&nbsp;<br /></td>\n";
    1056         print "<td style=\"width: 80%;\">$WXSIMtext[$i]</td>\n";
     1284        print "<td style=\"width: 20%;$rAlign\"><b>$WXSIMday[$i]</b><br />&nbsp;<br /></td>\n";
     1285        print "<td style=\"width: 80%;$rAlign\">$WXSIMtext[$i]</td>\n";
    10571286        print "</tr>\n";
    10581287      }
    10591288    ?>
    10601289</table>
    1061 </div><?php
     1290
     1291<p><small><a href="http://www.wxsim.com/">WXSIM</a>
     1292<?php echo PPget_lang("forecast formatting script by");?>
     1293<a href="http://saratoga-weather.org/scripts.php"> Saratoga-Weather.org</a>
     1294<?php if($iconType <> '.jpg') {
     1295    print "<br/>";
     1296    echo PPget_lang("Animated forecast icons courtesy of");
     1297    print " <a href=\"http://www.meteotreviglio.com/\">www.meteotreviglio.com</a>.";
     1298}
     1299?>
     1300 
     1301</small></p></div><?php
    10621302} // end printText
    1063 
    10641303
    10651304if (! $IncludeMode) {
     
    10691308<?php
    10701309} // print above only if not include mode
    1071 }
     1310}  // END FORECAST FUNCTION
    10721311// Functions -----------------------------------------------------------------------
    10731312
    10741313//  replace text with language lookup text if available
    1075 function get_lang( $text ) {
     1314function PPget_lang( $text ) {
    10761315  global $LanguageLookup, $doTranslate;
     1316 
    10771317  if ($doTranslate && isset($LanguageLookup[$text])) {
    10781318    $newtext = $LanguageLookup[$text];
     
    10841324//  decode UV to word+color for display
    10851325
    1086 function set_UV_string ( $uv ) {
     1326function PPset_UV_string ( $uv ) {
    10871327// figure out a text value and color for UV exposure text
    10881328//  0 to 2  Low
     
    10961336     break;
    10971337     case (($uv > 0) and ($uv < 3)):
    1098        $uv = "UV: $uv<br/>" . '<span style="border: solid 1px; background-color: #A4CE6a;">&nbsp;' . get_lang("Low") .'&nbsp;</span>';
     1338       $uv = "UV: $uv<br/>" . '<span style="border: solid 1px; background-color: #A4CE6a;">&nbsp;' . PPget_lang("Low") .'&nbsp;</span>';
    10991339     break;
    11001340     case (($uv >= 3) and ($uv < 6)):
    1101        $uv = "UV: $uv<br/>" . '<span style="border: solid 1px;background-color: #FBEE09;">&nbsp;' . get_lang("Medium") .'&nbsp;</span>';
     1341       $uv = "UV: $uv<br/>" . '<span style="border: solid 1px;background-color: #FBEE09;">&nbsp;' . PPget_lang("Medium") .'&nbsp;</span>';
    11021342     break;
    11031343     case (($uv >=6 ) and ($uv < 8)):
    1104        $uv = "UV: $uv<br/>" . '<span style="border: solid 1px; background-color: #FD9125;">&nbsp;' . get_lang("High") .'&nbsp;</span>';
     1344       $uv = "UV: $uv<br/>" . '<span style="border: solid 1px; background-color: #FD9125;">&nbsp;' . PPget_lang("High") .'&nbsp;</span>';
    11051345     break;
    11061346     case (($uv >=8 ) and ($uv < 11)):
    1107        $uv = "UV: $uv<br/>" . '<span style="border: solid 1px; color: #FFFFFF; background-color: #F63F37;">&nbsp;' . get_lang('Very&nbsp;High') . '&nbsp;</span>';
     1347       $uv = "UV: $uv<br/>" . '<span style="border: solid 1px; color: #FFFFFF; background-color: #F63F37;">&nbsp;' . PPget_lang('Very&nbsp;High') . '&nbsp;</span>';
    11081348     break;
    11091349     case (($uv >= 11) ):
    1110        $uv = "UV: $uv<br/>" . '<span style="border: solid 1px; color: #FFFF00; background-color: #807780;">&nbsp;' . get_lang("Extreme") .'&nbsp;</span>';
     1350       $uv = "UV: $uv<br/>" . '<span style="border: solid 1px; color: #FFFF00; background-color: #807780;">&nbsp;' . PPget_lang("Extreme") .'&nbsp;</span>';
    11111351     break;
    11121352   } // end switch
     
    11161356
    11171357// determine Beaufort number based on wind speed and units
    1118 function getBeaufort ( $wind, $units) {
     1358function PPgetBeaufort ( $wind, $units) {
    11191359
    11201360global $showBeaufort,$BeaufortMPH,$BeaufortKPH,$BeaufortKTS,$BeaufortMS,$doDebug,$Status;
     
    11411381   return($Bft);
    11421382
    1143 }// end getBeaufort
     1383}// end PPgetBeaufort
    11441384
    11451385// perform Beaufort display if desired by showBeaufort setting
    1146 function displayBeaufort ($Bft) {
     1386function PPdisplayBeaufort ($Bft) {
    11471387  global $showBeaufort, $BeaufortText;
    11481388  if ($Bft < 0 or $Bft > 12 ) { return(""); }
    11491389
    1150   if ($showBeaufort == 'T') { return( get_lang($BeaufortText[$Bft]) ); }
     1390  if ($showBeaufort == 'T') { return( PPget_lang($BeaufortText[$Bft]) ); }
    11511391
    11521392  if ($showBeaufort == 'V') { return("$Bft Bft"); }
     
    11541394  return("");
    11551395
    1156 }// end displayBeaufort
    1157 
    1158 
    1159 
    1160 
    1161 
    1162 
    1163 
    1164    
    1165    
     1396}// end PPdisplayBeaufort
     1397
    11661398
    11671399
     
    11811413
    11821414
    1183 
    1184 
    11851415?>
  • wxsim-forecast/trunk/plaintext-parser-data.txt

    r219671 r624174  
    11#
    22# data file for plaintext-parser.php -- used to determine caption and base icon for forecast
    3 # Version 1.05 - 29-Jan-2007
     3# Version 1.06 - 01-Jan-2011
    44#
    55# select default date format by putting a '#' in front of the ones NOT to be used. 
     
    4343cond|fog after midnight|sctfg|nbknfg|Fog late|
    4444cond|fog|fg|nfg|Fog|
    45 cond|wind chill down to -|cold|cold|Very Cold|
    46 cond|heat index up to 1|hot|hot|Very Hot|
    4745cond|partly cloudy|sct|nsct|Partly Cloudy|
    4846cond|mostly cloudy|bkn|nbkn|Mostly Cloudy|
  • wxsim-forecast/trunk/readme.txt

    r302770 r624174  
    44Donate link: http://www.jmrwebsolutions.co.uk
    55Tags: weather, wxsim, forecast
    6 Requires at least: 2.8
    7 Tested up to: 3.0.1
    8 Stable tag: 1.0
     6Requires at least: 3.3
     7Tested up to: 3.4.2
     8Stable tag: 2.0
    99
    1010Displays WXSIM forecast on a specific page of your wordpress site.
     
    292910. Minimum Probability of Precipitation(PoP) - PoP percentage must equal this value or above to display rain icon, otherwise the sky icon with PoP is displayed.
    303011. Display Beaufort - Set to V' for no Beaufort and set to 'T' for translated name
     3112. Show Humidity Index - Selecting "No" will disable the humidity index from being displayed.
     3213. Show Frost - Selecting "No" will disable the Frost from being displayed.
     3314. Show Heat Index - Selecting "No" will disable the heat index from being displayed.
     3415. Show Hot icon - Heat Icon will be displayed if the value is equal to or greater than the value entered (Fahrenheit)
     3516. Show Hot icon - Heat Icon will be displayed if the value is equal to or greater than the value entered (Celcius)
     3617. Show Windchill - Selecting "No" will disable Windchill from being displayed.
     3718. Show Cold - Cold Icon will be displayed if the value is less than or greater than the value entered (Fahrenheit)
     3819. Show Cold - Cold Icon will be displayed if the value is less than or greater than the value entered (Celcius)
     3920. UOM Temperature - Selecting either °C or °F this value should match forecast temperature
     4021. TimeZone - Please enter your timezone Visit the following to identify the correct value http://php.net/manual/en/timezones.america.php
     4122. Show Animated images - Selecting "No" will show static images and selecting "Yes" will show animated images.
    3142
    32 To add the widget to a posts and/or pages use the shortcode [forecast].
     43To add the widget to a posts and/or pages use the shortcode [forecast]
     44You can now pass a language parameter in the shortcode to allow for multilinguaal forecast throughout your site [forecast lang = cy]. You must have a valid plaintext-parser-lang file for this to work.
    3345
    3446== Frequently Asked Questions ==
    3547
    36 = A question that someone might have =
    37 
    38 An answer to that question.
    39 
    40 = What about foo bar? =
    41 
    42 Answer to foo bar dilemma.
     481. This will only work if you are running WXSIM and upload data from this to the web, IT IS NOT A STANDALONE PLUGIN
    4349
    4450== Screenshots ==
    4551
     52None
    4653
    4754== Changelog ==
     55
     56= 2.0 - 12.11.2012 =
     57* Fixed numerous bugs in code
     58* Added a number of additional configuration items
     59* Added shortcode parameter for multilingual functionality
     60* Included animated images
    4861
    4962= 1.0 - 21.10.2010  =
     
    7083
    7184== A brief Markdown Example ==
    72 
    73 Ordered list:
    74 
    75 1.
    76 
    77 Unordered list:
    78 
    79 *
    80 
    81 Here's a link to [WordPress](http://wordpress.org/ "Your favorite software") and one to [Markdown's Syntax Documentation][markdown syntax].
    82 Titles are optional, naturally.
    83 
    84 [markdown syntax]: http://daringfireball.net/projects/markdown/syntax
    85             "Markdown is what the parser uses to process much of the readme file"
    86 
    87 Markdown uses email style notation for blockquotes and I've been told:
    88 > Asterisks for *emphasis*. Double it up  for **strong**.
    89 
    90 `<?php code(); // goes in backticks ?>`
Note: See TracChangeset for help on using the changeset viewer.