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 2 weeks ago ActionScheduler.php 2 weeks ago AdminPages.php 2 weeks ago AdminUrl.php 2 weeks ago DB.php 2 weeks ago Post.php 2 weeks ago Resources.php 2 weeks ago SyncHash.php 2 weeks ago WCTaxonomies.php 2 weeks ago WcAdminPages.php 2 weeks ago WpAdminPages.php 2 weeks 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