class-wcml-status-config-warnings-ui.php
4 weeks ago
class-wcml-status-media-ui.php
4 weeks ago
class-wcml-status-multi-currencies-ui.php
4 weeks ago
class-wcml-status-products-ui.php
4 weeks ago
class-wcml-status-status-ui.php
4 weeks ago
class-wcml-status-store-pages-ui.php
4 weeks ago
class-wcml-status-taxonomies-ui.php
4 weeks ago
class-wcml-status-ui.php
4 weeks ago
class-wcml-status-products-ui.php
62 lines
| 1 | <?php |
| 2 | |
| 3 | class WCML_Status_Products_UI extends WCML_Templates_Factory { |
| 4 | |
| 5 | private $woocommerce_wpml; |
| 6 | |
| 7 | private $sitepress; |
| 8 | |
| 9 | public function __construct( $woocommerce_wpml, $sitepress ) { |
| 10 | parent::__construct(); |
| 11 | |
| 12 | $this->woocommerce_wpml = $woocommerce_wpml; |
| 13 | $this->sitepress = $sitepress; |
| 14 | } |
| 15 | |
| 16 | public function get_model() { |
| 17 | $model = [ |
| 18 | 'products' => $this->get_untranslated_products(), |
| 19 | 'trnsl_link' => admin_url( \WPML\UIPage::getTMDashboard() ), |
| 20 | 'strings' => [ |
| 21 | 'products_missing' => __( 'Products Missing Translations', 'woocommerce-multilingual' ), |
| 22 | /* translators: %1$s is a number of products and %2$s is a product name */ |
| 23 | 'miss_trnsl_one' => __( '%1$d %2$s translation missing.', 'woocommerce-multilingual' ), |
| 24 | /* translators: %1$s is a number of products and %2$s is a product name */ |
| 25 | 'miss_trnsl_more' => __( '%1$d %2$s translations missing.', 'woocommerce-multilingual' ), |
| 26 | 'transl' => __( 'Translate Products', 'woocommerce-multilingual' ), |
| 27 | 'not_to_trnsl' => __( 'Right now, there are no products needing translation.', 'woocommerce-multilingual' ), |
| 28 | ], |
| 29 | ]; |
| 30 | |
| 31 | return $model; |
| 32 | |
| 33 | } |
| 34 | |
| 35 | private function get_untranslated_products() { |
| 36 | $products = []; |
| 37 | |
| 38 | foreach ( $this->sitepress->get_active_languages() as $language ) { |
| 39 | |
| 40 | $products_count = $this->woocommerce_wpml->products->get_untranslated_products_count( $language['code'] ); |
| 41 | if ( $products_count ) { |
| 42 | $products[ $language['code'] ]['count'] = $this->woocommerce_wpml->products->get_untranslated_products_count( $language['code'] ); |
| 43 | $products[ $language['code'] ]['flag'] = $this->sitepress->get_flag_img( $language['code'] ); |
| 44 | $products[ $language['code'] ]['display_name'] = $language['display_name']; |
| 45 | } |
| 46 | } |
| 47 | |
| 48 | return $products; |
| 49 | } |
| 50 | |
| 51 | public function init_template_base_dir() { |
| 52 | $this->template_paths = [ |
| 53 | WCML_PLUGIN_PATH . '/templates/status/', |
| 54 | ]; |
| 55 | } |
| 56 | |
| 57 | public function get_template() { |
| 58 | return 'products.twig'; |
| 59 | } |
| 60 | |
| 61 | } |
| 62 |