Пример #1
0
 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;
 }