first commit
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace WPML\TM\ATE\Sitekey;
|
||||
|
||||
use WPML\Ajax\IHandler;
|
||||
use WPML\Collect\Support\Collection;
|
||||
use WPML\FP\Either;
|
||||
use WPML\Utilities\Lock;
|
||||
use WPML\WP\OptionManager;
|
||||
use function WPML\Container\make;
|
||||
|
||||
class Endpoint implements IHandler {
|
||||
|
||||
public function run( Collection $data ) {
|
||||
|
||||
if( function_exists( 'OTGS_Installer' ) ) {
|
||||
Lock::whileLocked( self::class, MINUTE_IN_SECONDS, [ self::class, 'sendSiteKey' ] );
|
||||
}
|
||||
|
||||
return Either::of( true );
|
||||
}
|
||||
|
||||
public static function sendSiteKey() {
|
||||
$sitekey = OTGS_Installer()->get_site_key( 'wpml' );
|
||||
if ( $sitekey && make( \WPML_TM_AMS_API::class )->send_sitekey( $sitekey ) ) {
|
||||
OptionManager::update( 'TM-has-run', Sync::class, true );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace WPML\TM\ATE\Sitekey;
|
||||
|
||||
use WPML\Core\BackgroundTask;
|
||||
use WPML\LIB\WP\Hooks;
|
||||
use WPML\WP\OptionManager;
|
||||
use function WPML\FP\spreadArgs;
|
||||
|
||||
class Sync implements \IWPML_Backend_Action {
|
||||
|
||||
public function add_hooks() {
|
||||
if ( ! OptionManager::getOr( false, 'TM-has-run', self::class ) && \WPML_TM_ATE_Status::is_enabled_and_activated() ) {
|
||||
BackgroundTask::add( Endpoint::class );
|
||||
}
|
||||
|
||||
$clearHasRun = function ( $repo ) {
|
||||
if ( $repo === 'wpml' ) {
|
||||
OptionManager::update( 'TM-has-run', self::class, false );
|
||||
}
|
||||
};
|
||||
Hooks::onAction( 'otgs_installer_site_key_update' )
|
||||
->then( spreadArgs( $clearHasRun ) );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user