Skip to content

Commit

Permalink
release 2.5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
tecpromotion committed Feb 5, 2019
1 parent 83db871 commit 83f5eb1
Show file tree
Hide file tree
Showing 15 changed files with 315 additions and 30 deletions.
26 changes: 26 additions & 0 deletions CHANGELOG.txt
@@ -0,0 +1,26 @@
/**
* Changelog
*
* @package Joomla.Plugin
* @subpackage System.kickgdpr
* @author Niels Nübel <niels@kicktemp.com>
* @author Stefan Wendhausen <stefan@kicktemp.com>
* @copyright Copyright © 2019 Kicktemp UG (haftungsbeschränkt). All rights reserved.
* @license GNU General Public License version 3 or later; see LICENSE.txt
* @link https://kicktemp.com
*/

/**
* + Addition
* ! Removal
* ^ Change
* # Fix
*/

25-Jan-2019 : v2.5.0
+ Add Changelog-Feature
^ Update cookieconsent.min.css and cookieconsent.min.js to v3.1.0
# code styling, author, license link, year

17-Jul-2018 : v2.4.0
^ This is the first version under the newly founded company Kicktemp UG (limited liability). In this step, we just moved the repository from https://github.com/nielsnuebel/kickgdpr to https://github.com/kicktemp/kickgdpr.
76 changes: 76 additions & 0 deletions CODE_OF_CONDUCT.md
@@ -0,0 +1,76 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at hello@kicktemp.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
7 changes: 3 additions & 4 deletions README.md
Expand Up @@ -2,7 +2,7 @@


