Skip to content

Commit

Permalink
Fixed issue #09258: Quick translation broken ith valid KEY
Browse files Browse the repository at this point in the history
Dev: Use Yii url, surely broken since 2.0 ?
Dev: don't show button if key is not set
  • Loading branch information
Shnoulle committed Sep 26, 2014
1 parent 538a028 commit 1707438
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 14 deletions.
25 changes: 16 additions & 9 deletions application/controllers/admin/translate.php
Expand Up @@ -1017,29 +1017,34 @@ private function menuSeparator()
return $image;
}

public function ajaxtranslategoogleapi()
{
// Ensure YII_CSRF_TOKEN, we are in admin, then only user with admin rigth can post
if(Yii::app()->request->isPostRequest)
{
echo self::translate_google_api();
}
}
/*
* translate_google_api.php
* Creates a JSON interface for the auto-translate feature
*/
private function translate_google_api()
{
header('Content-type: application/json');

$sBaselang = Yii::app()->getRequest()->getPost('baselang');
$sTolang = Yii::app()->getRequest()->getPost('tolang');
$sToconvert = Yii::app()->getRequest()->getPost('text');

$aSearch = array('zh-Hans','zh-Hant-HK','zh-Hant-TW',
'nl-informal','de-informal','it-formal','pt-BR','es-MX','nb','nn');
$aSearch = array('zh-Hans','zh-Hant-HK','zh-Hant-TW','nl-informal','de-informal','it-formal','pt-BR','es-MX','nb','nn');
$aReplace = array('zh-CN','zh-TW','zh-TW','nl','de','it','pt','es','no','no');

$sTolang = str_replace($aSearch, $aReplace, $sTolang);

$error = FALSE;
$error = false;

try
{
{
Yii::app()->loadLibrary('admin/gtranslate/GTranslate');
$gtranslate = new Gtranslate();
$gtranslate = new Gtranslate();
$objGt = $gtranslate;

// Gtranslate requires you to run function named XXLANG_to_XXLANG
Expand Down Expand Up @@ -1078,7 +1083,9 @@ private function translate_google_api()
'converted' => $sOutput
);

return ls_json_encode($aOutput) . "\n";
header('Content-type: application/json');
return ls_json_encode($aOutput);
Yii::app()->end();
}

/**
Expand Down
Expand Up @@ -10,6 +10,7 @@
<script type="text/javascript">
sGoogleApiError = "<?php $clang->eT("There was an error using the Google API.");?>";
sDetailedError = "<?php $clang->eT("Detailed Error");?>";
translateJsonUrl = "<?php echo $this->createUrl("admin/translate/sa/ajaxtranslategoogleapi"); ?>";
</script>

<div id="translationtabs" style="display: none;" >
Expand Down
6 changes: 4 additions & 2 deletions application/views/admin/translate/translatetabs_view.php
Expand Up @@ -5,6 +5,8 @@
?>

<div class='translate'>
<input type='button' class='auto-trans' value='<?php $clang->eT("Auto Translate");?>' id='auto-trans-tab-<?php echo $type;?>' />
<img src='<?php echo Yii::app()->getConfig("adminimageurl");?>/ajax-loader.gif' style='display: none' class='ajax-loader' alt='<?php $clang->eT("Loading...");?>' />
<?php if(App()->getConfig('googletranslateapikey')){ ?>
<input type='button' class='auto-trans' value='<?php $clang->eT("Auto Translate");?>' id='auto-trans-tab-<?php echo $type;?>' />
<img src='<?php echo Yii::app()->getConfig("adminimageurl");?>/ajax-loader.gif' style='display: none' class='ajax-loader' alt='<?php $clang->eT("Loading...");?>' />
<?php } ?>
<?php echo $translateTabs; ?>
6 changes: 3 additions & 3 deletions scripts/admin/translation.js
Expand Up @@ -91,11 +91,11 @@ function fDoTranslateAjax(sBaseLang,sToLang,sToConvert,sId)
$('.ajax-loader').css('display','inline');
iRunningThreads++;
$.ajax({
url:'admin.php',
url: translateJsonUrl,
datatype: 'json',
async: true,
type: 'POST',
data:{
action: 'ajaxtranslategoogleapi',
baselang:sBaseLang,
tolang:sToLang,
text:sToConvert
Expand All @@ -114,7 +114,7 @@ function fDoTranslateAjax(sBaseLang,sToLang,sToConvert,sId)
}
else if (!aData.error)
{
$("[name="+sId+"]").html(aData.converted);
$("textarea[name="+sId+"]").val(aData.converted);

var oMyEditor = CKEDITOR.instances[sId];

Expand Down

0 comments on commit 1707438

Please sign in to comment.