diff --git a/src/MicrosoftTranslatorUi.php b/src/MicrosoftTranslatorUi.php
index f0cd67d..8cac74f 100755
--- a/src/MicrosoftTranslatorUi.php
+++ b/src/MicrosoftTranslatorUi.php
@@ -1,5 +1,4 @@
'textfield',
'#title' => t('Microsoft Customer ID'),
- '#default_value' => $translator->getSetting('clientid'),
+ '#default_value' => $translator->getSetting('client_id'),
'#description' => t('Please enter your Microsoft Customer ID, or follow this link to generate one.', array('!link' => $generate_url)),
);
- $form['clientsecret'] = array(
+ $form['client_secret'] = array(
'#type' => 'textfield',
'#title' => t('Primary Account Key'),
- '#default_value' => $translator->getSetting('clientsecret'),
+ '#default_value' => $translator->getSetting('client_secret'),
'#description' => t('Please enter your Microsoft Primary Account Key, or follow this link to generate one.', array('!link' => $generate_url)),
);
+
return parent::pluginSettingsForm($form, $form_state, $translator);
}
diff --git a/src/Plugin/tmgmt/Translator/MicrosoftTranslator.php b/src/Plugin/tmgmt/Translator/MicrosoftTranslator.php
index 1364fa7..6a00c1f 100755
--- a/src/Plugin/tmgmt/Translator/MicrosoftTranslator.php
+++ b/src/Plugin/tmgmt/Translator/MicrosoftTranslator.php
@@ -82,7 +82,7 @@ class MicrosoftTranslator extends TranslatorPluginBase implements ContainerFacto
/**
* {@inheritdoc}
*/
- public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
+ public static function create(ContainerInterface $container, array $configuration, $plugin_id, array $plugin_definition) {
return new static(
$container->get('http_client'),
$configuration,
@@ -92,17 +92,17 @@ class MicrosoftTranslator extends TranslatorPluginBase implements ContainerFacto
}
/**
- * Overrides TMGMTDefaultTranslatorPluginController::isAvailable().
+ * {@inheritdoc}
*/
public function isAvailable(Translator $translator) {
- if ($translator->getSetting('clientid') && $translator->getSetting('clientsecret')) {
+ if ($translator->getSetting('client_id') && $translator->getSetting('client_secret')) {
return TRUE;
}
return FALSE;
}
/**
- * Overrides TMGMTDefaultTranslatorPluginController::canTranslate().
+ * {@inheritdoc}
*/
public function canTranslate(Translator $translator, Job $job) {
if (!parent::canTranslate($translator, $job)) {
@@ -119,7 +119,7 @@ class MicrosoftTranslator extends TranslatorPluginBase implements ContainerFacto
}
/**
- * Implements TMGMTTranslatorPluginControllerInterface::requestTranslation().
+ * {@inheritdoc}
*/
public function requestTranslation(Job $job) {
// Pull the source data array through the job and flatten it.
@@ -159,12 +159,13 @@ class MicrosoftTranslator extends TranslatorPluginBase implements ContainerFacto
}
/**
- * Overrides TMGMTDefaultTranslatorPluginController::getSupportedRemoteLanguages().
+ * {@inheritdoc}
*/
public function getSupportedRemoteLanguages(Translator $translator) {
$languages = array();
// Prevent access if the translator isn't configured yet.
- if (!$translator->getSetting('clientid')) {
+ if (!$translator->getSetting('client_id')) {
+ // @todo should be implemented by an Exception.
return $languages;
}
try {
@@ -187,7 +188,7 @@ class MicrosoftTranslator extends TranslatorPluginBase implements ContainerFacto
}
/**
- * Overrides TMGMTDefaultTranslatorPluginController::getDefaultRemoteLanguagesMappings().
+ * {@inheritdoc}
*/
public function getDefaultRemoteLanguagesMappings() {
return array(
@@ -197,7 +198,7 @@ class MicrosoftTranslator extends TranslatorPluginBase implements ContainerFacto
}
/**
- * Overrides TMGMTDefaultTranslatorPluginController::getSupportedTargetLanguages().
+ * {@inheritdoc}
*/
public function getSupportedTargetLanguages(Translator $translator, $source_language) {
@@ -211,7 +212,7 @@ class MicrosoftTranslator extends TranslatorPluginBase implements ContainerFacto
// Check if the source language is available.
if (array_key_exists($source_language, $languages)) {
- // If source language is listed a possible target language, remove it.
+ // If source language is listed as possible target language, remove it.
unset($languages[$source_language]);
return $languages;
}
@@ -220,7 +221,7 @@ class MicrosoftTranslator extends TranslatorPluginBase implements ContainerFacto
}
/**
- * Overrides TMGMTDefaultTranslatorPluginController::hasCheckoutSettings().
+ * {@inheritdoc}
*/
public function hasCheckoutSettings(Job $job) {
return FALSE;
@@ -246,14 +247,14 @@ class MicrosoftTranslator extends TranslatorPluginBase implements ContainerFacto
$custom_url = $translator->getSetting('url');
$url = ($custom_url ? $custom_url : $this->translatorUrl) . '/' . $path;
- $testtokenurl = FALSE;
+ $test_token_url = FALSE;
if ($custom_url) {
- $testtokenurl = $custom_url . '/GetToken';
+ $test_token_url = $custom_url . '/GetToken';
}
// The current API uses 2 new parameters and an access token.
- $clientid = $translator->getSetting('clientid');
- $clientsecret = $translator->getSetting('clientsecret');
- $token = $this->getToken($clientid, $clientsecret, $testtokenurl);
+ $client_id = $translator->getSetting('client_id');
+ $client_secret = $translator->getSetting('client_secret');
+ $token = $this->getToken($client_id, $client_secret, $test_token_url);
$request_url = Url::fromUri($url)->toString();
$request = $this->client->createRequest('GET', $request_url);
@@ -272,6 +273,8 @@ class MicrosoftTranslator extends TranslatorPluginBase implements ContainerFacto
* Application client ID.
* @param $clientSecret
* Application client secret string.
+ * @param $test_url
+ * (Optional) The test URL.
*
* @return string
* The access token.
@@ -279,7 +282,7 @@ class MicrosoftTranslator extends TranslatorPluginBase implements ContainerFacto
* @throws \Drupal\tmgmt\TMGMTException
* Thrown when the client id or secret are missing or are not valid.
*/
- protected function getToken($clientID, $clientSecret, $testurl = FALSE) {
+ protected function getToken($clientID, $clientSecret, $test_url = FALSE) {
$token = &drupal_static(__FUNCTION__);
if (isset($token[$clientID][$clientSecret])) {
@@ -291,8 +294,8 @@ class MicrosoftTranslator extends TranslatorPluginBase implements ContainerFacto
}
$url = $this->authUrl;
- if ($testurl) {
- $url = $testurl;
+ if ($test_url) {
+ $url = $test_url;
}
// Prepare Guzzle Object.
@@ -309,7 +312,7 @@ class MicrosoftTranslator extends TranslatorPluginBase implements ContainerFacto
}
catch (BadResponseException $e) {
$error = $e->getResponse()->json();
- throw new \Exception('Microsoft Translate service returned following error: ' . $error['error_description']);
+ throw new TMGMTException('Microsoft Translate service returned following error: ' . $error['error_description']);
}
$data = json_decode($response->getBody(TRUE));
diff --git a/src/Tests/MicrosoftTest.php b/src/Tests/MicrosoftTest.php
index 817c535..54eecb2 100755
--- a/src/Tests/MicrosoftTest.php
+++ b/src/Tests/MicrosoftTest.php
@@ -1,8 +1,7 @@
'Microsoft Translator tests',
- 'description' => 'Tests the microsoft translator plugin integration.',
+ 'description' => 'Tests the Microsoft translator plugin integration.',
'group' => 'Translation Management',
);
}
@@ -49,9 +48,9 @@ class MicrosoftTest extends TMGMTTestBase {
$this->assertFalse($job->isTranslatable(), 'Check if the translator is not available at this point because we did not define the API parameters.');
// Save a wrong api key.
- $translator->settings['api'] = 'wrong key';
- $translator->settings['clientid'] = 'wrong clientid';
- $translator->settings['clientsecret'] = 'wrong secret';
+ $translator->settings['api'] = 'wrong api key';
+ $translator->settings['client_id'] = 'wrong client_id';
+ $translator->settings['client_secret'] = 'wrong client_secret';
$translator->save();
$translator = $job->getTranslator();
@@ -59,9 +58,9 @@ class MicrosoftTest extends TMGMTTestBase {
$this->assertTrue(empty($languages), t('We can not get the languages using wrong api parameters.'));
// Save a correct api key.
- $translator->settings['api'] = 'correct key';
- $translator->settings['clientid'] = 'correct clientid';
- $translator->settings['clientsecret'] = 'correct secret';
+ $translator->settings['api'] = 'correct api key';
+ $translator->settings['client_id'] = 'correct client_id';
+ $translator->settings['client_secret'] = 'correct client_secret';
$translator->save();
// Make sure the translator returns the correct supported target languages.
diff --git a/tmgmt_microsoft.module b/tmgmt_microsoft.module
index 4bf6646..fe32c4c 100644
--- a/tmgmt_microsoft.module
+++ b/tmgmt_microsoft.module
@@ -17,8 +17,8 @@ function tmgmt_microsoft_tmgmt_translator_plugin_info() {
'ui controller class' => 'TMGMTMicrosoftTranslatorUIController',
'default settings' => array(
'api' => '',
- 'clientid' => '',
- 'clientsecret' => '',
+ 'client_id' => '',
+ 'client_secret' => '',
),
),
);
diff --git a/tmgmt_microsoft_test/src/Controller/MicrosoftTranslatorTestController.php b/tmgmt_microsoft_test/src/Controller/MicrosoftTranslatorTestController.php
index a1eb08f..2ae5e2f 100755
--- a/tmgmt_microsoft_test/src/Controller/MicrosoftTranslatorTestController.php
+++ b/tmgmt_microsoft_test/src/Controller/MicrosoftTranslatorTestController.php
@@ -1,8 +1,11 @@
request->get('grant_type') == 'client_credentials' && $request->request->get('scope') == 'http://api.microsofttranslator.com' && $request->request->get('client_id') == 'correct clientid' && $request->request->get('client_secret') == 'correct secret') {
+ if ($request->request->get('grant_type') == 'client_credentials' && $request->request->get('scope') == 'http://api.microsofttranslator.com' && $request->request->get('client_id') == 'correct client_id' && $request->request->get('client_secret') == 'correct client_secret') {
// Return the expected test value.
$response['access_token'] = 'correct token';
return new JsonResponse($response);