Version Description
- Fix for open redirect issue
- Fix for incorrect selected language in nice dropdown
Download this release
Release Info
| Developer | edo888 |
| Plugin | |
| Version | 2.8.11 |
| Comparing to | |
| See all releases | |
Code changes from version 2.8.10 to 2.8.11
- gtranslate.php +22 -9
- readme.txt +5 -3
- url_addon/gtranslate.php +4 -2
gtranslate.php
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
Plugin Name: GTranslate
|
| 4 |
Plugin URI: https://gtranslate.io/?xyz=998
|
| 5 |
Description: Makes your website <strong>multilingual</strong> and available to the world using Google Translate. For support visit <a href="https://wordpress.org/support/plugin/gtranslate">GTranslate Support</a>.
|
| 6 |
-
Version: 2.8.
|
| 7 |
Author: Edvard Ananyan
|
| 8 |
Author URI: https://gtranslate.io
|
| 9 |
Text Domain: gtranslate
|
|
@@ -76,8 +76,8 @@ class GTranslate extends WP_Widget {
|
|
| 76 |
wp_enqueue_style( 'gtranslate-style', plugins_url('gtranslate-style'.$data['flag_size'].'.css', __FILE__) );
|
| 77 |
wp_enqueue_script('jquery');
|
| 78 |
|
| 79 |
-
//
|
| 80 |
-
|
| 81 |
}
|
| 82 |
|
| 83 |
public static function load_textdomain() {
|
|
@@ -534,7 +534,7 @@ function hideGSatelites($) {
|
|
| 534 |
widget_preview += '<script type="text/javascript">'+new_line;
|
| 535 |
widget_preview += "jQuery('.switcher .selected').click(function() {if(!(jQuery('.switcher .option').is(':visible'))) {jQuery('.switcher .option').stop(true,true).delay(50).slideDown(500);jQuery('.switcher .selected a').toggleClass('open')}});"+new_line;
|
| 536 |
widget_preview += "jQuery('.switcher .option').bind('mousewheel', function(e) {var options = jQuery('.switcher .option');if(options.is(':visible'))options.scrollTop(options.scrollTop() - e.originalEvent.wheelDelta);return false;});"+new_line;
|
| 537 |
-
widget_preview += "jQuery('body').not('.switcher
|
| 538 |
widget_preview += '<\/script>'+new_line;
|
| 539 |
|
| 540 |
// Adding slider css
|
|
@@ -595,7 +595,7 @@ function hideGSatelites($) {
|
|
| 595 |
else
|
| 596 |
widget_code += "function doGTranslate(lang_pair){if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];if(GTranslateGetCurrentLang() == null && lang == lang_pair.split('|')[0])return;var teCombo;var sel=document.getElementsByTagName('select');for(var i=0;i<sel.length;i++)if(sel[i].className=='goog-te-combo')teCombo=sel[i];if(document.getElementById('google_translate_element2')==null||document.getElementById('google_translate_element2').innerHTML.length==0||teCombo.length==0||teCombo.innerHTML.length==0){setTimeout(function(){doGTranslate(lang_pair)},500)}else{teCombo.value=lang;GTranslateFireEvent(teCombo,'change');GTranslateFireEvent(teCombo,'change')}}"+new_line;
|
| 597 |
if(widget_look == 'dropdown_with_flags') {
|
| 598 |
-
widget_code += "if(GTranslateGetCurrentLang() != null)jQuery(document).ready(function() {jQuery('div.switcher div.selected a').html(jQuery('div.switcher div.option').find('
|
| 599 |
}
|
| 600 |
}
|
| 601 |
|
|
@@ -1078,8 +1078,12 @@ foreach($alt_flags as $flag)
|
|
| 1078 |
.connectedSortable1 li label, .connectedSortable2 li label {cursor:move;}
|
| 1079 |
</style>
|
| 1080 |
|
|
|
|
|
|
|
| 1081 |
<!-- Live Chat for GTranslate -->
|
| 1082 |
<script>var _glc =_glc || [];_glc.push('all_ag9zfmNsaWNrZGVza2NoYXRyDgsSBXVzZXJzGM3hxwQM');var glcpath = (('https:' == document.location.protocol) ? 'https://my.clickdesk.com/clickdesk-ui/browser/' : 'http://my.clickdesk.com/clickdesk-ui/browser/');var glcp = (('https:' == document.location.protocol) ? 'https://' : 'http://');var glcspt = document.createElement('script'); glcspt.type = 'text/javascript'; glcspt.async = true; glcspt.src = glcpath + 'livechat-new.js';var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(glcspt, s);</script>
|
|
|
|
|
|
|
| 1083 |
<?php
|
| 1084 |
}
|
| 1085 |
|
|
@@ -1308,7 +1312,12 @@ class GTranslate_Notices {
|
|
| 1308 |
// If user clicks to ignore the notice, update the option to not show it again
|
| 1309 |
if (isset($_GET[$this->prefix . '_admin_notice_ignore'])) {
|
| 1310 |
$admin_notices_option = get_option($this->prefix . '_admin_notice', array());
|
| 1311 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1312 |
update_option($this->prefix . '_admin_notice', $admin_notices_option);
|
| 1313 |
$query_str = remove_query_arg($this->prefix . '_admin_notice_ignore');
|
| 1314 |
wp_redirect($query_str);
|
|
@@ -1323,12 +1332,16 @@ class GTranslate_Notices {
|
|
| 1323 |
$admin_notices_option = get_option($this->prefix . '_admin_notice', array());
|
| 1324 |
$current_date = current_time("n/j/Y");
|
| 1325 |
$date_array = explode('/', $current_date);
|
| 1326 |
-
$interval = (isset($_GET['gt_int']) ? $_GET['gt_int'] : 14);
|
| 1327 |
$date_array[1] += $interval;
|
| 1328 |
$new_start = date("n/j/Y", mktime(0, 0, 0, $date_array[0], $date_array[1], $date_array[2]));
|
| 1329 |
|
| 1330 |
-
$
|
| 1331 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1332 |
update_option($this->prefix . '_admin_notice', $admin_notices_option);
|
| 1333 |
$query_str = remove_query_arg(array($this->prefix . '_admin_notice_temp_ignore', 'gt_int'));
|
| 1334 |
wp_redirect( $query_str );
|
| 3 |
Plugin Name: GTranslate
|
| 4 |
Plugin URI: https://gtranslate.io/?xyz=998
|
| 5 |
Description: Makes your website <strong>multilingual</strong> and available to the world using Google Translate. For support visit <a href="https://wordpress.org/support/plugin/gtranslate">GTranslate Support</a>.
|
| 6 |
+
Version: 2.8.11
|
| 7 |
Author: Edvard Ananyan
|
| 8 |
Author URI: https://gtranslate.io
|
| 9 |
Text Domain: gtranslate
|
| 76 |
wp_enqueue_style( 'gtranslate-style', plugins_url('gtranslate-style'.$data['flag_size'].'.css', __FILE__) );
|
| 77 |
wp_enqueue_script('jquery');
|
| 78 |
|
| 79 |
+
//get_option('googlelanguagetranslator_active');
|
| 80 |
+
//get_option('wg_allowed');
|
| 81 |
}
|
| 82 |
|
| 83 |
public static function load_textdomain() {
|
| 534 |
widget_preview += '<script type="text/javascript">'+new_line;
|
| 535 |
widget_preview += "jQuery('.switcher .selected').click(function() {if(!(jQuery('.switcher .option').is(':visible'))) {jQuery('.switcher .option').stop(true,true).delay(50).slideDown(500);jQuery('.switcher .selected a').toggleClass('open')}});"+new_line;
|
| 536 |
widget_preview += "jQuery('.switcher .option').bind('mousewheel', function(e) {var options = jQuery('.switcher .option');if(options.is(':visible'))options.scrollTop(options.scrollTop() - e.originalEvent.wheelDelta);return false;});"+new_line;
|
| 537 |
+
widget_preview += "jQuery('body').not('.switcher').mousedown(function(e) {if(jQuery('.switcher .option').is(':visible') && e.target != jQuery('.switcher .option').get(0)) {jQuery('.switcher .option').stop(true,true).delay(50).slideUp(500);jQuery('.switcher .selected a').toggleClass('open')}});"+new_line;
|
| 538 |
widget_preview += '<\/script>'+new_line;
|
| 539 |
|
| 540 |
// Adding slider css
|
| 595 |
else
|
| 596 |
widget_code += "function doGTranslate(lang_pair){if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];if(GTranslateGetCurrentLang() == null && lang == lang_pair.split('|')[0])return;var teCombo;var sel=document.getElementsByTagName('select');for(var i=0;i<sel.length;i++)if(sel[i].className=='goog-te-combo')teCombo=sel[i];if(document.getElementById('google_translate_element2')==null||document.getElementById('google_translate_element2').innerHTML.length==0||teCombo.length==0||teCombo.innerHTML.length==0){setTimeout(function(){doGTranslate(lang_pair)},500)}else{teCombo.value=lang;GTranslateFireEvent(teCombo,'change');GTranslateFireEvent(teCombo,'change')}}"+new_line;
|
| 597 |
if(widget_look == 'dropdown_with_flags') {
|
| 598 |
+
widget_code += "if(GTranslateGetCurrentLang() != null)jQuery(document).ready(function() {jQuery('div.switcher div.selected a').html(jQuery('div.switcher div.option').find('img[alt=\"'+GTranslateGetCurrentLang()+'\"]').parent().html());});"+new_line;
|
| 599 |
}
|
| 600 |
}
|
| 601 |
|
| 1078 |
.connectedSortable1 li label, .connectedSortable2 li label {cursor:move;}
|
| 1079 |
</style>
|
| 1080 |
|
| 1081 |
+
<?php
|
| 1082 |
+
/*
|
| 1083 |
<!-- Live Chat for GTranslate -->
|
| 1084 |
<script>var _glc =_glc || [];_glc.push('all_ag9zfmNsaWNrZGVza2NoYXRyDgsSBXVzZXJzGM3hxwQM');var glcpath = (('https:' == document.location.protocol) ? 'https://my.clickdesk.com/clickdesk-ui/browser/' : 'http://my.clickdesk.com/clickdesk-ui/browser/');var glcp = (('https:' == document.location.protocol) ? 'https://' : 'http://');var glcspt = document.createElement('script'); glcspt.type = 'text/javascript'; glcspt.async = true; glcspt.src = glcpath + 'livechat-new.js';var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(glcspt, s);</script>
|
| 1085 |
+
*/
|
| 1086 |
+
?>
|
| 1087 |
<?php
|
| 1088 |
}
|
| 1089 |
|
| 1312 |
// If user clicks to ignore the notice, update the option to not show it again
|
| 1313 |
if (isset($_GET[$this->prefix . '_admin_notice_ignore'])) {
|
| 1314 |
$admin_notices_option = get_option($this->prefix . '_admin_notice', array());
|
| 1315 |
+
|
| 1316 |
+
$key = $_GET[$this->prefix . '_admin_notice_ignore'];
|
| 1317 |
+
if(!preg_match('/^[a-z_0-9]+$/i', $key))
|
| 1318 |
+
return;
|
| 1319 |
+
|
| 1320 |
+
$admin_notices_option[$key]['dismissed'] = 1;
|
| 1321 |
update_option($this->prefix . '_admin_notice', $admin_notices_option);
|
| 1322 |
$query_str = remove_query_arg($this->prefix . '_admin_notice_ignore');
|
| 1323 |
wp_redirect($query_str);
|
| 1332 |
$admin_notices_option = get_option($this->prefix . '_admin_notice', array());
|
| 1333 |
$current_date = current_time("n/j/Y");
|
| 1334 |
$date_array = explode('/', $current_date);
|
| 1335 |
+
$interval = (isset($_GET['gt_int']) ? intval($_GET['gt_int']) : 14);
|
| 1336 |
$date_array[1] += $interval;
|
| 1337 |
$new_start = date("n/j/Y", mktime(0, 0, 0, $date_array[0], $date_array[1], $date_array[2]));
|
| 1338 |
|
| 1339 |
+
$key = $_GET[$this->prefix . '_admin_notice_temp_ignore'];
|
| 1340 |
+
if(!preg_match('/^[a-z_0-9]+$/i', $key))
|
| 1341 |
+
return;
|
| 1342 |
+
|
| 1343 |
+
$admin_notices_option[$key]['start'] = $new_start;
|
| 1344 |
+
$admin_notices_option[$key]['dismissed'] = 0;
|
| 1345 |
update_option($this->prefix . '_admin_notice', $admin_notices_option);
|
| 1346 |
$query_str = remove_query_arg(array($this->prefix . '_admin_notice_temp_ignore', 'gt_int'));
|
| 1347 |
wp_redirect( $query_str );
|
readme.txt
CHANGED
|
@@ -4,7 +4,7 @@ Author: Edvard Ananyan
|
|
| 4 |
Tags: translation proxy, localization, translate, translation, google translate, language, multilingual, multilanguage, bilingual, tradurre, traducir, traduire, traduzione, ubersetzung, mehrsprachig, oversette, oversatta, vertaling, vertaler, meertalig, polylang, qtranslate, transposh, wpml, l18n
|
| 5 |
Requires at least: 2.8
|
| 6 |
Tested up to: 4.7
|
| 7 |
-
Stable tag: 2.8.
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 10 |
Donate link: https://gtranslate.io/?xyz=998#pricing
|
|
@@ -52,8 +52,6 @@ Please check our [FAQ](https://gtranslate.io/?xyz=998#faq) to get quick answers.
|
|
| 52 |
**Edit Translations Demo (paid)**
|
| 53 |
[youtube https://www.youtube.com/watch?v=YwSy3VtQx3I]
|
| 54 |
|
| 55 |
-
Keywords: polylang, prisna, gts, localize, lingotek, smartling, qtranslate, loco translate, loco, google website translator, translate wordpress, translate, transposh, global translator, machine translate, wp translate, bilingual, multilanguage, multilingual, l18n, quebec, canada, usa, brazil, mexico
|
| 56 |
-
|
| 57 |
== Installation ==
|
| 58 |
|
| 59 |
1. Upload `gtranslate` folder to the `/wp-content/plugins/` directory
|
|
@@ -520,6 +518,10 @@ You need to go to the language you want to edit, for instance, French: http://do
|
|
| 520 |
|
| 521 |
== Changelog ==
|
| 522 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 523 |
= 2.8.10 =
|
| 524 |
* Added Quebec and Canada alternative flags for French and English
|
| 525 |
|
| 4 |
Tags: translation proxy, localization, translate, translation, google translate, language, multilingual, multilanguage, bilingual, tradurre, traducir, traduire, traduzione, ubersetzung, mehrsprachig, oversette, oversatta, vertaling, vertaler, meertalig, polylang, qtranslate, transposh, wpml, l18n
|
| 5 |
Requires at least: 2.8
|
| 6 |
Tested up to: 4.7
|
| 7 |
+
Stable tag: 2.8.11
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 10 |
Donate link: https://gtranslate.io/?xyz=998#pricing
|
| 52 |
**Edit Translations Demo (paid)**
|
| 53 |
[youtube https://www.youtube.com/watch?v=YwSy3VtQx3I]
|
| 54 |
|
|
|
|
|
|
|
| 55 |
== Installation ==
|
| 56 |
|
| 57 |
1. Upload `gtranslate` folder to the `/wp-content/plugins/` directory
|
| 518 |
|
| 519 |
== Changelog ==
|
| 520 |
|
| 521 |
+
= 2.8.11 =
|
| 522 |
+
* Fix for open redirect issue
|
| 523 |
+
* Fix for incorrect selected language in nice dropdown
|
| 524 |
+
|
| 525 |
= 2.8.10 =
|
| 526 |
* Added Quebec and Canada alternative flags for French and English
|
| 527 |
|
url_addon/gtranslate.php
CHANGED
|
@@ -19,15 +19,17 @@ $page_url = implode('/', $page_url_segments);
|
|
| 19 |
|
| 20 |
$get_params = $_GET;
|
| 21 |
if(isset($get_params['glang']))
|
| 22 |
-
|
| 23 |
if(isset($get_params['gurl']))
|
| 24 |
unset($get_params['gurl']);
|
| 25 |
|
| 26 |
if(count($get_params)) {
|
| 27 |
-
|
| 28 |
}
|
| 29 |
|
| 30 |
if($glang == $main_lang) {
|
|
|
|
|
|
|
| 31 |
header('Location: ' . $page_url, true, 301);
|
| 32 |
exit;
|
| 33 |
}
|
| 19 |
|
| 20 |
$get_params = $_GET;
|
| 21 |
if(isset($get_params['glang']))
|
| 22 |
+
unset($get_params['glang']);
|
| 23 |
if(isset($get_params['gurl']))
|
| 24 |
unset($get_params['gurl']);
|
| 25 |
|
| 26 |
if(count($get_params)) {
|
| 27 |
+
$page_url .= '?' . http_build_query($get_params);
|
| 28 |
}
|
| 29 |
|
| 30 |
if($glang == $main_lang) {
|
| 31 |
+
$page_url = preg_replace('/^[\/]+/', '/', $page_url);
|
| 32 |
+
|
| 33 |
header('Location: ' . $page_url, true, 301);
|
| 34 |
exit;
|
| 35 |
}
|
