PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / trunk
WPML Multilingual & Multicurrency for WooCommerce vtrunk
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 1 month 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