HEX
Server: Apache
System: Linux vpshost0650.publiccloud.com.br 4.4.79-grsec-1.lc.x86_64 #1 SMP Wed Aug 2 14:18:21 -03 2017 x86_64
User: bandeirantesbomb3 (10068)
PHP: 8.0.7
Disabled: apache_child_terminate,dl,escapeshellarg,escapeshellcmd,exec,link,mail,openlog,passthru,pcntl_alarm,pcntl_exec,pcntl_fork,pcntl_get_last_error,pcntl_getpriority,pcntl_setpriority,pcntl_signal,pcntl_signal_dispatch,pcntl_sigprocmask,pcntl_sigtimedwait,pcntl_sigwaitinfo,pcntl_strerror,pcntl_wait,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,php_check_syntax,php_strip_whitespace,popen,proc_close,proc_open,shell_exec,symlink,system
Upload Files
File: /home/goremar3/public_html/wp-content/plugins/shopengine/modules/comparison/comparison-cookie.php
<?php


namespace ShopEngine\Modules\Comparison;


class Comparison_Cookie {


	public static function remove_product_id( $id ) {
		$product_ids = self::get_product_ids();

		if ( ( $key = array_search( $id, $product_ids ) ) !== false ) {
			unset( $product_ids[ $key ] );
		}
		self::set_comparison_cookie( $product_ids );
	}


	/**
	 * @return array
	 */
	public static function get_product_ids($id = null) {
		if( !empty($_COOKIE[ Comparison::COOKIE_KEY ] ) ){
			$product_id_from_cookie = sanitize_text_field( wp_unslash( $_COOKIE[ Comparison::COOKIE_KEY ] ) ) .','.$id;
		}else{
			$product_id_from_cookie =  $id;
		}

		$explode = explode( ',', $product_id_from_cookie ?? '' );

		foreach ($explode as $key => $id){
			if(!$id || $id == 0){
				unset($explode[$key]) ;
			}
		}

		return array_unique( $explode );
	}

	/**
	 * @param $product_ids array
	 */
	public static function set_comparison_cookie( $product_ids ) {
		$value = implode( ',', $product_ids );
		setcookie( Comparison::COOKIE_KEY, $value, strtotime( '+' . Comparison::COOKIE_TIME_IN_DAYS . ' days' ), '/' );
	}

	public static function add_product_id( $id ) {
		$product_ids = self::get_product_ids();
		array_push( $product_ids, $id );
		self::set_comparison_cookie( $product_ids );
	}

}