From 76b4eae177e8932f7c0ad0fb4feb702fa5e037e7 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 20 Mar 2006 17:53:11 +0100 Subject: [PATCH] some UI frontend cookies respect session cookie lifetime, misc cookie cleanups (closes #52) --- backend.php | 2 +- feedlist.js | 4 ++-- functions.js | 25 ++++++++++++++++++++++++- login.php | 11 ++++++++++- tt-rss.js | 5 +++++ 5 files changed, 42 insertions(+), 5 deletions(-) diff --git a/backend.php b/backend.php index b83ea449..0d65c1ce 100644 --- a/backend.php +++ b/backend.php @@ -102,7 +102,7 @@ $fetch = $_GET["fetch"]; - setcookie("ttrss_icons_url", ICONS_URL); +// setcookie("ttrss_icons_url", ICONS_URL); if (!sanity_check($link)) { return; } diff --git a/feedlist.js b/feedlist.js index 1be1020c..6224e9ce 100644 --- a/feedlist.js +++ b/feedlist.js @@ -65,7 +65,7 @@ function viewfeed(feed, skip, subop, doc, is_cat) { view_mode = "All Posts"; } - setCookie("ttrss_vf_vmode", view_mode); + setCookie("ttrss_vf_vmode", view_mode, getCookie("ttrss_cltime")); var limitbox = doc.getElementById("limitbox"); @@ -73,7 +73,7 @@ function viewfeed(feed, skip, subop, doc, is_cat) { if (limitbox) { limit = limitbox[limitbox.selectedIndex].text; - setCookie("ttrss_vf_limit", limit); + setCookie("ttrss_vf_limit", limit, getCookie("ttrss_cltime")); } else { limit = "All"; } diff --git a/functions.js b/functions.js index 1d45b1cb..e016d8c8 100644 --- a/functions.js +++ b/functions.js @@ -267,7 +267,20 @@ function getFeedIds() { return rows; } -function setCookie(name, value, expires, path, domain, secure) { +function setCookie(name, value, lifetime, path, domain, secure) { + + var d = false; + + if (lifetime) { + d = new Date(); + d.setTime(lifetime * 1000); + } + + int_setCookie(name, value, d, path, domain, secure); + +} + +function int_setCookie(name, value, expires, path, domain, secure) { document.cookie= name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + @@ -275,6 +288,16 @@ function setCookie(name, value, expires, path, domain, secure) { ((secure) ? "; secure" : ""); } +function delCookie(name, path, domain) { + if (getCookie(name)) { + document.cookie = name + "=" + + ((path) ? ";path=" + path : "") + + ((domain) ? ";domain=" + domain : "" ) + + ";expires=Thu, 01-Jan-1970 00:00:01 GMT"; + } +} + + function getCookie(name) { var dc = document.cookie; diff --git a/login.php b/login.php index 733be8c9..06b95353 100644 --- a/login.php +++ b/login.php @@ -41,7 +41,16 @@ if (authenticate_user($link, $login, $password)) { initialize_user_prefs($link, $_SESSION["uid"]); - + + if ($_POST["remember_me"]) { + $_SESSION["cookie_lifetime"] = time() + SESSION_COOKIE_LIFETIME_REMEMBER; + } else { + $_SESSION["cookie_lifetime"] = time() + SESSION_COOKIE_LIFETIME; + } + + setcookie("ttrss_cltime", $_SESSION["cookie_lifetime"], + $_SESSION["cookie_lifetime"]); + if (!$return_to) { $return_to = "tt-rss.php"; } diff --git a/tt-rss.js b/tt-rss.js index 7648b8e1..7958291f 100644 --- a/tt-rss.js +++ b/tt-rss.js @@ -9,6 +9,7 @@ var daemon_enabled = false; var _qfd_deleted_feed = 0; var firsttime_update = true; var last_refetch = 0; +var cookie_lifetime = 0; /*@cc_on @*/ /*@if (@_jscript_version >= 5) @@ -438,6 +439,10 @@ function init_second_stage() { try { + cookie_lifetime = getCookie("ttrss_cltime"); + + delCookie("ttrss_vf_test"); + setCookie("ttrss_vf_actfeed", ""); updateFeedList(false, false); -- 2.39.5