Как известно, на ucoz в последнее время участились случаи спама - в гостевой книге, в комментариях, в том числе и на форуме. Удалять темы довольно долго и утомительно, особенно при условии того, что при удалении надо постоянно подтверждать действие, отсюда и возникла идея данного скрипта.
Итак, данный скрипт поможет значительно упростить процедуру множественного удаления тем на форуме.
Особенности:
- Убрано подтверждение действия при удалении темы
- В режиме "работы" скрывается кнопка "изменить тему", а "удалить" становится крупнее и заметнее
- Скрипт работает как на странице "ленточный вариант форума" так и на "странице с темами" конкретного форума
- Никаких лишних get/post запросов
- Доступен только администратору
- Простейшая установка, работает на всех версиях JQuery
- Скрипт включается по требованию, по умолчанию выключен и не мешает нормальной работе форума
УСТАНОВКА
1. Зайдите в ПУ, Управление дизайном, общий вид страниц форума и после $BODY$ вставьте:
Код
<?if($PAGE_ID$ == 'forum' || $PAGE_ID$ == 'recentthreads' && $GROUP_ID$ == '4')?>
<script type="text/javascript">
/*
Name: Быстрое удаление тем на форуме
Author: www.ujs.su
Date: 3.07.2014
При возникновении проблем с работой обращайтесь на www.ujs.su
Изменение строк ниже может привести к неработоспособности скрипта.
Удаляя из скрипта копирайты или присваивая своё авторство, вы нарушаете авторские права.
*/
function fast_del(fids,tids){
if(!$('#_s').val()) { alert('Не удалось определить Session ID. Попробуйте обновить странциу'); }
var img=document.getElementById('dbth'+tids);img.width='13';img.height='13';img.src = 'http://s32.ucoz.net/img/ma/m/i2.gif';
_uPostForm('',{url:'/forum/'+fids+'-'+tids+'-'+$('#_s').val()+'-21-2'});
} // Удаляем темку
if(location.href.split('?')[1] == 'mode=fastdel') {
tr_ids = [];
_uWnd.alert('<div style="color:blue; font-size:11px">Внимание! Включен режим быстрого удаления тем (без подтверждения)!</div><hr> <div style="font-size:10px">Для выхода нажмите <a href="/forum">сюда</a></div>', 'Внимание', {w:300, h:100, tm:10000});
$.get('/index/14-0-0-1', function (ses) { var s_ = $('input[name="ssid"]', ses).val();$('body').append('<input type="hidden" id="_s" value="'+s_+'">'); })
$('a.threadLink, a.threadPinnedLink').each(function() {
var topicPath = $(this).attr('href').split('/')[$(this).attr('href').split('/').length-1];
tr_ids.push(topicPath.split('-')[1]);
})
var frid = $('a.threadLink').attr('href').split('-')[0].split('/')[4];
$('a.modBut[title^="Удалить"]').removeAttr('onclick').find('img').attr({'src' : 'http://s77.ucoz.net/img/icon/del.png'}).css({'margin-left' : '2px', 'width' : '14px', 'height' : '14px'}); $('a.modBut[title^="Изменить"]').hide();
$('a.modBut[title^="Удалить"]').each(function(i) { $(this).attr('href','javascript:fast_del(\''+parseInt(frid)+'\',\''+parseInt(tr_ids[i])+'\')'); })
}
</script>
<?endif?>
2. Готово! Для активации скрипта на странице со списком тем или на странице ленточного варианта форума в адресную строку допишите ?mode=fastdel. Или же, при желании, установите в удобном месте ссылку:
Код
<a href="?mode=fastdel">Быстрое удаление тем</a>