HEX
Server: Apache
System: Linux vps-cdc32557.vps.ovh.ca 5.15.0-156-generic #166-Ubuntu SMP Sat Aug 9 00:02:46 UTC 2025 x86_64
User: hanode (1017)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /home/hanode/public_html/wp-content/plugins/sitepress-multilingual-cms/API/Basket.php
<?php

namespace WPML\TM\API;

use WPML\Element\API\Languages;
use WPML\LIB\WP\User;
use WPML\Setup\Option;
use function WPML\Container\make;

class Basket {
	/**
	 * @return bool
	 */
	public static function shouldUse( $currentLanguageCode = null ) {
		$doesNotHaveUserForEachLanguage = function () use ( $currentLanguageCode ) {
			global $sitepress;

			$theCurrentUserId = User::getCurrentId();

			$translator_records = make( \WPML_Translator_Records::class );
			$current_language   = $currentLanguageCode ?: Languages::getCurrentCode();
			$active_languages   = $sitepress->get_active_languages();
			unset( $active_languages[ $current_language ] );
			$active_languages = array_keys( $active_languages );
			foreach ( $active_languages as $active_language ) {
				$translators           = $translator_records->get_users_with_languages( $current_language, [ $active_language ] );
				$number_of_translators = count( $translators );

				$hasOneTranslatorButHeIsNotACurrentUser = $number_of_translators === 1 && $translators[0]->ID !== $theCurrentUserId;
				if ( $hasOneTranslatorButHeIsNotACurrentUser || $number_of_translators !== 1 ) {
					return true;
				}
			}

			return false;
		};

		/** @var TranslationServices $translationService */
		$translationService = make(TranslationServices::class);

		return $translationService->isAuthorized() || ! Option::shouldTranslateEverything() && $doesNotHaveUserForEachLanguage();
	}

}