kksou Joomla Weather Module (formerly Google Weather Module) - AJAX and built-in cache version

download button
faq button

This is an easy-to-use and light-weight module for displaying 4-day weather forecast using the free wunderground API.

This module makes use of the Wunderground Weather API (formerly Google Weather API) to display the current temperature, weather condition and a four-day weather forecast, as you can see on the left of the page.

Note that the free version of the wunderground.com Weather API has a limit of 500 calls per day. The latest version of the Wunderground Weather Module has a built-in cache system to greatly reduce the number of requests to wunderground.com for similar weather requests made within a specified time period.

Live Demo

You can see a live demo on the sidebar of this page.


Unique Features

This is the first, and currently the only weather module with the following features:

  • Uses the Wunderground Weather API (formerly Google Weather API) that provides 4-day weather forecast with images.
  • Allows user to interactively enter zip codes (for US, UK and Canada) and city names.
  • Displays the weather information in many different languages, as provided by Wunderground.
  • Allows you to display two or more weather modules in the same page.
  • You can turn on or off the input field.
  • You can specify the default unit for the temperature (in °C or °F)
  • You can switch between °C or °F interactively with no reloading of pages.
  • You can choose to display wind speed in mph or km/h
  • Available for all Joomla versions: Joomla 1.0.x, native 1.5.x, 1.6.x, 1.7.x, 2.5.x and 3.0.x!

Latest Version

v3.0.10 (for Joomla 3.0)
Released April 19, 2013

Support for different $dbprefix

v3.0.9 (for Joomla 3.0)
Released April 6, 2013

Native version of Wunderground Weather Module for Joomla 3.0!

v1.09 (for Joomla 1.0) and v1.59 (for Joomla 1.5), v1.69 (for Joomla 1.6), v1.79 (for Joomla 1.7), v2.5.9 (for Joomla 2.5)
Released October 27, 2012

Google has stopped its Google Weather API service entirely. Details here.

The latest version uses the API from wunderground.com

However, the free version of wunderground.com Weather API has a limit of 500 calls per day. If you go beyond 500 calls per day, the module will stop working!

This latest version of Wunderground Weather Module has a built-in cache system to greatly reduce the number of requests to wunderground.com for similar weather requests made within a specified time period.

  • The default time period is 60 minutes - what this means is that if you request for the weather of "San Francisco, CA" for the first time, the weather info will be retrieved from wunderground.com. However, anyone who makes a subsequent weather request of "San Francisco, CA", as long as it still falls within 60 minutes, the weather will be retrieved from the cache without making any calls to wunderground.com.
  • You can change the time period in the Module Manager's parameter page.
  • In the parameter page, you can also set the Admin Mode to Yes so that you can see the cache system in action. The default is Admin Mode = No.

Another very important addition to this new version is that the module now remembers the previous city entered by the user. For example, suppose the user has searched for the weather of "Paris, France". When she come back to the same page a couple of days later, the weather for "Paris, France" will be displayed instead of the default city as specified in your parameter page.

Very Important

  • I've implemented the Google Weather Mashup with the use of PHP's cURL library. So please make sure your PHP has the cURL library installed in order to use this module.
  • Note that this module works only with PHP5 and above because of the use of the PHP function simplexml_load_string which is only available starting with PHP5.

Download


How to install

  1. First, make sure you're using PHP5 and above.
  2. Download and install the "kksou Weather Module".
  3. Make sure the module is published / enabled.
  4. Select a module position where you want to place the module.

That's it! You should now see the kksou Google Weather module displayed in the module position you've specified.

Parameters

