############################################################## 
## MOD Title:  Current Local Weather w/5 day forecast & PCP Integration
## MOD Author: Handyman < Francis@michaellewismusic.com > (Francis Lewis) http://michaellewismusic.com/forum
## MOD Description:	This mod allows registered users to pick a city
## 			from within their profile and have the current and
##			5 day forecast displayed on the main phpbb page. If
##			no city is selected or an invalid code is entered,
##			then no weather is displayed. Guests see nothing.
##
## MOD Version:		1.3.2
## 
## Installation Level: 	Intermediate
## Installation Time:  	15 Minutes 
## Files To Edit:	
##			admin/admin_users.php
##			index.php
##			includes/usercp_register.php
##			includes/usercp_viewprofile.php
##			language/lang_english/lang_main.php
##			templates/subSilver/admin/user_edit_body.tpl
##			templates/subSilver/index_body.tpl
##			templates/subSilver/profile_add_body.tpl
##			templates/subSilver/profile_view_body.tpl
## Included Files: 	
##			popup.php
##			popup_ab.php
##			popup_cd.php	
##			popup_eg.php
##			popup_hj.php
##			popup_km.php
##			popup_np.php
##			popup_qs.php
##			popup_tz.php
##			popup.tpl
##			popup_ab.tpl
##			popup_cd.tpl	
##			popup_eg.tpl
##			popup_hj.tpl
##			popup_km.tpl
##			popup_np.tpl
##			popup_qs.tpl
##			popup_tz.tpl
##			includes/weather.php
##			templates/subSilver/weather.css
############################################################## 
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the 
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code 
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered 
## in our MOD-Database, located at: http://www.phpbb.com/mods/
############################################################## 
## Author Notes: 
## 
##   Copyright 2005  Handyman.
##
##  Thanks to Matt (http://thehottub.net)
##  and ozzie for some of the PCP integration.
##  and Scanman20 for creating the original version of this mod.
##
##  This mod will create a new field in your users table, Registering table
##  (for PCP only) and in the profile section (PCP only).
##  Registered members will see one of two things. Either "No City Selected"
##  or their weather. Users can modify their city code via their profile and admins
##  can edit them in the User Admin Management page. I have made the city codes hidden
##  to everyone (except the admin) when you look at another user's profile.
##  I don't think that should be public. As I designed this mod, only the main index.php
##  page shows the weather. This can be altered, however, I don't think users would want
##  to see their weather on every page.
##  I decided to go with the CNN weather feed which uses city codes or zipcodes.
##
##  I will not be able to offer support on any forum except for mine:
##  "http://michaellewismusic.com/forum" as I don't have time to check the other forums.
##
##  Thanks. Have fun and God Bless.
##  http://michaellewismusic.com/pope (tribute to the great Pope John Paul II)
##############################################################
## MOD History:
##
##     2005-04-30  - Version 1.0.0
##          - Original release
##
##     2005-05-25  - Version 1.1
##	    - Fixed the code to be compatible with heavily modded boards
##
##     2005-6-28   - Version 1.2
##	    - Fixed code to be compatible with different languages
##
##     2005-7-11   - Version 1.3
##	    - Fixed some bugs in the city selector and the popups.
##
##     2005-7-23   - Version 1.3.1
##	    - Fixed some not critical code in the install file.
##
##     2005-8-17   - Version 1.3.2
##	    - Fixed an error PCP only. (see the PCP install file for
##	      details) And made the install file more compatible with
##	      Heavily modded boards
############################################################## 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

# 
#-----[ SQL ]------------------------------------------ 
# 
#   NOTE: If you have a non-default table prefix, then change the following
#   SQL.
#   e.g. if using the default "myphpbb_" prefix then the SQL becomes:
#   ALTER TABLE myphpbb_users ADD user_zipcode VARCHAR (10)
ALTER TABLE phpbb_users ADD user_zipcode VARCHAR (10)

