1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-07-18 14:24:28 +03:00
ifhub.club/templates/framework/js/livestreet/blog.js

224 lines
6 KiB
JavaScript
Raw Normal View History

var ls = ls || {};
2011-05-03 00:28:36 +03:00
/**
* JS функционал для блогов
*/
ls.blog = (function ($) {
2011-04-01 10:49:36 +03:00
2011-05-03 00:28:36 +03:00
/**
* Вступить или покинуть блог
*/
this.toggleJoin = function(obj, idBlog){
2012-01-28 17:52:44 +02:00
var url = aRouter['blog']+'ajaxblogjoin/';
var params = {idBlog: idBlog};
2012-04-28 09:09:47 +03:00
ls.hook.marker('toggleJoinBefore');
2012-01-28 17:52:44 +02:00
ls.ajax(url,params,function(result) {
2011-04-01 10:49:36 +03:00
if (result.bStateError) {
2011-05-03 00:28:36 +03:00
ls.msg.error(null, result.sMsg);
2011-04-01 10:49:36 +03:00
} else {
2011-05-03 00:28:36 +03:00
obj = $(obj);
ls.msg.notice(null, result.sMsg);
2012-01-28 17:52:44 +02:00
var text = result.bState
? ls.lang.get('blog_leave')
: ls.lang.get('blog_join')
2012-01-28 17:52:44 +02:00
;
2012-01-29 15:36:14 +02:00
obj.empty().text(text);
2012-05-29 05:46:49 +03:00
obj.toggleClass('active');
2012-01-28 17:52:44 +02:00
2011-04-01 10:49:36 +03:00
$('#blog_user_count_'+idBlog).text(result.iCountUser);
2012-01-29 15:36:14 +02:00
ls.hook.run('ls_blog_toggle_join_after',[idBlog,result],obj);
2011-04-01 10:49:36 +03:00
}
});
2011-05-03 00:28:36 +03:00
};
2011-04-01 10:49:36 +03:00
2011-05-03 00:28:36 +03:00
/**
* Отправляет приглашение вступить в блог
*/
this.addInvite = function(idBlog) {
2012-01-28 17:52:44 +02:00
var sUsers = $('#blog_admin_user_add').val();
2011-04-01 10:49:36 +03:00
if(!sUsers) return false;
$('#blog_admin_user_add').val('');
2012-01-28 17:52:44 +02:00
var url = aRouter['blog']+'ajaxaddbloginvite/';
var params = {users: sUsers, idBlog: idBlog};
2012-04-28 09:09:47 +03:00
ls.hook.marker('addInviteBefore');
2012-01-28 17:52:44 +02:00
ls.ajax(url, params, function(result) {
2011-04-01 10:49:36 +03:00
if (result.bStateError) {
2011-05-03 00:28:36 +03:00
ls.msg.error(null, result.sMsg);
2011-04-01 10:49:36 +03:00
} else {
$.each(result.aUsers, function(index, item) {
if(item.bStateError){
2011-05-03 00:28:36 +03:00
ls.msg.error(null, item.sMsg);
2011-04-01 10:49:36 +03:00
} else {
if($('#invited_list').length == 0) {
$('#invited_list_block').append($('<ul class="list" id="invited_list"></ul>'));
}
2012-01-28 17:52:44 +02:00
var listItem = $('<li><a href="'+item.sUserWebPath+'" class="user">'+item.sUserLogin+'</a></li>');
$('#invited_list').append(listItem);
$('#blog-invite-empty').hide();
2012-01-28 17:52:44 +02:00
ls.hook.run('ls_blog_add_invite_user_after',[idBlog,item],listItem);
2011-04-01 10:49:36 +03:00
}
});
2012-01-28 17:52:44 +02:00
ls.hook.run('ls_blog_add_invite_after',[idBlog,sUsers,result]);
2011-04-01 10:49:36 +03:00
}
});
return false;
};
2011-04-01 10:49:36 +03:00
2011-05-03 00:28:36 +03:00
/**
* Повторно отправляет приглашение
*/
this.repeatInvite = function(idUser,idBlog) {
2012-01-28 17:52:44 +02:00
var url = aRouter['blog']+'ajaxrebloginvite/';
var params = {idUser: idUser, idBlog: idBlog};
2012-04-28 09:09:47 +03:00
ls.hook.marker('repeatInviteBefore');
2012-01-28 17:52:44 +02:00
ls.ajax(url, params, function(result){
2011-04-01 10:49:36 +03:00
if (result.bStateError) {
2011-05-03 00:28:36 +03:00
ls.msg.error(null, result.sMsg);
2011-04-01 10:49:36 +03:00
} else {
2011-05-03 00:28:36 +03:00
ls.msg.notice(null, result.sMsg);
2012-01-28 17:52:44 +02:00
ls.hook.run('ls_blog_repeat_invite_after',[idUser,idBlog,result]);
2011-04-01 10:49:36 +03:00
}
});
return false;
};
/**
* Удаляет приглашение в блог
*/
this.removeInvite = function(idUser,idBlog) {
var url = aRouter['blog']+'ajaxremovebloginvite/';
var params = {idUser: idUser, idBlog: idBlog};
ls.hook.marker('removeInviteBefore');
ls.ajax(url, params, function(result){
if (result.bStateError) {
ls.msg.error(null, result.sMsg);
} else {
$('#blog-invite-remove-item-'+idBlog+'-'+idUser).remove();
ls.msg.notice(null, result.sMsg);
if ($('#invited_list li').length == 0) $('#blog-invite-empty').show();
ls.hook.run('ls_blog_remove_invite_after',[idUser,idBlog,result]);
}
});
return false;
};
2011-05-03 00:28:36 +03:00
/**
* Отображение информации о блоге
*/
this.loadInfo = function(idBlog) {
2012-01-28 17:52:44 +02:00
var url = aRouter['blog']+'ajaxbloginfo/';
var params = {idBlog: idBlog};
2012-04-28 09:09:47 +03:00
ls.hook.marker('loadInfoBefore');
2012-01-28 17:52:44 +02:00
ls.ajax(url, params, function(result){
2011-05-03 00:28:36 +03:00
if (result.bStateError) {
ls.msg.error(null, result.sMsg);
} else {
2012-01-28 17:52:44 +02:00
var block = $('#block_blog_info');
block.html(result.sText);
ls.hook.run('ls_blog_load_info_after',[idBlog,result],block);
2011-05-03 00:28:36 +03:00
}
});
};
2011-05-03 00:28:36 +03:00
/**
* Отображение информации о типе блога
*/
this.loadInfoType = function(type) {
$('#blog_type_note').text(ls.lang.get('blog_create_type_' + type + '_notice'));
};
/**
* Поиск блогов
*/
this.searchBlogs = function(form) {
var url = aRouter['blogs']+'ajax-search/';
2012-04-14 12:35:26 +03:00
var inputSearch=$('#'+form).find('input');
inputSearch.addClass('loader');
2012-04-28 09:09:47 +03:00
ls.hook.marker('searchBlogsBefore');
ls.ajaxSubmit(url, form, function(result){
2012-04-14 12:35:26 +03:00
inputSearch.removeClass('loader');
if (result.bStateError) {
$('#blogs-list-search').hide();
$('#blogs-list-original').show();
} else {
$('#blogs-list-original').hide();
$('#blogs-list-search').html(result.sText).show();
ls.hook.run('ls_blog_search_blogs_after',[form, result]);
}
});
};
/**
* Показать подробную информацию о блоге
*/
this.toggleInfo = function() {
$('#blog-more-content').slideToggle();
var more = $('#blog-more');
more.toggleClass('expanded');
if(more.hasClass('expanded')) {
more.html(ls.lang.get('blog_fold_info'));
} else {
more.html(ls.lang.get('blog_expand_info'));
}
return false;
};
2013-04-12 16:01:40 +03:00
/**
* Подгружает блоги из категории
* @param {String} id ID категории
*/
this.loadBlogsByCategory = function(id) {
2013-04-12 16:01:40 +03:00
var url = aRouter['ajax'] + 'blogs/get-by-category/',
params = {id: id},
$blogs = $('#blog-navigator-blog').empty().prop('disabled', true),
$button = $('#blog-navigator-button').prop('disabled', true);
ls.hook.marker('loadBlogsByCategoryBefore');
2013-04-12 16:01:40 +03:00
if (id !== '0') {
ls.ajax(url, params, function(result){
if (result.bStateError) {
$blogs.append('<option>' + result.sMsg + '</option>');
} else {
$(result.aBlogs).each(function(k,v){
$('<option value="' + v.id + '" data-url="' + v.url_full + '">' + v.title+'</option>').appendTo($blogs);
});
$blogs.prop('disabled', false);
$button.prop('disabled', false);
ls.hook.run('ls_blog_load_blogs_by_category_after', [id, result]);
}
});
} else {
$blogs.append('<option>' + ls.lang.get('blog') + '</option>');
}
};
2013-04-12 16:01:40 +03:00
/**
* Переход на страницу выбранного блога
*/
this.navigatorGoSelectBlog = function() {
2013-04-12 16:01:40 +03:00
var $sel = $('#blog-navigator-blog').find('option:selected');
if ($sel.length) {
2013-04-12 16:01:40 +03:00
window.location.href = $sel.data('url');
}
};
2011-05-03 00:28:36 +03:00
return this;
}).call(ls.blog || {},jQuery);