This repository has been archived by the owner on Apr 23, 2020. It is now read-only.
/
readme.txt
200 lines (136 loc) · 12.5 KB
/
readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
=== Cookillian ===
Contributors: Myatu
Donate link: http://pledgie.com/campaigns/16906
Tags: cookie, ec, europe, uk, law, directive, filter, block, eu cookie directive
Requires at least: 3.3
Tested up to: 3.4-beta3
Stable tag: 1.0.17.1
License: GPLv3
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Provides extensible support for EU/UK compliance of the EC Cookie Directive (2009/136/EC), based on a visitor's location.
== Description ==
_Cookillian_ makes it easier to comply with the EC Cookie Directive, which affects the United Kingdom on May 25th 2012 and other European countries.
Cookillian will automatically detect if a visitor is located in one of the countries defined by you - likely the countries affected by the EC Cookie Direcitve - and will automatically disable any cookies that are set from within WordPress or a 3rd party plugin. The user will then be presented with an fully customizable alert about cookies, and given the option to opt in or out of using cookies.
It will also collect basic information about any cookies set from within WordPress or 3rd party plugins, allowing you to add a description and whether the cookie is required for the website to operate. If the cookie is required, Cookillian will allow it to be set regardless if the visitor has opted in or out. Using a shortcode, a full description of the cookies used by the website can be presented to the visitor to assist with compliance and/or privacy notices.
If the visitor allows for cookies (either through opt in or a visitor outside the countries specified), then additional Javascript can be included at the website's header and/or footer, allowing the inclusion of, for example, Google Analytics. This allows for better control over 3rd party cookies.
With the included statistics, you can see how many visitors have decided to opt in, out or ignore the cookie alert per country, for each month of the year.
= Features =
* Selective filtering/alerts based on the visitor's originating country
* Automatic alerts, or manually displayed using a WordPress filter or shortcode
* Fully customizable alert/information about cookies
* Optional JavaScript loading if cookies are permitted
* Support for Cookie-based PHP Sessions
* Define cookies that are required for the operation of the website
* Automatic collection of cookies used by the website
* Automatic rendering of details about cookies using shortcodes
* Support for [geoPlugin](http://www.geoplugin.com) geolocation service
* Support for [CloudFlare](http://www.cloudflare.com) geolocation HTTP headers
* Support for [MaxMind](http://www.maxmind.com) geolocation database or Apache module/NginX GeoIP module
* Exposed PHP/WordPress Filters and JavaScript variables regarding cookie permissions, opt-in and opt-out for complex sites
* Statistics to track the impact of the EC Directive
* Debug mode for web development and testing
* Support for the DNT/Do Not Track browser headers (http://donottrack.us)
== Installation ==
1. Upload the contents of the ZIP file to the `/wp-content/plugins/` directory
1. Activate the plugin through the __Plugins__ menu in WordPress
1. Access the plugin via __Settings__ -> __Cookies__ menu
Additional help is provided via the _Help_ tabs within the plugin
= Requirements =
* PHP version _5.3_ or better
* WordPress version _3.3_ or better
A browser with Javascript enabled is highly recommended. This plugin will ___NOT___ work
with PHP versions older than 5.3.
== Screenshots ==
1. The default alert dispalyed to visitors
2. Statistics to track compliance impact
== Changelog ==
= 1.0.20 =
* Fixed: Fixed a bug that overwrote existing cookies from the __Cookies__ listing
* Fixed: Added a method for avoiding cached reloads of the visiting page, after a visitor answered the alert, to avoid alert from showing again
* Changed: On JavaScript-enabled browsers, the _Delete_ box has been replaced by a _Remove_ button in the __Cookies__ listing
= 1.0.17.1 (22 May 2012) =
* Fixed: Fixed bug that caused the plugin from operating on certain systems
= 1.0.17 (22 May 2012) =
* __Added:__ Support for [MaxMind](http://www.maxmind.com) geolocation database or Apache module/NginX GeoIP module
* __Added:__ Option to display an alert if the visitor's country could not be determined
* __Added:__ Option for DNT/Do Not Track browser headers (http://donottrack.us)
* Fixed: Type-check prevented undetermined countries to remain in cache for 24 hours
* Fixed: IP geolocation data for geoPlugin was incorrectly unserialized
* Changed: Alert is now only displayed to logged in users in "Debug Mode"
* Changed: All EC member states are selected by default on new installations
= 1.0.10 (16 May 2012) =
* Changed: Updated Pf4wp vendor library, adding debug information in footer
* Fixed: Issues with Twig vendor library, resulting in _Twig_Error_Runtime_ errors.
= 1.0.8 (15 May 2012) =
* __Added:__ Debug mode, to allow for easier fault finding and assist with designing a website.
* __Added:__ URI to remove opt-in or opt-out status (`?cookillian_resp=2`)
* Changed: Wrapping of optional JavaScript in `<script>` tags is now optional (enabled by default)
* Fixed: Cookies were not automatically detected for visitors outside of the selected countries
= 1.0.4 (11 May 2012) =
* Changed: Corrected mistake in Readme title
= 1.0.3 (9 May 2012) =
* __Added:__ PHP/WordPress filters for opt-in, opt-out and blocked/unblocked cookies status
* Changed: Updated the vendor libraries
= 1.0.1 (5 May 2012) =
* First Release
== Frequently Asked Questions ==
= Help, it's broken! What do I do now? =
If something does not appear to be working as it should, [search the support forum](http://wordpress.org/support/plugin/cookillian) or write a new topic that describes the problem(s) you are experiencing. I will do my best to provide a solution as soon as possible.
= I have a PHP version older than 5.3, can I make it work? =
This plugin makes use of many features introduced in PHP version 5.3, and an attempt to make it work with older versions of PHP is equivalent to a complete rewrtie of the plugin.
Many hosting providers are already providing PHP 5.3+ to their customers, and others allow for an easy upgrade. Also consider that PHP 5.3 was first released in 2009 and fixes many bugs and security issues, and support for PHP 5.2 was [stopped in 2010](http://www.php.net/archive/2010.php#id2010-12-09-1).
= How can I upgrade to PHP version 5.3? =
This depends. If you have your very own server, then this is Operating System specific and you will need to consult its documentation on how to upgrade. Most commonly in Linux environments this consists of running `apt-get`, `yum` or `pacman` from the CLI.
If you are using a web hosting provider, then you need to contact the provider regarding this. Some can move your website to a different server with a newer version of PHP 5.3, while others make it as simple as adding/changing a line in the `.htaccess` file or a setting in the control panel. For example:
* 1&1 Webhosting: Add `AddType x-mapp-php6 .php` to the `.htaccess` file
* OVH: Add `SetEnv PHP_VER 5_3` or `SetEnv PHP_VER 5_TEST` to the `.htaccess` file
* GoDaddy Linux Shared Hosting: Add `AddHandler x-httpd-php5-3 .php` to the `.htaccess` file
* GoDaddy 4GH Hosting: Visit GoDaddy's __Hosting Control Center__ -> __Content__ -> __Programming Languages__
* HostGator: Add `Action application/x-hg-php53 /cgi-sys/php53` and `AddHandler application/x-hg-php53 .php` to the `.htaccess` file
* Bluehost: Add `AddHandler application/x-httpd-php53 .php` to the `.htaccess` file (Note: may require a support request/ticket to enable PHP 5.3)
= Will this plugin make my website entirely compliant? =
The plugin is to assist with compliance, but it may not be a full-stop solution.
For example, this plugin will stop WordPress and any other WordPress plugins you've installed from setting a cookie. But, if there's Javascript used on your website, they may still set cookies that are beyond the control of Cookillian. Google Analytics is probably the most common one, but other things like _Share on Facebook_ or _Share on Twitter_ buttons could set their own cookies.
That's why there's the option within the plugin to include JavaScript in the header/footer if the visitor has agreed to receiving cookies - you'd need to remove that JavaScript from your website, and add it to the plugin option instead.
Cookillian will also list which cookies it has detected (including ones set by JavaScript). There are also extensions for browsers that will help you see which cookies have managed to get past Cookillian. Google Chrome users can use the _Developer Tools_ from the Menu bar as well.
If you have any cookie that are required for your website to operate, ie., a cookie that stores products placed in a shopping cart, you can set these in the plugin's __Cookies__ page as well.
= The alert has disappeared after I clicked "No", how do I get it back? =
You can reset your preference by adding `?cookillian_resp=2` to any URL of your website, such as `www.example.co.uk/?cookillian_resp=2`. Naturally, you can add this as a link on, for example, the Privacy Policy page to make it easier for visitors.
= How do I know if it is working? =
On the __Settings__ page, under the heading __Advanced Options__ near the bottom, you have the option to enable _Debug Mode_. For logged-in users, this will cause the alert to be displayed at all times, which allows you to see where it will be located. In all instances, it will also include debug information in the HTML source (use the browser's _View Source_ function), which provides details whether the alert would be shown and why.
= The alert is not displaying at all, help! =
A quick way to troubleshoot this is to enable the _Debug Mode_ as described above. The web page's HTML source (use the browser's _View Source_ function) should display debug details near the bottom, as in this example:
`<!-- Cookillian Debug Information:
array (
'Will handle the cookies' => true,
'Is the visitor logged in' => false,
'Is Admin (not AJAX)' => false,
'Country list OK' => true,
'Detected remote IP address of the visitor' => '127.0.0.1',
'2-letter code of detected country' => '',
'Name of detected country' => 'Unknown',
'Block cookies for this country' => false,
'Visitor has opted-in' => false,
'Visitor has opted-out' => false,
)
-->`
In order of appearance the above means that:
1. Cookillian will handle cookies because the visitor has not specifically opted-in,
1. The visitor was also not logged in,
1. Nor was it an non-AJAX call. Cookillian,
1. The countries database was not corrupted,
1. The IP address of the user was 127.0.0.1,
1. The 2-letter country code could not be determined,
1. The full name of the country was unknown,
1. Based on the visitor's location, cookies are not blocked by default,
1. The visitor has not specifically opted in, and
1. The visitor has not specifically opted out.
If browser supports a privacy setting such as "Do not track my activity" [(see donotrack.us)](http://donottrack.us), then Cookillian will consider the visitor to have opted out if this setting is active. In such instances, Cookillian will not check what country the visitor is located in or show the alert.
If these details are not to be found in the HTML source, a common issue is that the `wp_footer()` function is missing from the WordPress theme. Check the theme's `footer.php` file and verify it contains `<?php wp_footer(); ?>`, and if not, add it.
= How do I change where the alert is displayed? =
First you need to set __Show Alert__ to _Manually_ on the __Settings__ page. In its simplest form, you can use a WordPress shortcode `[cookillian alert]` in a post or page, which will be replaced by the alert if neccesary.
For slightly more complex use, you insert `<?php echo apply_filters('cookillian_alert', ''); ?>` in the desired location of your theme. _Note: `apply_filters()` has a lower overhead than `do_shortcode()`, though both are supported_
= How do I change the appearance of the alert? =
You can use your own CSS styling through your WordPress theme. The alert is wrapped in a `.cookillian-alert` class, providing the background and border colors. The alert heading is in an `.alert-heading` class and the Yes and No buttons in `.btn-ok` and `.btn-no` respectively. If your CSS styling does not appear, you may need to add `!important` to your styling.
= When I click on "Privacy Policy", nothing happened =
On the __Settings__ page, you will need to modify the __Alert Text__ by replacing the hash sign (#) within the `<a href="#">` HTML tags to the actual URL of your Privacy Policy (and the "More Information" link).