Уведомление об устаревшей темы на форуме by webo4ka.ru

878
10 из 10
Проголосовало: 8






В общем я думаю практически каждый, кто хоть раз занимался форумом понимает, что со временем (Через месяц, год, два) некоторые темы устаревают и теряют свою актуальность, но в них по прежнему отписываются пользователи, но они не замечают, что тема не работает, устарела и тд.

Если тему удалить, то это минус для сайта, если закрыть - поняв что тема не работает, пользователь уйдет.

Смысл скрипта в следующем:
Скрипт проверяет дату создания темы и если ей больше месяца / года / да хоть один день (дать возможность выбора), то он выводит сообщение в правом верхнем углу форума с звуковым уведомлением о том, что тема устарела и не работает...

Установка:

1) Панель управления ---> Управление дизайном ---> Форум ---> Общий вид страницы форума и после $BODY$ вставляем:

Код

<?if($PAGE_ID$='threadpage')?>
<div id="wDataTeky" style="display:none;"></div>
<script type="text/javascript">
var wURL = location.href.split('/')[4].split('?')[0].split('#')[0].split('-')[0];
var wURL2 = location.href.split('/')[4].split('?')[0].split('#')[0].split('-')[1];
$.get("/forum/'+wURL+'-'+wURL2+'-1",function(data){
// Получаем дату темы
var wDataTemi = $('.wDATA:first').text();
if(wDataTemi=='Сегодня' || wDataTemi=='Вчера') {var wDataTemi = '$DATE$';}  
var wDataTemi = wDataTemi.replace(/^(\d+)\.(\d{2})\.(\d{4})/,'$3,$2,$1');
var wDataTemi = new Date(wDataTemi).getTime();
// Получаем текущую дату
var wD = new Date();
var wDen = wD.getDate(); if(wDen < 10) {var wDen = '0'+wD.getDate();} else {var wDen = wD.getDate();}
var wMechic = (wD.getMonth() + 1); if(wMechic < 10) {var wMechic = '0'+(wD.getMonth() + 1);} else {var wMechic = (wD.getMonth() + 1);}
var wGod = wD.getFullYear();
$('#wDataTeky').html(wDen + '.' + wMechic + '.' + wGod);
wDataTeky = $("#wDataTeky").html();
var wDataTeky = wDataTeky.replace(/^(\d+)\.(\d{2})\.(\d{4})/,'$3,$2,$1');
var wDataTeky = new Date(wDataTeky).getTime();
// Получаем обе даты в милисикундах
wData = wDataTeky - wDataTemi;  
wDays = 30*86400*1000;
// Делаем условие
if (wData > wDays) {setTimeout(function(){$('.wTemaUstarela').animate({top:'+=120'},1000);},1000); setTimeout(function(){$('.wTemaUstarela').animate({top:'-=120'},1000);},10000); $('body').append('<embed type="application/x-shockwave-flash" src="http://webo4ka.ru/Ucoz5/zvuk_ochenki_kommentovplayer.swf?song_url=http://webo4ka.ru/Ucoz5/zvuk_ochenki_kommentovmsg_in.mp3&autoplay=1&loop=0" width="0" height="0"/>');} // by webo4ka.ru
});
</script>
<div class="wTemaUstarela">Здравствуйте, <b>$USERNAME$</b>! Данная тема устарела, в ней нет смысла отписываться!</div> <style>.wTemaUstarela {background: rgba(255, 204, 204, 0.9); border:1px solid #ad7676; -moz-box-shadow:inset 0 0 2px rgba(255, 255, 255, 0.5); -webkit-box-shadow:inset 0 0 2px rgba(255, 255, 255, 0.5); box-shadow:inset 0 0 2px rgba(255, 255, 255, 0.5); color:#ad7676; padding:10px; position:fixed; top:-100px; right:20px; z-index:999}</style>
<?endif?>


В описании просилась сделать скрипт, который будет определять:
месяца / года / да хоть один день
В данном варианте я сделал устаревание темы через месяц, если кто захочет изменит дату под себя...

2) Панель управления ---> Управление дизайном ---> Форум ---> Вид материалов и в самый верх вставляем:

Код

<div class="wDATA" style="display:none;">$DATE$</div>


на этом всё...
Автор публикации: Загрузка
Загрузка
Вовчик, это его n материал
Источник: http://webo4ka.ru/
  • Всего комментариев: 1

Бармен
0
Бармен написал: в материале Написано 12 мая 2016 в 23:53
Комментарий №1
Удобно спасибо.

  • Оставить комментарий:
Добавлять комментарии могут только зарегистрированные пользователи.
Регистрация | Вход
Меню сайта
Категории
Для помощи создания сайта uCoz 25
Скрипты и модификации для Ucoz 2126
Шаблоны форумов Ucoz 28
Шаблоны сайтов Ucoz 432
Авторство Webo4ki 309
php скрипты для ucoz 57
Графика для uCoz 40
Мини-чат
Последние комментарии
  • geleson2222 написал:
  • ?
  • Doc120 написал:
  • /* Скрывает каперайт ucoz */
    .banner_u {
    opacity:0.2 ;
    }
    /* ----------------- */
    opacity:0.1 ; это легальное скрытее $POWERED_BY$
    ставим в ccs не ставте 0.0 тоже за банят 1.1 можно сам пользуюсь.
  • Doc120 написал:
  • Ставим в ccs и все
    /* Скрывает каперайт ucoz */
    .banner_u {
    opacity:0.2 ;
    }
    /* ----------------- */
  • topkalife написал:
  • Было бы лучше если бы данный скрипт работал)
  • k43 написал:
  • Возможно из-за капчи для пользователей
    Последние темы
    Опрос
    333
    А
    Р
    Что произойдёт: $("#...
    Статистика
    Анализ интернет сайта
    0
    онлайн
    0
    наших
    0
    чужих
    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    0
    Сегодня были
    Топ пользователей: