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