Announcement

Collapse
No announcement yet.

Cookie Law

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Cookie Law

    Hi
    it would seem i am not compliant with the cookie law, to be honest I would have thought a package would do this as standard, but it does not so there we are, move on.
    I have had a brief search on the web and people seem to want to charge for this code which seems fair and resaonable, however I would still like for free.
    I have searched the forum and found this http://community.sellerdeck.com/showthread.php?t=54692 which seems as though it could be okay but people appear to be commenting it needs a little work, is the better version available.
    So can anyone give me a good source for the code please and maybe some pointers as to implemnting it.
    Regards Steve

    #2
    I've not bothered with my sites.
    if the "big boys" come after you, then say "sorry, didn't realise, I'll fix it" and that'll be that.

    yet another stupid rule that gets in the way of common sense

    Comment


      #3
      We'd recommend looking at:

      https://www.cookiechoices.org/

      There are a couple of simple to implement tools on there that we are using as standard in our latest responsive sites.
      Fergus Weir - teclan ltd
      Ecommerce Digital Marketing

      SellerDeck Responsive Web Design

      SellerDeck Hosting
      SellerDeck Digital Marketing

      Comment


        #4
        Originally posted by Bedspring View Post
        Hi

        So can anyone give me a good source for the code please and maybe some pointers as to implemnting it.
        Regards Steve
        there is not much wrong with the code, I tested it on Sellerdeck 2014 and with some minor mods it works fine

        add the following in the main layout just ahead of the </head> tag

        Code:
        <style type="text/css">
        	/***  Cookie box  ***/
        	#cooktab {
        		position: absolute;
        		top:0px;
        		left:0px;
        		width:100%;
        		height:auto;
        		background:#001833;
        		opacity:.80;
        		-ms-filter: “alpha(opacity=80)”;
        		filter: alpha(opacity=80);
        		-khtml-opacity: .80;
        		-moz-opacity: .80;	
        		font-size:14px;
        		color:#FFFFFF;
        		text-align:	center;
        		z-index:1000;
        	}
        	#cooktab p {
        		font-size:14px;
        	}
        	#cooktab a {color:white; text-decoration:none;}
        	#cooktab a:hover {color:white; text-decoration:underline;}
        	#inwardly {
        		position:relative;
        		height:auto;
        		width:70%;
        		padding:15px;
        		margin-left:auto;
        		margin-right:auto;
        		font-family: Georgia, "Times New Roman", Times, serif;
        	}
        	span.byebye {cursor:pointer;color: #fff; }
        	span:hover.byebye {color: #fff; text-decoration:underline; }
        </style>
        <script type="text/javascript">
        	if (typeof jQuery == 'undefined') {
        		 var script = document.createElement('script');
        		 script.type = "text/javascript";
        		 script.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js";
        		 document.getElementsByTagName('head')[0].appendChild(script);
        	}
        	function createCookie(name,value,days) {
        		if (days) {
        			var date = new Date();
        			date.setTime(date.getTime()+(days*24*60*60*1000));
        			var expires = "; expires="+date.toGMTString();
        		}
        		else var expires = "";
        		document.cookie = name+"="+value+expires+"; path=/";
        	}
        	 
        	function readCookie(name) {
        		var nameEQ = name + "=";
        		var ca = document.cookie.split(';');
        		for(var i=0;i < ca.length;i++) {
        			var c = ca[i];
        			while (c.charAt(0)==' ') c = c.substring(1,c.length);
        			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
        		}
        		return null;
        	}
        	 
        	function eraseCookie(name) {
        		createCookie(name,"",-1);
        	}
        	
        	$(function () {
        		$(".byebye").click(function () {
        		$("#cooktab").fadeOut('slow');
        		});
        	});
        </script>
        this modification tests for jquery already being loaded, which it is in Sellerdeck 2014

        Then just before the </body> tag in the main layout add this
        Code:
        <script>
        	var days = 365;
        	if (readCookie('kooksville')) {
        	} else {
        		document.write("<div id=\"cooktab\">");
        		document.write("<div id=\"inwardly\">");
        		document.write("<p>On 26 May 2011, the rules about cookies on websites changed. This site uses cookies. The Sellerdeck Shopping Cart cookies we use are essential for parts of the site to operate&nbsp;:");
        		document.write(":&nbsp;This site also uses cookies to allow you to use social networking buttons and for us to collect analytics data.<\/p>");
        		document.write("<p><span class=\"byebye\">OK by me<\/span>&nbsp;\/&nbsp;<a href = \"http:\/\/www.ico.org.uk\/for_organisations\/privacy_and_electronic_communications\/the_guide\/cookies\">Get me out of here<\/a>&nbsp;::&nbsp;<a href=\"<actinic:variable name="CatalogURL" />info.html\">Privacy Policy<\/a><\/p>");
        		document.write("<\/div><\/div>");
        		 createCookie('kooksville', 'yes', days);
        	}
        </script>
        again this works for all pages by adding the Sellerdeck variable.

        I put the into two layouts to make it easier to use but this is not necessary.

        Tested in Sellerdeck 2014 V14.0.1

        Malcolm

        SellerDeck Accredited Partner,
        SellerDeck 2016 Extensions, and
        Custom Packages

        Comment


          #5
          Works perfectly on V13 - thank you Malcolm.

          Don't forget to change the <actinic:variable name="CatalogURL" /> to your own privacy page if it's different from Malcolm's info.html.
          Reusable Snore Earplugs : Sample Earplugs - Wax Earplugs - Women's Earplugs - Children's Earplugs - Music Earplugs - Sleep Masks

          Comment


            #6
            Originally posted by completerookie View Post
            I've not bothered with my sites.
            if the "big boys" come after you, then say "sorry, didn't realise, I'll fix it" and that'll be that.

            yet another stupid rule that gets in the way of common sense

            Whist I have sympathy with your sentiments, sadly I do not think it is the way ahead.

            Comment


              #7
              Hi Malcolm,
              thank you for putting the time and effort into this and sharing, I think this is what I will use.
              Regards Steve

              Comment


                #8
                If you're using this on SD 2013 and below, it may be worth putting a BlockIf containing IsNotPreviewMode around both bits of code. These sites don't usually have jQuery loaded and the BlockIf will prevent each page from loading code from http://ajax.googleapis.com/ajax/libs.../jquery.min.js. Loading external resources like this can slow down site building somewhat.

                Also, would that http: call cause security warnings on https pages (maybe you've set the checkout to use https)? You can load jquery via https, which I think would prevent this.
                Norman - www.drillpine.biz
                Edinburgh, U K / Bitez, Turkey

                Comment


                  #9
                  If the law requires users to be made aware that a site is using cookies, and Sellerdeck uses cookies, then why isnt this feature built into Sellerdeck?
                  Arka Tribal Jewellery

                  Comment


                    #10
                    Probably because:

                    a) it's easily added
                    b) There are many different ways to do it
                    c) This is a European requirement and sellerdeck also addresses international markets where this isn't necessary.
                    -----------------------------------------

                    First Tackle - Fly Fishing and Game Angling

                    -----------------------------------------

                    Comment


                      #11
                      a/ if its easy to do it then Sellerdeck should do it.
                      b/ there are many ways to do anything.
                      c/ its quite easy to make it optional for EU or USA with a tickbox!

                      an 'out of the box' solution should be legal 'out of the box' in my opinion.
                      Arka Tribal Jewellery

                      Comment


                        #12
                        A really handy bit of code, thanks to those who have contributed to it, I made a couple of changes, the first was to add the script:

                        Code:
                        <script>
                        	var days = 365;
                        	if (readCookie('kooksville')) {
                        	} else {
                        		document.write("<div id=\"cooktab\">");
                        		document.write("<div id=\"inwardly\">");
                        		document.write("<p>On 26 May 2011, the rules about cookies on websites changed. This site uses cookies. The Sellerdeck Shopping Cart cookies we use are essential for parts of the site to operate&nbsp;:");
                        		document.write(":&nbsp;This site also uses cookies to allow you to use social networking buttons and for us to collect analytics data.<\/p>");
                        		document.write("<p><span class=\"byebye\">OK by me<\/span>&nbsp;\/&nbsp;<a href = \"http:\/\/www.ico.org.uk\/for_organisations\/privacy_and_electronic_communications\/the_guide\/cookies\">Get me out of here<\/a>&nbsp;::&nbsp;<a href=\"<actinic:variable name="CatalogURL" />info.html\">Privacy Policy<\/a><\/p>");
                        		document.write("<\/div><\/div>");
                        		 createCookie('kooksville', 'yes', days);
                        	}
                        </script>
                        Just under the opening <body> tag

                        Then changed the #cooktab position to static instead of absolute, finally the last section of script code I changed this:

                        Code:
                        $(function () {
                        		$(".byebye").click(function () {
                        		$("#cooktab").fadeOut('slow');
                        		});
                        to this:

                        Code:
                        $(function () {
                        		$(".byebye").click(function () {
                        		$("#cooktab").slideUp(300);
                        		});
                        The original message floated over the page content, this is not a problem as most people just click to get rid of it anyway, but I wanted it to push down from the top of the page so that's what the above changes do if anyone else wants it that way.
                        Many Thanks
                        Lee
                        www.mdnsupplies.co.uk
                        www.hookandloopfasteners.co.uk

                        Comment


                          #13
                          Thanks, I'd like to use this code as it is on this post,

                          I am on V14 with Jquery already loaded
                          Can someone tell me/strip out the 'modification' code that checks for or loads Jquery as its not needed.
                          Arka Tribal Jewellery

                          Comment


                            #14
                            Originally posted by feemish View Post
                            Thanks, I'd like to use this code as it is on this post,

                            I am on V14 with Jquery already loaded
                            Can someone tell me/strip out the 'modification' code that checks for or loads Jquery as its not needed.
                            The code is fine as it is, as it checks to see if jquery is already loaded and if it is it doesn't load it again. Just make sure this code is placed after the main layout in the header that loads jquery.

                            Malcolm

                            SellerDeck Accredited Partner,
                            SellerDeck 2016 Extensions, and
                            Custom Packages

                            Comment


                              #15
                              Cookie Names

                              This is may be fine but my understanding is that if cookies are used, then they should be identified by Name, Description & Expiry duration including the "Cookie Consent" message display duration or am I missing something here?
                              Can Sellerdeck provide further guidance and advice on this point for the cookies utilised within the software?
                              My view is that this should be incorporated within company website Cookie Policy Statements
                              Martin
                              Mantra Audio
                              Martin
                              Mantra Audio

                              Comment

                              Working...
                              X