예제 #1
0
 public function send_basket_items()
 {
     $basket_name = filter_input(INPUT_POST, 'basket_name', FILTER_SANITIZE_STRING);
     if ($basket_name) {
         TranslationProxy_Basket::set_basket_name($basket_name);
     }
     $basket = TranslationProxy_Basket::get_basket();
     $basket_items_types = TranslationProxy_Basket::get_basket_items_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;
     $result = array('message' => $container, 'basket' => $basket, 'allowed_item_types' => array_keys($basket_items_types));
     wp_send_json_success($result);
 }
 function get_item_types()
 {
     return TranslationProxy_Basket::get_basket_items_types();
 }
 /**
  * @param $translators
  *
  * @return mixed
  */
 private function set_remote_target_languages($translators)
 {
     $this->remote_target_languages = array();
     $basket_items_types = TranslationProxy_Basket::get_basket_items_types();
     foreach ($basket_items_types as $item_type_name => $item_type) {
         // check target languages for strings
         if (!empty($this->translation_jobs_basket[$item_type_name])) {
             foreach ($this->translation_jobs_basket[$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])) {
                         if ($target_language_selected && !in_array($target_language, $this->remote_target_languages)) {
                             $this->remote_target_languages[] = $target_language;
                         }
                     }
                 }
             }
         }
     }
 }
 private function get_data()
 {
     global $iclTranslationManagement;
     $translation_jobs_basket = TranslationProxy_Basket::get_basket();
     $basket_items_types = TranslationProxy_Basket::get_basket_items_types();
     foreach ($basket_items_types as $item_type_name => $item_type) {
         $translation_jobs_cart[$item_type_name] = false;
         if ($item_type == 'core') {
             if (!empty($translation_jobs_basket[$item_type_name])) {
                 $basket_type_items = $translation_jobs_basket[$item_type_name];
                 if ($item_type_name == 'string') {
                     $translation_jobs_cart[$item_type_name] = $iclTranslationManagement->get_translation_jobs_basket_strings($basket_type_items);
                 } else {
                     $translation_jobs_cart[$item_type_name] = $iclTranslationManagement->get_translation_jobs_basket_posts($basket_type_items);
                 }
                 $this->build_basket_items($translation_jobs_cart[$item_type_name], $item_type_name);
             }
         } elseif ($item_type == 'custom') {
             $translation_jobs_cart_externals = apply_filters('wpml_tm_translation_jobs_basket', array(), $translation_jobs_basket, $item_type_name);
             $this->build_basket_items($translation_jobs_cart_externals, $item_type_name);
         }
     }
 }