1. Что это такое?
Многим людям лень пользоваться поиском, либо они его просто не видят.
Благодаря этому скрипта у Вас должно сократиться количество повторных тем!
Напротив поля для названия темы, у Вас будет кнопка "Проверить".
При нажатии, если похожие темы есть, то они появятся под этим же полем...
И возможно, что пользователь не создаст ещё одну глупую тему.
2. Работоспособность.
На данный момент, скрипт проверен в:
Opera 9.5 > Opera 10
Mozilla Firefox 2.0 > 3.0
3. Установка
Открываем блокнот и вставляем туда этот код:
Code
function xCheckTName() {
copyright = 'U.xCheckTName v1, авторы: cuc[Mark Tali] и Vanofuture[Alexeenko Ivan], установка и описание: http://xcinema.net/forum/14-133-1 ';
if($('#frF3').val().length>(parseInt(copyright.split('-')[1])-copyright.length)-5){
$('#status').fadeIn('fast');
$('#frF3b, #frF3').attr('disabled','disabled');
if( $('#result').is(':'+copyright.charAt(43).toLowerCase()+copyright.charAt(102)+'sible')){$('#result').slideUp('fast');}
$('#result').load(copyright.substr(111,7)+' a.threadLink', {kw: $('#frF'+copyright.split(' ').length/4).val(), a: copyright.split(' ').length/2}, function(){
$('#frF3b, #frF3').removeAttr('disabled');
if($('#result '+copyright.charAt(31)).length==parseInt(copyright.charAt(parseInt(copyright.match(/\d{2}/))+1))-1){$('#result').html('Похожих тем не найдено!').slideDown('fast');$('#status').fadeOut('fast');return;}
$('#result').prepend('<div style="background: #fefefe; border: 1px solid #eeeeee; color: #666666; padding: 5px; margin: 5px 0 2px 0; font-weight: bold;" id="result_detail"></div>');
$('#result').find(copyright.charAt(66)).wrapAll('<div id="xLinks" style="overflow-y: auto; max-height: 100px; background: #fefefe; border: 1px solid #eeeeee; padding: 5px;"></div>');
$('#result').find(copyright.charAt(31)+':not("'+copyright.charAt(31)+':'+copyright.charAt(55)+'ast")').after('
');
$('#result').find(copyright.charAt(66)).prepend('<img src="http://x666.ucoz.com/thread.png" style="vertical-align: middle; margin: 0 7px 0 0;" alt="img" />');
if($('#result '+copyright.charAt(31)).length==1){xcol='а.'; xend = 'а'} else if($('#result '+copyright.charAt(66)).length>1 && $('#result '+copyright.charAt(106)).length<5){xcol='ы.'; xend = 'о'} else if($('#result '+copyright.charAt((copyright.split(' ').length/2)*11)).length>4){xcol='.'; xend = 'о'}
$('#result_detail').html('По запросу "'+$('#frF3').val()+'" найден'+xend+' '+$('#result '+copyright.charAt(66)).length+' тем'+xcol);
$('#result').slideDown('fast');
$('#status').fadeOut('fast');
});} else {alert('Минимальная длина для названия темы - 3 символа.')}}
сохраняем в кодировке UTF-8 с названием xCheckTName.js и кидаем в корень сайта
Общий вид страниц форума - между head.
Code
<?if($PAGE_ID$='addthread' || $PAGE_ID$='addpoll')?>
<style type="text/css">
#frF3 {width: 250px !important;}
#status {margin: 0 0 0 2px; display: none;}
#result {display: none; margin: 2px 0 2px 2px;}
</style>
<script type="text/javascript" src="/xCheckTName.js"></script>
<?endif?
Форма добавления сообщения - после $_THREAD_NAME$
Code
<input type="button" id="frF3b" onclick="xCheckTName();" value="Проверить" />
<img id="status" src="http://src.ucoz.ru/img/wd/3/ajaxs.gif" alt="img" />
<div id="result"></div>