# 
#-----[ COPY ]------------------------------------------ 
#
copy popup_ab.php to popup_ab.php
copy popup_cd.php to popup_cd.php
copy popup_eg.php to popup_eg.php
copy popup_hj.php to popup_hj.php
copy popup_km.php to popup_km.php
copy popup_np.php to popup_np.php
copy popup_qs.php to popup_qs.php
copy popup_tz.php to popup_tz.php
copy popup.php to popup.php
copy templates/subSilver/popup_ab.tpl to templates/subSilver/popup_ab.tpl
copy templates/subSilver/popup_cd.tpl to templates/subSilver/popup_cd.tpl
copy templates/subSilver/popup_eg.tpl to templates/subSilver/popup_eg.tpl
copy templates/subSilver/popup_hj.tpl to templates/subSilver/popup_hj.tpl
copy templates/subSilver/popup_km.tpl to templates/subSilver/popup_km.tpl
copy templates/subSilver/popup_np.tpl to templates/subSilver/popup_np.tpl
copy templates/subSilver/popup_qs.tpl to templates/subSilver/popup_qs.tpl
copy templates/subSilver/popup_tz.tpl to templates/subSilver/popup_tz.tpl
copy templates/subSilver/popup.tpl to templates/subSilver/popup.tpl
copy includes/weather.php to includes/weather.php

# 
#-----[ OPEN ]------------------------------------------ 
#
index.php

# 
#-----[ FIND ]------------------------------------------ 
#
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
// WEATHER MOD
require($phpbb_root_path . 'includes/weather.'.$phpEx);
// WEATHER MOD


# 
#-----[ FIND ]------------------------------------------ 
#
	//
	// Start output of page
	//
	define('SHOW_ONLINE', true);
	$page_title = $lang['Index'];
	include($phpbb_root_path . 'includes/page_header.'.$phpEx);

	$template->set_filenames(array(
		'body' => 'index_body.tpl')
	);

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
	//
	$zip_code = $userdata['user_zipcode'];
	//

# 
#-----[ FIND ]------------------------------------------ 
#
		'FORUM_LOCKED_IMG' => $images['forum_locked'],

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
		'ZIPCODE' => $zip_code,
		// WEATHER MOD
		'MY_WEATHER' => ($userdata['session_logged_in']) ? weather($zip_code) : '',
		// WEATHER MOD
		'L_FORECAST' => $lang['forecast'],


# 
#-----[ OPEN ]------------------------------------------ 
#
templates/subSilver/index_body.tpl

# 
#-----[ FIND ]------------------------------------------ 
#
  <!-- END catrow -->
</table>

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
<!-- BEGIN switch_user_logged_in -->
<link rel="stylesheet" href="templates/subSilver/weather.css" type="text/css">
<table width=100% align=center cellpadding="3" cellspacing="1" border="0" class="forumline">
<tr>
<td class="catHead" height="28"><span class="cattitle">{L_FORECAST}</span></td>
</tr>
<tr>
<td width=100% class="row1" align="center" valign="middle" height="28">
<!-- // WEATHER MOD // -->
<table><tr>{MY_WEATHER}</tr></table>
<!-- // WEATHER MOD // -->
</td>
</tr>
</table>
<!-- END switch_user_logged_in -->

# 
#-----[ OPEN ]------------------------------------------ 
#
includes/usercp_register.php

# 
#-----[ FIND ]------------------------------------------ 
#
#	$strip_var_list = array('username' => 'username', 'email' => 'email', 'icq' => 'icq', 'aim' => 'aim', 'msn' => 'msn', 'yim' => 'yim', 'website' => 'website', 'location' => 'location', 'occupation' => 'occupation', 'interests' => 'interests');
$strip_var_list = array

#
#-----[ IN-LINE FIND ]---------------------------------
#
'interests' => 'interests'

# 
#-----[ IN-LINE AFTER, ADD ]------------------------------------
#
 
, 'zipcode' => 'zipcode'

