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 / Functions.php
woocommerce-multilingual / classes / Rest Last commit date
Exceptions 1 week ago Frontend 1 week ago Language 1 week ago Store 1 week ago Wrapper 1 week ago Functions.php 1 week ago Generic.php 1 week ago Hooks.php 2 years ago ProductSaveActions.php 1 week ago
Functions.php
66 lines
1 <?php
2
3 namespace WCML\Rest;
4
5 use WPML\FP\Obj;
6 use WPML\FP\Str;
7
8 class Functions {
9
10 const STORE_NAMESPACE = 'wc/store/v1';
11
12 public static function isAnalyticsPage() {
13 return is_admin()
14 && 'wc-admin' === Obj::prop( 'page', $_GET )
15 && 0 === strpos( sanitize_text_field( wp_unslash( Obj::prop( 'path', $_GET ) ) ), '/analytics/' );
16 }
17
18 public static function isRestApiRequest() {
19 return apply_filters( 'woocommerce_rest_is_request_to_rest_api', self::checkEndpoint( 'wc/v' . self::getApiRequestVersion() . '/' ) );
20 }
21
22 public static function isAnalyticsRestRequest() {
23 return self::checkEndpoint( 'wc-analytics/' );
24 }
25
26 public static function isStoreAPIRequest() {
27 return self::checkEndpoint( 'wc/store' );
28 }
29
30 public static function getApiRequestVersion() {
31
32 $version = 0;
33
34 if ( empty( $_SERVER['REQUEST_URI'] ) ) {
35 return $version;
36 }
37
38 $restPrefix = trailingslashit( rest_get_url_prefix() );
39 if ( preg_match( '@' . $restPrefix . 'wc/v([0-9]+)/@i', $_SERVER['REQUEST_URI'], $matches ) ) {
40 $version = intval( $matches[1] );
41 }
42
43 return $version;
44 }
45
46 private static function checkEndpoint( $endpoint = 'wc/' ) {
47 if ( empty( $_SERVER['REQUEST_URI'] ) ) {
48 return false;
49 }
50
51 $rest_prefix = trailingslashit( rest_get_url_prefix() );
52 return ( false !== stripos( $_SERVER['REQUEST_URI'], $rest_prefix . $endpoint ) );
53 }
54
55 public static function getStoreStrippedEndpoint( $request ) {
56 $route = trim( $request->get_route(), '/' );
57
58 if ( Str::startsWith( self::STORE_NAMESPACE, $route ) ) {
59 return Str::sub( Str::len( trailingslashit( self::STORE_NAMESPACE ) ), $route );
60 }
61
62 return null;
63 }
64
65 }
66