From 668687c33aaff623f85e93313d0175ab5bb1b120 Mon Sep 17 00:00:00 2001 From: Jay Wood Date: Sat, 5 Sep 2015 20:41:32 -0400 Subject: [PATCH] Cookies should use the session Fixes #29 --- js/cwv3.js | 21 +++++++++++++++++---- js/cwv3.min.js | 2 +- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/js/cwv3.js b/js/cwv3.js index c9f69d8..288ce2c 100644 --- a/js/cwv3.js +++ b/js/cwv3.js @@ -100,10 +100,23 @@ window.cwv3 = ( function( window, document, $ ){ app.set_cookie = function( method ){ // Set the cookie method = method === 'exit' ? 'denied' : true; - $.cookie( app.cookie_name, method, { + var cookie_data = { expires : parseInt( cwv3_params.cookie_time ), path : cwv3_params.cookie_path, - }); + }; + + // Should work with sessions + if ( 0 === cookie_data.expires ) { + cookie_data.expires = null; + } + + $.cookie( app.cookie_name, method, cookie_data ); + }; + + app.log = function() { + if ( window.console ) { + window.console.log( Array.prototype.slice.call( arguments ) ); + } }; app.close_handler = function(){ @@ -113,9 +126,9 @@ window.cwv3 = ( function( window, document, $ ){ }; app.dialog_switch = function(){ - if( 'denied' === app.cookie_data && '' !== cwv3_params.denial_enabled ){ + if( 'denied' === app.cookie_data ){ app.$auth.remove(); // Remove the main dialog - if( 'redirect' === cwv3_params.denial_method ){ + if( 'redirect' === cwv3_params.denial_method && '' !== cwv3_params.denial_enabled ){ window.location.replace( app.redirect_url ); } else { app.show_popup(); diff --git a/js/cwv3.min.js b/js/cwv3.min.js index 06c4c2c..48c32e7 100644 --- a/js/cwv3.min.js +++ b/js/cwv3.min.js @@ -1 +1 @@ -window.cwv3=function(window,document,$){var app={};return app.cache=function(){app.$dialog=$(".cwv3_dialog"),app.$content=app.$dialog.find(".cwv3_content"),app.$auth=app.$dialog.find(".cwv3.auth"),app.$denial=app.$dialog.find(".cwv3.denied"),app.$exit=app.$dialog.find(".cwv3_exit"),app.$enter=app.$dialog.find(".cwv3_enter"),app.$buttons=app.$dialog.find(".cwv3_btns"),app.$title=app.$dialog.find(".cwv3_title"),app.$overlay=$(".cwv3.dialog-overlay"),app.cookie_name=""!==cwv3_params.cookie_name?"cwv3_cookie_"+cwv3_params.cookie_name:!1,app.redirect_url=""===cwv3_params.redirect_url||"#"===cwv3_params.redirect_url?"http://google.com":cwv3_params.redirect_url,app.cookie_data=$.cookie(app.cookie_name),app.diag={max_percent_width:50,max_percent_height:50},app.timeout=""},app.init=function(){app.cache(),$("body").on("click",".cwv3_enter",app.enter_handler),$("body").on("click",".cwv3_exit",app.exit_handler),$(window).resize(function(){clearTimeout(app.timeout),app.timeout=setTimeout(app.center_dialog,500)}),app.cookie_name&&app.dialog_switch()},app.center_dialog=function(){app.$content.css({height:""});var diag={x:app.$dialog.width(),y:app.$dialog.height()},vp={x:window.innerWidth,y:window.innerHeight},diag_pos={left:.5*(vp.x-diag.x),top:.5*(vp.y-diag.y)},content_height=app.$dialog.height()-10-app.$buttons.outerHeight(!0)-app.$title.outerHeight(!0);app.$content.animate({height:content_height},250,"swing",function(){app.$dialog.animate(diag_pos,250,"swing",app.cache)})},app.enter_handler=function(evt){evt.preventDefault(),app.set_cookie("enter");var $enter_url=app.$enter.find("a").attr("href");"#"===$enter_url||""===$enter_url?app.close_handler():window.location.replace($enter_url)},app.exit_handler=function(evt){evt.preventDefault(),"denied"!==app.cookie_data&&app.set_cookie("exit");var $exit_url=app.$exit.find("a").attr("href");"#"===$exit_url||""===$exit_url?window.location.replace("http://google.com"):window.location.replace($exit_url)},app.set_cookie=function(method){method="exit"===method?"denied":!0,$.cookie(app.cookie_name,method,{expires:parseInt(cwv3_params.cookie_time),path:cwv3_params.cookie_path})},app.close_handler=function(){app.$dialog.fadeOut(100,function(){app.$overlay.fadeOut(100)})},app.dialog_switch=function(){"denied"===app.cookie_data&&""!==cwv3_params.denial_enabled?(app.$auth.remove(),"redirect"===cwv3_params.denial_method?window.location.replace(app.redirect_url):app.show_popup()):void 0===app.cookie_data&&(app.$denial.remove(),app.show_popup())},app.show_popup=function(){app.$overlay.fadeIn(200,function(){app.$dialog.fadeIn(100,function(){app.center_dialog()})})},$(document).ready(app.init),app}(window,document,jQuery); \ No newline at end of file +window.cwv3=function(window,document,$){var app={};return app.cache=function(){app.$dialog=$(".cwv3_dialog"),app.$content=app.$dialog.find(".cwv3_content"),app.$auth=app.$dialog.find(".cwv3.auth"),app.$denial=app.$dialog.find(".cwv3.denied"),app.$exit=app.$dialog.find(".cwv3_exit"),app.$enter=app.$dialog.find(".cwv3_enter"),app.$buttons=app.$dialog.find(".cwv3_btns"),app.$title=app.$dialog.find(".cwv3_title"),app.$overlay=$(".cwv3.dialog-overlay"),app.cookie_name=""!==cwv3_params.cookie_name?"cwv3_cookie_"+cwv3_params.cookie_name:!1,app.redirect_url=""===cwv3_params.redirect_url||"#"===cwv3_params.redirect_url?"http://google.com":cwv3_params.redirect_url,app.cookie_data=$.cookie(app.cookie_name),app.diag={max_percent_width:50,max_percent_height:50},app.timeout=""},app.init=function(){app.cache(),$("body").on("click",".cwv3_enter",app.enter_handler),$("body").on("click",".cwv3_exit",app.exit_handler),$(window).resize(function(){clearTimeout(app.timeout),app.timeout=setTimeout(app.center_dialog,500)}),app.cookie_name&&app.dialog_switch()},app.center_dialog=function(){app.$content.css({height:""});var diag={x:app.$dialog.width(),y:app.$dialog.height()},vp={x:window.innerWidth,y:window.innerHeight},diag_pos={left:.5*(vp.x-diag.x),top:.5*(vp.y-diag.y)},content_height=app.$dialog.height()-10-app.$buttons.outerHeight(!0)-app.$title.outerHeight(!0);app.$content.animate({height:content_height},250,"swing",function(){app.$dialog.animate(diag_pos,250,"swing",app.cache)})},app.enter_handler=function(evt){evt.preventDefault(),app.set_cookie("enter");var $enter_url=app.$enter.find("a").attr("href");"#"===$enter_url||""===$enter_url?app.close_handler():window.location.replace($enter_url)},app.exit_handler=function(evt){evt.preventDefault(),"denied"!==app.cookie_data&&app.set_cookie("exit");var $exit_url=app.$exit.find("a").attr("href");"#"===$exit_url||""===$exit_url?window.location.replace("http://google.com"):window.location.replace($exit_url)},app.set_cookie=function(method){method="exit"===method?"denied":!0;var cookie_data={expires:parseInt(cwv3_params.cookie_time),path:cwv3_params.cookie_path};0===cookie_data.expires&&(cookie_data.expires=null),$.cookie(app.cookie_name,method,cookie_data)},app.log=function(){window.console&&window.console.log(Array.prototype.slice.call(arguments))},app.close_handler=function(){app.$dialog.fadeOut(100,function(){app.$overlay.fadeOut(100)})},app.dialog_switch=function(){"denied"===app.cookie_data?(app.$auth.remove(),"redirect"===cwv3_params.denial_method&&""!==cwv3_params.denial_enabled?window.location.replace(app.redirect_url):app.show_popup()):void 0===app.cookie_data&&(app.$denial.remove(),app.show_popup())},app.show_popup=function(){app.$overlay.fadeIn(200,function(){app.$dialog.fadeIn(100,function(){app.center_dialog()})})},$(document).ready(app.init),app}(window,document,jQuery); \ No newline at end of file