HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
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: /var/www/html/wpamazingsecret/wp-content/plugins_/wpml-string-translation/classes/basket/Status.php
<?php


namespace WPML\ST\Basket;

use WPML\FP\Obj;

class Status {

	public static function add( array $translations, $languages ) {
		$statusProvider = [ 'TranslationProxy_Basket', 'is_in_basket' ];
		if ( is_callable( $statusProvider ) ) {
			$translations = self::addWithProvider( $translations, $languages, $statusProvider );
		}

		return $translations;
	}

	private static function addWithProvider( array $translations, $languages, callable $statusProvider ) {
		foreach ( $translations as $id => $string ) {
			foreach ( Obj::propOr( [], 'translations', $string ) as $lang => $data ) {
				$translations[ $id ]['translations'][ $lang ]['in_basket'] = $statusProvider( $id, $string['string_language'], $lang, 'string' );
			}
			foreach ( $languages as $lang ) {
				if (
					$lang !== $string['string_language']
					&& ! isset( $translations[ $id ]['translations'][ $lang ] )
					&& $statusProvider( $id, $string['string_language'], $lang, 'string' )
				) {
					$translations[ $id ]['translations'][ $lang ] = [
						'id'        => 0,
						'language'  => $lang,
						'in_basket' => true,
					];
				}
			}
		}

		return $translations;
	}
}