<?php
/************************************************** 
 *                 Bot Gadu-Gadu                  * 
 ************************************************** 
 * Wersja: 2.2 Stable                             * 
 * Data: 25.06.2012 (21:15)                       * 
 * Autor: Jacek Kowalski (http://jacekk.info)     * 
 *                                                * 
 * Utwor rozprowadzany na licencji                * 
 * http://creativecommons.org/licenses/by-nc/2.5/ * 
 **************************************************/

class bot_lang_module implements BotModule {
	private $APPID = '';
	
	function handle($msg, $params) {
		$args = trim($msg->args);
		
		if(empty($args)) {
			return BotMsg('Podaj tekst do przetłumaczenia!');
		}
		
		$url = 'http://translate.google.com/translate_a/t?client=t&text='.urlencode($args).'&sl='.$params[0].'&tl='.$params[1].'&hl=pl&ie=utf-8&oe=utf-8';
		$data = @file_get_contents($url, 0, stream_context_create(array(
			'http' => array(
				'method' => 'GET',
			),
		)));
		
		if(!$data) {
			return new BotMsg('Błąd podczas pobierania danych ze słownika. Przepraszamy.');
		}
		
		$data = jsarray::parse($data);
		
		if(!$data OR count($data)==0 OR count($data[1])==0) {
			$data = file_get_contents('http://api.microsofttranslator.com/v2/Http.svc/Translate?appId='.urlencode($this->APPID).'&text='.urlencode($args).'&from='.$params[0].'&to='.$params[1]);
			
			if(!$data) {
				return new BotMsg('Błąd podczas pobierania danych ze słownika. Przepraszamy.');
			}
			
			return new BotMsg('<u>Tłumaczenie (by Microsoft Translator):</u><br />'."\n".strip_tags($data));
		}
		else
		{
			$html = '<u>Słownik (by Google):</u>';
			foreach($data[1] as $przyp) {
				$html .= '<br />'."\n".'<b>'.htmlspecialchars($przyp[0]).'</b>';
				foreach($przyp[1] as $term) {
					$html .= '<br />'."\n".'- '.htmlspecialchars($term);
				}
			}
			
			return new BotMsg($html);
		}
	}
	
	function typo($msg, $params) {
		return new BotMsg('Wybrana komenda nie istnieje. Prawdopodobnie chodziło ci o jedną z komend językowych, których nazwy zapisywane są <b>bez</b> spacji pomiędzy spacji pomiędzy kodami języków (angpol, a nie: ang pol).<br /><br />'."\n\n"
		
		. '<u>Spróbuj:</u><br />'."\n"
		. $msg->command.ltrim($msg->args));
	}
}
?>
