Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nicolasgraph/oui_cookie
Cookie management plugin for @Textpattern
https://github.com/nicolasgraph/oui_cookie
cookie cookies textpattern textpattern-plugin
Last synced: about 11 hours ago
JSON representation
Cookie management plugin for @Textpattern
- Host: GitHub
- URL: https://github.com/nicolasgraph/oui_cookie
- Owner: NicolasGraph
- License: gpl-2.0
- Created: 2016-05-25T23:12:32.000Z (over 8 years ago)
- Default Branch: dev
- Last Pushed: 2019-10-21T14:33:15.000Z (about 5 years ago)
- Last Synced: 2024-04-22T13:07:00.934Z (7 months ago)
- Topics: cookie, cookies, textpattern, textpattern-plugin
- Language: PHP
- Homepage: http://forum.textpattern.com/viewtopic.php?id=47048
- Size: 83 KB
- Stars: 3
- Watchers: 3
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.textile
- License: LICENSE
Awesome Lists containing this project
README
h1. oui_cookie
h2. Introduction
Set, check, read, reset or delete cookies manually or through GET/POST parameters.
p(alert-block warning). %(ui-icon ui-icon-alert).% According to the "EU legislation":http://ec.europa.eu/ipg/basics/legal/cookies/index_en.htm#section_2, some cookies need the user consent before to be set.
h3. Plugin requirements
oui_cookie's minimum requirements:
* "Textpattern CMS":http://textpattern.com/ 4.6+.
h2. Plugin management
h3. Installation
h4. From the admin interface
# "Download":https://github.com/NicolasGraph/oui_cookie/releases the compiled plugin file or the source to compile a customized file.
# Paste the content of the compiled plugin file under the "Admin > Plugins":?event=plugin tab and click the _Upload_ button.
# Confirm the plugin install by clicking the _Install_ button on the plugin preview page.
# Enable the plugin.h4. Via Composer
After "installing Composer":https://getcomposer.org/doc/00-intro.md…
# Target your project directory:
@$ cd /path/to/your/textpattern/installation/dir@
# If it's not already done, lock your version of Txp:
@$ composer require textpattern/lock:4.6.2@, where @4.6.2@ is the Txp version in use.
# Install oui_cookie:
@$ composer require oui/oui_cookie@h3. Update
h4. From the admin interface
# Follow the installation instruction above.
h4. Via Composer
bc. $ composer update oui/oui_cookie
h3. Uninstall
h4. From the admin interface
# Check the box on the left of the plugin row under the "Admin > Plugins":?event=plugin.
# open the select list at the bottom of the plugins table and choose _Delete_.
# confirm the plugin deletion.h4. Via Composer
bc. $ composer remove oui/oui_cookie
h2. Tags
h3(#oui_cookie). oui_cookie
bc(language-markup).
or
bc(language-markup)..
[…]h4. Attributes
h5. Required
- @name@ :=
*Value:* string; none by default.
The cookie (and GET/POST parmater) name you want to use. If no other attibutes are defined, the tag will read and display the related value. =:h5. Manually set a cookie
- @value@ :=
*Value:* string; none by default.
A value to manually set the named cookie.
You can also set the cookie value by using a continer tag like you would for a variable. =:h5. Set a cookie through a GET/POST parameter
- @values@ :=
*Value:* comma separated list of strings; none by default.
A comma separated list of accepted values for the GET/POST parameter and its cookie. =:
- @default@ :=
*Value:* string; none by default.
A default value.
If set, the plugin conditional tag will always be true if not check against a defined value. =:
- @delete@ :=
*Value:* string; none by default.
An GET/POST parameter value used to delete the cookie. =:h5. Optional cookie settings
- @duration@ :=
*Value:* "strtotime":http://php.net/manual/fr/function.strtotime.php value, @+1 day@ by default.
The duration of the cookie. =:h5. Delete a cookie
- @delete@ :=
*Value:* @0@ or @1@; @0@ by default.
If set to @1@ this attribute will delete the named cookie. =:h3(#oui_cookie). oui_if_cookie
bc(language-markup)..
[…][…]
p. This tag checks the status or the value of the cookie (and/or the related GET/POST parameter) defined by the @name@ attribute.
h4. Attributes
h5. Required
- *@name@* :=
*Value:* string; none by default.
The cookie (and GET/POST parameter) name you want to use. =:h5. Optional
- @value@ :=
*Value:* string; none by default.
A value to check against the cookie (and/or the GET/POST parameter) value. =:h2. Examples
h3. Front-end articles sorting
List the sort options you want to use:
bc(language-html)..
disabled selected>Size
disabled selected>Weight
p. Then, catch the GET/POST parameter sent by this list to store it (useful to keep the sort order pages after pages).
bc(language-markup).
Now use the new value as the value of the @sort@ attribute of your article tag.
bc(language-markup).
h3. Last viewed article
Store the current article id in a cookie:
bc(language-markup).
Now, use the following code anywhere you want to display the last viewed article.
bc(language-markup).
h3. EU cookies Warning
bc(language-markup)..
p. Now, you can add some progressive enhancement to avoid to refresh the page if javascript is on.
However, note that it wouldn't instantaneously display a potential alternative content placed before the @@ tag if the cookie is not set/setting.bc(language-javascript)..
(function() {
// Get the link which should remove the warning.
var accept = document.getElementById('accept_cookies');// If it exists, listen it…
if (accept) {
accept.addEventListener('click', removeWarning);
}// It is clicked!
function removeWarning(e){
document.cookie = 'accept_cookies=yes;path=/;expires=864e2'; // Set the cookie for the whole domain for 1 day.
var warning = document.getElementById('cookies-warning'); // Get the warning message to remove.
warning.remove(); // Remove the message.
e.preventDefault(); // Do not follow the link; everything's already done!
};
}());h2. Credits
h3. Author
"Nicolas Morand":https://twitter.com/NicolasGraph
_Thank you to the Textpattern community and the core team._h3. License
This plugin is distributed under "GPL v2.0":https://www.gnu.org/licenses/gpl-2.0.txt.
oui_cookie version 1.0.0-BETA3, Copyright (C) 2018 Nicolas Morand
This Textpattern plugin comes with ABSOLUTELY "NO WARRANTY":https://www.gnu.org/licenses/gpl-2.0.html#section11.
This is free software, and you are welcome to redistribute it "under certain conditions":https://www.gnu.org/licenses/gpl-2.0.html#SEC3.h3. Changelog
* *1.0.0-beta3* (2018-07-06)
** Changed: OOP related code rework;
** Removed: Txp 4.5 support;
** Adds "Composer":https://getcomposer.org/ support for "textpattern/installer":https://packagist.org/packages/textpattern/installer.
* *0.2.3* (2016-06-21)
** Code rewrite;
** manual cookie setting added;
** @display@ attribute removed (setting and reading are now separated);
** deletion process changed.
* *0.1.3* (2016-05-29)
** improves conditional tag results;
** @delete@ attribute unset by default (but any none valid value for a defined GET/POST parameter will delete the related cookie).
* *0.1.2* (2016-05-26)