Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Новые возможности форумов » Скрипты от пользователей 3


Скрипты от пользователей 3

Сообщений 341 страница 360 из 565

1

Администрация MyBB не гарантирует работоспособность данных скриптов, вы ставите их на свой страх и риск.

Для тех кто выкладывает скрипты:
1) Дайте краткое описание скрипта.
2) Обязательно укажите куда его вставлять.
3) Сам скрипт вставьте в bb-коды [сode] [/сode] или в [quotе] [/quotе]

В данной теме запрещено задавать вопросы и просить скрипты. Для этого есть раздел  Запросы по скриптам[10], при нарушение данного правила будет выдаваться предупреждение в профиль.

Отредактировано Alex_63 (Ср, 12 Фев 2020 20:35:57)

+8

341

Спойлер персональной информации  V.3

С более надежной защитой скрытой информации

http://funkyimg.com/i/2bvEC.png

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


В HTML низ:

<!-- Спойлер персональной информации V.3 © Deff, Alex_63 -->
<script type="text/javascript" src="https://forumstatic.ru/files/0015/c4/3f/87206.js"></script>


Использование
Выделяем текст, который необходимо свернуть в спойлер, кликаем на кнопку http://sa.uploads.ru/t/Piyqa.gif.
/Текст, введенный в спойлер уже после вставки спойлера в форму ответа, не будет закодирован, а значит, его можно будет прочитать в исходном коде страницы.


Если нужно скрыть спойлер от модераторов - ставим сразу после скрипта спойлера такой код:

<script>if(GroupID!=1)$('.private-spoiler').remove()</script>


Если нужно скрыть от всех, кроме глав.Админа, - ставим сразу после скрипта спойлера такой код:

<script>if(UserID!=2)$('.private-spoiler').remove()</script>


03.01.2016 Добавлено распознавание смайлов в спойлере; добавлена возможность ограничения доступа к спойлеру

+5

342

Переработанная версия скрипта от Romych "Модераторские теги в сокращённом варианте"

Модераторские теги

С защитой от использования обычными юзерами

http://savepic.net/7563485.png

В HTML верх (или в конец Второго окна стилей без тегов <style>)

