eibiflo / cf_cookiemanager Goto Github PK
View Code? Open in Web Editor NEWSimple Typo3 Cookie Manager
License: GNU General Public License v2.0
Simple Typo3 Cookie Manager
License: GNU General Public License v2.0
contrary to a system with typo3 v11 and cf_cookiemanager v1.4.4 the translation of buttons and text on embedded videos (vimeo) does not work in a new installation with typo3 v12 and cf_cookiemanager v1.6. these are always displayed in German. configuration is the same as in the working example except it is a multidomain installation with .com is handling the EN-pages and .de the German version.
can you retrace the issue?
Hi,
is it possible to deactivate the modal for a page like the data protection or imprint?
Hi, I get an js-error:
Uncaught TypeError: user_config.languages[lang] is undefined
_createConsentModal http://DOMAIN.TLD/_assets/0495dc5aa206d96a6c2bfbe3dbb13f6d/JavaScript/thirdparty/consent.js?1696231373:442
_createCookieConsentHTML http://DOMAIN.TLD/_assets/0495dc5aa206d96a6c2bfbe3dbb13f6d/JavaScript/thirdparty/consent.js?1696231373:1096
run http://DOMAIN.TLD/_assets/0495dc5aa206d96a6c2bfbe3dbb13f6d/JavaScript/thirdparty/consent.js?1696231373:1694
http://DOMAIN.TLD/#:2286
EventListener.handleEvent* http://DOMAIN.TLD/#:2196
I use the latest Version in Composer-Mode in TYPO3 V12
The site-configuration is "DE" . I have the following debug-log:
CookieConsent [CONFIG]: received_config_settings
Object { languages: {…}, onAccept: onAccept(), onChange: onChange(cookie, changed_preferences)
}
consent.js:192:12
CookieConsent [LANG]: auto_language strategy is 'null' consent.js:256:21
CookieConsent _config.current_lang en consent.js:259:12
Why is "_config.current_lang" = "en" and not "de"? In the backendconfiguration of cf_cookiemanager the language is set to "de"
Please help.
Jacques
Hi,
First of all, thanks for the great extension. I am currently preparing everything for my site, but unfortunately you use an eval-function in the JS, which undermines the concept of a content security policy.
As a workaround I have allowed "unsafe-eval", but you shouldn't actually do that, otherwise you can omit the CSP:
new Mutation( MutationMode::Extend, Directive::ScriptSrc, SourceKeyword::unsafeEval, ),
I don't know exactly why you need this eval function in js, but is there any way to avoid it? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval?retiredLocale=de#never_use_eval!
The code is from vendor/codingfreaks/cf-cookiemanager/Classes/Utility/JavaScriptObfuscator.php:131
Thank you :)
Hi,
thanks for the great extension. In version 1.4.1 you have removed the "updateScan" method from the repository. This leads to a 503 error message when clicking on the "start a new scan" button:
'The method "updateScan" is not supported by the repository'
In my case, I simply copied the method back into the repository. The backend of the extension can now be used again.
I use TYPO3 11.5.32 with version 1.4.1
Greetings
Jacques
Hi,
If select a internal page at Dsgvo Link in the backend Cookies settings, it does not become a link in the frontend but writes directly t3://page?uid=20 and target _blank although nothing was selected at Target.
<a target="_blank" href="t3://page?uid=20">Provider</a>
It would be more flexible to insert the target only when selected.
I looked into the linked Repo but couldn't find the file. Maybe newer versions fixed this? Or could you else just delete this line?
Thanks for all your effort.
If the "Iframe Load this frame button" is filled, but the "Iframe Load all from the same service button" is not filled, the second button is displayed without content.
It Should be possible to add a check there, if empty, so that the button should not be displayed at all?
See:
It is currently unclear under which license the code was released. In the readme the MIT
license is mentioned. In the composer.json GPL-2.0-or-later
.
Please add a LICENSE.txt
for clarification.
Can you extend queries for API insert so that modal layout, transition, position etc. can also be set by the API.
$frontendModel->setLayoutConsentModal("cloud");
$frontendModel->setTransitionConsentModal("slide");
$frontendModel->setPositionConsentModal("bottom center");
$frontendModel->setLayoutSettings("box");
$frontendModel->setTransitionSettings("slide");
It would be nice to show a preview image instead of the black background until the user has given consent to Youtube, Vimeo etc.
Resources/Private/Templates/CookieFrontend/List.html
Line 14 (the button code) doesn't have an href nor a title, and for these reasons gets a low score in PageSpeed
Adding just the following to the tag fixes it
href="#" title="cookie consent"
We have the requirement to show a list of all cookies on the data protection page. Do you deliver a plugin for that function? Or is there any simple solution for that?
Adapting the isHTML function to a more elegant version that only overrides content with HTML tags containing iframe and script.
The current issue is that it processes every HTML content and removes HTML entities, turning "&"
automatically into "&" which causes an error in the sitemap, for example.
The problem doesn't occur when only legitimate content is processed.
To temporarily fix the issue, you need to install version 1.3.1 because version 1.3.2 contains this bug.
@eibiflo write a Unit Test case for such a stuff.
The integration of the cf_cookiemanager typo3 dashboard widget "accept types" throws an error.
Uncaught TYPO3 Exception: #1257246929: Tried resolving a template file for controller action "Standard->widget/ChartWidget" in format ".html", but none of the paths contained the expected template file (Standard/Widget/ChartWidget.html). No paths configured. | TYPO3Fluid\Fluid\View\Exception\InvalidTemplateResourceException thrown in file /html/typo3-composer/vendor/typo3fluid/fluid/src/View/TemplatePaths.php in line 595. Requested URL: https://xxx.de/typo3/ajax/dashboard/widget/content?token=--AnonymizedToken--&widget=consentTrackingDonutAcceptTypes
typo3 v11.latest
An Valid HTML input Document gets Saved by the PHP HTML DomDocument and loses the DocType.
https://github.com/eibiflo/cf_cookiemanager/blob/main/Classes/Utility/RenderUtility.php#L185
This issue is related to #17.
Currently investigating...
When some Cookie Services are hidden, the objects aren't hidden in editing mode.
There comes an exception:
PHP Warning: Undefined array key 1 in /var/www/vhosts/httpdocs/typo3conf/ext/cf_cookiemanager/Classes/Utility/HelperUtility.php line 92
TYPO3 version 12.4.10
cf_cookiemanager version 1.4.3
PHP version: 8.2.14
Classic mode (no composer)
Is it possible to hide the modal box? I want to use the Cookie Manager to load external content (iFrames, scripts). It's enough here to just disable the corresponding elements if they are on a page.
Thanks
Stephan
Hi,
I try to test your extension and load version 1.0.3
In backendmodul the template could not be loaded:
The Fluid template files "/xxx/typo3conf/ext/cf_cookiemanager/Resources/Private/Backend/Partials/BackendTabs/home.html.html", "/xxx/typo3conf/ext/cf_cookiemanager/Resources/Private/Backend/Partials/BackendTabs/home.html", "/xxx/typo3conf/ext/cf_cookiemanager/Resources/Private/Partials/BackendTabs/home.html.html", "/xxx/typo3conf/ext/cf_cookiemanager/Resources/Private/Partials/BackendTabs/home.html" could not be loaded.
Is it possible to delete all cookies, but the cf_cookie after Decline all (Alle ablehnen).
On your website it doesn't seem to be so: https://coding-freaks.com/
the second return should be false am i right?
TODO @eibiflo Write a Unit Test for (data-script-blocking-disabled="true")
Check the current implementation of (data-script-blocking-disabled="true") looks broken.
Hello,
Thanks for the extension!
Is there a way I can trick the scanner into thinking it has done the scan so I can import some cookies?
It seems the hosting provider my client uses has blacked the IP of your scanner, however I can run a scan via your website (https://cookieapi.coding-freaks.com/scan) on the sitemap.xml
which passes. It would be great if I could use this JSON rather than needing the initial scan to be done via the module.
Thanks
This Example Code
<source srcset="{f:uri.image(image: file, fileExtension: 'webp', cropVariant: 'desktop')}" media="(min-width: 2560px)" type="image/webp">
<source srcset="{f:uri.image(image: file, fileExtension: 'jpg', cropVariant: 'desktop')}" media="(min-width: 2560px)" type="{file.mimeType}">
<source srcset="{f:uri.image(image: file, maxWidth: '{w2560}', fileExtension: 'webp', cropVariant: 'desktop')}" media="(min-width: 1920px)" type="image/webp">
<source srcset="{f:uri.image(image: file, maxWidth: '{w2560}', fileExtension: 'jpg', cropVariant: 'desktop')}" media="(min-width: 1920px)" type="{file.mimeType}">
<source srcset="{f:uri.image(image: file, maxWidth: '{w1920}', fileExtension: 'webp', cropVariant: 'desktop')}" media="(min-width: 1600px)" type="image/webp">
<source srcset="{f:uri.image(image: file, maxWidth: '{w1920}', fileExtension: 'jpg', cropVariant: 'desktop')}" media="(min-width: 1600px)" type="{file.mimeType}">
But the Raw OutPut looks Invalid:
Looks like a Problem with HTML-DomDocument - Need to check
It would make sense to add TYPO3 own cookies and create addTypo3ToRequired function to add TYOP3 Cookies to require category?
{
"id": 67,
"created_at": null,
"updated_at": null,
"domain": null,
"http_only": 0,
"is_regex": 0,
"name": "fe_typo_user",
"service_identifier": "typo3",
"path": "/",
"secure": 0,
"description": "This is used for session ID identification.",
"description_de": "Dies wird zur Identifizierung der Session-ID verwendet.",
"expiry": 0
},
{
"id": 68,
"created_at": null,
"updated_at": null,
"domain": null,
"http_only": 0,
"is_regex": 0,
"name": "be_typo_user",
"service_identifier": "typo3",
"path": "/",
"secure": 0,
"description": "When a back-end user logs in to the front-end or back-end of TYPO3, it is used to identify the back-end session.",
"description_de": "Wenn sich ein Back-End-Benutzer am Front-End oder Back-End von TYPO3 anmeldet, wird es verwendet, um die Back-End-Sitzung zu identifizieren.",
"expiry": 0
},
{
"id": 69,
"created_at": null,
"updated_at": null,
"domain": null,
"http_only": 0,
"is_regex": 0,
"name": "Typo3InstallTool",
"service_identifier": "typo3",
"path": "/",
"secure": 0,
"description": "Used to verify the session for system maintenance.",
"description_de": "Wird verwendet, um die Sitzung für die Systemwartung zu überprüfen.",
"expiry": 0
},
{
"id": 70,
"created_at": null,
"updated_at": null,
"domain": null,
"http_only": 0,
"is_regex": 0,
"name": "be_lastLoginProvider",
"service_identifier": "typo3",
"path": "/",
"secure": 0,
"description": "The cookie contains the key of the Typo3 backend login provider used.",
"description_de": "Das cookie enthält den Schlüssel des verwendeten Typo3-Backend-Anmeldeanbieters.",
"expiry": 0
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.