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


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

419
10 из 10
Проголосовало: 6






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

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

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

Установка:

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 2113
Шаблоны форумов Ucoz 28
Шаблоны сайтов Ucoz 431
Авторство Webo4ki 309
php скрипты для ucoz 57
Графика для uCoz 40
Мини-чат
Последние комментарии
  • sasha2016tv написал:
  • Хороший скрипт
    Ох. Вижу, что обсуждение очень старое. Но!
    На других CMS так же будет все это реализовано. На нормальных CMS.
    Такое решение может подойти лишь для landing сайтов. Но и то, не думаю, что там кто то заморачивается в написании какого либо контроллера генерирования шаблона и используют прямо в лоб чистый HTML, поэтому и будут для каждой страницы свои блоки делать.

    Поэтому лучше тут все же дописать решение именно для ucoz без загрузки этих лишних блоков на странице. Ведь используя условные операторы этот код даже не будет прогружаться на странице. (Лол. Это ж доли секунд загрузки...) И что? Но давайте делать оптимальнее
    Моё авторство:)
  • 1488 написал:
  • 1488 написал:
  • Смысл исходный код? он возвращает после обновление страницы на то положение которое было... или как?
  • 1488 написал:
  • как поставить галки как скрине?
    а то невозможно поставить...
    Последние темы
    Опрос
    229
    А
    Р
    Что произойдёт: $("#...
    Статистика
    Анализ интернет сайта
    0
    онлайн
    0
    наших
    0
    чужих
    Онлайн всего: 3
    Гостей: 3
    Пользователей: 0
    0
    Сегодня были
    Топ пользователей: