=== Cookillian === Contributors: Myatu Donate link: http://pledgie.com/campaigns/16906 Tags: cookie, ec, europe, uk, cookie law, directive, eu cookie directive, filter, block, Requires at least: 3.3 Tested up to: 3.7.1 Stable tag: 1.2 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 (EU Cookie Law), 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 optionally 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 alerts based on the visitor's originating country * Support for both "Explicit" and "Implied" consent * Attempts to remove cookies either before or after a visitor has opted out (selectable) * Optional JavaScript loading if cookies are permitted * Automatic alerts, or manually displayed using a WordPress filter, API or shortcode * Fully customizable alert text and styling * 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 * Backup geoloaction service, should the default geolocation service fail * JavaScript and PHP API * Statistics to track the impact of the EC Directive * Debug mode for web development and testing * Supports caching plugins, such as WP Super Cache * Support for the DNT/Do Not Track browser headers (http://donottrack.us) * Dashboard widget for quick overview of the statistics, and if new cookies have been detected Visit the [official website](http://myatus.com/projects/cookillian/) for more details. == 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.2 (November 4 2013) = * Fixed: WordPress 'wordpress_test_cookie' as well as 'wordpress_*' set to a required cookie in all circumstances, to avoid accidental lock-outs * Fixed: TLD not always correctly determined, causing a the cookie opt-in/out cookie not to be set * Changed: Removed AJAX NONCE check at the public side = 1.1.18 (June 25 2012) = * __Added:__ Option to periodically scrub cookies, to help capture JavaScript cookies * Fixed: Optional JavaScript was not called when cookies were still permitted ("delete after" option) * Changed: Additional web-crawler checks * Changed: Added AJAX handlers to default alert opt-in and out buttons, where supported * Changed: Implemented Noah Sloan's writeCapture to accept a wider range of legacy Javascript (Google AdSense) = 1.1.13 (June 10 2012) = * __Added:__ Option to limit the amount of new cookies Cookillian will detect (30 by default) * Fixed: Issue where wp_print_script action was called more than once, causing Ajax code to override objects (Pf4wp) * Fixed: Minor bug in statistics, where the most recent entry could not be collapsed * Fixed: Issue where Firefox/Mozilla prefetch "feature" interfered with implied consent detection * Fixed: On PHP installations where mb_ functions are not available, fall back to a different method * Changed: Detected cookies now include the User Agent details, which is displayed on the __Cookies__ page when _Debug Mode_ is enabled = 1.1.7 (June 2 2012) = * __Added:__ The option for asynchronous AJAX initialization * __Added:__ Two new JS API events (_cookillian_load_ and _cookillian_ready_) and JS API function (_insertString()_) * __Added:__ Collapsible months on the __Statistics__ page * Fixed: No longer permit statistics to be added beyond the count of shown alerts * Fixed: Regression bug that prevented the "More..." from displaying on Dashboard widget * Fixed: Implied consent not always honored due to incorrect "true_referrer" variable sent back = 1.1 (May 31 2012) = * __Added:__ Support for "Implied Consent" * __Added:__ Support for caching plugins, such as WP Super Cache and W3 Total Cache * __Added:__ Option to provide custom styling for the alert from the menu * __Added:__ Option to delete cookies before or after the visitor has opted out * __Added:__ Option to adjust geolocation cache time, as well as clear it * __Added:__ Backup geolocation service, provided by [freegeoip.net](http://www.freegeoip.net), should the default geoloaction service fail. * __Added:__ Export option (CSV) for statistics * __Added:__ Dashboard widget, giving quick overview of newly added cookies and top statistics * Fixed: Fixed a bug that overwrote existing cookies from the __Cookies__ listing * Fixed: Empty country name on "Unknown" country in statistics * Fixed: If a generic "EU" or "AP" is retured by the geolocation service, determine if selected countries falls within that region * Changed: On JavaScript-enabled browsers, the _Delete_ box has been replaced by a _Remove_ button in the __Cookies__ listing * Changed: Made the _noscript_ tag optional, to accomodate caching plugins * Changed: Shortcode for listing cookies now accepts multiple groups, as well as exclusion = 1.0.17.1 (22 May 2012) = * Fixed: Fixed bug that caused the plugin from operating on certain systems (apache_note()) = 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 `