PluginProbe ʕ •ᴥ•ʔ
Products Compare for WooCommerce / 1.0.13.1
Products Compare for WooCommerce v1.0.13.1
3.6.2.8 3.6.2.7 trunk 1.0.1 1.0.10 1.0.10.1 1.0.11 1.0.11.1 1.0.12 1.0.13 1.0.13.1 1.0.2 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 3.5 3.5.0.1 3.5.0.2 3.5.1 3.5.1.1 3.5.1.2 3.5.1.3 3.5.1.4 3.5.1.5 3.5.1.6 3.5.1.7 3.5.2 3.5.2.1 3.5.2.2 3.5.2.3 3.5.3 3.5.4 3.5.5 3.5.6 3.5.7 3.5.7.1 3.5.7.2 3.5.7.3 3.5.7.4 3.5.7.5 3.5.7.6 3.5.7.7 3.5.7.8 3.5.7.9 3.5.8 3.5.9 3.6.0 3.6.1 3.6.2 3.6.2.1 3.6.2.2 3.6.2.3 3.6.2.4 3.6.2.5 3.6.2.6
products-compare-for-woocommerce / js / jquery.cookie.js
products-compare-for-woocommerce / js Last commit date
admin.js 7 years ago colpick.js 7 years ago jquery.cookie.js 7 years ago jquery.mousewheel.min.js 7 years ago products_compare.js 7 years ago
jquery.cookie.js
118 lines
1 /*!
2 * jQuery Cookie Plugin v1.4.1
3 * https://github.com/carhartl/jquery-cookie
4 *
5 * Copyright 2013 Klaus Hartl
6 * Released under the MIT license
7 */
8 (function (factory) {
9 if (typeof define === 'function' && define.amd) {
10 // AMD
11 define(['jquery'], factory);
12 } else if (typeof exports === 'object') {
13 // CommonJS
14 factory(require('jquery'));
15 } else {
16 // Browser globals
17 factory(jQuery);
18 }
19 }(function ($) {
20
21 var pluses = /\+/g;
22
23 function encode(s) {
24 return config.raw ? s : encodeURIComponent(s);
25 }
26
27 function decode(s) {
28 return config.raw ? s : decodeURIComponent(s);
29 }
30
31 function stringifyCookieValue(value) {
32 return encode(config.json ? JSON.stringify(value) : String(value));
33 }
34
35 function parseCookieValue(s) {
36 if (s.indexOf('"') === 0) {
37 // This is a quoted cookie as according to RFC2068, unescape...
38 s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
39 }
40
41 try {
42 // Replace server-side written pluses with spaces.
43 // If we can't decode the cookie, ignore it, it's unusable.
44 // If we can't parse the cookie, ignore it, it's unusable.
45 s = decodeURIComponent(s.replace(pluses, ' '));
46 return config.json ? JSON.parse(s) : s;
47 } catch(e) {}
48 }
49
50 function read(s, converter) {
51 var value = config.raw ? s : parseCookieValue(s);
52 return $.isFunction(converter) ? converter(value) : value;
53 }
54
55 var config = $.cookie = function (key, value, options) {
56
57 // Write
58
59 if (value !== undefined && !$.isFunction(value)) {
60 options = $.extend({}, config.defaults, options);
61
62 if (typeof options.expires === 'number') {
63 var days = options.expires, t = options.expires = new Date();
64 t.setTime(+t + days * 864e+5);
65 }
66
67 return (document.cookie = [
68 encode(key), '=', stringifyCookieValue(value),
69 options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
70 options.path ? '; path=' + options.path : '',
71 options.domain ? '; domain=' + options.domain : '',
72 options.secure ? '; secure' : ''
73 ].join(''));
74 }
75
76 // Read
77
78 var result = key ? undefined : {};
79
80 // To prevent the for loop in the first place assign an empty array
81 // in case there are no cookies at all. Also prevents odd result when
82 // calling $.cookie().
83 var cookies = document.cookie ? document.cookie.split('; ') : [];
84
85 for (var i = 0, l = cookies.length; i < l; i++) {
86 var parts = cookies[i].split('=');
87 var name = decode(parts.shift());
88 var cookie = parts.join('=');
89
90 if (key && key === name) {
91 // If second argument (value) is a function it's a converter...
92 result = read(cookie, value);
93 break;
94 }
95
96 // Prevent storing a cookie that we couldn't decode.
97 if (!key && (cookie = read(cookie)) !== undefined) {
98 result[name] = cookie;
99 }
100 }
101
102 return result;
103 };
104
105 config.defaults = {};
106
107 $.removeCookie = function (key, options) {
108 if ($.cookie(key) === undefined) {
109 return false;
110 }
111
112 // Must not alter options, thus extending a fresh object...
113 $.cookie(key, '', $.extend({}, options, { expires: -1 }));
114 return !$.cookie(key);
115 };
116
117 }));
118