You can set the following in the Parameters page:

  1. Default City: This is the city that will be displayed when the module is first loaded. For USA, please specify City, State. For other countries, please specify City, Country
  2. For some countries (e.g. US, UK and Canada), you can just enter the zip code. E.g. '94305, CA', 'W1A 1AZ, UK'.


  3. Language: Wunderground supports many different languages. The language code can be found here: Wunderground Language Support. Note that the language code is different from the standard ISO 639-1 format.
    e.g. English is en, French is fr, Italian is it, Japanese is jp, Chinese simplified is cn, Chinese Traditional is tw.
  4. Unit for temperature: Choose between displaying the temperature in °F or °C.
  5. Hide Input Field: If all you want is to display the weather forecast of a particular city, and DO NOT want the user to change that, you can select 'Yes' to hide the input field.
  6. Hide Humidity: Select 'Yes' if you wish to hide the humidity information.
  7. Hide Wind: Select 'Yes' if you wish to hide the wind information.
  8. Hide Forecast: Select 'Yes' if you wish to hide the 4-day weather forecast.
  9. Label for 'City': This is the label that is displayed just before the input field. The default label is 'City'. You can change the label into your own language and label.
  10. Size of Input Field: Size of the input field. Default size is 12.
  11. Request Interval: If you do some research on google, you will see that there arer cases where Google will "ban" your site from accessing the Google Weather API if the request is made too often (e.g. some sites try to get the weather forecast of all cities in US through a robot). By default, I set a interval 3 seconds between each request to Google. This will prevent your users from making too frequent weather forecast requests via your website. If you are not concerned about this, you can reduce this to 1 second.
  12. Set Focus on Input Field: Set the focus (i.e. put the prompt) on the input field for city. Default is Yes.

Styling the Module using CSS

The entire formatting of the stock quotes is done using CSS. If you do not like the default look and feel of the stock data, you can edit the following CSS file:

<your joomla root folder>/modules/mod_kksouGoogleWeather/mod_googleWeather.css

  1. Input Field (for entering city name)
  2. div.googleWeather input {
    	margin-bottom: 6px;
    }
    
  3. Input Label (the label 'City')
  4. div.googleWeather .input_label {
    	font-weight:bold;
    }
    
  5. The current temepature
  6. div.googleWeather .deg {
        font-size: 100%;
    	color: #3366FF;
    	font-weight:bold;
    }
    
  7. The image of the current weather condition
  8. div.googleWeather .img2 {
    	float: right;
    }
    
  9. The current weather condition
  10. div.googleWeather .cond {
    	font-size: 100%;
    }
    
  11. The current wind condition
  12. div.googleWeather .wind {
        font-size: 100%;
    }
    

History

  1. v1.0.1 (for Joomla 1.0) and v1.5.1 (for Joomla 1.5)
    Released October 6, 2009
  2. Streamlined the javascript codes.

  3. v1.0.2 (for Joomla 1.0) and v1.5.2 (for Joomla 1.5)
    Released January 20, 2010
  4. v1.0.3 (for Joomla 1.0) and v1.5.3 (for Joomla 1.5)
    Released February 14, 2010
  5. This is in response to the request by Mazgonar.

    Added one more parameter in the config page to allow user to choose whether to set focus on the input field for the city.

  6. v1.0.4 (for Joomla 1.0) and v1.5.4 (for Joomla 1.5)
    Released May 06, 2010
  7. Conform to joomla.org guidelines.

  8. v1.0.5 (for Joomla 1.0) and v1.5.5 (for Joomla 1.5)
    Released May 16, 2010
  9. The module is now W3C XHTML 1.0 Transitional compliant.

  10. v1.6.6 (for Joomla 1.6) and v1.7.7 (for Joomla 1.7)
    Released October 10, 2011
  11. Native version of the Google Weather Module for Joomla 1.6 and 1.7!

  12. v1.6.7 (for Joomla 1.6) and v1.7.7 (for Joomla 1.7)
    Released October 16, 2011
  13. Support for km/h for wind speed. If you display the temperature in degree Celsius, the wind speed will be displayed in km/h. If you display the temperature in degree Fahrenheit, the wind speed will be displayed in mph.

    Note: By default, Google only returns the wind speed information in mph. I used the PHP function preg_match() to search for the string "mph". If you have displayed the weather information in other languages (e.g. Russian) which does not display miles per hour as "mph", the module will just display whatever wind information that is returned by Google.

  14. v1.07 (for Joomla 1.0) and v1.57 (for Joomla 1.5), v1.67 (for Joomla 1.6), v1.77 (for Joomla 1.7), v2.5.7 (for Joomla 2.5)
    Released January 26, 2012
  15. Native version of the Google Weather Module for Joomla 2.5!

  16. v1.08 (for Joomla 1.0) and v1.58 (for Joomla 1.5), v1.68 (for Joomla 1.6), v1.78 (for Joomla 1.7), v2.5.8 (for Joomla 2.5)
    Released August 31, 2012
  17. Google has stopped its Google Weather API service entirely. Details here.

    The latest version uses the API from wunderground.com