From bc45a203ade8777c552fb8b8e9e71669f521fc12 Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Sat, 30 Jun 2012 21:24:06 +0000
Subject: [PATCH] Poprawki w module lang: - przeniesienie klasy msapi z osobnego pliku do hander.php - poprawienie URL do metody Translate w API

---
 modules/80_lang/handler.php |   45 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/modules/80_lang/handler.php b/modules/80_lang/handler.php
index 15bd3b0..1e4a4f3 100644
--- a/modules/80_lang/handler.php
+++ b/modules/80_lang/handler.php
@@ -1,5 +1,46 @@
 <?php
-require_once(dirname(__FILE__).'/msapi.php');
+require_once(dirname(__FILE__).'/msapi_config.php');
+
+class msapi extends msapi_config {
+	public $url;
+	
+	function __construct($url) {
+		$this->url = $url;
+	}
+	
+	function execute($params) {
+		if(!is_array($params)) {
+			throw new Exception('Przekazany parametr nie jest tablicą');
+		}
+		
+		foreach($params as $name => &$param) {
+			if(substr($name, 0, 1)!='$' && is_string($param)) {
+				$param = '\''.$param.'\'';
+			}
+		}
+		unset($param);
+		$params['$format'] = 'json';
+		
+		$context = stream_context_create(array(
+			'http' => array(
+				'request_fulluri' => TRUE,
+				'header' => 'Authorization: Basic '.base64_encode(':'.$this->accountKey)
+			),
+		));
+		
+		$content = file_get_contents($this->url.'?'.http_build_query($params, '', '&'), FALSE, $context);
+		if(!$content) {
+			return FALSE;
+		}
+		
+		$content = json_decode($content, TRUE);
+		if(!$content) {
+			return FALSE;
+		}
+		
+		return $content;
+	}
+}
 
 class bot_lang_module implements BotModule {
 	function handle($msg, $params) {
@@ -23,7 +64,7 @@
 		$data = jsarray::parse($data);
 		
 		if(!$data OR count($data)==0 OR count($data[1])==0) {
-			$api = new msapi('https://api.datamarket.azure.com/Bing/MicrosoftTranslator/');
+			$api = new msapi('https://api.datamarket.azure.com/Bing/MicrosoftTranslator/Translate');
 			$data = $api->execute(array(
 				'From' => $params[0],
 				'To' => $params[1],

--
Gitblit v1.9.1