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

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

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


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


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

Сообщений 461 страница 480 из 511

1

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

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


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


+5

461

kolobdur74 написал(а):

В принципе на основе такого подхода можно будет сделать скрипт и фоновой картинки, фонового цвета для текста...

Вот на основе предыдущего скрипта (они совместимы) Фон для текста с любыми параметрами:

Код:
<!--Фон для текста с любыми параметрами-->
<script type="text/javascript">
$('td#button-font').after('<td id="backgr" style=\'background-image:url("http://s4.uploads.ru/zkAou.png")\' title="Фон для текста" onclick="tag_background()"></td>');
$(function(){
$('.post-content:contains("[background=")').each(function(){
var htmlbackground = $(this).html().replace(/\[background=(.*?)\]([^`]*?)\[\/background\]/gi, "<span style='width=80%; background:$1;'>$2</span>");
$(this).html(htmlbackground)
});
});
function tag_background(){
var FoundErrorsBACKGROUND = '';
var backgroundTIT = prompt('Введите параметры фона', 'url("http://s4.uploads.ru/zkAou.png") no-repeat #fc0');
if (FoundErrorsBACKGROUND)
{alert("Ошибка!" + FoundErrorsBACKGROUND);
return;}
bbcode('[background='+backgroundTIT+']','[/background]');
}
</script>

Примеры:
http://s1.uploads.ru/gJkDs.png

Код:
[background=url("http://images.gofreedownload.net/heart-handprint-seamless-pattern-239222.jpg") no-repeat #fc0]буууууууууууууууууууууууууууууууу[/background]


[background=url("http://s4.uploads.ru/zkAou.png") no-repeat #fc0]Очень много текста!!! Примеры!!![/background]


[background=#F8F8FF][b][size=20]И еще огромное количество текста!!![/size][/b][/background]

[background=#F8F8FF][b][size=20][shadow=1px 1px 2px #FFF6AD]И еще огромное количество текста но с тенью!!![/shadow][/size][/b][/background]

Ссылки на картинки ставить обязательно в кавычки: "здесь ссылка", то есть вот так:

background=url("http://s4.uploads.ru/zkAou.png") no-repeat #fc0


Если картинка не нужна, то можно поставить только цвет таким образом:

background=#F8F8FF

Отредактировано kolobdur74 (Сб, 18 Фев 2017 14:39:44)

+7

462

Mirra Bell написал(а):

У меня по скрипту фона для текста: а можно сделать так, чтобы устанавливаемая картинка не сжималась/не обрезалась под размер шрифта? К примеру, я ставлю на фон картинку 400х200, а получаю все равно фон четко под буквами. Он в таком случае от просто цвета практически не отличается, а вот если можно будет писать поверх любого фона, это будет реально круто, а то сейчас приходится исполнять танцы с бубнами с HTML в постах.

Ну, вот с регулированием ширины и высоты:

Код:
<!--Фон для текста с любыми параметрами с регулированием ширины и высоты-->
<script type="text/javascript">
$('td#button-font').after('<td id="backgr" style=\'background-image:url("http://s4.uploads.ru/zkAou.png")\' title="Фон для текста" onclick="tag_background()"></td>');
$(function(){
$('.post-content:contains("[background=")').each(function(){
var htmlbackground = $(this).html().replace(/\[background=(.*?)\,(.*?)\,(.*?)\]([^`]*?)\[\/background\]/gi, "<div style='background:$1;width:$2;height:$3;'>$4</div>");
$(this).html(htmlbackground)
});
});
function tag_background(){
var FoundErrorsBACKGROUND = '';
var backgroundTIT = prompt('Введите параметры фона', 'url("http://s4.uploads.ru/zkAou.png") no-repeat #fc0');
var backgroundTIT2 = prompt('Введите ширину', '80%');
var backgroundTIT3 = prompt('Введите Высоту', '200px');
if (FoundErrorsBACKGROUND)
{alert("Ошибка!" + FoundErrorsBACKGROUND);
return;}
bbcode('[background='+backgroundTIT+','+backgroundTIT2+','+backgroundTIT3+']','[/background]');
}
</script>

