From 64d3114c3eeb933152732e024b81b2a94c8db87f Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Sat, 30 Jun 2012 20:06:25 +0000
Subject: [PATCH] Zmiany w Microsoft Translator, tj: - przeniesienie systemu do Azure Datamarket, - zmiany w API, - nowy klucz, tzw. Account Key.

---
 modules/80_lang/handler.php |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/modules/80_lang/handler.php b/modules/80_lang/handler.php
index 05d6280..15bd3b0 100644
--- a/modules/80_lang/handler.php
+++ b/modules/80_lang/handler.php
@@ -1,7 +1,7 @@
 <?php
+require_once(dirname(__FILE__).'/msapi.php');
+
 class bot_lang_module implements BotModule {
-	private $APPID = '';
-	
 	function handle($msg, $params) {
 		$args = trim($msg->args);
 		
@@ -23,13 +23,22 @@
 		$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]);
+			$api = new msapi('https://api.datamarket.azure.com/Bing/MicrosoftTranslator/');
+			$data = $api->execute(array(
+				'From' => $params[0],
+				'To' => $params[1],
+				'Text' => $args,
+				'$skip' => 0,
+				'$top' => 1
+			));
 			
-			if(!$data) {
-				return new BotMsg('Błąd podczas pobierania danych ze słownika. Przepraszamy.');
+			if(!$data || !isset($data['d']['results'][0]['Text'])) {
+				return new BotMsg('Błąd podczas pobierania danych z tłumacza. Przepraszamy.');
 			}
 			
-			return new BotMsg('<u>Tłumaczenie (by Microsoft Translator):</u><br />'."\n".strip_tags($data));
+			$data = $data['d']['results'][0]['Text'];
+			
+			return new BotMsg('<u>Tłumaczenie (by Microsoft Translator):</u><br />'."\n".htmlspecialchars($data));
 		}
 		else
 		{

--
Gitblit v1.9.1