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.
280 lines
13 KiB
280 lines
13 KiB
$(function(){
|
|
//load_lesson_comments();
|
|
window.in_reload = false;
|
|
window.wbbOpt = {
|
|
lang: 'RU',
|
|
buttons: "bold,italic,underline,|,link,bullist,numlist,fontcolor,|,quote,code,myquote"
|
|
}
|
|
if ($('#myModal1').length == 0) {
|
|
$('[name=comment_sent_text]').wysibb(window.wbbOpt);
|
|
}
|
|
});
|
|
function get_reply_form(id){
|
|
var reply_form = '<form name="comment_send_form" onsubmit="return false" method="POST">'+
|
|
'<div class="clearfix" style="margin-bottom:10px;">'+
|
|
'<div class="form-group">'+
|
|
'<div class="col-sm-12 p-r-none">'+
|
|
'<input type="text" name="comment_for_lesson_id" readonly value="'+$('[name=LESSON_ID]').val()+'" style="display: none;">'+
|
|
'<input type="text" name="reply_for_comment_id" readonly value="'+id+'" style="display: none;">'+
|
|
'<textarea style="overflow:scroll;height:200px;max-height:200px;width: 100%;border-radius:3px;font-weight: bold;padding: 15px 20px;" name="comment_sent_text" class="form-control"></textarea>'+
|
|
'</div>'+
|
|
'</div>'+
|
|
'</div>'+
|
|
'<div class="form-group">'+
|
|
'<div class="col-xs-12 col-sm-12 col-md-9 p-r-none m-b-md" name="files_sketches">'+
|
|
|
|
'</div>'+
|
|
'<div class="col-xs-12 col-sm-12 col-md-3 p-r-none m-b-md" style="margin: 0;">'+
|
|
'<button class="btn btn-lg btn-info m-t-xs pull-right" style="min-width: 240px;width: 100%;border-radius: 3px;margin: 0;" onclick="send_comment(\'comment_send_form\', \'form_file_load\')">Отправить сообщение</button>'+
|
|
'</div>'+
|
|
'<p style="clear: both;margin: 0;"></p>'+
|
|
'</div>'+
|
|
'</form>';
|
|
return reply_form
|
|
}
|
|
|
|
|
|
function send_comment(form, root){
|
|
// Проверить комментарий
|
|
// Отправить
|
|
if ($('[name=comment_sent_text]').bbcode()){
|
|
$('[name=sent_comment_progress]').show();
|
|
$('[name=comment_sent_text]').val($('[name=comment_sent_text]').bbcode());
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: '/courses/sent_lesson_comment',
|
|
data: $('[name='+form+']').serialize(),
|
|
success: function(data){
|
|
if(data['code'] == '1'){
|
|
$('[name=sent_comment_progress]').hide();
|
|
document.forms[form].reset();
|
|
$('[name=comment_sent_text]').htmlcode('');
|
|
reload_lesson_comments(data['data']);
|
|
$('[name='+$('#'+root).attr('sketch_place')+']').html('')
|
|
}
|
|
}
|
|
});
|
|
|
|
} else {
|
|
show_system_message('Введите текст сообщения')
|
|
}
|
|
}
|
|
function read_lesson(id){
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: '/courses/read_lesson/',
|
|
data: {'lesson': id},
|
|
success: function(data){
|
|
if (data['code'] == '1'){
|
|
$('[name=current_button]').fadeOut('slow', function(){
|
|
$('[name=next_button]').fadeIn('slow');
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
function write_comment(block, data){
|
|
var message;
|
|
var user_status;
|
|
var reply;
|
|
if (NotEmpty(data)) {
|
|
if (!NotEmpty(data['replies'])) {
|
|
reply = ''
|
|
} else {
|
|
reply = '<img src="/static/img/1442036154_reply-circle-blue.png" style="margin-left: 30px;">' +
|
|
'<Br>' +
|
|
'<div class="m-b b-l m-l-md streamline" parent_id="' + data['id'] + '" style="margin-left: 75px;margin-top: -25px;"></div>';
|
|
}
|
|
if (NotEmpty(data['files']) && !data['closed']) {
|
|
message = '<div name="message_files" message_id="' + data['id'] + '"></div>'
|
|
} else {
|
|
message = '';
|
|
}
|
|
var comment_id = '';
|
|
if ($('[name=REQUEST_USER_ROLE]').val() == 'A'){
|
|
comment_id = '<a href="'+location.protocol + '//'+ location.host + '/admin/management/comment/'+data['id']+'" target="_blank" style="font-weight: bold;border-bottom: 1px dotted;margin-left: 10px;">ID:'+data['id']+'</a>';
|
|
}
|
|
|
|
user_status = '<label style="'+data['owner_type']['style'] + '" class="label ' + data['owner_type']['background'] + ' m-l-xs">' + data['owner_type']['title'] + '</label>' + comment_id;
|
|
var background;
|
|
if (data['owner_type']['flag'] == 'A') {
|
|
background = "#f5fce5;"
|
|
} else {
|
|
background = ''
|
|
}
|
|
var avatar;
|
|
if (data['closed']) {
|
|
avatar = '<span class="pull-left thumb-sm avatar m-l-n-md"><img src="/static/img/1442473207_delete.png"></span>'
|
|
} else {
|
|
avatar = '<span class="pull-left thumb-sm avatar m-l-n-md">' +
|
|
'<img src="' + data['owner_avatar'] + '" class="img-circle">' +
|
|
'</span>'
|
|
}
|
|
var head;
|
|
if (data['closed']) {
|
|
head = '<div class="panel-heading pos-rlt b-b b-light" style="background: #f1f1f1; color: #ccc;">' +
|
|
'<span class="arrow left" style="display: none;"></span>' +
|
|
'КОММЕНТАРИЙ УДАЛЕН' +
|
|
'<span class="text-muted m-l-sm pull-right">' +
|
|
'</span></div>'
|
|
} else {
|
|
head = '<div class="panel-heading pos-rlt b-b b-light">' +
|
|
'<span class="arrow left" style="display: none;"></span>' +
|
|
'<b style="margin-right: 5px;">' + data['owner'] + '</b>' +
|
|
'<span class="arrow left" style="border-right-color: ' + background + '"></span>' + user_status +
|
|
'<span class="text-muted m-l-sm pull-right">' +
|
|
//'<button class="btn like_button" title="Мне нравится"><i class="glyphicon glyphicon-heart"></i><span name="like_count" class="like_count">1</span> <span class="visible-lg-inline">Мне нравится</span></button>' +
|
|
//'<button class="btn complain_button" title="Пожаловаться"><i class="glyphicon glyphicon-fire"></i> <span class="visible-lg-inline">Пожаловаться</span></button>' +
|
|
'<i class="fa fa-clock-o" title="Дата записи: ' + data['date'] + '"></i><span class="hidden-xs" style="margin-left: 5px;">' + data['date'] + '</span></span></div>'
|
|
}
|
|
var reply_button;
|
|
var text;
|
|
if (data['closed']) {
|
|
reply_button = '';
|
|
text = '<div class="panel-body" style="display: none;">'
|
|
} else {
|
|
|
|
if (data['owner_id'] == $('[name=REQUEST_USER_ID]').val()) {
|
|
reply_button = '<a type="button" class="btn btn-danger btn-xs" onclick="do_delete_comment(' + data['id'] + ')">' +
|
|
'<i class="glyphicon glyphicon-remove"></i> Удалить</a>'
|
|
} else {
|
|
if ($('[name=REQUEST_USER_ROLE]').val() == 'A') {
|
|
reply_button = '<a type="button" class="btn btn-default btn-xs" onclick="reply_comment(' + data['id'] + ')"><i class="fa fa-mail-reply text-muted"></i> Ответить</a>' +
|
|
'<a type="button" class="btn btn-danger btn-xs" style="margin-left: 10px;" ' +
|
|
'onclick="do_delete_comment(' + data['id'] + ')"><i class="glyphicon glyphicon-remove"></i> Удалить</a>'
|
|
} else {
|
|
reply_button = ''
|
|
}
|
|
}
|
|
reply_button += '<div name="" reply_owner="'+data['id']+'" style="padding-top: 10px;"></div>'
|
|
text = '<div class="panel-body" readable_comment="'+data['id']+'" style="padding: 10px 20px;word-break: break-all;">' + data['text'] + '</div>'
|
|
}
|
|
|
|
|
|
$(block).append('<a name="comment_' + data['id'] + '"></a><div name="comment_' + data['id'] + '">' +
|
|
avatar +
|
|
'<div class="m-l-lg panel b-a" style="background: ' + background + '">' +
|
|
head +
|
|
text +
|
|
message +
|
|
'<div class="m-t-sm" style="margin-top: 0;padding: 10px; border-top:1px dotted #edf1f2">'
|
|
+ reply_button +
|
|
'</div>' +
|
|
'</div>' +
|
|
'</div>' +
|
|
'</div>' + reply);
|
|
|
|
for (var r = 0; r < data['replies'].length; r++) {
|
|
write_comment($('[parent_id=' + data['id'] + ']'), data['replies'][r])
|
|
}
|
|
var file_block = $('[name=message_files][message_id=' + data['id'] + ']');
|
|
for (var n = 0; n < data['files'].length; n++) {
|
|
var file_id = '';
|
|
var target = '';
|
|
var context = '';
|
|
if (data['files'][n]['format'] == 'I') {
|
|
file_id = 'single_image';
|
|
target = '__blank';
|
|
context = '<img src="' + data['files'][n]['url'] + '" style="display: none;">';
|
|
}
|
|
var m = '<div class="panel m-b-none"' +
|
|
' style="box-shadow: none; border: 1px solid rgba(0, 0, 0, 0.05); padding: 4px; margin-bottom: 3px !important;">' +
|
|
'<a href="' + data['files'][n]['url'] + '" target="' + target + '" id="' + file_id + '">' + context +
|
|
'<i class="' + data['files'][n]['icon'] + ' text-primary"></i> ' +
|
|
data['files'][n]['title'] +
|
|
'<span class="text-u-l" style="margin-left: 5px;">' + data['files'][n]['name'] + '</span></a></div>';
|
|
file_block.append(m);
|
|
}
|
|
$("a#single_image").fancybox();
|
|
}
|
|
}
|
|
function load_lesson_comments(type, reload_data){
|
|
if (!window.in_reload) {
|
|
window.in_reload = true;
|
|
$('[name=lesson_comments_empty]').hide();
|
|
$('[name=lesson_comments_block]').show();
|
|
var comment_block = $('[name=lesson_comments_block]');
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: '/courses/load_lesson_comments',
|
|
data: {'lesson': comment_block.attr('lesson_id')},
|
|
success: function (data) {
|
|
$('[name=lesson_comments_load]').hide();
|
|
comment_block.show();
|
|
if (data['code'] == 0) {
|
|
$('[name=lesson_comments_empty]').show();
|
|
$('[name=lesson_comments_block]').hide();
|
|
$('[name=comments_length]').html('0');
|
|
} else {
|
|
if (NotEmpty(data['data'])) {
|
|
for (var i = 0; i < data['data'].length; i++) {
|
|
write_comment(comment_block, data['data'][i]);
|
|
}
|
|
if (type == 'reload' && reload_data) {
|
|
location.hash = '';
|
|
location.hash = 'comment_' + reload_data
|
|
}
|
|
$('[name=comments_length]').html(window.lesson_comments_length);
|
|
} else {
|
|
$('[name=lesson_comments_empty]').show();
|
|
$('[name=lesson_comments_block]').hide();
|
|
$('[name=comments_length]').html('0');
|
|
}
|
|
}
|
|
window.in_reload = false;
|
|
}
|
|
});
|
|
}
|
|
}
|
|
function reload_lesson_comments(data){
|
|
$('[name=lesson_comments_load]').show();
|
|
$('[name=lesson_comments_block]').html('');
|
|
if (NotEmpty(data)){
|
|
load_lesson_comments('reload', data)
|
|
} else {
|
|
load_lesson_comments('reload')
|
|
}
|
|
|
|
}
|
|
function reply_comment(id){
|
|
$('[name=reply_for_comment_id]').val(id);
|
|
var form = $('[name=comment_send_form]');
|
|
form.remove();
|
|
$('[reply_owner='+id+']').html(get_reply_form(id));
|
|
$('[name=comment_sent_text]').wysibb(window.wbbOpt);
|
|
$('[name=everyone_comment]').fadeIn();
|
|
|
|
//$('html,body').stop().animate({ scrollTop: $('[name="comment_send_form"]').offset().top }, 1000);
|
|
}
|
|
function get_lesson_comments_length(){
|
|
$.ajax({
|
|
type: 'GET',
|
|
url: '/courses/get_lesson_comments_length',
|
|
async: true,
|
|
data: {'id': $('[name=LESSON_ID]').val()},
|
|
success: function(data){
|
|
if (data['code'] == '1'){
|
|
var comments_length = data['data'];
|
|
if (window.lesson_comments_length != comments_length){
|
|
reload_lesson_comments();
|
|
window.lesson_comments_length = comments_length
|
|
}
|
|
} else {
|
|
show_system_message(data['response'])
|
|
}
|
|
}
|
|
});
|
|
}
|
|
$(function() {
|
|
$('[name=everyone_comment]').click();
|
|
$('[name=everyone_comment]').fadeOut();
|
|
$("a#single_image").fancybox();
|
|
setInterval(function(){
|
|
get_lesson_comments_length();
|
|
}
|
|
, 200000);
|
|
if (window.lesson_comments_length != 0){
|
|
$('[name="old_comments_show"]').fadeIn()
|
|
}
|
|
});
|
|
|