Вставлять через запятую:
1. Параметры фона (картинку, повторяется или нет, позицию, цвет)
2. Требуемую ширину
3. Требуемую высоту

Ширину и высоту можно ставить как пикселях так и в процентах, но высоту стоит ставить в пикселях, иначе сожмется до текста..

Отредактировано kolobdur74 (Вс, 19 Фев 2017 13:00:46)

+1

463

kolobdur74 написал(а):

Ну, вот с регулированием ширины и высоты:

И сразу вариант с регулированием положения текста (отступы сверху и слева):

Код:
<!--Фон для текста с любыми параметрами с регулированием ширины и высоты и положением текста-->
<script type="text/javascript">
$('td#button-font').after('<td id="backgr" style=\'background-image:url("http://s4.uploads.ru/zkAou.png")\' title="Фон для текста" onclick="tag_background()"></td>');
$(function(){
$('.post-content:contains("[background=")').each(function(){
var htmlbackground = $(this).html().replace(/\[background=(.*?)\,(.*?)\,(.*?)\,(.*?)\,(.*?)\]([^`]*?)\[\/background\]/gi, "<div style='position:relative;background:$1;width:$2;height:$3;'><span style='position:absolute;top:$4;left:$5;'>$6</span></div>");
$(this).html(htmlbackground)
});
});
function tag_background(){
var FoundErrorsBACKGROUND = '';
var backgroundTIT = prompt('Введите параметры фона', 'url("http://s4.uploads.ru/zkAou.png") no-repeat #fc0');
var backgroundTIT2 = prompt('Введите ширину', '80%');
var backgroundTIT3 = prompt('Введите Высоту', '200px');
var backgroundTIT4 = prompt('Введите Отступ сверху', '50%');
var backgroundTIT5 = prompt('Введите Отступ слева', '10%');
if (FoundErrorsBACKGROUND)
{alert("Ошибка!" + FoundErrorsBACKGROUND);
return;}
bbcode('[background='+backgroundTIT+','+backgroundTIT2+','+backgroundTIT3+','+backgroundTIT4+','+backgroundTIT5+']','[/background]');
}
</script>

Здесь вставлять через запятую 5 параметров:
1. Параметры фона (картинку, повторяется или нет, позицию, цвет)
2. Требуемую ширину
3. Требуемую высоту
4: Отступ сверху
5: Отступ слева

Отступы можно ставить как в процентах так и в пикселях..

Отредактировано kolobdur74 (Вс, 19 Фев 2017 13:31:50)

+3

464

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

Запрет копирования картинок в постах
с кодированием ссылки и автомаркированием изображения
http://s2.uploads.ru/4MKd2.png

В HTML низ

<!-- Запрет копирования картинок в постах -->
<style type="text/css">
.post-content .postimg-wrap {display:inline-block;position:relative}
.post-content .postimg-wrap.mark:before {
  position:absolute;
  bottom:.6em;right:.6em;
  font-size:1.4em;
  color:#fff;
  text-shadow:0 0 2px rgba(255,255,255,.8);
}
.post-content .postimg-wrap.img-deleted {
  font-size:.9em;
}
.post-content .mark-img-deleted {
  font-style:italic;
}
#action-set-nocopy{font-size:.9em;margin:-1em 0 -2em;line-height:.6em}
#chk22{vertical-align:middle;margin-bottom:2px}#image-area-actions{padding-top:1em}
</style>

<script type="text/javascript">var ImgNoCopy = {};
ImgNoCopy.markImg =
1; // Маркирование изображений с запретом копирования: 0 - отключено, 1 - включено
ImgNoCopy.default =
1; // Включать запрет копирования при вставке картинок по умолчанию: 0 - нет, 1 - да
</script>
<script type="text/javascript" src="http://forumfiles.ru/files/0015/c4/3f/18656.js"></script>


В качестве маркера картинки ставится копирайт домена текущего форума (к примеру: © forum.mybb.ru)

Скриншот: (кликабельно)

http://s9.uploads.ru/t/PVeRZ.png

Маркирование можно отключить в настройках скрипта (см.код выше)

Включить/выключить запрет копирования для нужных картинок(при вставке в пост) можно в стандартной форме загрузки картинок(кнопка http://sf.uploads.ru/lJIQS.png в форме ответа)


При вставке картинок как "Превью" - запрет копирования отключается(т.к. если юзер делает картинку кликабельной для возможности открытия ее в полном размере - смысл в запрете отпадает)

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

+11

465

Не знаю насколько правильно сделал, но вот сделал скрипт Запрет определенным группам определенные вв-коды. Возможно будет тем, кто использует вв-коды, которые большинству пользователей не нужны..

Полная версия (включает в себя все стандартные вв-коды плюс вв-коды из последних моих скриптов):

Код:
<!--Запрет определенным группам определенные вв-коды-->
<script type="text/javascript">
var GroupNoBB = [3,4];  // Тут выставляем группу, которой не видны вв-коды
if($.inArray(GroupID,GroupNoBB)!=-1){
setInterval(function() {
var arrButtons = [
// "#form-buttons td#button-font",
// "#form-buttons td#backgr",
// "#form-buttons td#button-size",
// "#form-buttons td#button-bold",
// "#form-buttons td#button-italic",
// "#form-buttons td#button-underline",
// "#form-buttons td#button-strike",
// "#form-buttons td#button-math",
// "#form-buttons td#button-left",
// "#form-buttons td#button-center",
// "#form-buttons td#button-right",
// "#form-buttons td#shad",
// "#form-buttons td#button-link",
// "#form-buttons td#button-spoiler",
// "#form-buttons td#button-image",
// "#form-buttons td#button-video",
// "#form-buttons td#button-hide",
// "#form-buttons td#button-quote",
// "#form-buttons td#button-code",
// "#form-buttons td#button-color",
// "#form-buttons td#button-table",
// "#form-buttons td#button-smile",
// "#form-buttons td#button-keyboard",
// "#form-buttons td#button-addition",
// "#form-buttons td#form-audio"  // Последний без запятой
];
for(i=0;i<arrButtons.length;i++){
var fidBB=arrButtons[i];
$(fidBB).css({"display" : "none"});
};
}, 1);
}
</script>

Где: var GroupNoBB = [3,4]; - Тут выставляем нужные группы, которым не видны вв-коды (брать цифру: Администрирование - Группы - Редактировать нужную группу - в адресной строке последняя цифра)

Для того, чтобы данный вв-код не отображался у этих групп убираем комментарий перед нужным селектором:

// "#form-buttons td#button-font",


Сокращенный вариант (только пользоватеские вв-коды):

Код:
<!--Запрет определенным группам определенные вв-коды-->
<script type="text/javascript">
var GroupNoBB = [3,4];  // Тут выставляем группу, которой не видны вв-коды
if($.inArray(GroupID,GroupNoBB)!=-1){
setInterval(function() {
var arrButtons = [
// "#form-buttons td#backgr",
// "#form-buttons td#shad"  // Последний без запятой
];
for(i=0;i<arrButtons.length;i++){
var fidBB=arrButtons[i];
$(fidBB).css({"display" : "none"});
};
}, 1);
}
</script>

Вместо:

// "#form-buttons td#backgr",
// "#form-buttons td#shad"

Можно вставлять свои варианты.. За корректность скрипта не ручаюсь..

Скрипт ставить НТМЛ низ.

Отредактировано kolobdur74 (Вс, 26 Фев 2017 00:40:30)

+2

466

Поскольку давно просили реализовать вывод последних картинок,     
загруженных на форум пользователями, - реализовал такой скрипт,     
(Спасибо Admin'у за реализацию поиска по URL картинок в постах!)     

Вывод последних загруженных картинок форума(слайдер с последними картинками из сообщений форума)
http://s9.uploads.ru/8UH1t.png

В HTML верх

<!-- Последние загруженные картинки форума -->
<script type="text/javascript">var LastUploads = {};
LastUploads.onlyIndex =
0;               // Отображать: 0 - везде, 1 - только на Главной
LastUploads.forumsExc = [
2,4,18];        // Форумы, исключаемые из выборки картинок
LastUploads.selectors = '
#pun-crumbs1';  // Cелектор элемента, после которого ставим блок с картинками
LastUploads.numberImg =
15;              // Максимальное количество отображаемых картинок
LastUploads.postOrImg =
0;               // По клику на картинку открывать: 0 - картинку, 1 - пост с картинкой
</script>
<link rel="stylesheet" type="text/css" href="http://forumfiles.ru/files/0015/c4/3f/66253.css" />
<script type="text/javascript" src="http://forumfiles.ru/files/0015/c4/3f/66254.js"></script>


Пояснения:

Настройки скрипта:
LastUploads.onlyIndex  -  Отображение слайдера с картинками: 0 - на всех страницах, 1 - только на Главной
LastUploads.forumsExc  -  Список форумов, картинки из которых в слайдер не добавляем(цифры через запятую)
LastUploads.selectors  -  Элемент, после которого ставим Слайдер(по умолчанию #pun-crumbs1 - верхние "хлебные крошки")
LastUploads.numberImg  -  Максимальное количество картинок, которые будут отображаться в слайдере
LastUploads.postOrImg  -  По клику на картинку в слайдере открывать: 0 - оригинал картинки(в новой вкладке), 1 - пост, содержащий картинку

Оформление:
Селекторы элементов слайдера:
Внешний блок - .punbb #LastUploads
Внутренний блок(с центровкой) - .punbb #LastUploads .lastuploads-inner
Стрелки прокрутки - .punbb #LastUploads .scroll (Левая - .punbb #LastUploads .scroll.left, правая .punbb #LastUploads .scroll.right)
   *Стрелки установлены через :before - можно вставить свой символ или картинку, к примеру

.punbb #LastUploads .scroll.left:before {
  content:url(ссылка на картинку для стрелки влево);
}
.punbb #LastUploads .scroll.right:before {
  content:url(ссылка на картинку для стрелки вправо);
}

Ссылка - обертка картинки - .punbb #LastUploads .image-wrap-link
  *К примеру: Убрать тень у кликабельных картинок

.punbb #LastUploads .image-wrap-link {
  box-shadow:none;
}

Размер картинок также регулируем на этом селекторе(если нужно)


По просьбам юзеров, - дополнение - правка прозрачности
Делаем картинки полупрозрачными
с восстановлением прозрачности при наведении

В HTML верх

<style type="text/css">
.punbb #LastUploads .image-wrap-link {
  opacity:.8;
}
.punbb #LastUploads .image-wrap-link:hover {
  opacity:1.0;
}
</style>

Для каждой группы в Слайдере отображаются только картинки из Постов, видных данной группе!


Если встречается несколько одинаковых картинок, - из них отображается только первая найденная


Картинки подгоняются под размер ссылки в слайдере, с сохранением пропорций


Список картинок обновляется раз в 20-30 минут из-за особенностей работы Поиска


Тестируем!

+7

467

Давно спрашивали подобное, - сваял полноценный вариант с возможностью настройки:
Подсчет символов в постах пользователяhttp://s1.uploads.ru/jHr0b.png
I. Подготовительные работы:
1. Создаем доп.поле профиля (Администрирование - Поля профиля), с точным названием Символов и такими настройками:

Скриншот:

http://s4.uploads.ru/WIXU1.png

2. Перемещаем его в нужное место в минипрофиле(где хотим его видеть)


II. Ставим скрипт в HTML верх

<!-- Подсчет символов в постах пользователя -->
<script type="text/javascript">var PostSymbols = {};
PostSymbols.forums  = [
1,5];  // Форумы, в постах которых учитываем символы
PostSymbols.BBtags  =
1;      // Учитывать символы, входящие в состав BB-Тегов?, 0 - да, 1 - нет
</script>
<script type="text/javascript" src="http://forumfiles.ru/files/0015/c4/3f/79967.js"></script>


Настройки:
PostSymbols.forums  -  Список форумов, в которых будет работать подсчет символов в постах (Если нужно во всех - оставляем пустой массив, ничего не прописываем)
PostSymbols.BBtags  -  Исключать BB-коды ([b], [i], [quote] и т.д.) из подсчета символов? - Если да, - прописываем 1, если же нун считать все символы полностью - ставим 0


Скрипт считает символы в нужных форумах только после установки!


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

+3

468

Запрет изменения профиля некоторым пользователям
(к примеру, рекламному Пиар-Нику или читательскому аккаунту)

В HTML верх

<!-- Запрет изменения профиля нек-рым никам--><script type="text/javascript">
var NoChangeProfile = '
Alex_63,PR'; //Ники юзеров с запретом изменения профиля, через запятую
</script><script type="text/javascript">
if($('#pun-profile').length&&GroupID!=3)$().pun_mainReady(function(){
  var arr = NoChangeProfile.split(/\s*,\s*/);if($.inArray(UserLogin,arr)==-1)return;
  $('#profilenav .item4,.inputfield+.datafield').remove();  $('#profile').find('input[type="text"],textarea').attr('readonly','readonly');
  $('#profile').find('select,input[type="radio"],input[type="checkbox"]').attr('disabled','disabled');
  $('#profile').find('.formsubmit,p[style^="padding-bottom"]').text('Вам запрещено редактировать профиль.');
  if(!$('#profile4').length && !$('#pun-upavatar').length)return;var message = 'Вы не имеете прав для доступа к этой странице.';
  var title = $('#pun-title h1 > span').text();document.title = title; $('.punbb').attr('id','#pun-message');
  var crumbs = '<strong>Вы здесь</strong> »&nbsp;<a href="/">'+title+'</a> »&nbsp;Информация';
  $('#pun-crumbs1 .crumbs').html(crumbs); $().pun_aboutReady(function(){$('#pun-crumbs2 .crumbs').html(crumbs);});
  $('#pun-main').html('<h1><span>Информация</span></h1><div class=info><div class=container>'+message+'</div></div>');
});
</script>

Поправлено 06.03.2016
Вместо красного - вписываем ники юзеров, которым запрещаем редактировать профиль(через запятую)


Для надежности, чтобы юзеры не могли обойти скрипт, - ставим Защиту от отключения JavaScript

+2

469

Кликабельность ника в постах Гостяhttp://s8.uploads.ru/dpDoJ.png
В HTML низ

<!-- Кликабельность ника в постах Гостя --><script>$(".post[data-group-id=3]").find(".pa-author").html(function(){return this.innerHTML.replace(/(<.+>)(.+)$/,'$1<a href="javascript:to(\'$2\')">$2</a>')});</script>

+6

470

Скрипт смены Имиджа в текущем посте (Deff)

По просьбам своих пользователей немного модифицировала данный скрипт: теперь он подгружает вместо галереи - картинки из "Мои загрузки" пользователя, куда пользователь, соответственно, может загрузить свои аватары. Вызов функции - тем же способом, что и в оригинале.
А еще в слове "галлерея" исправлена ошибка. Душа граммар-наци ликует.

В html-верх:

Код:
<link id="iNFpanel" rel="stylesheet" href="http://forumfiles.ru/files/0010/8b/e4/40931.css" type="text/css"/>
<script src="http://forumfiles.ru/files/0010/8b/e4/91405.js"></script>


Что изменилось

Добавилось в css:

Код:
#pun-post #profile-uploads td, #pun-edit #profile-uploads td, #pun-viewtopic #profile-uploads td {
    line-height: 0;
    width: 100px;
    height: 100px;
    border: none;
    padding: 0;
    background-position: top left !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    display: inline-block;
    margin: 5px;
}

#pun-post table#profile-uploads, #pun-edit table#profile-uploads, #pun-viewtopic table#profile-uploads {
    border-spacing: 0px !important;
}

#pun-post #profile-uploads input[type=checkbox], #pun-edit #profile-uploads input[type=checkbox], #pun-viewtopic #profile-uploads input[type=checkbox] {
    display: none;
}

#avtrChang-area {
    position: absolute;
    top: 43px;
    max-height: 230px;
    overflow: overlay;
    right: 16% !important;
    width: 550px!important;
    padding: 10px !important;
}

#profile-uploads a {
    display: none;
    cursor: pointer;
    opacity: 0.7;
}

#profile-uploads a:hover {
    display: none;
    opacity: 1;
}

#profile-uploads a#uploads-a {
    display: block;
    cursor: pointer;
    opacity: 0.7;
}

#profile-uploads a#uploads-a:hover {
    display: block;
    opacity: 1;
}

#pun-profile #profile-uploads a, #pun-profile #profile-uploads a:hover {
    display: block;
}

Добавилось в JS (с коррективами Alex_63):

Код:
function changea() {
   if($('#pun-post,#pun-edit,#pun-viewtopic').length && !$("#avtrChang-area #profile-uploads").length)$.get("../profile.php?section=uploads&id=" + UserID,function(a){
     var s=$(a).find("#profile-uploads").clone();   $("#avtrChang-area").append(s);
     $("#profile-uploads td").each(function(){  var namein = $(this).attr("style").substring(21,$(this).attr("style").length - 2);
        $(this).find('input').replaceWith("<a id=\"uploads-a\" onclick=\"insert('[AVA]" + namein + "[/AVA]');\"><img src=\"http://forumfiles.ru/files/0010/8b/e4/75767.png\"></a>");
     });
   });
};


и вызов функции changea() по клику на кнопку "галерея".

Deff, если влезать в ваш код преступно - я страшно извиняюсь.
Если пользовать такие функции как load неэтично, не работает или требует каких-то дополнительных настроек - я тоже страшно извиняюсь, я не слишком мастер.
Если всплывут какие-то ошибки или вы, мастера, знаете, как сделать это красивее, правильнее и прочая-прочая - тоже буду рада внести коррективы, разобраться, почитать.

Отредактировано Uso (Ср, 15 Мар 2017 15:08:47)

+2

471

Обновление для скрипта "маски" профиля.

С момента последней публикации здесь за три патча поправлены баги:
• Диалог маски не отображался на страницах редактирования сообщений / создания новой темы. Теперь отображается и корректно работает.
• Объёмные маски в какой-то момент переставали сохраняться. Теперь сохраняются все.
• Спецсимволы в статусах / никах отображались как код. Теперь отображаются как положено.

Что добавилось:
• Появился особый css-класс для профилей под маской. Теперь можно выделить их через стили.
• Диалог маски скрывается по нажатию esc.
• Есть возможность удалить из хранилища сразу все маски.
• Кроме текстовых и html кастомных полей появился тип bbcode. Теперь можно ограничить возможность пользователей в редактировании ЛЗ одними bb-кодами. В предпросмотре маски основные bb-теги отображаются корректно.
• По отдельной просьбе выложен исходный неминифицированный и неоптимизированный под ES5 код.

+5

472

Идея выделять посты с обращением предложена Shark с форума tobath.ru,
Поскольку мысль интересная, решил сделать для всего сервиса                     

Выделение постов с обращением к текущему нику
http://sa.uploads.ru/B4UcQ.png

В HTML низ

<!-- Выделение постов с обращением к текущему нику-->
<style type="text/css">
.post.replied_me {
  box-shadow: 0 0 10px rgba(255,0,0,.5);
}
</style>

<script type="text/javascript">
if(GroupID!=3&&$("#pun-viewtopic").length)(function(){
var reg1 = new RegExp("^"+UserLogin+"\\s*","gim");
var reg2 = new RegExp("^"+UserLogin+"\\s*\\n+","gim");
var reg3 = new RegExp("^"+UserLogin+"\\s*,\\s*","gim");
$(".post-content").map(function(){ var cnt = $(this).html().replace(/\n/g,"")
  .replace(/<\/(p|cite)><(p|blockquote|div).*?>/gim,"\n\n");
  cnt = cnt.replace(/<br>/gim,"\n").replace(/&nbsp;/gim," ");
  cnt = $.trim(cnt.replace(/<.+?>/gim,""));// console.log(cnt);
  if(cnt.match(reg1)||cnt.match(reg2)||cnt.match(reg3)){
    $(this).parents(".post").addClass("replied_me");
};});}());
</script>

Поправлено 20.03.2017


Выделенный пост имеет класс .replied_me, можно задать ему свое оформление,
К примеру: Перекрашиваем фон поста с обращением(ставим в первый код из данного поста перед </style>)

.replied_me .post-body,
.replied_me >.container,
.replied_me >h3,.replied_me >h3> span,
.replied_me .post-links {
  background:rgb(238,247,243)!important;
}

Цвет ставим свой вместо красного.

+4

473

В связи с последним обновлением браузеров Chromium и Firefox,     
перестал функционировать старый скрипт выделения кода             
от mkusher, - сваял вариант-поправку, дополнительно сократив:

Новое выделение кода в блоке "Код"
(версия 2017)
http://sa.uploads.ru/vN9eW.png

В HTML верх:

<!-- Выделение кода в блоке "Код" // © Alex_63, версия 2017г. -->
<script type="text/javascript" src="http://forumfiles.ru/files/0015/c4/3f/26102.js"></script>
<script type="text/javascript">select_text.linkText = '
Выделить код' //текст ссылки</script>

Красным - Ваша надпись на ссылке, по умолчанию - "Выделить код".


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



Внимание:

Старый код из HTML низ

Код
Код:
<script type="text/javascript">
function select_text(elem) {
	if(window.getSelection) {   
var s=window.getSelection();   
if(s.setBaseAndExtent){   
	s.setBaseAndExtent(elem,0,elem,elem.innerText.length-1);   
}
else {   
	var r=document.createRange();   
	r.selectNodeContents(elem);   
	s.removeAllRanges();   
	s.addRange(r);
}   
	}
	else if(document.getSelection){   
var s=document.getSelection();   
var r=document.createRange();   
r.selectNodeContents(elem);   
s.removeAllRanges();   
s.addRange(r);   
	}
	else if(document.selection){   
var r=document.body.createTextRange();   
r.moveToElementText(elem);   
r.select();
	}   
}
</script>
<script type="text/javascript">
var div = document.getElementById('pun-main').getElementsByTagName('div');
for(x in div){
	if(div[x].className=='code-box'){
div[x].getElementsByTagName('strong')[0].innerHTML = '<a href="#" onclick="select_text(this.parentNode.parentNode.childNodes[1].getElementsByTagName(\'pre\')[0]); return false;">Выделить код</a>';
	}
}
</script>

- Убираем!

+18

474

Shagrath написал(а):

Доброго дня уважаемые. Возник такой вопрос, можно ли сделать так, чтобы модератор  на форуме - который он Не модерирует  не мог видеть скрытый текст ?
То есть в своём форуме - видит. На другом форуме, где не его модерация - не видит .

Запрет просмотра Скрытого текста модераторам
в немодерируемых форумах

(т.е. в тех, где данный модератор не имеет модер-прав)
© Deff
В HTML верх

<script> $().pun_mainReady(function(){ // В HTML верх, Скрытие(от модера) скрытого текста в немодерируемых форумах;
if(GroupID==2 && !$('#topic-modmenu').length)$('.quote-box>cite:contains("Скрытый текст:")')
.next().html('<p> Скрытый текст доступен лишь АМС данного форума</p>');});
</script>

+3

475

Обновлен скрипт HTML в постах с допуском по группам
- Добавлена совместимость со старой версией скрипта, где использовался тег [code]<!--HTML-->[/code]
- Исправлена ошибка с допуском всех групп к использованию HTML в постах
- Исправлен вид сообщения в случае, если HTML в постах пытается использовать юзер без допуска к скрипту

Напоминаем, что при использовании скрипта HTML в постах допускается теоретическая возможность, что пользователи из групп с разрешением использования(по умолчанию это модераторы) могут использовать возможность вставки HTML для различных целей, в том числе возможной кражи пароля главного администратора и т.п.

Старый вариант HTML в постах в скором времени будет отключен на форумах, рекомендуется его заменить на новый
Код:
<script type="text/javascript">
function Transform_Code_Box_in_HTML(aX){
var TemLnk=aX.replace(/^(.*viewtopic\.php\?id=\d*).*$/ig,"$1");
var PstId=aX.replace(/^.*viewtopic\.php\?id=.*(#p\d+)$/ig,"$1");
var L=document.URL.replace(TemLnk,'');
if(L!=document.URL&&(L.slice(0,1)).search(/\d/ig)==-1 ){ 
L=$("div.topic "+PstId);
if(L.length==1){
var Lhtm=L.find(".post-content .code-box:first .scrollbox pre").text();
L.find(".post-content .code-box:first").replaceWith(Lhtm)
}}}
function Demo_HTML(Ts){var Ll=Ts.parents(".htmldemo").find(".code-box .scrollbox pre").text();
Ts.parents(".htmldemo").after('<div class="demHtml">'+Ll+'</div>');Ts.replaceWith(DemoButt0);
}
$(document).ready(function() {
$("#pun-viewtopic .post .code-box").each(function(){
if($(this).text().indexOf('<!--HTML-->')!=-1){
$(this).wrap('<div class="htmldemo"></div>')
$(this).replaceWith($('.htmldemo').text().split('<!--HTML-->')[1]);
}
});
});
</script>

+1

476

Fumuse написал(а):

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

Количество непрочитанных тем в каждом форуме (на Главной)
http://sg.uploads.ru/Fhr3y.png

В HTML низ:

<!-- Кол-во новых тем в форумах © Alex_63 -->
<style>
.icon[data-new-topics]:before,
.subforums span[data-new-topics]:before {
  content:attr(data-new-topics);
  display:inline-block;position:absolute;
  height:12px;line-height:12px;
  padding:2px;text-align:center;
  font-weight:700;font-size:.8em;
  background:#ff0000;
  color:#fff;border-radius:8px;
  margin:-6px;min-width:12px;
}
.subforums span[data-new-topics]:before {
  margin-left:-16px;margin-top:0;
  font-size:.7em;padding:1px;
}
</style>

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


Особенности
- Отображает количество непрочитанных тем на иконке форума на Главной, а также у подфорумов;
- При отсутствии непрочитанных(все темы просмотрели) - выделение с форумов на Главной снимается(т.е. дублируется действие скрипта Автоматическое снятие выделения с форумов на Главной при отсутствии выделенных тем в Активных темах, - при установке нового скрипта - старый скрипт(см ссылку) удаляем


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

+13

477

дублирую здесь на всякий случай

Мультитрековый плеер в постах (плеер с плейлистом) v1.1
http://sg.uploads.ru/tFc1X.gif

Подробнее - Музыка в постах

+7

478

Обновлен скрипт Цитирование с BB-кодами
Добавлена проверка на соответствие выделенного фрагмента цитируемому сообщению (в котором нажата кнопка цитаты). Теперь в случае, если выделен текст в одном сообщении, а цитирование нажато в другом, цитироваться будет то сообщение, в котором нажата кнопка. (Репорт от dana123)

+4

479

По просьбе LusiyaЗапрет перехода по ссылкам из сообщений для Гостей (с уведомлением)http://s9.uploads.ru/jxirg.png
Скрипт (при входе под Гостем) заменяет названия ссылок в постах на стандартное "Перейти по ссылке"(см.скриншот) и при клике на такую ссылку выдает уведомление с просьбой авторизоваться, блокируя переход по ссылке.

Ставим В HTML низ:

<!-- Запрет перехода по ссылкам Гостю(с уведомлением) © Alex_63 -->
<style>.gid3 .post-content a{display:none}.gid3 .post-content a.Guest{display:inline-block}</style>
<script type="text/javascript" src="http://forumfiles.ru/files/0015/c4/3f/96302.js"></script>

+7

480

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

Безопасный HTML в постах
Новая версия

http://s5.uploads.ru/wWQXY.png

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


Код ставим в HTML верх:

<!-- Безопасный HTML в постах / © Alex_63 2017г. -->
<script type="text/javascript" src="http://forumfiles.ru/files/0015/c4/3f/67901.js"></script>


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

+8


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