<!-- Модераторские теги © Alex_63 // Ч.1 Стиль -->
<style type="text/css">
div[class^="exmod"]{
  background: -webkit-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0)); 
  background: -moz-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0)); 
  background: -ms-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0)); 
  background: -o-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0)); 
  background-image: linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
  border-radius:11px;box-shadow:5px 5px 5px #9C9C9C;padding:1px;margin:1em 50px;
}
.modex1 {
  background-color: #CD5C5C !important;
  background-image: -moz-linear-gradient(left top , #B22222, #FA8072);
  background-image: -o-linear-gradient(left top, #B22222, #FA8072);
  background-image: -webkit-linear-gradient(left top, #B22222, #FA8072);
  background-image: -ms-linear-gradient(left top, #B22222, #FA8072);
}
.exmod1{background-color: #FFB6C1;border: 2px solid #ce4378 !important;}
.exmod2{background-color: #87CEFA;border: 2px solid #59add4 !important;}
div[class^="modex"] {
  border-radius: 8px 8px 0 0 !important;
  font-size: 1.2em; color: white;
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.7);
  background-attachment: scroll !important;
  background-clip: border-box !important;
  background-origin: padding-box !important;
  background-position: 0 0 !important;
  background-repeat: repeat !important;
  background-size: auto auto !important;
  margin:0;padding:2px 0 2px 10px;
}
.modex2 {
  background-color: #4682B4 !important;
  background-image: -moz-linear-gradient(left top , #4682B4, #87CEFA);
  background-image: -o-linear-gradient(left top, #4682B4, #87CEFA);
  background-image: -webkit-linear-gradient(left top, #4682B4, #87CEFA);
  background-image: -ms-linear-gradient(left top, #4682B4, #87CEFA);
}
.mod-inner{padding:6px 10px;display:block;min-height:73px;height:auto;}
.exmod1 .mod-inner{
  background:url(https://forumupload.ru/uploads/0000/14/1c/687287-3.png) no-repeat scroll 95% 0 transparent;
}
.exmod2 .mod-inner{
  background:url(https://forumupload.ru/uploads/0000/14/1c/687287-4.png) no-repeat scroll 95% 0 transparent;
}
#button-mod{background:url(http://
s3.goodboard.ru/files/0016/a6/f8/89851.png) no-repeat;}
#button-ex{background:url(http://
s3.goodboard.ru/files/0016/a6/f8/43915.png) no-repeat;}
</style>

В HTML низ

<!-- Модераторские теги © Alex_63 // Ч.2 -->
<script type="text/javascript">
$('.post').find('.post-content:contains("[/ex]"),.post-content:contains("[/mod]")').map(function() {
  var s='</p>',e='<p>',c=$(this).html(),x,m,end='</div><span class="mod-inner">$1</span></div>';
  x=s+'<div class="exmod1"><div class="modex1">ВНИМАНИЕ! Строгое предупреждение от администрации:'+end+e;
  m=s+'<div class="exmod2"><div class="modex2">ВНИМАНИЕ! Уведомление от администрации:'+end+e;
  c=c.replace(/\n/mgi,'');if(c.indexOf('[/ex]')!=-1){c=c.replace(/\[ex\](.*?)\[\/ex\]/mgi,x);}
  if(c.indexOf('[/mod]')!=-1){c=c.replace(/\[mod\](.*?)\[\/mod\]/mgi,m);}c=c.replace(/<p><\/p>/mgi,'');
  $(this).html(c);
});
if($('#pun-viewtopic,#pun-post,#pun-poll,#pun-edit,#pun-messages').length)(function() {
  var tl0='Строгое предупреждение',tl1='Предупреждение',imG='"><img src="i/blank.gif" title="';
  var t0 = '<td id="button-mod'+imG+tl1+'" onclick="bbcode(\'[mod]\',\'[/mod]\');"></td>';
  var t1 = '<td id="button-ex'+imG+tl0+'" onclick="bbcode(\'[ex]\',\'[/ex]\');"></td>';
  if(GroupID<=2){$('#button-code').after(t0+t1);} else if(GroupID>2) {
    $('.formsubmit .button').click(function() {var txt = $('#main-reply:first').val(),
      c=(txt.indexOf('[/ex]')!=-1||txt.indexOf('[/mod]')!=-1);if(c){
      alert('Вам запрещено использовать модераторские теги.');
      $('.button[disabled]').removeAttr('disabled');return false;}
    });
  }
}());
</script>

<!-- //End//- Модераторские теги -->

25.03.2016 Поправлено для распознавания многострочного текста внутри модераторских тегов
28.05.2016 Перезалиты иконки кнопок мод.тегов в форме ответа
01.11.2016 Поправлен стиль (высота контейнеров мод.тегов, - для возможности вставки длинного текста)

+8

343

Вставка ссылки на профиль пользователя по клику на ник

http://funkyimg.com/i/2bvEF.png

В HTML в форме ответа

<!-- Вставка ссылки на профиль пользователя по клику на ник -->
<script type="text/javascript">
function to(username,user_id){
  var N = "
\n"; // Символ после ника: "\n" - перенос строки, ", " - запятая
  var _Lnk = "http://"+location.hostname+"/profile.php?id="+user_id;
  insert("[
url="+_Lnk+"][color=brown][b]"+username+"[/b][/color][/url]"+N);
}
$(".pa-author>a[href*=':to(']").each(function(){
  var href=$(this).attr("href");var usLnk=$(this).parents(".post").find(".pl-email>a[href*='profile']");
  href=href.replace("')","',"+usLnk.attr("href").split("id=")[1]+")");$(this).attr("href",href);
});
</script>

P.S. Если установлен скрипт "Запятая в форму ответа после клика на Ник автора поста" - его удаляем!
(Оставляем только новый скрипт в HTML форме ответа)

+1

344

Модификация скрипта от Deff "Новый Вариант: -Аватарчик по умолчанию(для всех без Аватарных"
Исправлена ошибка с отображением аватаров на страницах модерирования тем, где их быть не должно

Аватар по умолчанию  V.3

В HTML низ

<!-- Аватар по умолчанию / Deff, Alex_63 -->
<script type="text/javascript">
var DefAvtr = '
http://savepic.org/1864006.png'; //Ссылка на аватар по умолчанию

$('#pun-viewtopic,#pun-messages').find('.pa-title').each(function(){
var L='<li class="pa-avatar item2"><img class="defavtr" src="'+DefAvtr+'" alt="Аватар"/></li>';
if($(this).parent().find('.pa-avatar').html()==null)$(this).after(L);});
$('#profile-left strong:contains("Нет аватара")').parent().html('<div><img src="'+DefAvtr+'"/></div>');
</script>


Вариант с отдельным Аватаром для Гостя:

<!-- Аватар по умолчанию / Deff, Alex_63 -->
<script type="text/javascript">
var DefAvtr = '
https://forumstatic.ru/files/0013/0b/24/55911.jpg'; //Ссылка на аватар по умолчанию
var GuestAvtr = '
https://forumstatic.ru/files/0013/0b/24/48543.jpg'; //Ссылка на аватар для Гостя

$('#pun-viewtopic,#pun-messages').find('.pa-title').each(function(){
  var b = DefAvtr;if($(this).text()=='Гость'){b = GuestAvtr;}
  var s='<li class="pa-avatar item2"><img class="defavtr" src="'+b+'" alt="Аватар"/></li>';
  if($(this).parent().find('.pa-avatar').html()==null)$(this).after(s);
});$('#profile-left strong:contains("Нет аватара")')
.parent().html('<div><img src="'+DefAvtr+'"/></div>');
</script>

(Картинки аватаров для второго скрипта взяты с форума http://udomovogo.rusff.ru/)


08.02.2016 Добавлена вставка стандартного аватара на странице профиля пользователей без аватарки
24.03.2016 Исправлена ошибка с кривой вставкой аватарки в профиле при использовании первого скрипта
28.03.2016 Поправлено

+5

345

Выделение непрочитанных постов в топике

Обычный пост

Непрочитанный пост

http://savepic.net/7553123.png

http://savepic.net/7544931.png

Выделение постов работает при переходе по ссылке "Новые сообщения" и последующих перемещениях в теме
(Скриншот: Ссылка "Новые сообщения" в форуме или Активных темах)
http://savepic.net/7569507.png

В HTML низ:

<!-- Выделение непрочитанных постов в топике // © Alex_63 -->
<style type="text/css">
.post.isNew h3 > span:before {
  content: url(http://savep
ic.ru/8271783.png) " ";
  vertical-align: middle;
}
.post:not(.isNew) h3 > span:before {
  content: url(http://sa
vepic.ru/8275879.png) " ";
  vertical-align: middle;
}
</style>

<script type="text/javascript" src="https://forumstatic.ru/files/0015/c4/3f/39117.js"></script>
<!-- //END// - Выделение непрочитанных постов -->

+5

346

Снятие выделения с форума по клику на иконку

(Аналог функции IPB)

http://savepic.ru/8274649.png

В HTML низ

<!-- Снятие выделения с форума по клику © Alex_63 / В HTML низ -->
<style>#pun-index .inew div.icon{cursor:pointer}</style>
<script type="text/javascript" src="https://forumstatic.ru/files/0015/c4/3f/62764.js"></script>

+3

347

Выделение непрочитанных постов в топике  V.2

Обычный пост

Непрочитанный пост

http://savepic.net/7553123.png

http://savepic.net/7544931.png

В этой версии - попытка выделить новые посты в теме независимо от клика на "Новые сообщения" в форуме / Активных темах.


В самый верх HTML верх

<!-- Выделение непрочитанных постов в топике © Alex_63 / Ч.1 в HTML верх -->
<style type="text/css">
.post.isNew h3 > span:before {
  content: url(http
://savepic.ru/8271783.png) " ";
  vertical-align: middle;
}
.post:not(.isNew) h3 > span:before {
  content: url(http
://savepic.ru/8275879.png) " ";
  vertical-align: middle;
}
</style>

<script type="text/javascript" src="https://forumstatic.ru/files/0015/c4/3f/56388.js"></script>
<!-- //END// - Выделение непрочитанных постов -->

В HTML низ

<!-- Выделение непрочитанных постов в топике © Alex_63 / Ч.2 в HTML низ -->
<script type="text/javascript">select_New_Posts ()</script>


+2

348

По просьбе mihka1980

Всплывающая форма поиска

(По клику на ссылку "Поиск" в меню навигации)

http://savepic.ru/8372610.png

В HTML низ

<!-- Всплывающая форма Поиска / © Alex_63 -->
<style>
#Search_Punbb{display:none;}
#P_Search{
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0; left: 0;
  z-index: 99999;
  background: rgba(0,0,0,.5);
  cursor: pointer;
}
#Search_Punbb > .container {
  background-color: #fafafa;
  position: fixed;
  left: 41%; top: 40%;
  padding: 1em;
  height: 150px;
  vertical-align: middle;
  z-index: 100000;
  border-radius: 10px;
  border: solid 3px #aaa;
}
#Search_Punbb p.inputfield{display:block!important;float:none;}
#Search_Punbb fieldset legend{text-align:center;}
#Search_Punbb fieldset legend span {
  color: #999 !important;
  font-size: 1.4em;
  font-weight: 700;
  background: #fafafa;
  font-family: Tahoma;
}
</style>

<script type="text/javascript">
function add_Search_form (){/*==123==;
<div id="Search_Punbb"><div id="P_Search"><!-- --></div>
<form id="punbbsearch" class="container" method="get" action="/search.php">
<fieldset><legend><span>Поиск по форуму</span></legend>
<div class="fs-box inline"><input type="hidden" name="action" value="search" />
<p class="inputfield"><label for="fld1">Ключевые слова</label><br/>
<span class="input"><input type="text" id="fld1" name="keywords" size="25" maxlength="100" /></span>
</p><p class="inputfield"><label for="fld2">Поиск автора</label><br/>
<span class="input"><input id="fld2" type="text" name="author" size="25" maxlength="25" /></span>
<input type="hidden" name="show_as" value="posts"/><input name="sort_dir" value="DESC" type="hidden"/>
</p></div></fieldset><p class="formsubmit">
<span style="float:left"><input type="submit" class="button" name="search" value="Отправить"/></span>
<span style="float:right"><a href="/search.php">Расширенный поиск</a></span></p>
</form></div>==123==;*/
}add_Search_form=add_Search_form.toString().split('==123==;')[1];
if(!$('#pun-search').length){$('#pun-navlinks').next().after(add_Search_form);
  $('#navsearch>a,#P_Search').click(function(e){e.preventDefault();$('#Search_Punbb').fadeToggle(200);});
}
</script>

Обновлен 16.01.2016 (2)
Обновлен 16.01.2017 для совместимости с новыми стилями из серии Classic_Dark

+6

349

Кнопки входа через соцсети на каждой странице

http://savepic.ru/8375804.png

В HTML низ

<!-- Кнопки входа через соцсети на каждой странице © Alex_63 -->
<style>span#login .social{margin:-2px 5px;}</style><script type="text/javascript">
var loginBtns = '<span class="item3" id="login" style="float:right">\
<a class="social social-facebook" href="/connect.php?provider=facebook"></a>\
<a class="social social-vkontakte" href="/connect.php?provider=vkontakte"></a>\
<a class="social social-odnoklassniki" href="/connect.php?provider=odnoklassniki"></a>\
<a class="social social-mailru" href="/connect.php?provider=mailru"></a>\
<a class="social social-google" href="/connect.php?provider=google"></a>\
<a class="social social-yandex" href="/connect.php?provider=yandex"></a>\
</span>';if(GroupID==3)$('#pun-status .container').append(loginBtns);
</script>

+5

350

Всплывающая форма входа

http://savepic.ru/8387742.png

В HTML низ

<!-- Всплывающая форма входа © Alex_63 -->
<style>
#Login_Punbb > .container {
  background-color: #fafafa;
  position: fixed;
  top: 40%;
  padding: 1em;
  vertical-align: middle;
  z-index: 100000;
  border-radius: 10px;
  border: solid 3px #aaa;
}
#Login_Punbb fieldset legend span {
  color: #999 !important;
  font-size: 1.4em;
  font-weight: 700;
  background: #fafafa;
  font-family: Tahoma;
}
</style>

<script type="text/javascript" src="https://forumstatic.ru/files/0015/c4/3f/62688.js"></script>

+4

351

Вывод похожих тем при создании темы

http://savepic.net/7647520.png

(Выводятся 5 последних тем)

В HTML низ

<!-- Вывод похожих тем при создании темы © Alex_63 -->
<script type="text/javascript" src="https://forumstatic.ru/files/0015/c4/3f/54631.js"></script>

+4

352

Модификация скрипта © Romych "Доска почета или Рейтинг самых уважаемых"

(На основе правки от Deff, Поправлено для работы в Mozilla Firefox)

Доска почёта или Рейтинг самых уважаемых  V.3

http://s2.uploads.ru/UQ1D9.png

(Скриншот © Romych)

Туда, где нужно отображение рейтинга

<ul id="userhero"></ul>

В HTML низ:

<!-- Рейтинг by Romych V.3 // Romych, Deff, Alex_63 -->
<script type="text/javascript">
var ViewRating = {};
ViewRating.view_on =
1; //Отображение: 0 - только на Главной, 1 - на всех страницах
ViewRating.Number =
8; //Число выводимых пользователей
</script>
<script type="text/javascript" src="https://forumstatic.ru/files/0010/b4/f8/51860.js"></script>
<script type="text/javascript" src="https://forumstatic.ru/files/0016/0b/c8/91475.js"></script>

Для отображения в столбик добавляем перед первой частью кода (см.выше, выделено синим):

<style type="text/css">#userhero li{display:block!important;width:53px}</style>

+5

353

Цветовыделение ников По ГРУППАМ  V.3

http://savepic.net/7647410.png


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


В HTML низ:

<!-- Цветовыделение Ников по группам // V.3 -->
<script type="text/javascript">
var groupColors ={
//ID группы  //Цвет
          1 : '
red',
          2 : '
blue',
          6 : '
gray'  //Последний элемент без запятой
};
</script>
<script type="text/javascript" src="https://forumstatic.ru/files/0015/c4/3f/30024.js"></script>


Стандартные группы:
1 - Администраторы
2 - Модераторы
3 - Гость
4 - Пользователи


Внимание! Быть окрашенными могут ники не более 100 пользователей!


Тестируем!

+3

354

Проверка ника пользователя  V.2

При регистрации и смене ника

http://savepic.net/7664707m.png

http://savepic.net/7657539m.png


В этой версии:
  - Проверка ника не только на странице регистрации, но и в профиле при смене ника
  - Добавлена проверка на спецсимволы (включение/отключение в настройках скрипта, на кавычки проверяется всегда)


В HTML низ

<!-- Проверка имени при регистрации © Alex_63 -->
<style type="text/css">
#username.normal{background-color: #A8ECA8;}
#username.error{background-color: rgb(255,190,190);}
.stclr.normal{color: green;}
.stclr.error {color: red;}
img.preloader{width:12px;height:12px;margin-left:3px;}
</style>

<script type="text/javascript">
var allowSymbols =
2; //Запрет спецсимволов: 0 - отключен, 1 - только при регистрации, 2 - включен

if($('#register,#profile1').length)(function(){
  var L='https://forumstatic.ru/files/0015/c4/3f/45775.js';
  var ST='<scr'+'ipt type="text/javascript" src="';
  var Es='"><'+'/script>';var LL = ST + L + Es;
  document.write(LL);
}())
</script>


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

(Администрирование > Группы  -  Редактировать

Разрешить пользователям группы пользоваться поиском пользователей - Да )

+8

355

Запрет написания сообщений юзером,

если с момента регистрации прошло менее N часов


Для админов и модераторов - ограничений нет.
Настройки можно поменять в скрипте.


В HTML низ

<!-- Запрет написания сообщений юзером на N часов после регистрации © Alex_63 -->
<script type="text/javascript">
if($('#pun-viewtopic,#pun-post,#pun-poll').length&&GroupID>2)(function() {
  var allow_Hours =
24; //Количество часов после регистрации до снятия запрета на отправку
  var allow_tTime =
1;  //Снимать блокировку, если юзер провел на форуме 1 час? 0 - нет, 1 - да

  var d = RequestTime, rg = UserRegistered;
  var timeRegd = d - rg;//alert(timeRegd);
  var time_Hours = (timeRegd/3600);//alert(time_Hours);
  var total = (UserTotalTime/3600);
  if(time_Hours < allow_Hours){//alert()
    if(allow_tTime == 1 && total > 1){return;}
    if($('#pun-viewtopic').length){$('#post-form').remove();}
    else if($('#pun-post,#pun-poll').length){
      $('#pun-main').html('<h1><span>Информация</span></h1>\
      <div class="info"><div class="container"><p>Вам запрещено отвечать в темах и создавать новые.</p>\
      <p>Возможность отправлять сообщения будет активирована через '+allow_Hours+' часа после регистрации.</p></div></div>');
      $('.crumbs').html(' »&nbsp;<a href="/">'+$('#pun-title h1>span').text()+'</a> »&nbsp;Информация');
      document.title = $('#pun-title h1>span').text();
    }
  }
}());
</script>

+4

356

Аватарка в цитате  V.2

http://savepic.net/7704971.png


Отличия от предыдущей версии:
  - при смене аватарки юзером, аватарки в цитатах не пропадают
  - скрипт работает и при наличии на странице постов юзеров без аватарок
  - встроенная функция "Ссылка на авторский пост в цитате"
  - совместимость со старыми версиями скриптов "Аватарка автора цитируемого сообщения в заголовке цитаты" и "Ссылка на авторский пост в цитате"


В HTML верх

<!-- Аватар в цитате V.2 © Alex_63 / Ч.1 в HTML верх-->
<style type="text/css">
.quote-box.with-avatar{padding-left:50px!important;}
.author-avatar+span {margin-left:-40px;}
.author-avatar {
  float: left;
  width: 39px;
  margin-left: -40px;
  margin-top: 27px;
}
.author-avatar > img {
  width: 28px;
  padding: 2px;
  border: 1px solid #c4cad4;
  border-radius: 4px;
}
</style>

<script type="text/javascript">
var QuoteImg = '
https://forumstatic.ru/files/0015/ec/20/41408.png'; //Картинка "Перейти к сообщению" в цитате
</script><script type="text/javascript" src="https://forumstatic.ru/files/0015/c4/3f/77306.js"></script>

В HTML низ

<!-- Аватар в цитате V.2 © Alex_63 / Ч.2 в HTML низ -->
<script type="text/javascript">setLinkAndAva()</script>


Тестируем, отписываемся в Запросы по скриптам[5]

+4

357

Скрытие форума от некоторых пользователей

В начало HTML низ:

<!-- Скрытие форума от некоторых пользователей / © Alex_63 -->
<script type="text/javascript">
function HideForum(fid,userArr){
  if($.inArray(UserID,userArr)!=-1){var Lsel=$('tr#forum_f'+fid).parents('.category');
    if(Lsel.find('tr[id^="forum"]:visible').length<=1){Lsel.remove()}else{
    $('.category tr#forum_f'+fid).remove();}
    var hSt='<h1><span>Информация</span></h1>';
    var hCn='<div class=info><div class=container>';
    hCn   +='Вы не имеете прав для доступа к этой странице.';
    hCn   +='</div></div>';var txt=$('#pun-title h1').text();
    var crCnt=' »&nbsp;<a href="/">'+txt+'</a> »&nbsp;Информация';
    var lnk = $('head>link[rel="alternate"]').attr('href');
    var lnk2= $('head>link[rel="up"]').attr('href');
    if(lnk&&$('#pun-viewforum').length&&(+(lnk.split('id=')[1]))==fid){
    document.title=txt;$('#pun-main').html(hSt+hCn);$('.crumbs').html(crCnt);}
    $('#pun-searchtopics').find('.tc2 a[href$="m.php?id='+fid+'"]')
    .parents('tr').remove();
    $('#pun-searchposts').find('.post h3>span>a[href$="m.php?id='+fid+'"]')
    .parents('.post').remove();
    if(lnk2&&$('#pun-viewtopic').length&&(+(lnk2.split('id=')[1]))==fid){
    document.title=txt;$('#pun-main').html(hSt+hCn);$('.crumbs').html(crCnt);}
  }
}

HideForum(4,[12,31]);
HideForum(
6,[8,11]);
</script>

Синим - ID форума, красным - ID пользователей, которым запрещен доступ в указанный форум и темы в нем
Строку

HideForum(6,[8,11]);

размножаем для нужных форумов.


Вариант: Скрываем форум от некоторых групп
В HTML низ:

<!-- Скрытие форума от некоторых групп / © Alex_63 -->
<script type="text/javascript">
function HideForum(fid,groupArr){
  if($.inArray(GroupID,groupArr)!=-1){var Lsel=$('tr#forum_f'+fid).parents('.category');
    if(Lsel.find('tr[id^="forum"]:visible').length<=1){Lsel.remove()}else{
    $('.category tr#forum_f'+fid).remove();}
    var hSt='<h1><span>Информация</span></h1>';var hCn='<div class=info><div class=container>';
    hCn+='Вы не имеете прав для доступа к этой странице.';hCn+='</div></div>';var txt=$('#pun-title h1').text();
    var crCnt=' »&nbsp;<a href="/">'+txt+'</a> »&nbsp;Информация';
    var lnk = $('head>link[rel="alternate"]').attr('href');var lnk2= $('head>link[rel="up"]').attr('href');
    if(lnk&&$('#pun-viewforum').length&&(+(lnk.split('id=')[1]))==fid){
    document.title=txt;$('#pun-main').html(hSt+hCn);$('.crumbs').html(crCnt);}
    $('#pun-searchtopics').find('.tc2 a[href$="m.php?id='+fid+'"]').parents('tr').remove();
    $('#pun-searchposts').find('.post h3>span>a[href$="m.php?id='+fid+'"]').parents('.post').remove();
    if(lnk2&&$('#pun-viewtopic').length&&(+(lnk2.split('id=')[1]))==fid){
    document.title=txt;$('#pun-main').html(hSt+hCn);$('.crumbs').html(crCnt);}
  }
}      //Форум  //Группы
HideForum(
14,[5,6]);
HideForum(
18,[4,6]); //Размножаем для нужных групп и форумов
</script>

(Надежнее и проще скрыть форум в настройках для нужных групп (Администрирование - Группы - Редактировать))

Поправлено 27.04.2016

+7

358

Запрет простановки репутации(оценки поста) в некоторых форумах

В HTML низ:

<!-- Запрет простановки репутации в некоторых форумах -->
<script type="text/javascript">
(function(){
var RespectOff_ForumId = [
24,33]; //ID форумов с отключением репутации;
var forum = $('#pun-viewtopic .crumbs:first a[href*="/viewforum.php?id"]');
if(!forum.length)return;
if($.inArray(+forum[0].href.split('id=')[1],RespectOff_ForumId)!=-1)
$('.post').find('a[href*="/relation.php?id="]').each(function(){
this.href="javascript:alert(\'Заблокировано\n на флудо-форумах!\')";
});}());
</script>

Красным, перечисление ID закрытых для репутации форумов

+5

359

Запрет доступа в темы определенного форума,

Если у пользователя менее N сообщений

В HTML низ:

<!-- Запрет доступа в темы определенного форума -->
<script>(function(){
var arrForums = [
2,14,69]; //Массив тем с запретом доступа юзерам, у которых менее N сообщений
var numPosts =
10; // Необходимое количество сообщений для доступа в темы указанных форумов
if(typeof(UserPosts)=='undefined'){UserPosts=0;}var st='Вам необходимо набрать еще '+(numPosts-UserPosts)+' сообщений.';
if(GroupID==3){st='<a href="/login.php">Войдите</a> или <a href="/register.php">зарегистрируйтесь</a>, чтобы просматривать темы в этом форуме.';}
if(GroupID>2&&UserPosts<numPosts&&$('#pun-viewtopic').length&&$.inArray(+($('link[rel=up]').attr('href').split('id=')[1]),arrForums)!=-1){
  $('#pun-main').html('<h1><span>Информация</span></h1><div class=info><div class=container>\
  Вы не имеете прав для доступа к этой странице. '+st+'</div></div>');
  document.title = $('#pun-title h1').text();
}}())
</script>

Для модераторов и администраторов - ограничений нет.

+3

360

Кнопка вставки BB-Тега абзаца(отступов) [indent]
(точнее отступов перед словом и строки от верху, не переводит на новую строку)

http://s2.uploads.ru/3yim7.jpg

HTML низ:
<!--ТЕГ  абзаца - [indent] -->
<style>#button-indent {background:url(http://s7.uploads.ru/t/mnkgq.png)no-repeat center 6px!important;}</style>
<script type="text/javascript">(function(){ var b = '[indent]';
$("#button-strike").after('<td id="button-indent" title="Отступы"><img src="/i/blank.gif"  onclick="smile(\''+b+'\')"></td>');
var indent = '<span style="display:inline-block;margin:1em 2.1em;"></span>'; /*удвоенные Отступы сверху и слево*/
$('.post-content p:contains("'+b+'")').each(function(){ $(this).html( $(this).html().replace(/\[indent\]/gm,indent));});}());
</script>

Вариант с возможностью простановки своих цифр  [indent=2,5] Красным левый отступ, синим - от верха, всё в em
Отступ от верха-синим (вместе с запятой) может отсутствовать=> [indent=2], тогда от верха без дополнительного отступа, идентичен [indent=2,0]
или оба =>[indent], тогда отступ будет установлен по умолчанию

<style>#button-indent {background:url(http://s7.uploads.ru/t/mnkgq.png)no-repeat center 6px!important;}</style>
<!--ТЕГ  абзаца - [indent=X,Y] --><script type="text/javascript">
(function(){var c="[indent",h,e='<span style="display:inline-block;margin:YYem XXem;"></span>';
$("#button-strike").after('<td id="button-indent" title="Отступы"><img src="/i/blank.gif"  onclick="smile(\''+c+']\')\"></td>');
function a(b,d){if(!d){return e.replace("XX","2").replace("YY","1")} /*удвоенные Отступы слево и сверху по умолчанию*/
else{return d.replace(/=(\d+(?:\.\d+)?)((?:,\d+(?:\.\d+)?)?)$/,function(f,i,g){h=e.replace("XX",i);v=g.substr(1);return h.replace("YY",(v?v:"0"));
})}}$('.post-content p:contains("'+c+'")').each(function(){$(this).html($(this).html().replace(/\[indent([=\d\.,]*?)\]/gm,a))})}());
</script>

Знак = (равно) и нужные цифры вписываем в тег [indent=3,4]  сами! (Не стал замудрять скрипт, ибо вставка цифр индивидуально -редко
Можно и дробные, с точкой: [indent=2.3,4.5]
Можно по клику на кнопку вставлять не пустой тег [indent], а уже с атрибутами сдвига по умолчанию(для удобства вставки своих цифр), тогда замените синию строку на:

$("#button-strike").after('<td id="button-indent" title="Отступы"><img src="/i/blank.gif"  onclick="smile(\''+c+'=2,1]\')\"></td>');

+8


Вы здесь » Единый форум поддержки » Новые возможности форумов » Скрипты от пользователей 3