/** * Creates the message that is shown before committing a batch. * * @see \WPML_Basket_Tab_Ajax::begin_basket_commit * * @param string $basket_name * * @return array */ private function create_remote_batch_message($basket_name) { if ($basket_name) { $this->basket->set_name($basket_name); } $basket = $this->basket->get_basket(); $basket_items_types = $this->basket->get_item_types(); if (!$basket) { $message_content = __('No items found in basket', 'sitepress'); } else { $total_count = 0; $message_content_details = ''; foreach ($basket_items_types as $item_type_name => $item_type) { if (isset($basket[$item_type_name])) { $count_item_type = count($basket[$item_type_name]); $total_count += $count_item_type; $message_content_details .= '<br/>'; $message_content_details .= '- ' . $item_type_name . '(s): ' . $count_item_type; } } $message_content = sprintf(__('%s items in basket:', 'sitepress'), $total_count); $message_content .= $message_content_details; } $container = $message_content; return array('message' => $container, 'basket' => $basket, 'allowed_item_types' => array_keys($basket_items_types)); }
/** * @param array $translators * @param array $valid_jobs * * @return array */ private function generate_remote_target_langs(array $translators, array $valid_jobs) { $remote_target_languages = array(); $basket_items_types = $this->basket->get_item_types(); foreach ($basket_items_types as $item_type_name => $item_type) { // check target languages for strings if (!empty($valid_jobs[$item_type_name])) { foreach ($valid_jobs[$item_type_name] as $value) { foreach ($value['to_langs'] as $target_language => $target_language_selected) { //for remote strings if ($value['from_lang'] != $target_language && !is_numeric($translators[$target_language]) && $target_language_selected && !in_array($target_language, $remote_target_languages)) { $remote_target_languages[] = $target_language; } } } } } return $remote_target_languages; }