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

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

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


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


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

Сообщений 421 страница 440 из 533

1

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

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


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


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

+6

421

Запрет некоторых слов/сочетаний в нике при регистрации
В HTML верх: (или низ)

<script><!--Запрет Некоторых сочетаний в Нике юзера-->
var BannedNikArray=new Array(
  //Запрещенные слова/сочетания
   "
тест-ник1",
   "
тест-ник2" //!!последний элемент без запятой
);
$(document).ready(function(){$('#register .button[name="register"]').click(function (){
var L=$("#username").val();for(var i=0;i<BannedNikArray.length;i++){if(L.indexOf(BannedNikArray[i])!=-1){
alert("Ник \""+L+"\" запрещен для регистрации!");return false};}})});
</script>

+5

422

+3

423

Реанимация скрипта от Deff CКРИПТ РЕПУТАЦИИ НА ФОРУМЫ MYBB
Комментарии к проставляемой оценке за пост
http://s6.uploads.ru/if4YQ.pnghttp://sg.uploads.ru/sYBUh.png

DEMOДобавить комментарий можно здесь: » ссылка


Установка
1. Начальные настройки:

1.  В настройках выставляем Время переадресации - 1 (Администрирование - Настройки - Время и тайм-ауты) [ скриншот ]
2.  Создаем новый форум с названием <RESPECT> (с угловыми скобками) в Администрирование - Форумы
Форум лучше делать в самой нижней категории, где есть хотя бы один форум, видный всем группам.
3.  В созданном форуме <RESPECT> отключаем счетчик сообщений [ скриншот ]
и разрешаем возможность создавать темы и сообщения всем группам (кроме Гостя), Гостям разрешаем просмотр сообщений [ скриншот ]
4.  Проставляем всем группам настройку: Задержка при поиске - 1 (Администрирование - Группы - Редактировать) [ скриншот ]

2. Ставим в начало HTML верх код скрипта:

<!-- Комментарии к репутации --><script>
var mybbRespect ={};
mybbRespect.forum   =
5; //ID форума с репутацией <RESPECT>;
mybbRespect.reason  =
1; //Обязательность указания причин при минусах: 0 - не обязательно, 1 - обязательно!;
</script>
<script type="text/javascript" src="http://forumstatic.ru/files/0016/0b/c8/84477.js"></script>