# 
#-----[ FIND ]------------------------------------------ 
# 
" . $avatar_sql . "

#
#-----[ IN-LINE FIND ]---------------------------------
#
" . $avatar_sql . "

# 
#-----[ IN-LINE AFTER, ADD ]------------------------------------
#
, user_zipcode = '" . str_replace("\'", "''", $zipcode) . "'

# 
#-----[ FIND ]------------------------------------------ 
# 
user_id, username,

#
#-----[ IN-LINE FIND ]---------------------------------
#
username,

# 
#-----[ IN-LINE AFTER, ADD ]------------------------------------
#
 user_zipcode,

# 
#-----[ FIND ]------------------------------------------ 
#
$user_id, '" . str_replace("\'", "''", $username) . "',

#
#-----[ IN-LINE FIND ]---------------------------------
#
 '" . str_replace("\'", "''", $username) . "',

# 
#-----[ IN-LINE AFTER, ADD ]------------------------------------
#
 '" . str_replace("\'", "''", $zipcode) . "',

# 
#-----[ FIND ]------------------------------------------ 
#
	$username = $userdata['username'];

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
	$zipcode = $userdata['user_zipcode'];

# 
#-----[ FIND ]------------------------------------------ 
# 
$user_timezone, $user_dateformat,

#
#-----[ IN-LINE FIND ]---------------------------------
#
$user_dateformat,

# 
#-----[ IN-LINE AFTER, ADD ]------------------------------------
#
 $zipcode, 

