Вы Гость | Группа "Гости" | RSS Среда, 27.11.2024, 21:05
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Скрипт для форума поднятие темы
Offline ZaUcoz Дата: Суббота, 02.04.2011, 21:12 | Сообщение # 1

Звание: Рядовой
Группа: Модераторы
Сообщений: 9
Активность:
Скрипт для форума поднятие темы

При установке данного скрипта есть возможность автору только темы апать свою тему, то есть поднимать на верх.
скрипт сделан на куках, и запрещает пользователю апать более 1 темы в 24 часа, эти настройки можно изменять на время и количество раз
как выглядит работа скрипта:
при клике по кнопки которая указана скрине , ее скрипт выводит автоматом в строку в название темы

после появляется окно с диалогом

В случае если пользователь хочет больше чем один пост поднять вверх то выходит окно предупреждение такого вида

Установить очень просто
Установка:
Вставляем в страницу форума перед </body>
Code
<script type="text/javascript">  
  locationh = '$HOME_PAGE_LINK$/forum/'+location.href.split('/')[4].split('-')[0]+'-'+location.href.split('/')[4].split('-')[1]+'-1';  
  $.get(locationh,function(data){  
  if($('.postUser:first',data).text() == 'mdbaner'){$('.gTopCornerRight:first').after('<div style="float:right;cursor:pointer;margin-right:10px;" class="upTheme"><img src="http://ucozon.ru/SCRIN7/1/up.png"></div>');  
  function setCookie(name, value, days) {  
   if (days) {  
   var date = new Date();  
   date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));  
   var expires = "; expires=" + date.toGMTString();  
   }  
   else var expires = "";  
   document.cookie = name + "=" + value + expires + "; path=/";  
  }  

  function getCookie(name) {  
   var nameEQ = name + "=";  
   var ca = document.cookie.split(';');  
   for (var i = 0; i < ca.length; i++) {  
   var c = ca[i];  
   while (c.charAt(0) == ' ') c = c.substring(1, c.length);  
   if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);  
   }  
   return null;  
  }  

  function eraseCookie(name) {  
   setCookie(name, "", -1);  
  }  
  upth = location.href.split('/')[4].split('-')[0]+'uptheme';  
  $('.upTheme').click(function() {  
  if (getCookie(location.href.split('/')[4].split('-')[0]+'uptheme')) {  
   _uWnd.alert('<center><font color="red">Вы уже воспользовались функцией <b>сегодня</b></font><br><div style="font-size:10">Попробуйте позднее</div></center>', 'Оповещение',{w:300, h:70});_uWnd.close('uptheme')  
  }  
  else{  
  new _uWnd('uptheme',' ',400,80,{align:0,shadow:0,close:1,autosize:1,maxh:400,minh:80,resize:0,oncontent:function() {  
  $.get(location.href, function(data){  
  seckey = $('input[name="seckey"]',data).val();  
  img_seckey = $('#secImgForum',data).attr('src');  
  r_seckey = $('#secImgForum',data).attr('onclick');   
  if(seckey){$('#capID').html('<img src='+img_seckey+' style="cursor:pointer;" id="r_seckey" align="absmiddle"> <input class="capIDmE" type="text" autocomplete="off" style="font-size:20px;padding:4px;width:60px; type="text">');_uWnd.getbyname('uptheme').checksize()}  
  else{$('.capID').hide();setTimeout("_uWnd.getbyname('uptheme').checksize()",500)}  
  $('#r_seckey').click(r_seckey);  
  $('#upThemeF').click(function() {  
  $('.securityCode').val($('.capIDmE').val())  
  $('#bodyUp').html('<div id="resUp" style="padding:25px;"><center>Пожалуйста, подождите...</center></div>');  
  _uWnd.getbyname('uptheme').checksize();  
  var ssid = $('input[name="ssid"]', data).val();  
  $.post('/forum/', {   
  a: '7',p: '0',jkd428: '1', jkd498: '1',message: 'upTheme',signature_on: '1',fid: location.href.split('/')[4].split('-')[0],tid:location.href.split('/')[4].split('-')[1],seckey:seckey,code:$('.securityCode').val(),ssid: ssid  
  }, function(q){  
  errorT = $(q).find('.gTableError').text();  
  if(errorT){$('#resUp').html('<div style="color:red;text-align:center;">'+errorT+'</div>');_uWnd.close('uptheme');_uWnd.alert('<center><font color="red">'+errorT+'</font></center>', 'Ошибка',{w:400, h:70});}  
  else{$('#resUp').html('<div style="color:blue;text-align:center;">Действие выполнено <b>успешно</b></div>');_uWnd.close('uptheme');_uWnd.alert('<center><font color="blue">Действие <b>успешно</b> выполнено</font></center>', 'Успешно',{w:400, h:70});setCookie(upth,'my content', 1)}  
  });   
  });   

  });  
  }}, '<div id="bodyUp" align="left"><fieldset style="padding:6px;">С помощью данной функции вы сможете приподнять тему вверх не более, чем <b>1</b> раз в день.</fieldset><fieldset class="capID" style="padding:6px;"><div id="capID"></div></fieldset><fieldset style="padding:6px;"><div align="right"><div style="display:inline-block;">'+_uButton('', 'b', {style: 3,text: 'Продолжить', id: 'upThemeF'})+'</div> <div style="display:inline-block;">'+_uButton('', 'b', {style: 1,text: 'Отмена',content: 'onclick="alert(\'' + this.href + '\')"'})+'</div></div></fieldset></div>' )  
  };  
  });  
  }  
  else{$('.upTheme').hide()}  
  });  

  $('.gTopCornerRight:last').parent().css({paddingLeft:'16px'})  
  $('.gTopCornerRight:first').parent().css({paddingLeft:'16px'})  
  $('td[class^="postRest"]').css({backgroundColor:'#FFF'})  
  String.prototype.rett=function(){return this.replace(/[:()]/g,'').substr(14)*1;};  
  var teq = 7, tej = 5, tep = 0, ten = $('.gDivLeft:eq('+teq+') .forumThreadTd').length, tec = {a: 0, b: 0, c: 0, d: 0};  
  for(i = 0; i <= teq; i++) {  
  tec.a += ($('.gDivLeft:eq('+teq+') .forumThreadTd').eq(i).text())*1;  
  tec.b += ($('.gDivLeft:eq('+teq+') .forumPostTd').eq(i).text())*1;  
  tec.c += $('.gDivLeft:eq('+teq+') .forumViewed').eq(i).text().rett();  
  };  
  tec.d = $('.gDivLeft:eq('+teq+') .forumLastPostTd:eq(0)').html();  
  $('.gDivLeft:eq('+tej+') .forumThreadTd:eq('+tep+')').text(tec.a);  
  $('.gDivLeft:eq('+tej+') .forumPostTd:eq('+tep+')').text(tec.b);  
  $('.gDivLeft:eq('+tej+') a.forum:eq('+tep+')').after('<span class="forumViewed">(просматривают: '+ tec.c +')');  
  $('.gDivLeft:eq('+tej+') .forumLastPostTd:eq('+tep+')').html($('.gDivLeft:eq('+teq+') .forumLastPostTd').eq(0).html());  
  $('.gDivLeft').eq(teq).hide();  
  </script>  
  

если вы хотите к примеру изменить на 12 часов запрета а не 24 то изменяем даную строчку скрипта
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
таким образом 24 на 12
date.setTime(date.getTime() + (days * 12 * 60 * 60 * 1000));

Источник: http://ucozon.ru/

  • Страница 1 из 1
  • 1
Поиск:




  Всё для ucoz сайтов!