Пояснения:
mybbRespect.forum   - ID созданного форума <RESPECT>
(чтобы его определить, зайдите в этот форум и считайте цифры в адресной строке после id=, например:
    http://forum.mybb.ru/viewforum.php?id=16    - эту цифру вписываем в скрипт.)
mybbRespect.reason   - обязательность указания причины при проставлении минуса (0 - не обязательно, 1 - обязательно)


После установки скрипта и указания в нем ID форума с репутацией, - форум <RESPECT> скроется автоматически.


Если установлен скрипт статистики "Последние сообщения форума", - ставим в самый низ HTML низ такой скрипт:

<script><!--Удаляем темы спец.форума из статистики-->
function removeTRstats(){$("#pun-stats tr,#pun-debug tr").filter(function(){
return $(this).find("td a").filter(function(){return $.trim(this.textContent)=="_user_respect"}).length!=0})
.replaceWith("");};$(document).ready(function(){removeTRstats();});$(window).load(function(){removeTRstats()});
</script>


P.S.: Ввиду особенностей поискового движка на mybb (а скрипт работает на основе поиска), комментарии на странице репутации появляются не сразу, а через 15-20 минут после добавления.


Тестируем, отписываемся о работе скрипта!

+8

424

ПИАР-ВХОДНовая версия


Отличия от предыдущих версий:
1. Возможность подключения нескольких аккаунтов для быстрого входа
2. Возможность установки своей надписи или картинки для кнопки PR-входа
3. После входа происходит переадресация на ту же страницу, где пользователь был до входа


В HTML верх:

<!-- Пиар-вход v.2 -->
<script src="http://forumstatic.ru/files/0015/c4/3f/26781.js"></script>
<script type="text/javascript">
PR.nick = '
Реклама'; //Ник PR-аккаунта
PR.pass = '
1111'; //Пароль PR-аккаунта
PR.btn_text = '
PR-вход'; //Надпись на кнопке PR-входа(или ссылка на картинку);
PR.set();</script>


Пояснения:

1. PR.btn_text   - текст ссылки в меню навигации или ссылка на картинку (Тег картинки установится автоматом, если вставлена ссылка)
2. Для подключения нескольких аккаунтов с быстрым входом (например, один аккаунт для рекламы, другой для чтения постов форума) - размножаем(в дополнение к первому) эту часть скрипта (с нужными данными):

<script type="text/javascript">
PR.nick = '
Реклама'; //Ник PR-аккаунта
PR.pass = '
1111'; //Пароль PR-аккаунта
PR.btn_text = '
PR-вход'; //Надпись на кнопке PR-входа(или ссылка на картинку);
PR.set();</script>


Пример с двумя аккаунтами для быстрого входа:

<!-- Пиар-вход v.2 -->
<script src="http://forumstatic.ru/files/0015/c4/3f/26781.js"></script>
<script type="text/javascript">
PR.nick = '
Реклама'; //Ник PR-аккаунта
PR.pass = '
1111'; //Пароль PR-аккаунта
PR.btn_text = '
PR-вход'; //Надпись на кнопке PR-входа(или ссылка на картинку);
PR.set();</script>

<script type="text/javascript">
PR.nick = '
Читатель'; //Ник PR-аккаунта
PR.pass = '
2222'; //Пароль PR-аккаунта
PR.btn_text = '
Читать'; //Надпись на кнопке PR-входа(или ссылка на картинку);
PR.set();</script>


Если нужно установить переадресацию после залогинивания на определенный URL, -
ставим в HTML низ:

<script>
if(GroupID==3)$('#PRlogin').on('submit',function(){
  $(this).find('input[name="redirect_url"]').val('Ccылка');
});
</script>

Вместо красного вставляем нужную ссылку.


Для дизайнеров:

Пункты меню Пиар-входа имеют селектор  #navpr_N, где N - номер кнопки Пиар-входа по счету слева
(Для первой кнопки - #navpr_1, для второй - #navpr_2 и т.д)


Тестируем!

+11

425

Цитирование с BB-кодамиНовая версияhttp://sg.uploads.ru/KM5tu.png


Особенности:
- Позволяет цитировать с BB-кодами не только сообщение целиком, но и выделенную часть;
- Работает со всеми форматами цитаты (обычная цитата, со ссылкой, с аватаром и т.п.);
- Выбор режима: BB-цитирование по стандартной кнопке или со вставкой спец. кнопки "BB-цитата";
- Возможность ввода своего названия кнопки для BB-цитирования


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

<!-- BB-цитатa (NEW) --><script>
var BBQuote = {};
BBQuote.mode   =
1; // BB-цитирование: 0 - по стандартной кнопке цитаты, 1 - со вставкой новой кнопки;
BBQuote.text   = '
BB-цитата'; // Надпись на кнопке BB-цитирования
</script>
<script type="text/javascript" src="http://forumstatic.ru/files/0015/c4/3f/62091.js"></script>


Если стоит скрипт переноса быстрого ответа под нужный пост, - ставим ниже BB-цитаты такую правку:

<script type="text/javascript">
$(document).ready(function(){$('li.pl-BBquote>a').map(function(){this.href='javascript:MReplyForm();'+this.href.split('javascript:')[1];});});
</script>


На форумах BestBB скрипт уже подключен(BB-цитирование происходит по клику на стандартную кнопку цитаты)


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

+9

426

Быстрое редактирование постов V.3
Исправлен баг с некорректной работой (не загружалась форма редактирования) в первых постах на Rusff форумах

+5

427

Поскольку тема актуальная, решил доработать свой скрипт Вывод похожих тем при создании темы
Вывод похожих тем при создании темы  V.2http://s7.uploads.ru/ZhCgu.jpg


В этой версии:
  - Блок похожих тем выводится при наборе / удалении текста в поле заголовка
  - Добавлен ник автора каждой из выводимых тем
  - Поправлен стиль блока с темами
  - Количество выводимых тем увеличено до 10 (Выводятся 10 самых свежих)


В HTML верх или низ:

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


Скрипт добавлен в раздел Администрирование - Скрипты от сервиса => 20 июня 2017: Новые скрипты от сервиса (Администрирование - Скрипты)

+8

428

Просмотр местонахождения пользователя
по наведению на ник в строке Активных
http://s2.uploads.ru/jZkIm.png
В HTML верх или низ

<!-- Просмотр местонахождения пользователя -->
<script src="http://forumstatic.ru/files/0015/c4/3f/96023.js"></script>


Скрипт добавлен в раздел Администрирование - Скрипты от сервиса => 20 июня 2017: Новые скрипты от сервиса (Администрирование - Скрипты)

+9

429

Не скрипт, но востребовано,
Поскольку каждый из предыдущих вариантов имел свои минусы,
предлагаю такую реализацию:

Защита от отключения JavaScript на CSShttp://s2.uploads.ru/5F1vn.png
В HTML верх

<noscript><link rel="stylesheet" href="http://forumstatic.ru/files/0016/0b/c8/13249.css" /></noscript>

+11

430

Давно обещал сделать возможность отображения ников и аватаров юзеров, 
воспользовавшихся просмотром или скачиванием материала из спойлера 
       
(смотрим пользователей, при наведении на оценку за пост)                               

Спойлер с открытием за оценкуhttp://s0.uploads.ru/EgOrn.png


Действие скрипта:
Чтобы вставить в форму ответа тег скрытого спойлера, нужно выделить сворачиваемый текст и нажать на кнопку http://sf.uploads.ru/2d89p.png.
Для того чтобы просмотреть свернутый текст, пользователь должен проголосовать за сообщение, в котором находится спойлер.
Для модераторов форума, где находится пост, и администраторов - ограничений на просмотр спойлера(ов) нет. Автор поста также может просматривать скрытые спойлеры в своем посте.


В HTML верх:

<!-- Спойлер с открытием за оценку © Alex_63 -->
<script type="text/javascript" src="http://forumstatic.ru/files/0015/c4/3f/88421.js"></script>


Дополнение: Меняем текст в заголовке спойлера на свой
В HTML низ:

<script>$('.sp-for-vote>div>b').text('Чтобы увидеть ссылку, нажмите спасибо')</script>

Вместо красного - вводим свой текст.

Вариант 2: Вставляем свой HTML в заголовок(текст, картинку, ...)
В HTML низ

<script>$('.sp-for-vote>div').html('<img src="картинка" /> Ваш текст')</script>

Красным - Ваш контент, который может содержать HTML (вписываем в одну строку, без переносов!)


Тестируем

+7

431

Защита от копирования контента на своих страницахhttp://sh.uploads.ru/C4Eid.png
Установка:
1. Ставим скрипт: ПОДФОРУМЫ с Автоматической Установкой
Если скрипт уже установлен, - пропускаем этот шаг
2. Ставим в контейнер-дополнение для HTML низ в Админке такой скрипт:

<script src="http://forumstatic.ru/files/0015/c4/3f/66206.js"></script>


Пояснения:

Если скрипт Подфорумов с автоматической установкой ставим впервые, - должен получиться такой код:
в HTML верх:

<noscript data="html_footer">
<!-- Контент HTML низ в Админке -->
<script src="http://forumstatic.ru/files/0015/c4/3f/66206.js"></script>
</noscript>

<!-- Подфорумы "не скриптом" © Alex_63 / Ч.1 в начало HTML верх -->
<script type="text/javascript">var SUBF = {},SUBFset = {};
// Настройки скрипта //

SUBF.icon_old = 'http://forumstatic.ru/files/0016/4f/7e/12924.jpg';  // Иконка подфорумов без новых сообщений
SUBF.icon_new = '
http://forumstatic.ru/files/0016/4f/7e/75803.jpg';  // Иконка подфорумов с новыми сообщениями
SUBF.d_title = '
Подфорумы:'  // Текст в заголовке секции подфорумов
SUBF.category_link =
0; // Кликабельность категорий: 0 - отключена, 1 - включена

SUBFset.enable_subf = 1; // Установка подфорумов: 0 - ручная, 1 - автоматическая

$(document).ready(function(){$('#navadmin>a').attr('href','/admin/index');});
if(document.URL.indexOf('/admin/')!=-1)(function(){var s='<script type="text/javascript" src="',
e='"></'+'script>',l='http://forumstatic.ru/files/0016/4f/7e/40123.js';document.write(s+l+e);}());
</script><link rel="stylesheet" type="text/css" href="http://forumstatic.ru/files/0016/4f/7e/73859.css"/>
<script type="text/javascript" src="http://forumstatic.ru/files/0016/4f/7e/73858.js"></script>

в HTML низ:

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

в конец Первого окна стилей (если свой стиль отключен, - не ставим эту часть)

/************* Автоустановка Подфорумов | Add styles *************/
.punbb-admin:not(.admin-visible)::before {
  content: "Вы вошли в панель администрирования без надстроек. Автоматическая установка подфорумов отключена.";
  color: #c22d2d; display: block; text-align: center; border: solid 1px #d48f8f; padding: 5px; margin-bottom: 5px; background: #f8e5e5;
}


Для активации защиты от копирования на конкретной странице, - заходим в Администрирование - Страницы, жмем "Редактировать" у нужной страницы, в блоке Запрет копирования выбираем Да, жмем "Сохранить".


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

+4

432

К скрипту: Спойлер с открытием за оценку
Дополнение:  Автоматическое оценивание поста по клику на скрытый спойлер

В HTML верх или низ:

<script><!--Автоклик на оценку-->
$(document).ready(function(){$(".sp-for-vote > div").click(function(){if($(this).next("blockquote").hasClass("no-visible")){
$(this).parents(".post").find(".post-vote a[href*='&v=1']").click();};});});
</script>

+3

433

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

Уведомление о незакрытых тегах при отправке ЛСhttp://s2.uploads.ru/03DCE.png
В HTML верх или низ:

<script><!--Уведомление о незакрытых тегах при отправке ЛС-->
if($("#pun-messages").length){$(document).ready(function(){$("#post .button[name='submit']").live("click",function(){
var Stack=[[],[],[],[]];var Pattern=["[quote=|]","[/quote]","[code]","[/code]"];var L=$("#main-reply").val();var Msg=new Array();
for(var i=0;i<Pattern.length;i++ ){var patt=Pattern[i].replace(/([\[\]])/gim,"\\$1").replace(/\|/gim,"([^\\[\\]]+?)?");
var reg=new RegExp(patt.replace(/=/gim,"(?:=?)?"),"gim");L.replace(reg,function(str,offset,s){Stack[i].push(str)});};
if(Stack[0].length>Stack[1].length){Msg=["конечный","[quote]"];};if(Stack[1].length>Stack[0].length){Msg=["начальный","[/quote]"]};
if(Stack[2].length>Stack[3].length){Msg=["конечный","[code]"]};if(Stack[3].length>Stack[2].length){Msg=["начальный","[/code]"]};
if(!!Msg&&Msg[0]){alert("Синтаксис тегов BBCode в сообщении неправильный. Отсутствует "+Msg[0]+" тег для "+Msg[1]+".");
return false};});});};
</script>

+7

434

Обновлен скрипт
Регулировка размера шрифта в постах бегунком
Бегунок адаптирован под мобильные экраны (добавлены события для тачскринов)

+7

435

Обновлен скрипт
Быстрое редактирование постов V.3
Исправлен баг с отображением битых картинок в посте после редактирования

+4

436

Поскольку проблема с лишением права голосовать в опросе
после просмотра результатов остается актуальной,             
Сделал новый скрипт-правку, более надежный и быстрый   

"Безопасный" просмотр результатов опросаНовая версияhttp://s2.uploads.ru/RuAJU.png


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


В HTML верх

<!-- "Безопасный" просмотр результатов опроса © Alex_63 -->
<script src="http://forumstatic.ru/files/0015/c4/3f/67991.js"></script>


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

+2

437

Поскольку были просьбы как-то ускорить скрипт, сделал новую версию:
Полный профиль на странице profile.php V.2С добавкой ссылок отправки ЛС - E-mail, в зависимости от допускаhttp://s8.uploads.ru/FAtcj.png
В HTML верх

<!-- Просмотр полного профиля на странице /profile.php V.2 -->
<script type="text/javascript" src="http://forumstatic.ru/files/0015/c4/3f/44995.js"></script>

+4

438

Быстрая навигация по страницамНовый вариантhttp://s4.uploads.ru/bPLQ7.png


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


В HTML верх:

<!-- Быстрая навигация по страницам © Alex_63 --><style>
#pun .pagenav td{padding:0!important;border:none 0 transparent!important;vertical-align:top}
.page-wrap{display:inline-block;position:relative}.page-wrap a{display:inline-block;text-align:center;width:2em}
.page-wrap .first{margin-right:.6em;}.page-wrap .last{margin-left:.6em;}.page-wrap .first+.last{margin-left:-.6em}
.page-wrap a.current{color:#ff6c24;text-decoration:none;font-weight:700}.pagenav a.l3{transform:scaleX(.9)}
.pagenav a.l4{transform:scaleX(.8)}.pagenav a.l5{transform:scaleX(.7)}.pagenav a.l6{transform:scaleX(.6)}
.page-dt{display:none;position:absolute;transform:scaleX(.7)}.page-dt.visible{display:block;}
.page-dt.l{left:1.8em;}.page-dt.r{right:1.8em;}.page-wrap.f~.page-scroll{margin-left:1em;}
.page-scroll{height:10px;margin-top:3px;display:block;background:transparent;border-top:solid 3px #d4d4d4;margin-bottom:-10px;}
.page-scroll-thumb{position:relative;margin-top:-3px;height:10px;background:transparent;cursor:pointer;border-top:solid 3px rgba(0,0,0,.7)}
.page-scroll-marker{border-top:solid 3px #ff6c24;width:3px;height:6px;top:-13px;position:relative;cursor:pointer;z-index:6}
.linkst .pagelink,.linksb .pagelink{width:32em}.linkst .pagelink{margin-top:-.5em}
</style>

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


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

+8

439

Запрет просмотра Гостю профилей
пользователей некоторых групп

В конец HTML верх:

<script><!--Запрет просмотра профиля Модеров-Админов Гостям-->
if(GroupID==3&&document.URL.indexOf("/profile.php")!=-1){$.ajax({url:"/api.php",type:"POST",dataType:"json",
data:{method:"users.get",user_id:document.URL.replace(/^[^\[\]]+?id=(\d+)$/gim,"$1"),fields:"group_id"},
async:false,cache:false,success:function(data){var L=data.response.users[0].group_id;if([
1,2].indexOf(+L)!=-1){
$(document).ready(function(){var S='<h2><span>Информация</span></h2><div class="';
S+='info"><div class="container">Вы не имеете прав для доступа к этой странице</div></div>';
$("#pun-main").show().html(S)}).pun_mainReady(function(){$("#pun-main").hide()});};}});};
</script>

Красным - группы, просмотр профилей которых запрещаем Гостю.


Для надежности рекомендуется поставить Защиту от отключения JavaScript

+2

440

По просьбе Oriel, - написал такой скрипт:
Изменяем отображение Статистики на Главнойhttp://s7.uploads.ru/VvqNf.png
В HTML низ

<!--Изменяем отображение Статистики на Главной-->
<style>
#pun-stats .e2:after{
content:","
}
#pun-stats .e2-1,
#pun-stats .e3-1{
font-weight:700;
}
</style>
<script>
if($(".punbb").attr("id")=="pun-index"){
  function getNumEnding(Num,EndArr){var End,i;Num=Num%100;if(Num>=11&&Num<=19)End=EndArr[2];
  else{i=Num%10;switch(i){case(1):End=EndArr[0];break;case(2):;case(3):;
  case(4):End=EndArr[1];break;default:End=EndArr[2];};};return End;};
  var GuestWrdArr=new Array( "гость","гостя","гостей");
  var UserWrdArr=new Array("пользователь","пользователя","пользователей");

$("#pun-stats .item5 div").each(function(){
  var Cnt=$(this).find("span").html();var Lnk=$(this).find("a:first").clone();var L=$(this).html();
  var Wrd="";var Wrd2="";var Wrd3="";

if(L.indexOf("Активны")!=-1){  //Строка Активных;
  var GuestNum=parseFloat($(this).find("strong").eq(0).html());
  var UserNum=parseFloat($(this).find("strong").eq(1).html());
  Wrd=getNumEnding(GuestNum,GuestWrdArr);Wrd2=getNumEnding(UserNum,UserWrdArr);
  L='<span class=e1></span> <span class=e2><span class="e2-1">'+GuestNum+'</span>';
  L+='<span class="e2-2"> '+Wrd+'</span></span> <span class="e3"><span class="e3-1">'+UserNum+'</span>';
  L+='<span class="e3-2"> '+Wrd2+'</span></span>';if( UserNum>0){L+=":"};
  L+=' <span class=e4>'+Cnt+'</span>';$(this).html(L);$(this).find(".e1").prepend(Lnk)};

if(L.indexOf("Посетили за сутки")!=-1){  //Строка Посетителей за сутки;
  var UserNum=parseFloat($(this).find("strong").eq(0).html());
  Wrd3=getNumEnding(UserNum,UserWrdArr);
  L='<span class=e1></span> <span class="e3"><span class="e3-1">'+UserNum+'</span>';
  L+='<span class="e3-2"> '+Wrd3+'</span></span>';if( UserNum>0){L+=":"};
  L+=' <span class=e4>'+Cnt+'</span>';$(this).html(L);$(this).find(".e1").prepend(Lnk);
  if(UserNum.toString().substring(UserNum.length-1,UserNum.length)=="1"&&UserNum!=11){
  var e1=$(this).find(".e1 a");var a=e1.text();e1.text(a.replace('Посетили','Посетил'))};};});

$("#pun-stats .item6 div").each(function(){
  var UserNum=parseFloat($(this).find("strong").eq(0).html());var Cnt=$(this).find("span").html();
  UserWrdArr=new Array("пользователя","пользователей","пользователей");
  var Wrd=getNumEnding(UserNum,UserWrdArr);var St=$(this).html().replace(/^([^\[\]]*?)\!([\s\S]*)$/igm,"$1");
  L='<span class=e1>'+St+'</span> <span class="e3"><span class="e3-1">'+UserNum+'</span>';
  L+='<span class="e3-2"> '+Wrd+'</span></span>: <span class=e4>'+Cnt+'</span>';$(this).html(L);});};
</script>

Поправлено 15.09.2016

+1


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