Skip to content

Commit a0466c4

Browse files
committed
Add cookie expiration
1 parent 3008681 commit a0466c4

3 files changed

Lines changed: 54 additions & 4 deletions

File tree

_sources/recipes.rst.txt

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,13 @@ Available data packages
4343
<p><center><small> NOTE: A <b>GGD Channel selection</b> is required before a <b>Species</b> selection and a <b>Species</b> selection is required before a <b>Genome Build</b> selection </small></center></p>
4444
</div>
4545
</div>
46+
<hr>
4647
<div class="row pt-3">
4748
<div class="col-12">
4849
<table id="recipe_table"></table>
4950
</div>
5051
</div>
52+
<hr>
5153
</div>
5254
</body>
5355

@@ -188,11 +190,15 @@ Available data packages
188190
*/
189191
190192
//Set local cookie info
191-
function setCookie() {
193+
function setCookie(extraMinutes = 5) {
194+
195+
var d = new Date();
196+
d.setTime(d.getTime() + (extraMinutes * 60 * 1000))
192197
193198
document.cookie = "channel = " + cur_channel + ";"
194199
document.cookie = "species = " + cur_species + ";"
195200
document.cookie = "build = " + cur_build + ";"
201+
document.cookie = "expires = " + d.toUTCString() + ";"
196202
}
197203
198204
//Unset local cookie info
@@ -202,14 +208,17 @@ Available data packages
202208
document.cookie = "species = " + "None" + ";"
203209
document.cookie = "build = " + "None" + ";"
204210
205-
console.log(document.cookie)
206211
}
207212
208213
//Get Cookie info and update page
209214
function getCookie() {
210215
216+
var d = new Date();
217+
d.setTime(d.getTime())
218+
211219
var cookieElements = document.cookie.split(";")
212220
221+
let unset = false
213222
cookieElements.forEach(item => {
214223
215224
if (item.split("=")[0].trim() == "channel") {
@@ -218,10 +227,26 @@ Available data packages
218227
cur_species = item.split("=")[1]
219228
} else if (item.split("=")[0].trim() == "build") {
220229
cur_build = item.split("=")[1]
230+
} else if (item.split("=")[0].trim() == "expires") {
231+
//Check if the cookie has expired
232+
if (d.toUTCString() > item.split("=")[1]) {
233+
unset = true
234+
}
221235
222236
}
223237
});
224238
239+
//If cookie is expired, unset cookie info
240+
if (unset == true) {
241+
242+
cur_channel = "None"
243+
cur_species = "None"
244+
cur_build = "None"
245+
246+
unsetCookie()
247+
248+
}
249+
225250
//Add Channel Selection options
226251
add_channel_selection()
227252
add_species_selector()

objects.inv

0 Bytes
Binary file not shown.

recipes.html

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,11 +122,13 @@ <h3 id="searchlabel">Quick search</h3>
122122
<p><center><small> NOTE: A <b>GGD Channel selection</b> is required before a <b>Species</b> selection and a <b>Species</b> selection is required before a <b>Genome Build</b> selection </small></center></p>
123123
</div>
124124
</div>
125+
<hr>
125126
<div class="row pt-3">
126127
<div class="col-12">
127128
<table id="recipe_table"></table>
128129
</div>
129130
</div>
131+
<hr>
130132
</div>
131133
</body>
132134

@@ -267,11 +269,15 @@ <h3 id="searchlabel">Quick search</h3>
267269
*/
268270

269271
//Set local cookie info
270-
function setCookie() {
272+
function setCookie(extraMinutes = 5) {
273+
274+
var d = new Date();
275+
d.setTime(d.getTime() + (extraMinutes * 60 * 1000))
271276

272277
document.cookie = "channel = " + cur_channel + ";"
273278
document.cookie = "species = " + cur_species + ";"
274279
document.cookie = "build = " + cur_build + ";"
280+
document.cookie = "expires = " + d.toUTCString() + ";"
275281
}
276282

277283
//Unset local cookie info
@@ -281,14 +287,17 @@ <h3 id="searchlabel">Quick search</h3>
281287
document.cookie = "species = " + "None" + ";"
282288
document.cookie = "build = " + "None" + ";"
283289

284-
console.log(document.cookie)
285290
}
286291

287292
//Get Cookie info and update page
288293
function getCookie() {
289294

295+
var d = new Date();
296+
d.setTime(d.getTime())
297+
290298
var cookieElements = document.cookie.split(";")
291299

300+
let unset = false
292301
cookieElements.forEach(item => {
293302

294303
if (item.split("=")[0].trim() == "channel") {
@@ -297,10 +306,26 @@ <h3 id="searchlabel">Quick search</h3>
297306
cur_species = item.split("=")[1]
298307
} else if (item.split("=")[0].trim() == "build") {
299308
cur_build = item.split("=")[1]
309+
} else if (item.split("=")[0].trim() == "expires") {
310+
//Check if the cookie has expired
311+
if (d.toUTCString() > item.split("=")[1]) {
312+
unset = true
313+
}
300314

301315
}
302316
});
303317

318+
//If cookie is expired, unset cookie info
319+
if (unset == true) {
320+
321+
cur_channel = "None"
322+
cur_species = "None"
323+
cur_build = "None"
324+
325+
unsetCookie()
326+
327+
}
328+
304329
//Add Channel Selection options
305330
add_channel_selection()
306331
add_species_selector()

0 commit comments

Comments
 (0)