Changeset 3275340
- Timestamp:
- 04/17/2025 05:26:17 AM (12 months ago)
- Location:
- easytranslate
- Files:
-
- 14 edited
- 10 copied
-
tags/v5.2 (copied) (copied from easytranslate/trunk)
-
tags/v5.2/README.txt (copied) (copied from easytranslate/trunk/README.txt) (1 diff)
-
tags/v5.2/admin/class-easy-translate-admin.php (modified) (11 diffs)
-
tags/v5.2/admin/class-easy-translate-api-laas.php (copied) (copied from easytranslate/trunk/admin/class-easy-translate-api-laas.php)
-
tags/v5.2/admin/class-easy-translate-api-service.php (copied) (copied from easytranslate/trunk/admin/class-easy-translate-api-service.php)
-
tags/v5.2/admin/class-easy-translate-post-translation-list.php (copied) (copied from easytranslate/trunk/admin/class-easy-translate-post-translation-list.php) (4 diffs)
-
tags/v5.2/admin/class-easy-translate-string-translation-list.php (copied) (copied from easytranslate/trunk/admin/class-easy-translate-string-translation-list.php) (1 diff)
-
tags/v5.2/admin/class-easy-translate-translation-list.php (modified) (3 diffs)
-
tags/v5.2/admin/class-easy-translate-translation-updater.php (modified) (4 diffs)
-
tags/v5.2/admin/class-easy-translate-translation.php (copied) (copied from easytranslate/trunk/admin/class-easy-translate-translation.php)
-
tags/v5.2/admin/js/easy-translate-admin.js (modified) (1 diff)
-
tags/v5.2/admin/partials/projects.php (copied) (copied from easytranslate/trunk/admin/partials/projects.php)
-
tags/v5.2/admin/partials/translation-options.php (copied) (copied from easytranslate/trunk/admin/partials/translation-options.php)
-
tags/v5.2/easy-translate.php (copied) (copied from easytranslate/trunk/easy-translate.php) (2 diffs)
-
tags/v5.2/includes/class-easy-translate.php (modified) (1 diff)
-
trunk/README.txt (modified) (1 diff)
-
trunk/admin/class-easy-translate-admin.php (modified) (11 diffs)
-
trunk/admin/class-easy-translate-post-translation-list.php (modified) (4 diffs)
-
trunk/admin/class-easy-translate-string-translation-list.php (modified) (1 diff)
-
trunk/admin/class-easy-translate-translation-list.php (modified) (3 diffs)
-
trunk/admin/class-easy-translate-translation-updater.php (modified) (4 diffs)
-
trunk/admin/js/easy-translate-admin.js (modified) (1 diff)
-
trunk/easy-translate.php (modified) (2 diffs)
-
trunk/includes/class-easy-translate.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
easytranslate/tags/v5.2/README.txt
r3247682 r3275340 4 4 Tags: translation, wpml, easytranslate, multilingual, translate 5 5 Requires at least: 4.7 6 Tested up to: 6. 77 Stable tag: 5. 16 Tested up to: 6.8 7 Stable tag: 5.2 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html -
easytranslate/tags/v5.2/admin/class-easy-translate-admin.php
r2742144 r3275340 22 22 const MENU_INTEGRATION = 'admin-easy-translate-integration'; 23 23 const MENU_PARTIAL_TRANSLATIONS = 'admin-easy-translate-partial-translations'; 24 25 const MAIN_PAGES = [ 26 self::MENU_MAIN => self::MENU_MAIN, 27 self::MENU_PROJECTS => self::MENU_PROJECTS, 28 self::MENU_INTEGRATION => self::MENU_INTEGRATION, 29 self::MENU_PARTIAL_TRANSLATIONS => self::MENU_PARTIAL_TRANSLATIONS, 30 ]; 24 31 25 32 /** … … 146 153 public function init_integration() 147 154 { 148 $this->api_integration->init(); 155 if (in_array($_REQUEST['page'] ?? '', array_keys(self::MAIN_PAGES))) { 156 $this->api_integration->init(); 157 } 149 158 } 150 159 … … 154 163 public function load_string_translation_list_screen_options() 155 164 { 156 157 165 $this->string_translation_list = new Easy_Translate_String_Translation_List(); 158 166 $this->string_translation_list->load_screen_options(); 159 160 167 } 161 168 … … 170 177 public function set_string_translation_list_screen_option($status, $option, $value) 171 178 { 172 173 179 return ($option == Easy_Translate_String_Translation_List::PER_PAGE_OPTION) ? (int)$value : $status; 174 175 180 } 176 181 … … 180 185 public function load_post_translation_list_screen_options() 181 186 { 182 183 187 $this->post_translation_list = new Easy_Translate_Post_Translation_List(); 184 188 $this->post_translation_list->load_screen_options(); 185 186 189 } 187 190 … … 196 199 public function set_post_translation_list_screen_option($status, $option, $value) 197 200 { 198 199 201 return ($option == Easy_Translate_Post_Translation_List::PER_PAGE_OPTION) ? (int)$value : $status; 200 201 202 } 202 203 … … 215 216 public function show_partial_translations_page() 216 217 { 217 218 218 $this->string_translation_list->prepare_items(); 219 219 $this->string_translation_list->render(); 220 221 220 } 222 221 … … 235 234 public function show_projects_page() 236 235 { 237 238 236 $this->projects->render(); 239 240 237 } 241 238 … … 244 241 * 245 242 * @param $post_ID 243 * @throws Exception 246 244 */ 247 245 public function edit_post_hook($post_ID) 248 246 { 249 250 247 $updater = new Easy_Translate_Translation_Updater(); 251 248 $updater->run($post_ID); 252 253 249 } 254 250 … … 258 254 public function include_plugin_functions() 259 255 { 260 261 256 include_once EASY_TRANSLATE_ROOT . 'admin/functions.php'; 262 263 257 } 264 258 … … 268 262 public function set_auto_translate_callback() 269 263 { 270 271 264 Easy_Translate_Translation_List::set_auto_translate(); 272 273 } 274 265 } 275 266 } -
easytranslate/tags/v5.2/admin/class-easy-translate-post-translation-list.php
r3247676 r3275340 9 9 class Easy_Translate_Post_Translation_List extends Easy_Translate_Translation_List 10 10 { 11 private $workflows = []; 11 12 12 13 /** … … 234 235 protected function column_auto_translate($item) 235 236 { 236 $checked_value = get_post_meta($item['ID'], 'et_auto_translate', true) ? 'checked' : ''; 237 238 return sprintf( 239 '<label for="%s" class="switch"><input id="%s" value="%s" class="js-auto-translate" type="checkbox" %s><span class="slider round"></span></label>', 240 'auto_translate_' . $item['ID'], 241 'auto_translate_' . $item['ID'], 237 $isEnabled = get_post_meta($item['ID'], 'et_auto_translate', true); 238 $autoTranslateWorkflow = get_post_meta($item['ID'], 'et_auto_translate_workflow_id', true); 239 $autoTranslateWorkflow = $this->process_auto_translate_workflow($autoTranslateWorkflow); 240 $checkedValue = $isEnabled ? 'checked' : ''; 241 $styleDisplay = $isEnabled ? 'inline' : 'none'; 242 243 echo sprintf( 244 '<label for="%s" class="switch"><input id="%s" value="%s" class="js-auto-translate-switch" type="checkbox" %s><span class="slider round"></span></label>', 245 'auto-translate-enabled-' . $item['ID'], 246 'auto-translate-enabled-' . $item['ID'], 242 247 $item['ID'], 243 $checked _value248 $checkedValue 244 249 ); 245 250 ?> 251 <div id="auto-translate-wrapper-<?= $item['ID'] ?>" style="display: <?= $styleDisplay ?>;"> 252 <select name="workflow" id="auto-translate-workflow-id-<?= $item['ID'] ?>" style="margin-left: 5px"> 253 <?php 254 /** @var array[] $workflows */ 255 foreach ($this->workflows as $workflow) { ?> 256 <option 257 value="<?= $workflow['id'] ?>" <?= $workflow['identifier'] === $autoTranslateWorkflow['identifier'] ? 'selected' : '' ?>><?= $workflow['name'] ?></option> 258 <?php } ?> 259 </select> 260 <br> 261 <button class="button-primary js-auto-translate" id="auto-translate-<?= $item['ID'] ?>" type="button" 262 value="<?= $item['ID'] ?>" style="margin-top: 5px;" 263 name="action"><?= __('Update', EASY_TRANSLATE) ?></button> 264 </div> 265 <?php 246 266 } 247 267 … … 459 479 $service = new Easy_Translate_API_Laas(Easy_Translate_API_Integration::map_fields($options)); 460 480 $workflows = $service->get_available_workflows(); 481 $this->workflows = $workflows; 461 482 $easyTranslateTeam = "{$options['company_name']} ({$options['team_identifier']})"; 462 483 … … 603 624 } 604 625 626 private function process_auto_translate_workflow($autoTranslateWorkflow): array 627 { 628 if (empty($autoTranslateWorkflow)) { 629 return ['identifier' => 'self+machine_translation', 'id' => null]; 630 } 631 foreach ($this->workflows as $workflow) { 632 if ($workflow['id'] === $autoTranslateWorkflow) { 633 return ['identifier' => $workflow['identifier'], 'id' => $workflow['id']]; 634 } 635 } 636 637 return ['identifier' => 'self+machine_translation', 'id' => null]; 638 } 605 639 } -
easytranslate/tags/v5.2/admin/class-easy-translate-string-translation-list.php
r3247676 r3275340 412 412 protected function render_list() 413 413 { 414 $options = get_option(EASY_TRANSLATE_INTEGRATION_OPTION); 415 $service = new Easy_Translate_API_Laas(Easy_Translate_API_Integration::map_fields($options)); 416 $workflows = $service->get_available_workflows(); 417 $easyTranslateTeam = "{$options['company_name']} ({$options['team_identifier']})"; 418 414 419 include_once(EASY_TRANSLATE_ROOT . 'admin/partials/string-translation.php'); 415 420 } -
easytranslate/tags/v5.2/admin/class-easy-translate-translation-list.php
r2903708 r3275340 355 355 * @return array 356 356 */ 357 public function get_strings_content($ids, string $source_language = null)357 public function get_strings_content($ids, string $source_language = null) 358 358 { 359 359 global $wpdb; 360 360 $content = []; 361 361 $id_in = '"' . implode('","', $ids) . '"'; 362 // $query = "SELECT id, value from {$wpdb->prefix}icl_strings WHERE id IN ({$id_in})";363 362 364 363 $select = "str.id, str.value"; … … 739 738 global $wpdb; 740 739 $package_id = esc_sql($package_id); 741 // $query = "SELECT id, value FROM {$wpdb->prefix}icl_strings WHERE string_package_id='{$package_id}';";742 740 $select = "str.id, str.value"; 743 741 $where = "str.string_package_id='{$package_id}'"; … … 798 796 public static function set_auto_translate() 799 797 { 800 801 update_post_meta(intval($_POST['id']), 'et_auto_translate', wp_slash(intval($_POST['value']))); 798 $payload = $_POST['payload']; 799 update_post_meta( 800 intval($_POST['id']), 801 'et_auto_translate', 802 wp_slash(intval($payload['enabled'] ?? '0')) 803 ); 804 update_post_meta( 805 intval($_POST['id']), 806 'et_auto_translate_workflow_id', 807 wp_slash($payload['workflow'] ?? '') 808 ); 802 809 803 810 wp_die(); 804 805 811 } 806 812 -
easytranslate/tags/v5.2/admin/class-easy-translate-translation-updater.php
r2768836 r3275340 14 14 * 15 15 * @param $post_id 16 * @throws Exception 16 17 */ 17 18 public function run($post_id) 18 19 { 19 20 if (get_post_meta($post_id, 'et_auto_translate', true) 21 && ($workflowId = get_post_meta($post_id, 'et_auto_translate_workflow_id', true)) 20 22 && Easy_Translate_Translation_List::compare_post_source_language($post_id) 21 23 && Easy_Translate_Translation_List::check_dependencies() … … 26 28 if ($content[0]) { 27 29 $source = Easy_Translate_Translation_List::get_source_language(); 28 $target _languages = Easy_Translate_Translation_List::get_translation_needs_update($post_id);30 $targetLanguages = Easy_Translate_Translation_List::get_translation_needs_update($post_id); 29 31 30 if ($this->update_strings($source, $target _languages, $content)) {32 if ($this->update_strings($source, $targetLanguages, $workflowId, $content)) { 31 33 Easy_Translate_Translation_List::update_string_status( 32 34 $a_string_id, … … 35 37 Easy_Translate_Translation_List::update_duplicate_status( 36 38 [$post_id], 37 $target _languages,39 $targetLanguages, 38 40 Easy_Translate_Translation_List::STATUS_WAITING 39 41 ); … … 48 50 * @param string $source 49 51 * @param array $target 52 * @param string $workflowId 50 53 * @param array $content 51 54 * @return bool 52 55 */ 53 protected function update_strings( $source, $target, $content)56 protected function update_strings(string $source, array $target, string $workflowId, $content) 54 57 { 55 58 $options = get_option(EASY_TRANSLATE_INTEGRATION_OPTION); 56 59 $service = new Easy_Translate_API_Laas(Easy_Translate_API_Integration::map_fields($options)); 57 $result = $service->translate($source, $target, $content );60 $result = $service->translate($source, $target, $content, $workflowId); 58 61 59 62 return !isset($result['error']); -
easytranslate/tags/v5.2/admin/js/easy-translate-admin.js
r2324915 r3275340 32 32 $(document).ready(function ($) { 33 33 34 $('.js-auto-translate').c hange(function () {34 $('.js-auto-translate').click(function () { 35 35 36 var checkboxInput = $(this); 37 if (checkboxInput.is(':checked')) { 38 set_auto_translate(checkboxInput.val(), 1); 36 var button = $(this); 37 var postId = button.val(); 38 var booleanFlag = $('#auto-translate-enabled-' + postId).is(':checked'); 39 var workflow = $('#auto-translate-workflow-id-' + postId).val(); 40 41 set_auto_translate( 42 postId, 43 { 44 'enabled': booleanFlag === true ? 1 : 0, 45 'workflow': workflow 46 } 47 ); 48 }); 49 $('.js-auto-translate-switch').change(function () { 50 var input = $(this); 51 var postId = input.val(); 52 var booleanFlag = input.is(':checked'); 53 if (booleanFlag === true) { 54 $('#auto-translate-wrapper-' + postId).attr('style', 'display: inline;'); 39 55 } else { 40 set_auto_translate(checkboxInput.val(), 0);56 $('#auto-translate-wrapper-' + postId).attr('style', 'display: none;'); 41 57 } 42 58 var workflow = $('#auto-translate-workflow-id-' + postId).val(); 59 set_auto_translate( 60 postId, 61 { 62 'enabled': booleanFlag === true ? 1 : 0, 63 'workflow': workflow 64 } 65 ); 43 66 }); 44 67 45 68 }); 46 69 47 function set_auto_translate(id, value) {70 function set_auto_translate(id, payload) { 48 71 49 72 var data = { 50 73 action: 'et_set_auto_translate_action', 51 74 id: id, 52 value: value75 payload: payload 53 76 }; 54 77 -
easytranslate/tags/v5.2/easy-translate.php
r3247689 r3275340 15 15 * Plugin URI: https://www.easytranslate.com/en/integrations/cms/wordpress-plugin/ 16 16 * Description: This is a short description of what the plugin does. It's displayed in the WordPress admin area. 17 * Version: 2.0. 017 * Version: 2.0.1 18 18 * Author: EasyTranslate 19 19 * Author URI: https://easytranslate.com … … 34 34 * Rename this for your plugin and update it as you release new versions. 35 35 */ 36 define('EASY_TRANSLATE_VERSION', '2.0. 0');36 define('EASY_TRANSLATE_VERSION', '2.0.1'); 37 37 38 38 /** -
easytranslate/tags/v5.2/includes/class-easy-translate.php
r2742144 r3275340 139 139 'load_post_translation_list_screen_options'); 140 140 $this->loader->add_filter('set-screen-option', $plugin_admin, 'set_post_translation_list_screen_option', 10, 3); 141 $this->loader->add_action('load-easytranslate_page_' . Easy_Translate_Admin::MENU_PARTIAL_TRANSLATIONS, 142 $plugin_admin, 'load_string_translation_list_screen_options'); 143 $this->loader->add_filter('set-screen-option', $plugin_admin, 'set_string_translation_list_screen_option', 10, 144 3); 145 $this->loader->add_action('wp_ajax_nopriv_' . Easy_Translate_API_Service::WEB_HOOK_ACTION, $plugin_admin, 146 'completed_task_callback'); 141 $this->loader->add_action( 142 'load-easytranslate_page_' . Easy_Translate_Admin::MENU_PARTIAL_TRANSLATIONS, 143 $plugin_admin, 144 'load_string_translation_list_screen_options' 145 ); 146 $this->loader->add_filter( 147 'set-screen-option', 148 $plugin_admin, 149 'set_string_translation_list_screen_option', 150 10, 151 3 152 ); 153 $this->loader->add_action( 154 'wp_ajax_nopriv_' . Easy_Translate_API_Service::WEB_HOOK_ACTION, 155 $plugin_admin, 156 'completed_task_callback' 157 ); 147 158 $this->loader->add_action('edit_post', $plugin_admin, 'edit_post_hook', 101); 148 159 $this->loader->add_action('plugin_loaded', $plugin_admin, 'include_plugin_functions'); 149 $this->loader->add_action('wp_ajax_et_set_auto_translate_action', $plugin_admin, 'set_auto_translate_callback'); 150 160 $this->loader->add_action( 161 'wp_ajax_et_set_auto_translate_action', 162 $plugin_admin, 163 'set_auto_translate_callback' 164 ); 151 165 } 152 166 -
easytranslate/trunk/README.txt
r3247682 r3275340 4 4 Tags: translation, wpml, easytranslate, multilingual, translate 5 5 Requires at least: 4.7 6 Tested up to: 6. 77 Stable tag: 5. 16 Tested up to: 6.8 7 Stable tag: 5.2 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html -
easytranslate/trunk/admin/class-easy-translate-admin.php
r2742144 r3275340 22 22 const MENU_INTEGRATION = 'admin-easy-translate-integration'; 23 23 const MENU_PARTIAL_TRANSLATIONS = 'admin-easy-translate-partial-translations'; 24 25 const MAIN_PAGES = [ 26 self::MENU_MAIN => self::MENU_MAIN, 27 self::MENU_PROJECTS => self::MENU_PROJECTS, 28 self::MENU_INTEGRATION => self::MENU_INTEGRATION, 29 self::MENU_PARTIAL_TRANSLATIONS => self::MENU_PARTIAL_TRANSLATIONS, 30 ]; 24 31 25 32 /** … … 146 153 public function init_integration() 147 154 { 148 $this->api_integration->init(); 155 if (in_array($_REQUEST['page'] ?? '', array_keys(self::MAIN_PAGES))) { 156 $this->api_integration->init(); 157 } 149 158 } 150 159 … … 154 163 public function load_string_translation_list_screen_options() 155 164 { 156 157 165 $this->string_translation_list = new Easy_Translate_String_Translation_List(); 158 166 $this->string_translation_list->load_screen_options(); 159 160 167 } 161 168 … … 170 177 public function set_string_translation_list_screen_option($status, $option, $value) 171 178 { 172 173 179 return ($option == Easy_Translate_String_Translation_List::PER_PAGE_OPTION) ? (int)$value : $status; 174 175 180 } 176 181 … … 180 185 public function load_post_translation_list_screen_options() 181 186 { 182 183 187 $this->post_translation_list = new Easy_Translate_Post_Translation_List(); 184 188 $this->post_translation_list->load_screen_options(); 185 186 189 } 187 190 … … 196 199 public function set_post_translation_list_screen_option($status, $option, $value) 197 200 { 198 199 201 return ($option == Easy_Translate_Post_Translation_List::PER_PAGE_OPTION) ? (int)$value : $status; 200 201 202 } 202 203 … … 215 216 public function show_partial_translations_page() 216 217 { 217 218 218 $this->string_translation_list->prepare_items(); 219 219 $this->string_translation_list->render(); 220 221 220 } 222 221 … … 235 234 public function show_projects_page() 236 235 { 237 238 236 $this->projects->render(); 239 240 237 } 241 238 … … 244 241 * 245 242 * @param $post_ID 243 * @throws Exception 246 244 */ 247 245 public function edit_post_hook($post_ID) 248 246 { 249 250 247 $updater = new Easy_Translate_Translation_Updater(); 251 248 $updater->run($post_ID); 252 253 249 } 254 250 … … 258 254 public function include_plugin_functions() 259 255 { 260 261 256 include_once EASY_TRANSLATE_ROOT . 'admin/functions.php'; 262 263 257 } 264 258 … … 268 262 public function set_auto_translate_callback() 269 263 { 270 271 264 Easy_Translate_Translation_List::set_auto_translate(); 272 273 } 274 265 } 275 266 } -
easytranslate/trunk/admin/class-easy-translate-post-translation-list.php
r3247676 r3275340 9 9 class Easy_Translate_Post_Translation_List extends Easy_Translate_Translation_List 10 10 { 11 private $workflows = []; 11 12 12 13 /** … … 234 235 protected function column_auto_translate($item) 235 236 { 236 $checked_value = get_post_meta($item['ID'], 'et_auto_translate', true) ? 'checked' : ''; 237 238 return sprintf( 239 '<label for="%s" class="switch"><input id="%s" value="%s" class="js-auto-translate" type="checkbox" %s><span class="slider round"></span></label>', 240 'auto_translate_' . $item['ID'], 241 'auto_translate_' . $item['ID'], 237 $isEnabled = get_post_meta($item['ID'], 'et_auto_translate', true); 238 $autoTranslateWorkflow = get_post_meta($item['ID'], 'et_auto_translate_workflow_id', true); 239 $autoTranslateWorkflow = $this->process_auto_translate_workflow($autoTranslateWorkflow); 240 $checkedValue = $isEnabled ? 'checked' : ''; 241 $styleDisplay = $isEnabled ? 'inline' : 'none'; 242 243 echo sprintf( 244 '<label for="%s" class="switch"><input id="%s" value="%s" class="js-auto-translate-switch" type="checkbox" %s><span class="slider round"></span></label>', 245 'auto-translate-enabled-' . $item['ID'], 246 'auto-translate-enabled-' . $item['ID'], 242 247 $item['ID'], 243 $checked _value248 $checkedValue 244 249 ); 245 250 ?> 251 <div id="auto-translate-wrapper-<?= $item['ID'] ?>" style="display: <?= $styleDisplay ?>;"> 252 <select name="workflow" id="auto-translate-workflow-id-<?= $item['ID'] ?>" style="margin-left: 5px"> 253 <?php 254 /** @var array[] $workflows */ 255 foreach ($this->workflows as $workflow) { ?> 256 <option 257 value="<?= $workflow['id'] ?>" <?= $workflow['identifier'] === $autoTranslateWorkflow['identifier'] ? 'selected' : '' ?>><?= $workflow['name'] ?></option> 258 <?php } ?> 259 </select> 260 <br> 261 <button class="button-primary js-auto-translate" id="auto-translate-<?= $item['ID'] ?>" type="button" 262 value="<?= $item['ID'] ?>" style="margin-top: 5px;" 263 name="action"><?= __('Update', EASY_TRANSLATE) ?></button> 264 </div> 265 <?php 246 266 } 247 267 … … 459 479 $service = new Easy_Translate_API_Laas(Easy_Translate_API_Integration::map_fields($options)); 460 480 $workflows = $service->get_available_workflows(); 481 $this->workflows = $workflows; 461 482 $easyTranslateTeam = "{$options['company_name']} ({$options['team_identifier']})"; 462 483 … … 603 624 } 604 625 626 private function process_auto_translate_workflow($autoTranslateWorkflow): array 627 { 628 if (empty($autoTranslateWorkflow)) { 629 return ['identifier' => 'self+machine_translation', 'id' => null]; 630 } 631 foreach ($this->workflows as $workflow) { 632 if ($workflow['id'] === $autoTranslateWorkflow) { 633 return ['identifier' => $workflow['identifier'], 'id' => $workflow['id']]; 634 } 635 } 636 637 return ['identifier' => 'self+machine_translation', 'id' => null]; 638 } 605 639 } -
easytranslate/trunk/admin/class-easy-translate-string-translation-list.php
r3247676 r3275340 412 412 protected function render_list() 413 413 { 414 $options = get_option(EASY_TRANSLATE_INTEGRATION_OPTION); 415 $service = new Easy_Translate_API_Laas(Easy_Translate_API_Integration::map_fields($options)); 416 $workflows = $service->get_available_workflows(); 417 $easyTranslateTeam = "{$options['company_name']} ({$options['team_identifier']})"; 418 414 419 include_once(EASY_TRANSLATE_ROOT . 'admin/partials/string-translation.php'); 415 420 } -
easytranslate/trunk/admin/class-easy-translate-translation-list.php
r2903708 r3275340 355 355 * @return array 356 356 */ 357 public function get_strings_content($ids, string $source_language = null)357 public function get_strings_content($ids, string $source_language = null) 358 358 { 359 359 global $wpdb; 360 360 $content = []; 361 361 $id_in = '"' . implode('","', $ids) . '"'; 362 // $query = "SELECT id, value from {$wpdb->prefix}icl_strings WHERE id IN ({$id_in})";363 362 364 363 $select = "str.id, str.value"; … … 739 738 global $wpdb; 740 739 $package_id = esc_sql($package_id); 741 // $query = "SELECT id, value FROM {$wpdb->prefix}icl_strings WHERE string_package_id='{$package_id}';";742 740 $select = "str.id, str.value"; 743 741 $where = "str.string_package_id='{$package_id}'"; … … 798 796 public static function set_auto_translate() 799 797 { 800 801 update_post_meta(intval($_POST['id']), 'et_auto_translate', wp_slash(intval($_POST['value']))); 798 $payload = $_POST['payload']; 799 update_post_meta( 800 intval($_POST['id']), 801 'et_auto_translate', 802 wp_slash(intval($payload['enabled'] ?? '0')) 803 ); 804 update_post_meta( 805 intval($_POST['id']), 806 'et_auto_translate_workflow_id', 807 wp_slash($payload['workflow'] ?? '') 808 ); 802 809 803 810 wp_die(); 804 805 811 } 806 812 -
easytranslate/trunk/admin/class-easy-translate-translation-updater.php
r2768836 r3275340 14 14 * 15 15 * @param $post_id 16 * @throws Exception 16 17 */ 17 18 public function run($post_id) 18 19 { 19 20 if (get_post_meta($post_id, 'et_auto_translate', true) 21 && ($workflowId = get_post_meta($post_id, 'et_auto_translate_workflow_id', true)) 20 22 && Easy_Translate_Translation_List::compare_post_source_language($post_id) 21 23 && Easy_Translate_Translation_List::check_dependencies() … … 26 28 if ($content[0]) { 27 29 $source = Easy_Translate_Translation_List::get_source_language(); 28 $target _languages = Easy_Translate_Translation_List::get_translation_needs_update($post_id);30 $targetLanguages = Easy_Translate_Translation_List::get_translation_needs_update($post_id); 29 31 30 if ($this->update_strings($source, $target _languages, $content)) {32 if ($this->update_strings($source, $targetLanguages, $workflowId, $content)) { 31 33 Easy_Translate_Translation_List::update_string_status( 32 34 $a_string_id, … … 35 37 Easy_Translate_Translation_List::update_duplicate_status( 36 38 [$post_id], 37 $target _languages,39 $targetLanguages, 38 40 Easy_Translate_Translation_List::STATUS_WAITING 39 41 ); … … 48 50 * @param string $source 49 51 * @param array $target 52 * @param string $workflowId 50 53 * @param array $content 51 54 * @return bool 52 55 */ 53 protected function update_strings( $source, $target, $content)56 protected function update_strings(string $source, array $target, string $workflowId, $content) 54 57 { 55 58 $options = get_option(EASY_TRANSLATE_INTEGRATION_OPTION); 56 59 $service = new Easy_Translate_API_Laas(Easy_Translate_API_Integration::map_fields($options)); 57 $result = $service->translate($source, $target, $content );60 $result = $service->translate($source, $target, $content, $workflowId); 58 61 59 62 return !isset($result['error']); -
easytranslate/trunk/admin/js/easy-translate-admin.js
r2324915 r3275340 32 32 $(document).ready(function ($) { 33 33 34 $('.js-auto-translate').c hange(function () {34 $('.js-auto-translate').click(function () { 35 35 36 var checkboxInput = $(this); 37 if (checkboxInput.is(':checked')) { 38 set_auto_translate(checkboxInput.val(), 1); 36 var button = $(this); 37 var postId = button.val(); 38 var booleanFlag = $('#auto-translate-enabled-' + postId).is(':checked'); 39 var workflow = $('#auto-translate-workflow-id-' + postId).val(); 40 41 set_auto_translate( 42 postId, 43 { 44 'enabled': booleanFlag === true ? 1 : 0, 45 'workflow': workflow 46 } 47 ); 48 }); 49 $('.js-auto-translate-switch').change(function () { 50 var input = $(this); 51 var postId = input.val(); 52 var booleanFlag = input.is(':checked'); 53 if (booleanFlag === true) { 54 $('#auto-translate-wrapper-' + postId).attr('style', 'display: inline;'); 39 55 } else { 40 set_auto_translate(checkboxInput.val(), 0);56 $('#auto-translate-wrapper-' + postId).attr('style', 'display: none;'); 41 57 } 42 58 var workflow = $('#auto-translate-workflow-id-' + postId).val(); 59 set_auto_translate( 60 postId, 61 { 62 'enabled': booleanFlag === true ? 1 : 0, 63 'workflow': workflow 64 } 65 ); 43 66 }); 44 67 45 68 }); 46 69 47 function set_auto_translate(id, value) {70 function set_auto_translate(id, payload) { 48 71 49 72 var data = { 50 73 action: 'et_set_auto_translate_action', 51 74 id: id, 52 value: value75 payload: payload 53 76 }; 54 77 -
easytranslate/trunk/easy-translate.php
r3247689 r3275340 15 15 * Plugin URI: https://www.easytranslate.com/en/integrations/cms/wordpress-plugin/ 16 16 * Description: This is a short description of what the plugin does. It's displayed in the WordPress admin area. 17 * Version: 2.0. 017 * Version: 2.0.1 18 18 * Author: EasyTranslate 19 19 * Author URI: https://easytranslate.com … … 34 34 * Rename this for your plugin and update it as you release new versions. 35 35 */ 36 define('EASY_TRANSLATE_VERSION', '2.0. 0');36 define('EASY_TRANSLATE_VERSION', '2.0.1'); 37 37 38 38 /** -
easytranslate/trunk/includes/class-easy-translate.php
r2742144 r3275340 139 139 'load_post_translation_list_screen_options'); 140 140 $this->loader->add_filter('set-screen-option', $plugin_admin, 'set_post_translation_list_screen_option', 10, 3); 141 $this->loader->add_action('load-easytranslate_page_' . Easy_Translate_Admin::MENU_PARTIAL_TRANSLATIONS, 142 $plugin_admin, 'load_string_translation_list_screen_options'); 143 $this->loader->add_filter('set-screen-option', $plugin_admin, 'set_string_translation_list_screen_option', 10, 144 3); 145 $this->loader->add_action('wp_ajax_nopriv_' . Easy_Translate_API_Service::WEB_HOOK_ACTION, $plugin_admin, 146 'completed_task_callback'); 141 $this->loader->add_action( 142 'load-easytranslate_page_' . Easy_Translate_Admin::MENU_PARTIAL_TRANSLATIONS, 143 $plugin_admin, 144 'load_string_translation_list_screen_options' 145 ); 146 $this->loader->add_filter( 147 'set-screen-option', 148 $plugin_admin, 149 'set_string_translation_list_screen_option', 150 10, 151 3 152 ); 153 $this->loader->add_action( 154 'wp_ajax_nopriv_' . Easy_Translate_API_Service::WEB_HOOK_ACTION, 155 $plugin_admin, 156 'completed_task_callback' 157 ); 147 158 $this->loader->add_action('edit_post', $plugin_admin, 'edit_post_hook', 101); 148 159 $this->loader->add_action('plugin_loaded', $plugin_admin, 'include_plugin_functions'); 149 $this->loader->add_action('wp_ajax_et_set_auto_translate_action', $plugin_admin, 'set_auto_translate_callback'); 150 160 $this->loader->add_action( 161 'wp_ajax_et_set_auto_translate_action', 162 $plugin_admin, 163 'set_auto_translate_callback' 164 ); 151 165 } 152 166
Note: See TracChangeset
for help on using the changeset viewer.