/** * Returns the name of the batch that contains the given post_id. * * @param int $post_id * * @return null|string */ private function get_batch_name($post_id) { global $wpdb; $name = $wpdb->get_var($wpdb->prepare("\tSELECT b.batch_name\n\t\t\t\tFROM {$wpdb->prefix}icl_translation_batches b\n\t\t\t\tJOIN {$wpdb->prefix}icl_translation_status s\n\t\t\t\t\tON s.batch_id = b.id\n\t\t\t\tJOIN {$wpdb->prefix}icl_translations t\n\t\t\t\t\tON t.translation_id = s.translation_id\n\t\t\t\tJOIN {$wpdb->prefix}icl_translations o\n\t\t\t\t\tON o.trid = t.trid\n\t\t\t\t\t\tAND o.language_code = t.source_language_code\n\t\t\t\tJOIN {$wpdb->posts} p\n\t\t\t\t\tON o.element_id = p.ID\n\t\t\t\t\t\tAND o.element_type = CONCAT('post_', p.post_type)\n\t\t\t\tWHERE o.element_id = %d\n\t\t\t\tORDER BY b.id\n\t\t\t\tLIMIT 1", $post_id)); $this->basket->set_name($name); return $name; }
/** * 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)); }