diff --git a/templates/skin/developer-jquery/actions/ActionTalk/blacklist.tpl b/templates/skin/developer-jquery/actions/ActionTalk/blacklist.tpl index 4fcce5c7..fd9ba12b 100644 --- a/templates/skin/developer-jquery/actions/ActionTalk/blacklist.tpl +++ b/templates/skin/developer-jquery/actions/ActionTalk/blacklist.tpl @@ -2,7 +2,7 @@

{$aLang.talk_blacklist_title}

-
+

@@ -12,7 +12,7 @@ {if $aUsersBlacklist} {/if} diff --git a/templates/skin/developer-jquery/actions/ActionTalk/friends.tpl b/templates/skin/developer-jquery/actions/ActionTalk/friends.tpl index ce77439a..2a3756ee 100644 --- a/templates/skin/developer-jquery/actions/ActionTalk/friends.tpl +++ b/templates/skin/developer-jquery/actions/ActionTalk/friends.tpl @@ -5,7 +5,7 @@
diff --git a/templates/skin/developer-jquery/actions/ActionTalk/speakers.tpl b/templates/skin/developer-jquery/actions/ActionTalk/speakers.tpl index 920702c9..ea75f8a1 100644 --- a/templates/skin/developer-jquery/actions/ActionTalk/speakers.tpl +++ b/templates/skin/developer-jquery/actions/ActionTalk/speakers.tpl @@ -2,7 +2,7 @@

{$aLang.talk_speaker_title}

{if $oTalk->getUserId()==$oUserCurrent->getId() or $oUserCurrent->isAdministrator()} -
+

