diff --git a/src/ProposalGoogle.php b/src/ProposalGoogle.php
deleted file mode 100644
index dcdeacd..0000000
--- a/src/ProposalGoogle.php
+++ /dev/null
@@ -1,100 +0,0 @@
-key = dcCore::app()->blog->settings->get(My::id())->get('google_proposal_key');
-
- $this->setName(__('Google'));
- $this->setDesc(__('Google Translation Tool API'));
- $this->setActive(!empty($this->key));
- }
-
- public function form()
- {
- return
- '
' .
- '' . __('You must have on Google API console:') . '
' .
- '';
- }
-
- public function save()
- {
- $key = empty($_POST['translater_google_proposal_key']) ?
- '' : $_POST['translater_google_proposal_key'];
-
- dcCore::app()->blog->settings->get(My::id())->put('google_proposal_key', $key, 'string', '', true, true);
- }
-
- public function translate($str, $from, $to)
- {
- try {
- $data = [
- 'key' => $this->key,
- 'q' => $str,
- 'source' => $from,
- 'target' => $to,
- ];
-
- $path = '';
- $client = netHttp::initClient($this->api, $path);
- $client->setUserAgent($this->agent);
- $client->useGzip(false);
- $client->setPersistReferers(false);
- $client->get($path, $data);
-
- $rs = $client->getContent();
-
- if ($client->getStatus() != 200) {
- throw new Exception(__('Failed to query service.'));
- }
-
- if (null === ($dec = json_decode($rs))) {
- throw new Exception('Failed to decode result');
- }
-
- if ('' == @$dec->data->translations[0]->translatedText) {
- throw new Exception('No data response');
- }
-
- return $dec->data->translations[0]->translatedText;
- } catch (Exception $e) {
- }
-
- return '';
- }
-}
diff --git a/src/ProposalMicrosoft.php b/src/ProposalMicrosoft.php
deleted file mode 100644
index bb0ad13..0000000
--- a/src/ProposalMicrosoft.php
+++ /dev/null
@@ -1,234 +0,0 @@
-setActive(false);
- $this->client = dcCore::app()->blog->settings->get(My::id())->get('microsoft_proposal_client');
- $this->secret = dcCore::app()->blog->settings->get(My::id())->get('microsoft_proposal_secret');
-
- $this->setName(__('Bing'));
- $this->setDesc(__('Microsoft Bing translation tool'));
- $this->setActive(!empty($this->client) && !empty($this->secret));
- }
-
- public function form()
- {
- return
- '' .
- '' .
- '' . __('You must have:') . '
' .
- '';
- }
-
- public function save()
- {
- $client = empty($_POST['translater_microsoft_proposal_client']) ?
- '' : $_POST['translater_microsoft_proposal_client'];
- $secret = empty($_POST['translater_microsoft_proposal_secret']) ?
- '' : $_POST['translater_microsoft_proposal_secret'];
-
- dcCore::app()->blog->settings->get(My::id())->put('microsoft_proposal_client', $client, 'string', '', true, true);
- dcCore::app()->blog->settings->get(My::id())->put('microsoft_proposal_secret', $secret, 'string', '', true, true);
- }
-
- public function translate($str, $from, $to)
- {
- try {
- return $this->doYourFuckingJob($this->client, $this->secret, $str, $from, $to);
- } catch (Exception $e) {
- }
-
- return '';
- }
-
- //
- // Microsoft fucking oAuth
- //
-
- private function doYourFuckingJob($client, $secret, $str, $from, $to)
- {
- try {
- $translatedStr = '';
- //Client ID of the application.
- $clientID = $client;
- //Client Secret key of the application.
- $clientSecret = $secret;
- //OAuth Url.
- $authUrl = 'https://datamarket.accesscontrol.windows.net/v2/OAuth2-13/';
- //Application Scope Url
- $scopeUrl = 'http://api.microsofttranslator.com';
- //Application grant type
- $grantType = 'client_credentials';
-
- //Get the Access token.
- $accessToken = $this->getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl);
- //Create the authorization Header string.
- $authHeader = 'Authorization: Bearer ' . $accessToken;
-
- //Set the params.//
- $fromLanguage = $from;
- $toLanguage = $to;
- $inputStr = $str;
- $contentType = 'text/plain';
- $category = 'general';
-
- $params = 'text=' . urlencode($inputStr) . '&to=' . $toLanguage . '&from=' . $fromLanguage;
- $translateUrl = "http://api.microsofttranslator.com/v2/Http.svc/Translate?$params";
-
- //Get the curlResponse.
- $curlResponse = $this->curlRequest($translateUrl, $authHeader);
-
- //Interprets a string of XML into an object.
- $xmlObj = simplexml_load_string($curlResponse);
- foreach ((array) $xmlObj[0] as $val) {
- $translatedStr = $val;
- }
-
- return (string) $translatedStr;
- /*
- echo "";
- echo "";
- echo "From $fromLanguage | To $toLanguage | ";
- echo "
";
- echo "" . $inputStr . " | " . $translatedStr . " |
";
- echo "
";
- */
- } catch (Exception $e) {
- throw $e;
- }
- }
-
- /*
- * Get the access token.
- *
- * @param string $grantType Grant type.
- * @param string $scopeUrl Application Scope URL.
- * @param string $clientID Application client ID.
- * @param string $clientSecret Application client ID.
- * @param string $authUrl Oauth Url.
- *
- * @return string.
- */
- private function getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl)
- {
- try {
- //Initialize the Curl Session.
- $ch = curl_init();
- //Create the request Array.
- $paramArr = [
- 'grant_type' => $grantType,
- 'scope' => $scopeUrl,
- 'client_id' => $clientID,
- 'client_secret' => $clientSecret,
- ];
- //Create an Http Query.//
- $paramArr = http_build_query($paramArr);
- //Set the Curl URL.
- curl_setopt($ch, CURLOPT_URL, $authUrl);
- //Set HTTP POST Request.
- curl_setopt($ch, CURLOPT_POST, true);
- //Set data to POST in HTTP "POST" Operation.
- curl_setopt($ch, CURLOPT_POSTFIELDS, $paramArr);
- //CURLOPT_RETURNTRANSFER- TRUE to return the transfer as a string of the return value of curl_exec().
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- //CURLOPT_SSL_VERIFYPEER- Set FALSE to stop cURL from verifying the peer's certificate.
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- //Execute the cURL session.
- $strResponse = curl_exec($ch);
- //Get the Error Code returned by Curl.
- $curlErrno = curl_errno($ch);
- if ($curlErrno) {
- $curlError = curl_error($ch);
- curl_close($ch);
-
- throw new Exception($curlError);
- }
- //Close the Curl Session.
- curl_close($ch);
- //Decode the returned JSON string.
- $objResponse = json_decode($strResponse);
- if (@$objResponse->error) {
- throw new Exception($objResponse->error_description);
- }
-
- return $objResponse->access_token;
- } catch (Exception $e) {
- throw $e;
- }
- }
-
- /*
- * Create and execute the HTTP CURL request.
- *
- * @param string $url HTTP Url.
- * @param string $authHeader Authorization Header string.
- * @param string $postData Data to post.
- *
- * @return string.
- *
- */
- private function curlRequest($url, $authHeader)
- {
- //Initialize the Curl Session.
- $ch = curl_init();
- //Set the Curl url.
- curl_setopt($ch, CURLOPT_URL, $url);
- //Set the HTTP HEADER Fields.
- curl_setopt($ch, CURLOPT_HTTPHEADER, [$authHeader,'Content-Type: text/xml']);
- //CURLOPT_RETURNTRANSFER- TRUE to return the transfer as a string of the return value of curl_exec().
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- //CURLOPT_SSL_VERIFYPEER- Set FALSE to stop cURL from verifying the peer's certificate.
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- //Execute the cURL session.
- $curlResponse = curl_exec($ch);
- //Get the Error Code returned by Curl.
- $curlErrno = curl_errno($ch);
- if ($curlErrno) {
- $curlError = curl_error($ch);
- curl_close($ch);
-
- throw new Exception($curlError);
- }
- //Close a cURL session.
- curl_close($ch);
-
- return $curlResponse;
- }
-}
diff --git a/src/ProposalTranslater.php b/src/ProposalTranslater.php
deleted file mode 100644
index 2012bb9..0000000
--- a/src/ProposalTranslater.php
+++ /dev/null
@@ -1,122 +0,0 @@
-setup();
- }
-
- /**
- Set name of this tool
-
- @param string $name Tool's name
- */
- final protected function setName($name)
- {
- $this->name = (string) $name;
- }
-
- /**
- Get name of this tool
-
- @return string Tool's name
- */
- final public function getName()
- {
- return $this->name;
- }
-
- /**
- Set description of this tool
-
- @param string $desc Tool's description
- */
- final protected function setDesc($desc)
- {
- $this->desc = (string) $desc;
- }
-
- /**
- Get description of this tool
-
- @return string Tool's description
- */
- final public function getDesc()
- {
- return $this->desc;
- }
-
- /**
- Set tool as (un)active
-
- @param boolean $active True to set it as active
- */
- final protected function setActive($active)
- {
- $this->active = (bool) $active;
- }
-
- /**
- Check if this tool is active
-
- @return boolean True if it is active
- */
- final public function isActive()
- {
- return $this->active;
- }
-
- /**
- Set tool's info - using setName(),setDesc(),setActive()
- */
- abstract protected function setup();
-
- /**
- Get configuration interface
-
- @return string Form field
- */
- abstract public function form();
-
- /**
- Save configuration
- */
- abstract public function save();
-
- /**
- Translate a string from a language to another
-
- @param string $str Trimed UTF-8 string to translate
- @param string $from Source language code
- @param string $to Destination language code
- @return string Translated string
- */
- abstract public function translate($str, $from, $to);
-}
diff --git a/src/Rest.php b/src/Rest.php
deleted file mode 100644
index c367c0f..0000000
--- a/src/Rest.php
+++ /dev/null
@@ -1,74 +0,0 @@
-proposal->hasTool($tool)) {
- throw new Exception(__('Failed to get translation tool'));
- }
- if (!$translater->proposal->getTool($tool)->isActive()) {
- throw new Exception(__('Translation tool is not configured'));
- }
-
- $str_out = (string) $translater->proposal->getTool($tool)->translate($str_in, $from, $to);
- }
-
- $x = new xmlTag('proposal');
- $x->lang_from = $from;
- $x->lang_to = $to;
- $x->tool = $tool;
- $x->str_from = $str_in;
- $x->str_to = text::toUTF8(html::decodeEntities($str_out));
- $rsp->insertNode($x);
- } catch (Exception $e) {
- dcCore::app()->error->add($e->getMessage());
- }
-
- return $rsp;
- }
-}
diff --git a/src/Settings.php b/src/Settings.php
index 5c353c7..70140a8 100644
--- a/src/Settings.php
+++ b/src/Settings.php
@@ -63,12 +63,6 @@ class Settings
// Filename of exported lang
public readonly string $export_filename;
- // Default service for external proposal tool
- public readonly bool $proposal_tool;
-
- // Default lang for external proposal tool
- public readonly bool $proposal_lang;
-
/**
* Constructor set up plugin settings
*/
@@ -91,8 +85,6 @@ class Settings
$this->parse_userinfo = (string) ($s->get('parse_userinfo') ?? 'displayname, email');
$this->import_overwrite = (bool) ($s->get('import_overwrite') ?? false);
$this->export_filename = (string) ($s->get('export_filename') ?? 'type-module-l10n-timestamp');
- $this->proposal_tool = (bool) ($s->get('proposal_tool') ?? 'google');
- $this->proposal_lang = (bool) ($s->get('proposal_lang') ?? 'en');
}
public function getSetting(string $key): mixed
diff --git a/src/TranslaterProposals.php b/src/TranslaterProposals.php
deleted file mode 100644
index db80b7e..0000000
--- a/src/TranslaterProposals.php
+++ /dev/null
@@ -1,63 +0,0 @@
-callBehavior('addTranslaterProposalTool', $this);
- }
-
- public function addTool($id)
- {
- if (!class_exists($id)) {
- return;
- }
-
- $r = new ReflectionClass($id);
- $p = $r->getParentClass();
-
- if (!$p || $p->name != 'translaterProposalTool') {
- return;
- }
-
- $this->stack[$id] = new $id();
- }
-
- public function getTools()
- {
- return $this->stack;
- }
-
- public function getTool($id)
- {
- return array_key_exists($id, $this->stack) ? $this->stack[$id] : null;
- }
-
- public function hasTool($id)
- {
- return array_key_exists($id, $this->stack);
- }
-}