Dotclear

source: inc/js/post.js @ 4003:58ac4ad9d676

Revision 4003:58ac4ad9d676, 1.6 KB checked in by franck <carnet.franck.paul@…>, 6 years ago (diff)

Switching from inline JS variables to JSON script, templates/themes

Line 
1/*global $, getData */
2'use strict';
3
4$(function() {
5  var post_remember_str = post_remember_str || getData('dc_post_remember_str').post_remember_str;
6
7     $('#comment-form p:has(input[type=submit][name=preview],button[type=submit][name=preview])').
8          before(
9               '<p class="remember"><input type="checkbox" id="c_remember" name="c_remember" /> ' +
10               '<label for="c_remember">' + post_remember_str + '</label>' +
11               '</p>'
12          );
13
14     var cookie = readCookie($.cookie('comment_info'));
15
16     if (cookie != false) {
17          $('#c_name').val(cookie[0]);
18          $('#c_mail').val(cookie[1]);
19          $('#c_site').val(cookie[2]);
20          $('#c_remember').attr('checked','checked');
21     }
22
23     $('#c_remember').click(function() {
24          if (this.checked) {
25               setCookie();
26          } else {
27               dropCookie();
28          }
29     });
30
31     $('#c_name').change(function() {
32          if ($('#c_remember').get(0).checked) {
33               setCookie();
34          }
35     });
36
37     $('#c_mail').change(function() {
38          if ($('#c_remember').get(0).checked) {
39               setCookie();
40          }
41     });
42
43     $('#c_site').change(function() {
44          if ($('#c_remember').get(0).checked) {
45               setCookie();
46          }
47     });
48
49     function setCookie() {
50          var name = $('#c_name').val();
51          var mail = $('#c_mail').val();
52          var site = $('#c_site').val();
53          var cpath = $('h1 a').attr('href');
54          if (!cpath) {
55               cpath = '/';
56          } else {
57               cpath = cpath.replace(/.*:\/\/[^\/]*([^?]*).*/g,'$1');
58          }
59
60          $.cookie('comment_info', name + '\n' + mail + '\n' + site, {expires: 60, path: cpath});
61     }
62
63     function dropCookie() {
64          $.cookie('comment_info','',{expires: -30, path: '/'});
65     }
66
67     function readCookie(c) {
68          if (!c) {
69               return false;
70          }
71
72          var s = c.split('\n');
73
74          if (s.length != 3) {
75               dropCookie();
76               return false;
77          }
78
79          return s;
80     }
81});
Note: See TracBrowser for help on using the repository browser.

Sites map