# 
#-----[ FIND ]------------------------------------------ 
#
	$template->assign_vars(array(
		'USERNAME' => $username,

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
		'ZIPCODE' => $zipcode,

# 
#-----[ FIND ]------------------------------------------ 
#
$lang['Email_address'],

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
		'L_ZIPCODE' => $lang['zip_code'],
		'L_ZIPCODE_VIEWABLE' => $lang['zip_code_viewable'],
		'L_SELECT_CITY' => $lang['select_city'],

# 
#-----[ FIND ]------------------------------------------ 
#
'S_PROFILE_ACTION' => append_sid("profile.$phpEx")

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
,
		'U_POPUP' => append_sid($phpbb_root_path . 'popup.'.$phpEx)
		
# 
#-----[ OPEN ]------------------------------------------ 
#
admin/admin_users.php

# 
#-----[ FIND ]------------------------------------------ 
#
		$email = ( !empty($HTTP_POST_VARS['email']) ) ? trim(strip_tags(htmlspecialchars( $HTTP_POST_VARS['email'] ) )) : '';

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
		$zipcode = ( !empty($HTTP_POST_VARS['zipcode']) ) ? trim(strip_tags( $HTTP_POST_VARS['zipcode'] ) ) : '';

# 
#-----[ FIND ]------------------------------------------ 
#
		if( isset( $HTTP_POST_VARS['avatargallery'] ) || isset( $HTTP_POST_VARS['submitavatar'] ) || isset( $HTTP_POST_VARS['cancelavatar'] ) )
		{
			$username = stripslashes($username);
			$email = stripslashes($email);

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
			$zipcode = stripslashes($zipcode);

# 
#-----[ FIND ]------------------------------------------ 
# 
user_email = '" . str_replace("\'", "''", $email) . "',

#
#-----[ IN-LINE FIND ]---------------------------------
#
user_email = '" . str_replace("\'", "''", $email) . "',

# 
#-----[ IN-LINE AFTER, ADD ]------------------------------------
#
 user_zipcode = '" . str_replace("\'", "''", $zipcode) . "',

# 
#-----[ FIND ]------------------------------------------ 
#
			$template->assign_var_from_handle('ERROR_BOX', 'reg_header');

			$username = htmlspecialchars(stripslashes($username));

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
			$zipcode = stripslashes($zipcode);

# 
#-----[ FIND ]------------------------------------------ 
#
		$username = $this_userdata['username'];

		$email = $this_userdata['user_email'];

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
		$zipcode = $this_userdata['user_zipcode'];

# 
#-----[ FIND ]------------------------------------------ 
#			
$s_hidden_fields .= '<input type="hidden" name="username" value="' . str_replace("\"", "&quot;", $username) . '" />';

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
			$s_hidden_fields .= '<input type="hidden" name="zipcode" value="' . str_replace("\"", "&quot;", $zipcode) . '" />';

# 
#-----[ FIND ]------------------------------------------ 
# 
		$template->assign_vars(array(
			'USERNAME' => $username,

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
			'ZIPCODE' => $zipcode,

# 
#-----[ FIND ]------------------------------------------ 
# 
			'RANK_SELECT_BOX' => $rank_select_box,

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
			'L_ZIPCODE' => $lang['zip_code'],

# 
#-----[ FIND ]------------------------------------------ 
# 
			'L_EMAIL_ADDRESS' => $lang['Email_address'],

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
			'L_ZIP_CODE' =>$lang['zip_code'],
			'L_SELECT_CITY' => $lang['select_city'],

# 
#-----[ FIND ]------------------------------------------ 
# 
'U_SEARCH_USER' => append_sid("./../search.$phpEx?mode=searchuser"),

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
'U_POPUP' => append_sid($phpbb_root_path . 'popup.'.$phpEx),

# 
#-----[ OPEN ]------------------------------------------ 
#
templates/subSilver/profile_add_body.tpl

# 
#-----[ FIND ]------------------------------------------ 
#
<form action="{S_PROFILE_ACTION}" {S_FORM_ENCTYPE} method="post">

#
#-----[ IN-LINE FIND ]------------------------------------------
#
method="post"

#
#-----[ IN-LINE AFTER, ADD ]------------------------------------
#
 name="myform"

# 
#-----[ FIND ]------------------------------------------ 
# 
	<!-- END switch_namechange_allowed -->

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
	<tr>
		<td class="row1"><span class="gen">{L_ZIPCODE}: </span><span class="gensmall">{L_ZIPCODE_VIEWABLE}</span></td>
		<td class="row2"><input type="text" class="post" style="width:200px" name="zipcode" size="25" maxlength="10" value="{ZIPCODE}" /> <span class="gensmall"><a href="javascript:void(0);" onclick="spawn();">{L_SELECT_CITY}</a></span></td>
	</tr>

# 
#-----[ FIND ]------------------------------------------ 
# 
</form>

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
<SCRIPT>
function spawn() {
x=(screen.width/2)-225;
y=(screen.height/2)-200;
window.open('{U_POPUP}','test','left=' + x + ',top=' + y +',screenX=x,screenY=y,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=450,height=400')
}
</script>

# 
#-----[ OPEN ]------------------------------------------ 
#
templates/subSilver/admin/user_edit_body.tpl

# 
#-----[ FIND ]------------------------------------------ 
# 
#<h1>{L_USER_TITLE}</h1>
{ERROR_BOX}
# 
#-----[ BEFORE, ADD ]------------------------------------------ 
# 
<SCRIPT>
function spawn() {
x=(screen.width/2)-225;
y=(screen.height/2)-200;
window.open('{U_POPUP}','test','left=' + x + ',top=' + y +',screenX=x,screenY=y,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=450,height=400')
}
</script>

# 
#-----[ FIND ]------------------------------------------ 
# 
#<form action="{S_PROFILE_ACTION}" {S_FORM_ENCTYPE} method="post">
<form action="{S_PROFILE_ACTION}"
# 
#-----[ IN-LINE FIND ]------------------------------------------ 
# 
<form action="{S_PROFILE_ACTION}" {S_FORM_ENCTYPE} method="post">

# 
#-----[ IN-LINE REPLACE WITH ]------------------------------------------ 
# 
<form action="{S_PROFILE_ACTION}" {S_FORM_ENCTYPE} method="post" name="myform">

# 
#-----[ FIND ]------------------------------------------ 
# 
	<tr>
		<td class="row1" width="38%"><span class="gen">{L_USERNAME}: *</span></td>
		<td class="row2">
		<input class="post" type="text" name="username" size="35" maxlength="40" value="{USERNAME}" />
	</td>
	</tr>

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
	<tr>
		<td class="row1" width="38%"><span class="gen">{L_ZIPCODE}: *</span></td>
		<td class="row2">
		<input type="text" name="zipcode" size="25" maxlength="50" value="{ZIPCODE}" /> <span class="gensmall"><a href="javascript:void(0);" onclick="spawn();">{L_SELECT_CITY}</a></span>
		</td>
	</tr>

# 
#-----[ OPEN ]------------------------------------------ 
#
language/lang_english/lang_main.php

# 
#-----[ FIND ]------------------------------------------ 
# 
$lang['datetime']['Nov'] = 'Nov';
$lang['datetime']['Dec'] = 'Dec';

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
$lang['zip_code'] = 'Weather City Code';
$lang['zip_code_viewable'] = '[This is <b>NOT</b> publicly viewable.]';
$lang['forecast'] = 'Your Local Forecast';
$lang['select_city'] = 'Select Your City';
$lang['withheld'] = 'Withheld';
$lang['weather_no_city_selected'] = 'No City Selected: click %s<u>here</u>%s to enter a Weather City Code in your profile...';
$lang['weather_not_retrieved'] = 'Unable To Retrieve Weather Data<br /><br />Either the weather server is temporarily unavailable,<br />or the Weather City Code in %s<u>your Profile</u>%s is incorrect.'; 

// This is for the Weather Popup's
$lang['Popup_Title'] = 'Select your city';
$lang['Select_your_city'] = 'Select your city by picking one of the links below';
$lang['City_name_begins_with'] = 'City name begins with:';
$lang['A-B'] = 'A-B';
$lang['C-D'] = 'C-D';
$lang['E-G'] = 'E-G';
$lang['H-J'] = 'H-J';
$lang['K-M'] = 'K-M';
$lang['N-P'] = 'N-P';
$lang['Q-S'] = 'Q-S';
$lang['T-Z'] = 'T-Z';

# 
#-----[ OPEN ]------------------------------------------ 
#
includes/usercp_viewprofile.php

# 
#-----[ FIND ]------------------------------------------ 
# 
//
// Generate page
//

# 
#-----[ BEFORE, ADD ]------------------------------------------ 
#
if($userdata['user_level'] == ADMIN)
{
	$zipcode = $profiledata['user_zipcode'];
}
else
{
	$zipcode = $lang['withheld'];
}

# 
#-----[ FIND ]------------------------------------------ 
#
	'INTERESTS' => ( $profiledata['user_interests'] ) ? $profiledata['user_interests'] : '&nbsp;',

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
	'ZIPCODE' => ( $zipcode ) ? $zipcode : '&nbsp;',

# 
#-----[ FIND ]------------------------------------------ 
#
	'L_INTERESTS' => $lang['Interests'],

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
	'L_ZIPCODE' => $lang['zip_code'],

# 
#-----[ OPEN ]------------------------------------------ 
#
templates/subSilver/profile_view_body.tpl

# 
#-----[ FIND ]------------------------------------------ 
# 
# <tr>
#	<td class="row1" height="6" valign="top" align="center">{AVATAR_IMG}<br /><span class="postdetails">{POSTER_RANK}</span></td>
#	<td class="row1" rowspan="3" valign="top"><table width="100%" border="0" cellspacing="1" cellpadding="3">
		<!-- END users_last_album_pic -->
	</td>
	<td class="row1" rowspan="3" valign="top"><table width="100%" border="0" cellspacing="1" cellpadding="3">

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
      <tr>
        <td valign="middle" align="right" nowrap="nowrap"><span class="gen">{L_ZIPCODE}:&nbsp;</span></td>
        <td><b><span class="gen">{ZIPCODE}</span></b></td>
      </tr>

# 
#-----[ OPEN ]------------------------------------------ 
#
templates/subSilver/subSilver.css

#
#-----[ FIND ]------------------------------------------ 
#
#.helpline { background-color: #DEE3E7; border-style: none; }
.helpline

#
#-----[ AFTER, ADD ]------------------------------------------ 
#
<!-- start of weather style // -->
.cnnWPicRow { 
        font-family: arial, helvetica, sans-serif; 
        font-size: 14px;
        font-weight: bold;
        }

.cnnWMapL { 
        font-family: verdana, helvetica, sans-serif; 
        font-size: 11px;
        font-weight: normal;
        }

.cnnUVreportHd {
        font-family: arial, helvetica, sans-serif;
        font-size: 23px;
        font-weight: bold;
        margin-top:0px;
        padding-top:0px;
        }

.cnnUVreportTableHd {
        font-family: arial, helvetica, sans-serif;
        font-size: 14px;
        font-weight: bold;
        color:#CC0000;
        vertical-align:middle;
        padding:4px;
        }

.cnnUVreportTable TD {
        font-family: arial, helvetica, sans-serif;
        font-size: 12px;
        color: #000000;
        }
.cnnAllergyNav, a .cnnAllergyNav {
    font-family: arial, helvetica, sans-serif;
    font-size: 14px;
    font-weight: bold;
    padding-top:3px;
    padding-bottom:3px;
    }

.cnnAllergyHd {
    font-family: arial, helvetica, sans-serif;
    font-size: 23px;
    font-weight: bold;
    margin-top:0px;
    padding-top:0px;
    }
 
.cnnAllergyTableHd {
    font-family: arial, helvetica, sans-serif;
    font-size: 14px;
    font-weight: bold;
    color:#CC0000;
    vertical-align:middle;
    padding:4px;
    }

.cnnAllergyTable, .cnnAllergyTable TD {
    font-family: arial, helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    font-weight:bold;
    text-align:left;
    }
/* Weather Box */

.cnnMainWeatherBox {
	background-color: #D0DBE8;
/*
	background-image: url("http://i.cnn.net/cnn/.element/img/1.0/main/weather_bg.jpg");
	background-position: right top;
	background-repeat: repeat-y;
*/
}

.cnnMainWeatherBoxEU {
	background-image: url("http://i.cnn.net/cnn/.element/img/1.0/main/weather.bg.eu.gif");
	background-position: right top;
	background-repeat: repeat-y;
}

.cnnWEATHERrow {
   background-image: url("http://i.cnn.net/cnn/.element/img/1.0/main/weather_bg.jpg");
   background-position: right top;
   /* border-bottom: 1px solid; */
   /* border-color: #d2daed #d2daed #d2daed; */
   font-weight:bold;
   color: #c00;
}

.cnnMainConditions {
	padding: 6px;
	font-family: verdana, arial, helvetica, sans-serif;
	font-size: 11px;
}


/* _______________ Weather Pages _______________ */

.cnnTempHi {
	font-family: arial, helvetica, sans-serif;
	font-size: 12px;
	color: #CC0000;
}

.cnnTempLo {
	font-family: arial, helvetica, sans-serif;
	font-size: 12px;
	color: #0066CC;
}

.cnnWeathBox {
padding: 4px;
font-family: arial, helvetica, sans-serif;
 font-size: 12px;
 line-height:15px;
}

.cnnWeathSearch {font-family: verdana, helvetica, sans-serif;
font-size: 11px;
font-weight: bold;}

.cnnWeathRegion {
 font-family: arial, helvetica, sans-serif;
 font-size: 14px;
 font-weight: bold;
 color: #000000;
}
<!-- end of weather style // -->

# If you have PCP installed, open the file "weather-PCP.txt" and install it.
# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM