| Server IP : 82.208.35.60 / Your IP : 216.73.216.168 Web Server : Apache/2.4.55 (FreeBSD) OpenSSL/1.1.1q-freebsd PHP/7.3.31 System : FreeBSD server7.d2m.cz 12.4-RELEASE-p9 FreeBSD 12.4-RELEASE-p9 GENERIC amd64 User : studiokobylisy_cz ( 1008) PHP Version : 7.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/d2m/sofident_cz/wp-content/plugins/wpml-string-translation/classes/basket/ |
Upload File : |
<?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;
}
}