PluginProbe ʕ •ᴥ•ʔ
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution / 4.8.7
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution v4.8.7
4.9.1 4.9.0 2.0.0 2.1.0 2.2.0 2.2.1 2.2.2 2.3.0 2.4.0 2.5.0 2.5.1 3.0.0 3.1.0 3.1.1 4.0.0 4.0.1 4.1.0 4.1.1 4.2.0 4.2.1 4.3.0 4.3.1 4.4.0 4.5.0 4.5.1 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.6.7 4.6.8 4.6.9 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.8.1 4.8.2 4.8.3 4.8.4 4.8.5 4.8.6 4.8.7 4.8.8 4.8.9 trunk 0.1.2-beta 0.1.3-beta 0.1.4-beta 1.0.0 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.2.1 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.5.0 1.5.1 1.6.0 1.6.1 1.7.0 1.8.0 1.8.1 1.9.0
shopengine / modules / comparison / comparison-cookie.php
shopengine / modules / comparison Last commit date
assets 7 months ago comparison-cookie.php 2 years ago comparison-field-value.php 10 months ago comparison-helper.php 3 years ago comparison-share.php 3 years ago comparison.php 3 years ago group-meta.php 3 years ago route.php 3 years ago
comparison-cookie.php
55 lines
1 <?php
2
3
4 namespace ShopEngine\Modules\Comparison;
5
6
7 class Comparison_Cookie {
8
9
10 public static function remove_product_id( $id ) {
11 $product_ids = self::get_product_ids();
12
13 if ( ( $key = array_search( $id, $product_ids ) ) !== false ) {
14 unset( $product_ids[ $key ] );
15 }
16 self::set_comparison_cookie( $product_ids );
17 }
18
19
20 /**
21 * @return array
22 */
23 public static function get_product_ids($id = null) {
24 if( !empty($_COOKIE[ Comparison::COOKIE_KEY ] ) ){
25 $product_id_from_cookie = sanitize_text_field( wp_unslash( $_COOKIE[ Comparison::COOKIE_KEY ] ) ) .','.$id;
26 }else{
27 $product_id_from_cookie = $id;
28 }
29
30 $explode = explode( ',', $product_id_from_cookie ?? '' );
31
32 foreach ($explode as $key => $id){
33 if(!$id || $id == 0){
34 unset($explode[$key]) ;
35 }
36 }
37
38 return array_unique( $explode );
39 }
40
41 /**
42 * @param $product_ids array
43 */
44 public static function set_comparison_cookie( $product_ids ) {
45 $value = implode( ',', $product_ids );
46 setcookie( Comparison::COOKIE_KEY, $value, strtotime( '+' . Comparison::COOKIE_TIME_IN_DAYS . ' days' ), '/' );
47 }
48
49 public static function add_product_id( $id ) {
50 $product_ids = self::get_product_ids();
51 array_push( $product_ids, $id );
52 self::set_comparison_cookie( $product_ids );
53 }
54
55 }