You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.0 KiB
67 lines
2.0 KiB
var base = '://cmtd.linuxdv.org'; |
|
|
|
$(document).ready(function(){ |
|
$('<link/>') |
|
.attr({'href': base +'/css/main.css', 'rel': 'stylesheet'}) |
|
.appendTo('head'); |
|
$('#comments').load(base + '/comments/list', function() { |
|
$('#cmtd_main a.c_add').on('click', function (e) { |
|
e.preventDefault(); |
|
$('#cmtd_main #no_comments_notice').remove(); |
|
$('#cmtd_main #comment_add').remove(); |
|
load_comment_form(e.target); |
|
}); |
|
}); |
|
}); |
|
|
|
|
|
function load_comment_form(elem) { |
|
$.get(base + '/comments/add', function(content) { |
|
$('#cmtd_main').append(content); |
|
if (reply = $(elem).data('cid')) { |
|
$('#cmtd_main form input[name=reply]').attr({'value': reply}); |
|
} |
|
$('#cmtd_main form').attr({'action': base + '/comments/add'}); |
|
$('#cmtd_main form').on('submit', function(e) { |
|
e.preventDefault(); |
|
if ($('#cmtd_captcha img').length == 0) { |
|
update_captcha(); |
|
return; |
|
} |
|
var data = $(this).serialize(); |
|
$.ajax(base + '/comments/add', { |
|
'success': function() { location.reload() }, |
|
'error': function(resp) { |
|
update_captcha(); |
|
$('span#resp').text(resp.responseText); |
|
}, |
|
'type': 'POST', |
|
'data': data, |
|
}); // post |
|
}); // on submit |
|
}); |
|
} |
|
|
|
function update_captcha() { |
|
$('#cmtd_captcha').hide().empty(); |
|
$.getJSON(base + '/captcha', function(data) { |
|
if (!data['cid']) |
|
return; |
|
var img = $('<img>') |
|
.attr({'src': data['data']}) |
|
.appendTo('#cmtd_captcha'); |
|
$(img).load(function(){ |
|
var w = $(img).prop('width'); |
|
var h = $(img).prop('height'); |
|
$('<input>') |
|
.attr({'name': 'cid', 'type': 'hidden', 'value': data['cid']}) |
|
.appendTo('#cmtd_captcha'); |
|
$('<input>') |
|
.attr({'name': 'code', 'type': 'text'}) |
|
.attr({'placeholder': '<< enter this code'}) |
|
.css({'width': w, 'height': h, 'margin-left': '5px'}) |
|
.appendTo('#cmtd_captcha'); |
|
$('#cmtd_captcha').show(); |
|
}); // load() |
|
}); // get captcha |
|
}
|
|
|