`) and attach `cookieNotice.tar.gz`. diff --git a/cookieNotice/CookieNoticePlugin.inc.php b/cookieNotice/CookieNoticePlugin.inc.php new file mode 100644 index 0000000..0cd848d --- /dev/null +++ b/cookieNotice/CookieNoticePlugin.inc.php @@ -0,0 +1,47 @@ +getEnabled()) { + $request = Application::get()->getRequest(); + $templateMgr = TemplateManager::getManager($request); + $templateMgr->addStyleSheet( + 'cookieNoticeStyles', + $request->getBaseUrl() . '/' . $this->getPluginPath() . '/css/cookieNotice.css', + ['context' => ['backend', 'frontend']] + ); + $templateMgr->addJavaScript( + 'cookieNoticeScript', + $request->getBaseUrl() . '/' . $this->getPluginPath() . '/js/cookieNotice.js', + ['context' => ['backend', 'frontend']] + ); + } + + return $success; + } + + public function getDisplayName() { + return __('plugins.generic.cookieNotice.displayName'); + } + + public function getDescription() { + return __('plugins.generic.cookieNotice.description'); + } + + public function isSitePlugin() { + return true; + } + + // Can only be activated at site level. + function getCanEnable() { + return !((bool) Application::get()->getRequest()->getContext()); + } + + // Can only be deactivated at site level. + function getCanDisable() { + return !((bool) Application::get()->getRequest()->getContext()); + } +} diff --git a/cookieNotice/css/cookieNotice.css b/cookieNotice/css/cookieNotice.css new file mode 100644 index 0000000..c28ceec --- /dev/null +++ b/cookieNotice/css/cookieNotice.css @@ -0,0 +1,7 @@ +#cookie-notice button { + text-transform: none; +} + +.cookie-notice-hidden { + display: none; +} \ No newline at end of file diff --git a/cookieNotice/index.php b/cookieNotice/index.php new file mode 100644 index 0000000..94dd10c --- /dev/null +++ b/cookieNotice/index.php @@ -0,0 +1,4 @@ + item.trim().startsWith('cookieNotice='))) { + const confirmationHtml = ` +
+ `; + document.body.insertAdjacentHTML('afterbegin', confirmationHtml); + document.getElementById('cookie-notice-confirmation').addEventListener('click', function() { + document.cookie = `cookieNotice=1; max-age=${60*60*24*cookieDurationDays}`; + document.getElementById('cookie-notice').classList.add('cookie-notice-hidden'); + }); + } +}); \ No newline at end of file diff --git a/cookieNotice/locale/en_US/locale.po b/cookieNotice/locale/en_US/locale.po new file mode 100644 index 0000000..8c0db31 --- /dev/null +++ b/cookieNotice/locale/en_US/locale.po @@ -0,0 +1,5 @@ +msgid "plugins.generic.cookieNotice.displayName" +msgstr "Cookie Notice Plugin" + +msgid "plugins.generic.cookieNotice.description" +msgstr "Turns on a site-wide cookie notice." diff --git a/cookieNotice/locale/sv_SE/locale.po b/cookieNotice/locale/sv_SE/locale.po new file mode 100644 index 0000000..d8d68bd --- /dev/null +++ b/cookieNotice/locale/sv_SE/locale.po @@ -0,0 +1,5 @@ +msgid "plugins.generic.cookieNotice.displayName" +msgstr "Cookie-notifieringsplugin" + +msgid "plugins.generic.cookieNotice.description" +msgstr "Informerar besökare om att cookies används." diff --git a/cookieNotice/version.xml b/cookieNotice/version.xml new file mode 100644 index 0000000..c22feea --- /dev/null +++ b/cookieNotice/version.xml @@ -0,0 +1,11 @@ + + +