Example #1
0
 /**
  *	So, the user wants weather, correct?
  */
 public function getWeatherForLocation($sChannel, $sNickname, $sArguments)
 {
     if (!$sArguments) {
         $this->Notice($sNickname, "USAGE: weather [Town or City name]");
         return END_EVENT_EXEC;
     }
     $sXML = utf8_encode(file_get_contents("http://www.google.com/ig/api?weather=" . urlencode($sArguments)));
     $pXML = new SimpleXMLElement($sXML);
     $pCurrentConditions = $pXML->xPath("//xml_api_reply/weather/current_conditions");
     $pLocationDetails = $pXML->xPath("//xml_api_reply/weather/forecast_information");
     if (!$pLocationDetails) {
         $this->Notice($sNickname, "Nope, give me a real town name, please!");
         return END_EVENT_EXEC;
     }
     $this->Message($sChannel, "{b}Weather for {c:darkblue}{$pLocationDetails[0]->city['data']}", FORMAT);
     $this->Message($sChannel, "{c:darkgreen}Condition:{r} {$pCurrentConditions[0]->condition['data']}", FORMAT);
     $this->Message($sChannel, "{c:darkgreen}Temperature:{r} {$pCurrentConditions[0]->temp_c['data']}°C, {$pCurrentConditions[0]->temp_f['data']}°F", FORMAT);
     $this->Message($sChannel, "{c:darkgreen}Humidity:{r} " . substr($pCurrentConditions[0]->humidity['data'], 10), FORMAT);
     $this->Message($sChannel, "{c:darkgreen}Wind Speed:{r} " . substr($pCurrentConditions[0]->wind_condition['data'], 6), FORMAT);
     return END_EVENT_EXEC;
 }