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 / addons / wpml-dependencies / lib / classes / cookie / class-wpml-cookie.php
woocommerce-multilingual / addons / wpml-dependencies / lib / classes / cookie Last commit date
class-wpml-cookie.php 3 weeks ago
class-wpml-cookie.php
57 lines
1 <?php
2
3 class WPML_Cookie {
4
5 public function set_cookie( $name, $value, $expires, $path, $domain, $HTTPOnly = false, $sameSite = null ) {
6 wp_cache_add_non_persistent_groups( __CLASS__ );
7
8 $entryHash = md5( wp_json_encode( [ $name, $value, $path, $domain, $HTTPOnly, $sameSite ] ) );
9
10 if ( wp_cache_get( $name, __CLASS__ ) !== $entryHash ) {
11 $this->handle_cache_plugins( $name );
12 if ($sameSite) {
13 header(
14 'Set-Cookie: ' . rawurlencode( $name ) . '=' . rawurlencode( $value )
15 . ( $domain ? '; Domain=' . $domain : '' )
16 . ( $expires ? '; expires=' . gmdate( 'D, d-M-Y H:i:s', $expires ) . ' GMT' : '' )
17 . ( $path ? '; Path=' . $path : '' )
18 . ( $this->is_secure_connection() ? '; Secure' : '')
19 . ( $HTTPOnly ? '; HttpOnly' : '' )
20 . '; SameSite=' . $sameSite,
21 false
22 );
23 } else {
24 setcookie( $name, (string) $value, $expires, $path, $domain, $this->is_secure_connection(), $HTTPOnly );
25 }
26
27 wp_cache_set( $name, $entryHash, __CLASS__ );
28 }
29 }
30
31 public function get_cookie( $name ) {
32 if ( isset( $_COOKIE[ $name ] ) ) {
33 return $_COOKIE[ $name ];
34 }
35 return '';
36 }
37
38 public function headers_sent() {
39 return headers_sent();
40 }
41
42 private function handle_cache_plugins( $name ) {
43 }
44
45 private function is_secure_connection() {
46 if (
47 \WPML\FP\Obj::prop( 'HTTPS', $_SERVER ) === 'on' ||
48 \WPML\FP\Obj::prop( 'HTTP_X_FORWARDED_PROTO', $_SERVER ) === 'https' ||
49 \WPML\FP\Obj::prop( 'HTTP_X_FORWARDED_SSL', $_SERVER ) === 'on'
50 ) {
51 return true;
52 }
53
54 return false;
55 }
56 }
57