PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / trunk
WPML Multilingual & Multicurrency for WooCommerce vtrunk
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 month ago Products 1 month ago Reports 1 month ago Composite.php 1 month ago Factory.php 1 month ago Handler.php 1 month ago ProductAttributes.php 1 month ago ProductTerms.php 1 month 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