PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / 5.5.7
WPML Multilingual & Multicurrency for WooCommerce v5.5.7
5.5.7 5.3.8 5.3.9 5.4.3 5.4.4 5.4.5 5.5.1 5.5.1.1 5.5.2.2 5.5.2.3 5.5.3 5.5.3.1 5.5.4 5.5.5 5.5.6 trunk 0.9 1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.2 2.3 2.3.1 2.3.2 3.0 3.0.1 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.6 3.6.1 3.6.10 3.6.11 3.6.2 3.6.3 3.6.4 3.6.5 3.6.5.1 3.6.6 3.6.7 3.6.8 3.6.9 3.7 3.7.1 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.15 3.7.16 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.9.0 3.9.1 3.9.1.1 3.9.2 3.9.3 3.9.4 3.9.5 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.11.2 4.11.3.2 4.11.5 4.11.6 4.12.1 4.12.4 4.12.5 4.12.6 4.2.0 4.2.0.1 4.2.1 4.2.1.1 4.2.10 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.7.1 4.2.8 4.2.8.1 4.2.9 4.3.0 4.3.1 4.3.2 4.3.2.1 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4.0 4.4.1 4.4.2 4.4.2.1 4.5.0 4.6.0 4.6.1 4.6.2 4.6.2.1 4.6.3 4.6.5 4.6.6 4.6.7 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.9.0 4.9.1 5.0.1 5.0.2 5.1.1 5.1.2 5.1.3 5.2.0 5.2.1 5.3.2 5.3.3.1 5.3.4 5.3.5 5.3.6 5.3.7
woocommerce-multilingual / classes / Rest / Wrapper / Factory.php
woocommerce-multilingual / classes / Rest / Wrapper Last commit date
Orders 1 week ago Products 1 week ago Reports 1 week ago Composite.php 1 week ago Factory.php 1 week ago Handler.php 1 week ago ProductAttributes.php 1 week ago ProductTerms.php 1 week ago
Factory.php
73 lines
1 <?php
2
3 namespace WCML\Rest\Wrapper;
4
5 use WCML\Rest\ProductSaveActions;
6
7 use WCML\Rest\Wrapper\Orders\Languages as OrdersLanguages;
8 use WCML\Rest\Wrapper\Orders\Prices as OrdersPrices;
9 use WCML\Rest\Wrapper\Products\Products;
10 use WCML\Rest\Wrapper\Reports\ProductsCount;
11 use WCML\Rest\Wrapper\Reports\ProductsSales;
12 use WCML\Rest\Wrapper\Reports\TopSeller;
13
14 use function WCML\functions\isStandAlone;
15
16 class Factory {
17
18 public static function create( $objectType ) {
19 global $woocommerce_wpml, $wpml_post_translations, $wpml_term_translations, $sitepress, $wpdb;
20
21 $isMultiCurrencyOn = wcml_is_multi_currency_on();
22
23 switch ( $objectType ) {
24 case 'shop_order':
25 $objects[] = new OrdersLanguages();
26 if ( $isMultiCurrencyOn ) {
27 $objects[] = new OrdersPrices();
28 }
29
30 return new Composite( $objects );
31 case 'product_variation':
32 case 'product':
33 if ( ! isStandAlone() ) {
34 return new Products(
35 $sitepress,
36 $wpml_post_translations,
37 new ProductSaveActions( $sitepress->get_settings(), $wpdb, $sitepress, $woocommerce_wpml ),
38 $woocommerce_wpml->strings
39 );
40 }
41 break;
42 case 'product_attribute':
43 if ( ! isStandAlone() ) {
44 return new ProductAttributes( $woocommerce_wpml->strings );
45 }
46 break;
47 case 'term':
48 if ( ! isStandAlone() ) {
49 return new ProductTerms( $sitepress, $wpml_term_translations, $woocommerce_wpml->terms );
50 }
51 break;
52 case 'reports_top_seller':
53 if ( ! isStandAlone() ) {
54 return new TopSeller( $sitepress );
55 }
56 break;
57 case 'reports_products_count':
58 if ( ! isStandAlone() ) {
59 return new ProductsCount( $sitepress, $wpdb );
60 }
61 break;
62 case 'reports_products_sales':
63 if ( $isMultiCurrencyOn ) {
64 return new ProductsSales();
65 }
66 break;
67 }
68
69 return new Handler();
70 }
71
72 }
73