Files
doitinpoland.com/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/auto-translate/endpoints/ActivateLanguage.php
2023-09-12 21:41:04 +02:00

31 lines
891 B
PHP

<?php
namespace WPML\TM\ATE\AutoTranslate\Endpoint;
use WPML\API\PostTypes;
use WPML\Collect\Support\Collection;
use WPML\FP\Either;
use WPML\FP\Lst;
use WPML\FP\Obj;
use WPML\Setup\Option;
class ActivateLanguage {
public function run( Collection $data ) {
$newLanguages = $data->get( 'languages' );
$translateExistingContent = $data->get( 'translate-existing-content', false );
$mergingFn = $translateExistingContent ? Lst::diff() : Lst::concat();
$postTypes = PostTypes::getAutomaticTranslatable();
if ( $newLanguages && $postTypes ) {
$completed = Option::getTranslateEverythingCompleted();
foreach ( $postTypes as $postType ) {
$existingLanguages = Obj::propOr( [], $postType, $completed );
Option::markPostTypeAsCompleted( $postType, $mergingFn( $existingLanguages, $newLanguages ) );
}
}
return Either::of( 'ok' );
}
}