public function rollback_basket_commit() { TranslationProxy_Basket::get_basket(true); $basket_name = TranslationProxy_Basket::get_basket_name(); $basket_name = $basket_name ? $basket_name : filter_input(INPUT_POST, 'basket_name', FILTER_SANITIZE_STRING); $batch_id = TranslationProxy::get_batch_id_from_name($basket_name); if ($batch_id) { $batch = new WPML_Translation_Batch($batch_id); $batch->cancel_all_remote_jobs(); } }
/** * Returns the batch id for a given basket or batch name * * @param string $basket_name * * @return int|bool */ private function get_batch_id_from_name($basket_name) { return TranslationProxy::get_batch_id_from_name($basket_name); }
/** * Returns a unique name derived from an input name for a Translation Proxy Basket * * @param bool $basket_name * @param bool|int $max_length * * @return bool|string */ public static function get_unique_basket_name($basket_name = false, $max_length = false) { if (!$max_length) { $max_length = TranslationProxy::get_current_service_batch_name_max_length(); } $basket_name_array = explode('|', $basket_name); //if we just have some user entered string not in our format we add the information to it if (count($basket_name_array) == 1) { $basket_name = $basket_name . '|' . self::get_source_language(); } elseif (!is_numeric($basket_name_array[count($basket_name_array) - 1]) && $basket_name_array[count($basket_name_array) - 1] != self::get_source_language()) { //if we do not have a numeric suffix and also do not have the source language as the last entry we add it. $basket_name = $basket_name . '|' . self::get_source_language(); } elseif (is_numeric($basket_name_array[count($basket_name_array) - 1]) && $basket_name_array[count($basket_name_array) - 2] != self::get_source_language()) { //if we have a possible suffix we check whether the language has been added in the appropriate place if not we dont see it as a suffix and add our language at the end $basket_name = $basket_name . '|' . self::get_source_language(); } if (!$basket_name) { self::get_basket(); if (isset(self::$basket['name'])) { $basket_name = self::$basket['name']; } } if (strlen($basket_name) > $max_length) { $basket_name = self::sanitize_basket_name($basket_name, $max_length); } if (TranslationProxy::get_batch_id_from_name($basket_name)) { $suffix = 2; $basket_name = self::sanitize_basket_name($basket_name, $max_length - strlen((string) $suffix) - 1); while (TranslationProxy::get_batch_id_from_name($basket_name . '|' . $suffix)) { $suffix++; $basket_name = self::sanitize_basket_name($basket_name, $max_length - strlen((string) $suffix) - 1); } return $basket_name . '|' . $suffix; } return $basket_name; }