| Source for file Weather.phpDocumentation is available at Weather.php 
/* vim: set expandtab tabstop=4 shiftwidth=4: */// +----------------------------------------------------------------------+// +----------------------------------------------------------------------+// | Copyright (c) 1997-2004 The PHP Group                                |// +----------------------------------------------------------------------+// | This source file is subject to version 2.0 of the PHP license,       |// | that is bundled with this package in the file LICENSE, and is        |// | available through the world-wide-web at                              |// | http://www.php.net/license/2_02.txt.                                 |// | If you did not receive a copy of the PHP license and are unable to   |// | obtain it through the world-wide-web, please send a note to          |// | license@php.net so we can mail you a copy immediately.               |// +----------------------------------------------------------------------+// | Authors: Alexander Wirtz <alex@pc4p.net>                             |// +----------------------------------------------------------------------+// $Id: Weather.php,v 1.32 2005/07/18 08:49:41 eru Exp $* @package      Services_Weatherdefine("SERVICES_WEATHER_EXPIRES_UNITS",      900) ;define("SERVICES_WEATHER_EXPIRES_LOCATION",   900) ;define("SERVICES_WEATHER_EXPIRES_WEATHER",   1800) ;define("SERVICES_WEATHER_EXPIRES_FORECAST",  7200) ;define("SERVICES_WEATHER_EXPIRES_LINKS",    43200) ;define("SERVICES_WEATHER_ERROR_SERVICE_NOT_FOUND",   10) ;define("SERVICES_WEATHER_ERROR_UNKNOWN_LOCATION",    11) ;define("SERVICES_WEATHER_ERROR_WRONG_SERVER_DATA",   12) ;define("SERVICES_WEATHER_ERROR_CACHE_INIT_FAILED",   13) ;define("SERVICES_WEATHER_ERROR_DB_NOT_CONNECTED",    14) ;// {{{ error codes defined by weather.comdefine("SERVICES_WEATHER_ERROR_UNKNOWN_ERROR",            0) ;define("SERVICES_WEATHER_ERROR_NO_LOCATION",              1) ;define("SERVICES_WEATHER_ERROR_INVALID_LOCATION",         2) ;define("SERVICES_WEATHER_ERROR_INVALID_PARTNER_ID",     100) ;define("SERVICES_WEATHER_ERROR_INVALID_PRODUCT_CODE",   101) ;define("SERVICES_WEATHER_ERROR_INVALID_LICENSE_KEY",    102) ;// {{{ class Services_Weather* This class acts as an interface to various online weather-services.* Services_Weather searches for given locations and retrieves current* weather data and, dependant on the used service, also forecasts. Up to* now, SOAP services from CapeScience and EJSE, XML from weather.com and* METAR/TAF from noaa.gov are supported, further services will get* included, if they become available and are properly documented.* @author       Alexander Wirtz <alex@pc4p.net>* @package      Services_Weather* @license      http://www.php.net/license/2_02.txt    * Factory for creating the services-objects    * Usable keys for the options array are:    * o debug               enables debugging output    * o cacheType           defines what type of cache to use    * o cacheOptions        passes cache options    * o unitsFormat         use (US)-standard, metric or custom units    * o customUnitsFormat   defines the customized units format    * o httpTimeout            sets timeout for HTTP requests    * o dateFormat          string to use for date output    * o timeFormat          string to use for time output    * --- GlobalWeather Options    * o dsn                 String for defining the DB connection    * o dbOptions           passes DB options    * o sourceMetar         http, ftp or file - type of data-source for METAR    * o sourcePathMetar     where to look for the source, URI or filepath,    * o sourceTaf           http, ftp or file - type of data-source for TAF    * o sourcePathTaf       where to look for the source, URI or filepath,    * --- weather.com Options    * o partnerID           You'll receive these keys after registering    * o licenseKey          with the weather.com XML-service    * @return   PEAR_Error|object     * @throws   PEAR_Error::SERVICES_WEATHER_ERROR_SERVICE_NOT_FOUND    function &service($service, $options = null)        $classname = "Services_Weather_" .$service ;        // Check for debugging-mode and set stuff accordingly        if (is_array($options) && isset($options["debug"]) && $options["debug"] >= 2) {            if (!defined("SERVICES_WEATHER_DEBUG")) {                define("SERVICES_WEATHER_DEBUG", true) ;            include_once("Services/Weather/".$service .".php") ;            if (!defined("SERVICES_WEATHER_DEBUG")) {                define("SERVICES_WEATHER_DEBUG", false) ;            @include_once("Services/Weather/".$service .".php") ;        // No such service... bail out        // Create service and return        @$obj = & new $classname($options, $error) ;    * For your convenience, when I come up with changes in the API...    * Returns the message for a certain error code    * @param    PEAR_Error|int             $value     function _errorMessage($value)        if (!isset($errorMessages)) {            $value = $value-> getCode() ;    * Checks for an error object, same as in PEAR    * @param    PEAR_Error|mixed           $value     * Creates error, same as in PEAR with a customized flavor    function &raiseError($code = SERVICES_WEATHER_ERROR_UNKNOWN_ERROR, $file = "", $line = 0)        // This should improve the performance of the script, as PEAR is only included, when        $message = "Services_Weather" ;        if ($file != "" && $line > 0) {            $message .= " (" .basename($file) .":" .$line .")" ;        $error = PEAR:: raiseError($message, $code, PEAR_ERROR_RETURN, E_USER_NOTICE, "Services_Weather_Error", null, false) ;
		    
 
		    Documentation generated on Mon, 11 Mar 2019 14:17:13 -0400 by phpDocumentor 1.4.4 . PEAR Logo Copyright ©  PHP Group 2004.
	       |