/** * 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 $batch * * @return array */ private function get_valid_jobs_from_basket(array $batch) { $translation_jobs_basket = array(); $translation_jobs_basket_full = $this->basket->get_basket(); $translation_jobs_basket['name'] = $translation_jobs_basket_full['name']; foreach ($batch as $batch_item) { $element_type = $batch_item['type']; $element_id = $batch_item['post_id']; if (isset($translation_jobs_basket_full[$element_type][$element_id])) { $translation_jobs_basket[$element_type][$element_id] = $translation_jobs_basket_full[$element_type][$element_id]; } } return $translation_jobs_basket; }