Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
wp-content
/
plugins
/
wpml-translation-management
/
classes
/
troubleshooting
/
SynchronizeSourceIdOfATEJobs
:
TriggerSynchronization.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace WPML\TM\Troubleshooting\SynchronizeSourceIdOfATEJobs; use WPML\TM\Upgrade\Commands\SynchronizeSourceIdOfATEJobs\Command; use WPML\Upgrade\CommandsStatus; class TriggerSynchronization implements \IWPML_Backend_Action, \IWPML_DIC_Action { const ACTION_ID = 'wpml-tm-ate-source-id-migration'; /** @var CommandsStatus */ private $commandStatus; /** * @param CommandsStatus $commandStatus */ public function __construct( CommandsStatus $commandStatus ) { $this->commandStatus = $commandStatus; } public function add_hooks() { add_action( 'wpml_troubleshooting_after_fix_element_type_collation', [ $this, 'displayButton' ] ); add_action( 'admin_enqueue_scripts', array( $this, 'enqueueScripts' ) ); add_action( 'wp_ajax_' . self::ACTION_ID, array( $this, 'clearExecutedStateToForceUpgrade' ) ); } public function displayButton() { ?> <p> <input id="wpml_tm_ate_source_id_migration_btn" type="button" class="button-secondary" value="<?php esc_attr_e( 'Synchronize local job ids with ATE jobs', 'wpml-translation-manager' ); ?>" data-action="<?php echo self::ACTION_ID; ?>" data-nonce="<?php echo wp_create_nonce( self::ACTION_ID ); ?>" /> <br/> <small style="margin-left:10px;"> <?php esc_attr_e( 'Synchronize local job ids with their ATE counterparts. You will have to refresh a few times any admin page to accomplish the process.', 'wpml-translation-manager' ) ?> </small> </p> <?php } public function enqueueScripts( $hook ) { if ( WPML_PLUGIN_FOLDER . '/menu/troubleshooting.php' === $hook ) { wp_enqueue_script( self::ACTION_ID, WPML_TM_URL . '/res/js/ate-jobs-migration.js', [ 'jquery' ], WPML_TM_VERSION ); } } public function clearExecutedStateToForceUpgrade() { $this->commandStatus->markAsExecuted( Command::class, false ); wp_send_json_success(); } }