![kickgdpr](https://user-images.githubusercontent.com/3214077/39705092-ab896c10-520d-11e8-9cd1-75d4b6d2373d.png) ![kickgdpr](https://user-images.githubusercontent.com/3214077/39705092-ab896c10-520d-11e8-9cd1-75d4b6d2373d.png)


Cookie hint plugin based on Cookie Consent for Joomla! CMS. Integrates Google Analytics the easy way. Cookie hint plugin based on Cookie Consent for Joomla! CMS. Integrates Google Analytics, Facebook Pixel and 3rd-Party scripts the easy way.


## Getting started ## Getting started


Expand All @@ -21,11 +21,10 @@ No rocket science required - just install it using the normal Joomla installer.
- Stefan Wendhausen @inwend - Stefan Wendhausen @inwend


### Copyright ### Copyright
2018 Kicktemp UG (haftungsbeschraenkt) 2019 Kicktemp UG (haftungsbeschraenkt)


### Licence ### Licence
GNU GENERAL PUBLIC LICENSE V3 GNU GENERAL PUBLIC LICENSE V3. Please see [License File](LICENSE.txt) for more information.


### Feel free to support the Project ### Feel free to support the Project
Buy us a Beer by [paypal.me/kicktemp](https://www.paypal.me/kicktemp/) Buy us a Beer by [paypal.me/kicktemp](https://www.paypal.me/kicktemp/)

9 changes: 5 additions & 4 deletions fields/kickdonation.php
Expand Up @@ -3,8 +3,9 @@
* @package Joomla.Plugin * @package Joomla.Plugin
* @subpackage System.kickgdpr * @subpackage System.kickgdpr
* @author Niels Nübel <niels@kicktemp.com> * @author Niels Nübel <niels@kicktemp.com>
* @copyright 2018 Kicktemp UG (haftungsbeschraenkt) * @author Stefan Wendhausen <stefan@kicktemp.com>
* @license GNU/GPLv3 <http://www.gnu.org/licenses/gpl-3.0.de.html> * @copyright Copyright © 2019 Kicktemp UG (haftungsbeschränkt). All rights reserved.
* @license GNU General Public License version 3 or later; see LICENSE.txt
* @link https://kicktemp.com * @link https://kicktemp.com
*/ */


Expand All @@ -13,9 +14,9 @@
use Joomla\Registry\Registry; use Joomla\Registry\Registry;


/** /**
* Form Field class for Kubik-Rubik Joomla! Extensions. * Form Field class for Kicktemp Joomla! Extensions.
* Provides a donation code check. * Provides a donation code check.
* credits Viktor Vogel * credits Viktor Vogel - Rubik Kubik
*/ */
class JFormFieldKickDonation extends JFormField class JFormFieldKickDonation extends JFormField
{ {
Expand Down
11 changes: 6 additions & 5 deletions kickgdpr.php
Expand Up @@ -3,8 +3,9 @@
* @package Joomla.Plugin * @package Joomla.Plugin
* @subpackage System.kickgdpr * @subpackage System.kickgdpr
* @author Niels Nübel <niels@kicktemp.com> * @author Niels Nübel <niels@kicktemp.com>
* @copyright 2018 Kicktemp UG (haftungsbeschraenkt) * @author Stefan Wendhausen <stefan@kicktemp.com>
* @license GNU/GPLv3 <http://www.gnu.org/licenses/gpl-3.0.de.html> * @copyright Copyright © 2019 Kicktemp UG (haftungsbeschränkt). All rights reserved.
* @license GNU General Public License version 3 or later; see LICENSE.txt
* @link https://kicktemp.com * @link https://kicktemp.com
*/ */


Expand Down Expand Up @@ -131,8 +132,8 @@ public function onBeforeCompileHead()


if ($js_css_source === 'cloudflare') if ($js_css_source === 'cloudflare')
{ {
$jssrc = '//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.6/cookieconsent.min.js'; $jssrc = '//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.js';
$csssrc = '//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.6/cookieconsent.min.css'; $csssrc = '//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css';
} }


if ($js_css_source === 'cloudflare' || $js_css_source === 'default') if ($js_css_source === 'cloudflare' || $js_css_source === 'default')
Expand Down Expand Up @@ -229,7 +230,7 @@ public function onBeforeCompileHead()
$js[] = ' "expiryDays": ' . (int) $expiryDays; $js[] = ' "expiryDays": ' . (int) $expiryDays;
$js[] = ' },'; $js[] = ' },';
$js[] = ' "elements": {'; $js[] = ' "elements": {';
$js[] = ' "messagelink": \'<span id="cookieconsent:desc" class="cc-message">{{message}} <a aria-label="learn more about cookies" role=button tabindex="0" class="cc-link" href="' . JText::_($href) . '" target="' . $target . '">{{link}}</a></span>\''; $js[] = ' "messagelink": "<span id=\"cookieconsent:desc\" class=\"cc-message\">{{message}} <a aria-label=\"learn more about cookies\" role=\"button\" tabindex=\"0\" class=\"cc-link\" href=\"' . JText::_($href) . '\" target=\"' . $target . '\">{{link}}</a></span>"';
$js[] = ' },'; $js[] = ' },';
$js[] = ' onInitialise: function (status) {'; $js[] = ' onInitialise: function (status) {';
$js[] = ' handleCookies(status);'; $js[] = ' handleCookies(status);';
Expand Down
13 changes: 7 additions & 6 deletions kickgdpr.xml
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<extension version="3.4" type="plugin" group="system" method="upgrade"> <extension version="3.9" type="plugin" group="system" method="upgrade">
<name>plg_system_kickgdpr</name> <name>plg_system_kickgdpr</name>
<author>Niels Nübel</author> <author>Kicktemp UG (haftungsbeschränkt)</author>
<creationDate>June 2018</creationDate> <creationDate>January 2019</creationDate>
<copyright>(c) 2018 Kicktemp UG (haftungsbeschraenkt). All rights reserved.</copyright> <copyright>Copyright © 2019 Kicktemp UG (haftungsbeschränkt). All rights reserved.</copyright>
<license>GNU General Public License version 3 or later; see LICENSE.txt</license> <license>GNU General Public License version 3 or later; see LICENSE.txt</license>
<authorEmail>hello@kicktemp.com</authorEmail> <authorEmail>hello@kicktemp.com</authorEmail>
<authorUrl>www.kicktemp.com</authorUrl> <authorUrl>https://kicktemp.com</authorUrl>
<version>2.4.0</version> <version>2.5.0</version>
<description>PLG_SYSTEM_KICKGDPR_XML_DESCRIPTION</description> <description>PLG_SYSTEM_KICKGDPR_XML_DESCRIPTION</description>
<files> <files>
<folder>language</folder> <folder>language</folder>
Expand All @@ -17,6 +17,7 @@
<file plugin="kickgdpr">LICENSE.txt</file> <file plugin="kickgdpr">LICENSE.txt</file>
<file plugin="kickgdpr">README.md</file> <file plugin="kickgdpr">README.md</file>
</files> </files>
<scriptfile>kickscript.php</scriptfile>
<media folder="media" destination="plg_system_kickgdpr"> <media folder="media" destination="plg_system_kickgdpr">
<folder>js</folder> <folder>js</folder>
<folder>css</folder> <folder>css</folder>
Expand Down
155 changes: 155 additions & 0 deletions kickscript.php
@@ -0,0 +1,155 @@
<?php
/**
* @package Joomla.Plugin
* @subpackage System.kickgdpr
* @author Niels Nübel <niels@kicktemp.com>
* @author Stefan Wendhausen <stefan@kicktemp.com>
* @copyright Copyright © 2019 Kicktemp UG (haftungsbeschränkt). All rights reserved.
* @license GNU General Public License version 3 or later; see LICENSE.txt
* @link https://kicktemp.com
*/


class PlgSystemKickGDPRInstallerScript
{
private $min_joomla_version = '3.8.0';
private $min_php_version = '7.0';
private $name = 'System Plugin KickGDPR';
private $extname = 'plg_system_kickgdpr';
private $previous_version = '';
private $previous_version_simple = '';
private $dir = null;

public function __construct()
{
$this->dir = __DIR__;
}

public function postflight($route, $installer)
{
$changelog = $this->getChangelog();

JFactory::getApplication()->enqueueMessage($changelog, 'notice');

return true;
}

private function getChangelog()
{
$changelog = file_get_contents($this->dir . '/CHANGELOG.txt');

$changelog = "\n" . trim(preg_replace('#^.* \*/#s', '', $changelog));
$changelog = preg_replace("#\r#s", '', $changelog);

$parts = explode("\n\n", $changelog);

if (empty($parts))
{
return '';
}

$this_version = '';

$changelog = [];

// Add first entry to the changelog
$changelog[] = array_shift($parts);

// Add extra older entries if this is an upgrade based on previous installed version
if ($this->previous_version_simple)
{
if (preg_match('#^[0-9]+-[a-z]+-[0-9]+ : v([0-9\.]+(?:-dev[0-9]+)?)\n#i', trim($changelog[0]), $match))
{
$this_version = $match[1];
}

foreach ($parts as $part)
{
$part = trim($part);

if ( ! preg_match('#^[0-9]+-[a-z]+-[0-9]+ : v([0-9\.]+(?:-dev[0-9]+)?)\n#i', $part, $match))
{
continue;
}

$changelog_version = $match[1];

if (version_compare($changelog_version, $this->previous_version_simple, '<='))
{
break;
}

$changelog[] = $part;
}
}

$changelog = implode("\n\n", $changelog);

// + Added ! Removed ^ Changed # Fixed
$change_types = [
'+' => ['Added', 'success'],
'!' => ['Removed', 'danger'],
'^' => ['Changed', 'warning'],
'#' => ['Fixed', 'info'],
];
foreach ($change_types as $char => $type)
{
$changelog = preg_replace(
'#\n ' . preg_quote($char, '#') . ' #',
"\n" . '<span class="label label-sm label-' . $type[1] . '" title="' . $type[0] . '">' . $char . '</span> ',
$changelog
);
}

$changelog = preg_replace('#see: (https://www\.kicktemp\.com[^ \)]*)#s', '<a href="\1" target="_blank">see documentation</a>', $changelog);

$changelog = preg_replace(
"#(\n+)([0-9]+.*?) : v([0-9\.]+(?:-dev[0-9]+)?)([^\n]*?\n+)#",
'</pre>\1'
. '<h3><span class="label label-inverse" style="font-size: 0.8em;">v\3</span>'
. ' <small>\2</small></h3>'
. '\4<pre>',
$changelog
);

$changelog = str_replace(
[
'<pre>',
'[FREE]',
'[PRO]',
],
[
'<pre style="line-height: 1.6em;">',
'<span class="badge badge-sm badge-success">FREE</span>',
'<span class="badge badge-sm badge-info">PRO</span>',
],
$changelog
);

$changelog = preg_replace(
'#\[J([1-9][\.0-9]*)\]#',
'<span class="badge badge-sm badge-default">J\1</span>',
$changelog
);

$title = 'Latest changes for ' . JText::_($this->name);

if ($this->previous_version_simple && version_compare($this->previous_version_simple, $this_version, '<'))
{
$title .= ' since v' . $this->previous_version_simple;
}

if ($this->previous_version_simple
&& $this->getMajorVersionPart($this->previous_version_simple) < $this->getMajorVersionPart($this_version)
&& ! $this->hasMessagesOfType('warning')
)
{
JFactory::getApplication()->enqueueMessage(JText::sprintf('RLI_MAJOR_UPGRADE', JText::_($this->name)), 'warning');
}

return '<h3>' . $title . ':</h3>'
. '<div style="max-height: 240px; padding-right: 20px; margin-right: -20px; overflow: auto;">'
. $changelog
. '</div>';
}
}
2 changes: 1 addition & 1 deletion language/de-DE/de-DE.plg_system_kickgdpr.ini
Expand Up @@ -87,7 +87,7 @@ PLG_SYSTEM_KICKGDPR_PARAMETER_PIXEL_ID_LABEL="Facebook Pixel ID"
PLG_SYSTEM_KICKGDPR_TAB_CUSTOMCODE="Eigener Tracking-Code" PLG_SYSTEM_KICKGDPR_TAB_CUSTOMCODE="Eigener Tracking-Code"
PLG_SYSTEM_KICKGDPR_TAB_CUSTOMCODE_DESC="Hier kann eigener Code hinterlegt werden, welcher im &lt;HEAD&gt;-Bereich der Webseite ausgegeben wird. Bspw. für MATOMO/PIWIK oder andere Tracking-Tools." PLG_SYSTEM_KICKGDPR_TAB_CUSTOMCODE_DESC="Hier kann eigener Code hinterlegt werden, welcher im &lt;HEAD&gt;-Bereich der Webseite ausgegeben wird. Bspw. für MATOMO/PIWIK oder andere Tracking-Tools."
PLG_SYSTEM_KICKGDPR_TAB_FACEBOOKPIXEL="Facebook Pixel" PLG_SYSTEM_KICKGDPR_TAB_FACEBOOKPIXEL="Facebook Pixel"
PLG_SYSTEM_KICKGDPR_TAB_FACEBOOKPIXEL_DESC="Hierfür ist ein Facebook Pixel notwendig. Informationen zur Einrichtung finden Sie in der <a href="_QQ_"https://www.facebook.com/business/help/1179210765468894"_QQ_" target="_QQ_"_blank"_QQ_">Facebook Hilfe</a>" PLG_SYSTEM_KICKGDPR_TAB_FACEBOOKPIXEL_DESC="Hierfür ist ein Facebook Pixel notwendig. Informationen zur Einrichtung sind in der <a href="_QQ_"https://www.facebook.com/business/help/1179210765468894"_QQ_" target="_QQ_"_blank"_QQ_">Facebook Hilfe</a> zu finden."
PLG_SYSTEM_KICKGDPR_SOURCE_CLOUDFLARE="Cloudflare CDN" PLG_SYSTEM_KICKGDPR_SOURCE_CLOUDFLARE="Cloudflare CDN"
PLG_SYSTEM_KICKGDPR_SOURCE_DEFAULT="Plugin (Standard)" PLG_SYSTEM_KICKGDPR_SOURCE_DEFAULT="Plugin (Standard)"
PLG_SYSTEM_KICKGDPR_SOURCE_CUSTOM="Eigene Quelle" PLG_SYSTEM_KICKGDPR_SOURCE_CUSTOM="Eigene Quelle"
Expand Down
2 changes: 1 addition & 1 deletion language/de-DE/de-DE.plg_system_kickgdpr.sys.ini
@@ -1,2 +1,2 @@
PLG_SYSTEM_KICKGDPR="System - Kick GDPR / DSGVO Cookie-Plugin" PLG_SYSTEM_KICKGDPR="System - Kick GDPR / DSGVO Cookie-Plugin"
PLG_SYSTEM_KICKGDPR_XML_DESCRIPTION="Cookie-Hinweis Plugin basierend auf der Cookie-Consent Lösung zur datenschutzkonformen Cookie-Nutzung inkl. Google Analytics Integration.<br /><br />Du willst das Projekt unterstützen? <a href="_QQ_"https://www.paypal.me/kicktemp/"_QQ_" target="_QQ_"_blank"_QQ_">paypal.me/kicktemp</a>" PLG_SYSTEM_KICKGDPR_XML_DESCRIPTION="Cookie-Hinweis Plugin basierend auf der Cookie-Consent Lösung zur datenschutzkonformen Cookie-Nutzung inkl. Google Analytics, Facebook Pixel und 3rd-Party Integration.<br /><br />Du willst das Projekt unterstützen? <a href="_QQ_"https://www.paypal.me/kicktemp/"_QQ_" target="_QQ_"_blank"_QQ_">paypal.me/kicktemp</a>"
4 changes: 2 additions & 2 deletions language/en-GB/en-GB.plg_system_kickgdpr.ini
Expand Up @@ -88,7 +88,7 @@ PLG_SYSTEM_KICKGDPR_PARAMETER_PIXEL_ID_LABEL="Facebook Pixel ID"
PLG_SYSTEM_KICKGDPR_TAB_CUSTOMCODE="Custom Tracking-Code" PLG_SYSTEM_KICKGDPR_TAB_CUSTOMCODE="Custom Tracking-Code"
PLG_SYSTEM_KICKGDPR_TAB_CUSTOMCODE_DESC="Space for own tracking code which will be rendered in &lt;HEAD&gt;. e.g. MATOMO/PIWIK etc." PLG_SYSTEM_KICKGDPR_TAB_CUSTOMCODE_DESC="Space for own tracking code which will be rendered in &lt;HEAD&gt;. e.g. MATOMO/PIWIK etc."
PLG_SYSTEM_KICKGDPR_TAB_FACEBOOKPIXEL="Facebook Pixel" PLG_SYSTEM_KICKGDPR_TAB_FACEBOOKPIXEL="Facebook Pixel"
PLG_SYSTEM_KICKGDPR_TAB_FACEBOOKPIXEL_DESC="Facebook Pixel needed. Find more at <a href="_QQ_"https://www.facebook.com/business/help/1179210765468894"_QQ_" target="_QQ_"_blank"_QQ_">Facebook Help</a>" PLG_SYSTEM_KICKGDPR_TAB_FACEBOOKPIXEL_DESC="Facebook Pixel needed. Find more at <a href="_QQ_"https://www.facebook.com/business/help/1179210765468894"_QQ_" target="_QQ_"_blank"_QQ_">Facebook Help</a>."
PLG_SYSTEM_KICKGDPR_SOURCE_CLOUDFLARE="Cloudflare CDN" PLG_SYSTEM_KICKGDPR_SOURCE_CLOUDFLARE="Cloudflare CDN"
PLG_SYSTEM_KICKGDPR_SOURCE_DEFAULT="Plugin (Standard)" PLG_SYSTEM_KICKGDPR_SOURCE_DEFAULT="Plugin (Standard)"
PLG_SYSTEM_KICKGDPR_SOURCE_CUSTOM="Own source" PLG_SYSTEM_KICKGDPR_SOURCE_CUSTOM="Own source"
Expand All @@ -105,4 +105,4 @@ PLG_SYSTEM_KICKGDPR_PARAMETER_CUSTOMCSS_LABEL="Custom CSS"
PLG_SYSTEM_KICKGDPR_TAB_CUSTOMCSS="Custom CSS-Style" PLG_SYSTEM_KICKGDPR_TAB_CUSTOMCSS="Custom CSS-Style"
PLG_SYSTEM_KICKGDPR_TAB_CUSTOMCSS_DESC="Space for own CSS-Style which will be rendered in &lt;HEAD&gt;. e.g. z-index <strong>.cc-grower {z-index: 1000;}</strong>" PLG_SYSTEM_KICKGDPR_TAB_CUSTOMCSS_DESC="Space for own CSS-Style which will be rendered in &lt;HEAD&gt;. e.g. z-index <strong>.cc-grower {z-index: 1000;}</strong>"


KICKDONATION="Buy me a Beer?" KICKDONATION="Buy us a Beer?"
2 changes: 1 addition & 1 deletion language/en-GB/en-GB.plg_system_kickgdpr.sys.ini
@@ -1,2 +1,2 @@
PLG_SYSTEM_KICKGDPR="System - Kick GDPR Cookie-Plugin" PLG_SYSTEM_KICKGDPR="System - Kick GDPR Cookie-Plugin"
PLG_SYSTEM_KICKGDPR_XML_DESCRIPTION="Cookie hint plugin based on Cookie Consent. Integrates Google Analytics the easy way.<br /><br />Support the project? Buy me a Beer by <a href="_QQ_"https://www.paypal.me/kicktemp/"_QQ_" target="_QQ_"_blank"_QQ_">paypal.me/kicktemp</a>" PLG_SYSTEM_KICKGDPR_XML_DESCRIPTION="Cookie hint plugin based on Cookie Consent. Integrates Google Analytics, Facebook Pixel and 3rd-Party scripts the easy way.<br /><br />Support the project? Buy me a Beer by <a href="_QQ_"https://www.paypal.me/kicktemp/"_QQ_" target="_QQ_"_blank"_QQ_">paypal.me/kicktemp</a>"

0 comments on commit 83f5eb1

Please sign in to comment.