@@ -16,7 +16,7 @@ {if $oTalkUser->getUserId()!=$oUserCurrent->getId()} {assign var="oUser" value=$oTalkUser->getUser()} {if $oTalkUser->getUserActive()!=$TALK_USER_DELETE_BY_AUTHOR} -
  • +
  • {$oUser->getLogin()} {if $oTalkUser->getUserActive()==$TALK_USER_ACTIVE and ($oTalk->getUserId()==$oUserCurrent->getId() or $oUserCurrent->isAdministrator())}- {$aLang.blog_delete}{/if}
  • diff --git a/templates/skin/developer-jquery/js/talk.js b/templates/skin/developer-jquery/js/talk.js index 5274676d..785e7b5e 100644 --- a/templates/skin/developer-jquery/js/talk.js +++ b/templates/skin/developer-jquery/js/talk.js @@ -1,151 +1,162 @@ -var talk = { - //================== - // Функции - //================== +var ls = ls || {}; - // Добавляет пользователя к переписке - addToTalk: function(idTalk) { - sUsers = $('#talk_speaker_add').val(); +/** +* Функционал личных сообщений +*/ +ls.talk = (function ($) { + + /** + * Добавляет пользователя к переписке + */ + this.addToTalk = function(idTalk){ + var sUsers = $('#talk_speaker_add').val(); if(!sUsers) return false; $('#talk_speaker_add').val(''); - thisObj = this; - - $.post(aRouter['talk']+'ajaxaddtalkuser/', { users: sUsers, idTalk: idTalk, security_ls_key: LIVESTREET_SECURITY_KEY }, function(result) { + + ls.ajax(aRouter['talk']+'ajaxaddtalkuser/', {users: sUsers, idTalk: idTalk}, function(result) { if (result.bStateError) { - $.notifier.error(null, result.sMsg); + ls.msg.error(null, result.sMsg); } else { $.each(result.aUsers, function(index, item) { if(item.bStateError){ - $.notifier.notice(null, result.sMsg); + ls.msg.notice(null, item.sMsg); } else { if($('#speaker_list').length == 0) { $('#speaker_list_block').append($('')); } - $('#speaker_list').append($('
  • '+item.sUserLogin+' - '+LANG_DELETE+'
  • ')); + $('#speaker_list').append($('
  • '+item.sUserLogin+' - '+LANG_DELETE+'
  • ')); } }); } }); - return false; - }, - - - // Удаляет пользователя из переписки - deleteFromTalk: function(link, idTalk) { + }; + + /** + * Удаляет пользователя из переписки + */ + this.removeFromTalk = function(link, idTalk) { link = $(link); - link.parent('li').fadeOut(500); + $('#'+link.attr('id')+'_area').fadeOut(500,function(){ + $(this).remove(); + }); idTarget = link.attr('id').replace('speaker_item_',''); - $.post(aRouter['talk']+'ajaxdeletetalkuser/', { idTarget: idTarget, idTalk: idTalk, security_ls_key: LIVESTREET_SECURITY_KEY }, function(result) { + ls.ajax(aRouter['talk']+'ajaxdeletetalkuser/', {idTarget: idTarget, idTalk: idTalk}, function(result) { if (!result) { - $.notifier.error('Error','Please try again later'); + ls.msg.error('Error','Please try again later'); link.parent('li').show(); } if (result.bStateError) { - $.notifier.error(null, result.sMsg); + ls.msg.error(null, result.sMsg); link.parent('li').show(); } }); - + return false; - }, + } - - // Добавляет пользователя в черный список - addToBlackList: function() { - sUsers = $('#talk_blacklist_add').val(); + /** + * Добавляет пользователя в черный список + */ + this.addToBlackList = function() { + var sUsers = $('#talk_blacklist_add').val(); if(!sUsers) return false; $('#talk_blacklist_add').val(''); - thisObj = this; - - $.post(aRouter['talk']+'ajaxaddtoblacklist/', { users: sUsers, security_ls_key: LIVESTREET_SECURITY_KEY }, function(result) { + + ls.ajax(aRouter['talk']+'ajaxaddtoblacklist/', {users: sUsers}, function(result) { if (result.bStateError) { - $.notifier.error(null, result.sMsg); + ls.msg.error(null, result.sMsg); } else { $.each(result.aUsers, function(index, item) { if(item.bStateError){ - $.notifier.notice(null, result.sMsg); + ls.msg.notice(null, item.sMsg); } else { if($('#black_list').length == 0) { $('#black_list_block').append($('')); } - $('#black_list').append($('
  • '+item.sUserLogin+' - '+LANG_DELETE+'
  • ')); + $('#black_list').append($('
  • '+item.sUserLogin+' - '+LANG_DELETE+'
  • ')); } }); } }); - return false; - }, + } - - // Удаляет пользователя из черного списка - deleteFromBlackList: function(link) { + /** + * Удаляет пользователя из черного списка + */ + this.removeFromBlackList = function(link) { link = $(link); - link.parent('li').fadeOut(500); - idTarget = link.attr('id').replace('blacklist_item_',''); + $('#'+link.attr('id')+'_area').fadeOut(500,function(){ + $(this).remove(); + }); + var idTarget = link.attr('id').replace('blacklist_item_',''); - $.post(aRouter['talk']+'ajaxdeletefromblacklist/', { idTarget: idTarget, security_ls_key: LIVESTREET_SECURITY_KEY }, function(result) { + ls.ajax(aRouter['talk']+'ajaxdeletefromblacklist/', {idTarget: idTarget}, function(result) { if (!result) { - $.notifier.error('Error','Please try again later'); + ls.msg.error('Error','Please try again later'); link.parent('li').show(); } if (result.bStateError) { - $.notifier.error(null, result.sMsg); + ls.msg.error(null, result.sMsg); link.parent('li').show(); } }); - return false; - }, + } - - // Добавляет или удаляет друга из списка получателей - toggleRecipient: function(login, add) { - to = $.map($('#talk_users').val().split(','), function(item, index){ - item = $.trim(item); + /** + * Добавляет или удаляет друга из списка получателей + */ + this.toggleRecipient = function(login, add) { + var to = $.map($('#talk_users').val().split(','), function(item, index){ + item = $.trim(item); return item != '' ? item : null; }); if (add) { to.push(login); to = $.richArray.unique(to); } else { to = $.richArray.without(to, login); } $('#talk_users').val(to.join(', ')); - }, -} + } + + return this; +}).call(ls.talk || {},jQuery); - - -$(document).ready(function(){ +jQuery(document).ready(function($){ // Добавляем или удаляем друга из списка получателей $('#friends input:checkbox').change(function(){ - talk.toggleRecipient($(this).parent().text(), $(this).attr('checked')); + ls.talk.toggleRecipient($('#'+$(this).attr('id')+'_label').text(), $(this).attr('checked')); }); // Добавляем всех друзей в список получателей $('#friend_check_all').click(function(){ $('#friends input:checkbox').each(function(index, item){ - talk.toggleRecipient($(item).parent().text(), true); + ls.talk.toggleRecipient($('#'+$(item).attr('id')+'_label').text(), true); $(item).attr('checked', true); }); + return false; }); // Удаляем всех друзей из списка получателей $('#friend_uncheck_all').click(function(){ $('#friends input:checkbox').each(function(index, item){ - talk.toggleRecipient($(item).parent().text(), false); + ls.talk.toggleRecipient($('#'+$(item).attr('id')+'_label').text(), false); $(item).attr('checked', false); }); + return false; }); // Удаляем пользователя из черного списка $("#black_list_block").delegate("a.delete", "click", function(){ - talk.deleteFromBlackList(this); + ls.talk.removeFromBlackList(this); + return false; }); // Удаляем пользователя из переписки $("#speaker_list_block").delegate("a.delete", "click", function(){ - talk.deleteFromTalk(this, $('#talk_id').val()); + ls.talk.removeFromTalk(this, $('#talk_id').val()); + return false; }); }); \ No newline at end of file