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 2 weeks ago Frontend 2 weeks ago Language 2 weeks ago Store 2 weeks ago Wrapper 2 weeks ago Functions.php 2 weeks ago Generic.php 2 weeks ago Hooks.php 2 years ago ProductSaveActions.php 2 weeks 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