<?php global $wpdb; require WPML_TM_PATH . '/menu/basket-tab/wpml-basket-tab-ajax.class.php'; $basket_ajax = new WPML_Basket_Tab_Ajax(TranslationProxy::get_current_project(), wpml_tm_load_basket_networking(), new WPML_Translation_Basket($wpdb)); add_action('init', array($basket_ajax, 'init')); function icl_get_jobs_table() { require_once WPML_TM_PATH . '/menu/wpml-translation-jobs-table.class.php'; global $iclTranslationManagement; $nonce = filter_input(INPUT_POST, 'icl_get_jobs_table_data_nonce', FILTER_SANITIZE_FULL_SPECIAL_CHARS); if (!wp_verify_nonce($nonce, 'icl_get_jobs_table_data_nonce')) { die('Wrong Nonce'); } $table = new WPML_Translation_Jobs_Table($iclTranslationManagement); $data = $table->get_paginated_jobs(); wp_send_json_success($data); } function icl_get_job_original_field_content() { global $iclTranslationManagement; if (!wpml_is_action_authenticated('icl_get_job_original_field_content')) { die('Wrong Nonce'); } $job_id = filter_input(INPUT_POST, 'tm_editor_job_id', FILTER_SANITIZE_NUMBER_INT); $field = filter_input(INPUT_POST, 'tm_editor_job_field'); $data = array(); $job = $job_id !== null && $field !== null ? $job = $iclTranslationManagement->get_translation_job($job_id) : null; $elements = $job && isset($job->elements) ? $job->elements : array(); foreach ($elements as $element) { $sanitized_type = sanitize_title($element->field_type);
private function commit_basket($translation_id) { $basket_networking = wpml_tm_load_basket_networking(); $translator_array = $this->build_translator_array($translation_id); if ($translator_array) { $basket_networking->commit_basket_chunk(array(), TranslationProxy_Basket::get_basket_name(), $translator_array); } $project = TranslationProxy::get_current_project(); $project->commit_batch_job(); TranslationProxy_Basket::delete_all_items_from_basket(); }