/** * Method to test get(). * * @return void * * @covers Windwalker\Helper\CurlHelper::get */ public function testGet() { $url = 'http://example.com/'; $http = \JHttpFactory::getHttp(new \JRegistry($this->options), 'curl'); // Test with Restful Api 'GET' $helperOutput = CurlHelper::get($url); $jHttpOutput = $http->get($url); $this->assertEquals($helperOutput->code, $jHttpOutput->code); $this->assertEquals($helperOutput->body, $jHttpOutput->body); // Test with Restful Api 'POST' $helperOutput = CurlHelper::get($url, 'post', array('key' => 'value'), array('testHeader')); $jHttpOutput = $http->post($url, array('key' => 'value'), array('testHeader')); $this->assertEquals($helperOutput->code, $jHttpOutput->code); $this->assertEquals($helperOutput->body, $jHttpOutput->body); }
/** * A method to do Google translate. * * @param string $text String to translate. * @param string $SourceLan Translate from this language, eg: 'zh-tw'. Empty will auto detect. * @param string $ResultLan Translate to this language, eg: 'en'. Empty will auto detect. * * @return string|bool Translated text. */ public static function gTranslate($text, $SourceLan, $ResultLan) { $url = new \JUri(); // For Google APIv2 $url->setHost('https://www.googleapis.com/'); $url->setPath('language/translate/v2'); $query['key'] = self::APT_KEY; $query['q'] = urlencode($text); $query['source'] = $SourceLan; $query['target'] = $ResultLan; if (!$text) { return false; } $url->setQuery($query); $url->toString(); $response = CurlHelper::get((string) $url); if (empty($response->body)) { return ''; } $json = new \JRegistry(); $json->loadString($response->body, 'json'); $r = $json->get('data.translations'); return $r[0]->translatedText; }