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 / Utilities / AdminPages.php
woocommerce-multilingual / classes / Utilities Last commit date
Suspend 1 week ago ActionScheduler.php 1 week ago AdminPages.php 1 week ago AdminUrl.php 1 week ago DB.php 1 week ago Post.php 1 week ago Resources.php 1 week ago SyncHash.php 1 week ago WCTaxonomies.php 1 week ago WcAdminPages.php 1 week ago WpAdminPages.php 1 week ago
AdminPages.php
71 lines
1 <?php
2
3 namespace WCML\Utilities;
4
5 use WCML_Admin_Menus;
6 use WCML_Capabilities;
7 use WPML\FP\Lst;
8 use WPML\FP\Obj;
9 use WPML\FP\Relation;
10 use function sanitize_key;
11 use function WCML\functions\isStandAlone;
12
13 class AdminPages {
14
15 const TAB_MULTICURRENCY = 'multi-currency';
16 const TAB_MULTILINGUAL = 'multilingual';
17 const TAB_MULTILINGUAL_STANDALONE = 'multilingual-standalone';
18
19 public static function getDefaultTab() {
20 return isStandAlone() ? self::TAB_MULTICURRENCY : self::TAB_MULTILINGUAL;
21 }
22
23 public static function getCurrentTab( $fallback = null ) {
24 return sanitize_key( Obj::prop( 'tab', $_GET ) ) ?: $fallback;
25 }
26
27 public static function getTabToDisplay() {
28 return WCML_Capabilities::canAccessAllWcmlTabs()
29 ? self::getCurrentTab( self::getDefaultTab() )
30 : self::getDefaultTab();
31 }
32
33 public static function isTab( $tabs ) {
34 return Lst::includes( self::getCurrentTab(), (array) $tabs );
35 }
36
37 public static function isPage( $page ) {
38 return Relation::propEq( 'page', $page, $_GET );
39 }
40
41 public static function isWcmlSettings() {
42 return self::isPage( WCML_Admin_Menus::SLUG );
43 }
44
45 public static function isMultiCurrency() {
46 $tabs = [ self::TAB_MULTICURRENCY ];
47
48 if ( isStandAlone() ) {
49 $tabs[] = null;
50 }
51
52 return self::isWcmlSettings() && self::isTab( $tabs );
53 }
54
55 public static function isTranslationQueue() {
56 return ! isStandAlone() && self::isTmPage( '/menu/translations-queue.php' );
57 }
58
59 public static function isTranslationsDashboard() {
60 return ! isStandAlone() && self::isTmPage( '/menu/main.php' );
61 }
62
63 public static function isWcProductAttributesPage(): bool {
64 return self::isPage( 'product_attributes' ) && Relation::propEq( 'post_type', 'product', $_GET );
65 }
66
67 private static function isTmPage( $path ) {
68 return defined( 'WPML_TM_FOLDER' ) && self::isPage( WPML_TM_FOLDER . $path );
69 }
70 }
71