{"id":649,"date":"2019-06-27T08:01:33","date_gmt":"2019-06-27T08:01:33","guid":{"rendered":"http:\/\/angelwings.net\/blog\/?p=649"},"modified":"2019-06-27T08:01:33","modified_gmt":"2019-06-27T08:01:33","slug":"prestashop-delete-customers-cookies","status":"publish","type":"post","link":"https:\/\/angelwings.net\/blog\/prestashop-delete-customers-cookies\/","title":{"rendered":"Prestashop: delete customer&#8217;s cookies"},"content":{"rendered":"<p>Solution: https:\/\/www.prestashop.com\/forums\/topic\/364875-how-to-delete-cookies-customers\/?tab=comments#comment-2348354<\/p>\n<p>Overriding the method __construct (classes\/Cookie.php) changing the commented lines<\/p>\n<p>override\/classes\/Cookie.php<\/p>\n<pre class=\"ipsCode prettyprint prettyprinted\"><span class=\"kwd\">class<\/span> <span class=\"typ\">Cookie<\/span> <span class=\"kwd\">extends<\/span> <span class=\"typ\">CookieCore<\/span>\n<span class=\"pun\">{<\/span>\n    <span class=\"kwd\">public<\/span> <span class=\"kwd\">function<\/span><span class=\"pln\"> __construct<\/span><span class=\"pun\">(<\/span><span class=\"pln\">$name<\/span><span class=\"pun\">,<\/span><span class=\"pln\"> $path <\/span><span class=\"pun\">=<\/span> <span class=\"str\">''<\/span><span class=\"pun\">,<\/span><span class=\"pln\"> $expire <\/span><span class=\"pun\">=<\/span> <span class=\"kwd\">null<\/span><span class=\"pun\">,<\/span><span class=\"pln\"> $shared_urls <\/span><span class=\"pun\">=<\/span> <span class=\"kwd\">null<\/span><span class=\"pun\">,<\/span><span class=\"pln\"> $standalone <\/span><span class=\"pun\">=<\/span> <span class=\"kwd\">false<\/span><span class=\"pun\">,<\/span><span class=\"pln\"> $secure <\/span><span class=\"pun\">=<\/span> <span class=\"kwd\">false<\/span><span class=\"pun\">)<\/span>\n    <span class=\"pun\">{<\/span><span class=\"pln\">\n        $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_content <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> array<\/span><span class=\"pun\">();<\/span><span class=\"pln\">\n        $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_standalone <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> $standalone<\/span><span class=\"pun\">;<\/span><span class=\"pln\">\n        $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_expire <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> is_null<\/span><span class=\"pun\">(<\/span><span class=\"pln\">$expire<\/span><span class=\"pun\">)<\/span> <span class=\"pun\">?<\/span><span class=\"pln\"> time<\/span><span class=\"pun\">()<\/span> <span class=\"pun\">+<\/span> <span class=\"lit\">1728000<\/span> <span class=\"pun\">:<\/span> <span class=\"pun\">(<\/span><span class=\"kwd\">int<\/span><span class=\"pun\">)<\/span><span class=\"pln\">$expire<\/span><span class=\"pun\">;<\/span><span class=\"pln\">\n        $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_path <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> trim<\/span><span class=\"pun\">((<\/span><span class=\"pln\">$this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_standalone <\/span><span class=\"pun\">?<\/span> <span class=\"str\">''<\/span> <span class=\"pun\">:<\/span> <span class=\"typ\">Context<\/span><span class=\"pun\">::<\/span><span class=\"pln\">getContext<\/span><span class=\"pun\">()-&gt;<\/span><span class=\"pln\">shop<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">physical_uri<\/span><span class=\"pun\">).<\/span><span class=\"pln\">$path<\/span><span class=\"pun\">,<\/span> <span class=\"str\">'\/\\\\'<\/span><span class=\"pun\">).<\/span><span class=\"str\">'\/'<\/span><span class=\"pun\">;<\/span>\n        <span class=\"kwd\">if<\/span> <span class=\"pun\">(<\/span><span class=\"pln\">$this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_path<\/span><span class=\"pun\">{<\/span><span class=\"lit\">0<\/span><span class=\"pun\">}<\/span> <span class=\"pun\">!=<\/span> <span class=\"str\">'\/'<\/span><span class=\"pun\">)<\/span> <span class=\"pun\">{<\/span><span class=\"pln\">\n            $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_path <\/span><span class=\"pun\">=<\/span> <span class=\"str\">'\/'<\/span><span class=\"pun\">.<\/span><span class=\"pln\">$this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_path<\/span><span class=\"pun\">;<\/span>\n        <span class=\"pun\">}<\/span><span class=\"pln\">\n        $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_path <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> rawurlencode<\/span><span class=\"pun\">(<\/span><span class=\"pln\">$this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_path<\/span><span class=\"pun\">);<\/span><span class=\"pln\">\n        $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_path <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> str_replace<\/span><span class=\"pun\">(<\/span><span class=\"str\">'%2F'<\/span><span class=\"pun\">,<\/span> <span class=\"str\">'\/'<\/span><span class=\"pun\">,<\/span><span class=\"pln\"> $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_path<\/span><span class=\"pun\">);<\/span><span class=\"pln\">\n        $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_path <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> str_replace<\/span><span class=\"pun\">(<\/span><span class=\"str\">'%7E'<\/span><span class=\"pun\">,<\/span> <span class=\"str\">'~'<\/span><span class=\"pun\">,<\/span><span class=\"pln\"> $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_path<\/span><span class=\"pun\">);<\/span><span class=\"pln\">\n        $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_domain <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">getDomain<\/span><span class=\"pun\">(<\/span><span class=\"pln\">$shared_urls<\/span><span class=\"pun\">);<\/span>\n\n        <span class=\"com\">\/\/remove www from url &gt; example: .domain.com<\/span><span class=\"pln\">\n        $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_domain <\/span><span class=\"pun\">=<\/span><span class=\"pln\">str_replace<\/span><span class=\"pun\">(<\/span><span class=\"str\">'www'<\/span><span class=\"pun\">,<\/span><span class=\"str\">''<\/span><span class=\"pun\">,<\/span><span class=\"pln\"> $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_domain<\/span><span class=\"pun\">);<\/span>\n\n        <span class=\"com\">\/\/Change cookie name \"PrestaShop\" &gt; \"MyCookieName\" This will make all your customers cookies obsolete.<\/span><span class=\"pln\">\n        $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_name <\/span><span class=\"pun\">=<\/span> <span class=\"str\">'MyCookieName-'<\/span><span class=\"pun\">.<\/span><span class=\"pln\">md5<\/span><span class=\"pun\">((<\/span><span class=\"pln\">$this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_standalone <\/span><span class=\"pun\">?<\/span> <span class=\"str\">''<\/span> <span class=\"pun\">:<\/span><span class=\"pln\"> _PS_VERSION_<\/span><span class=\"pun\">).<\/span><span class=\"pln\">$name<\/span><span class=\"pun\">.<\/span><span class=\"pln\">$this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_domain<\/span><span class=\"pun\">);<\/span><span class=\"pln\">\n\n        $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_allow_writing <\/span><span class=\"pun\">=<\/span> <span class=\"kwd\">true<\/span><span class=\"pun\">;<\/span><span class=\"pln\">\n        $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_salt <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_standalone <\/span><span class=\"pun\">?<\/span><span class=\"pln\"> str_pad<\/span><span class=\"pun\">(<\/span><span class=\"str\">''<\/span><span class=\"pun\">,<\/span> <span class=\"lit\">8<\/span><span class=\"pun\">,<\/span><span class=\"pln\"> md5<\/span><span class=\"pun\">(<\/span><span class=\"str\">'ps'<\/span><span class=\"pun\">.<\/span><span class=\"pln\">__FILE__<\/span><span class=\"pun\">))<\/span> <span class=\"pun\">:<\/span><span class=\"pln\"> _COOKIE_IV_<\/span><span class=\"pun\">;<\/span>\n        <span class=\"kwd\">if<\/span> <span class=\"pun\">(<\/span><span class=\"pln\">$this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_standalone<\/span><span class=\"pun\">)<\/span> <span class=\"pun\">{<\/span><span class=\"pln\">\n            $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_cipherTool <\/span><span class=\"pun\">=<\/span> <span class=\"kwd\">new<\/span> <span class=\"typ\">Blowfish<\/span><span class=\"pun\">(<\/span><span class=\"pln\">str_pad<\/span><span class=\"pun\">(<\/span><span class=\"str\">''<\/span><span class=\"pun\">,<\/span> <span class=\"lit\">56<\/span><span class=\"pun\">,<\/span><span class=\"pln\"> md5<\/span><span class=\"pun\">(<\/span><span class=\"str\">'ps'<\/span><span class=\"pun\">.<\/span><span class=\"pln\">__FILE__<\/span><span class=\"pun\">)),<\/span><span class=\"pln\"> str_pad<\/span><span class=\"pun\">(<\/span><span class=\"str\">''<\/span><span class=\"pun\">,<\/span> <span class=\"lit\">56<\/span><span class=\"pun\">,<\/span><span class=\"pln\"> md5<\/span><span class=\"pun\">(<\/span><span class=\"str\">'iv'<\/span><span class=\"pun\">.<\/span><span class=\"pln\">__FILE__<\/span><span class=\"pun\">)));<\/span>\n        <span class=\"pun\">}<\/span><span class=\"pln\"> elseif <\/span><span class=\"pun\">(!<\/span><span class=\"typ\">Configuration<\/span><span class=\"pun\">::<\/span><span class=\"kwd\">get<\/span><span class=\"pun\">(<\/span><span class=\"str\">'PS_CIPHER_ALGORITHM'<\/span><span class=\"pun\">)<\/span> <span class=\"pun\">||<\/span> <span class=\"pun\">!<\/span><span class=\"kwd\">defined<\/span><span class=\"pun\">(<\/span><span class=\"str\">'_RIJNDAEL_KEY_'<\/span><span class=\"pun\">))<\/span> <span class=\"pun\">{<\/span><span class=\"pln\">\n            $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_cipherTool <\/span><span class=\"pun\">=<\/span> <span class=\"kwd\">new<\/span> <span class=\"typ\">Blowfish<\/span><span class=\"pun\">(<\/span><span class=\"pln\">_COOKIE_KEY_<\/span><span class=\"pun\">,<\/span><span class=\"pln\"> _COOKIE_IV_<\/span><span class=\"pun\">);<\/span>\n        <span class=\"pun\">}<\/span> <span class=\"kwd\">else<\/span> <span class=\"pun\">{<\/span><span class=\"pln\">\n            $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_cipherTool <\/span><span class=\"pun\">=<\/span> <span class=\"kwd\">new<\/span> <span class=\"typ\">Rijndael<\/span><span class=\"pun\">(<\/span><span class=\"pln\">_RIJNDAEL_KEY_<\/span><span class=\"pun\">,<\/span><span class=\"pln\"> _RIJNDAEL_IV_<\/span><span class=\"pun\">);<\/span>\n        <span class=\"pun\">}<\/span><span class=\"pln\">\n        $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">_secure <\/span><span class=\"pun\">=<\/span> <span class=\"pun\">(<\/span><span class=\"kwd\">bool<\/span><span class=\"pun\">)<\/span><span class=\"pln\">$secure<\/span><span class=\"pun\">;<\/span><span class=\"pln\">\n\n        $this<\/span><span class=\"pun\">-&gt;<\/span><span class=\"pln\">update<\/span><span class=\"pun\">();<\/span>\n    <span class=\"pun\">}<\/span>\n<span class=\"pun\">}<\/span><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Solution: https:\/\/www.prestashop.com\/forums\/topic\/364875-how-to-delete-cookies-customers\/?tab=comments#comment-2348354 Overriding the method __construct (classes\/Cookie.php) changing the commented lines override\/classes\/Cookie.php class Cookie extends CookieCore { public function __construct($name, $path = &#8221;, $expire = null, $shared_urls = null, $standalone = false, $secure = false) { $this-&gt;_content = array(); $this-&gt;_standalone = $standalone; $this-&gt;_expire = is_null($expire) ? time() + 1728000 : (int)$expire; $this-&gt;_path = trim(($this-&gt;_standalone ? [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,28],"tags":[103,105],"class_list":["post-649","post","type-post","status-publish","format-standard","hentry","category-ecommerce","category-troubleshoot","tag-prestashop","tag-prestashop-1-6"],"_links":{"self":[{"href":"https:\/\/angelwings.net\/blog\/wp-json\/wp\/v2\/posts\/649","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/angelwings.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/angelwings.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/angelwings.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/angelwings.net\/blog\/wp-json\/wp\/v2\/comments?post=649"}],"version-history":[{"count":0,"href":"https:\/\/angelwings.net\/blog\/wp-json\/wp\/v2\/posts\/649\/revisions"}],"wp:attachment":[{"href":"https:\/\/angelwings.net\/blog\/wp-json\/wp\/v2\/media?parent=649"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/angelwings.net\/blog\/wp-json\/wp\/v2\/categories?post=649"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/angelwings.net\/blog\/wp-json\/wp\/v2\/tags?post=649"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}