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

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

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


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


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

Сообщений 481 страница 500 из 513

1

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

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


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


+5

481

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

Искал скрипт, позволяющий оставлять на форуме #хэштеги, которые можно оставлять в тексте и при нажатии на него чтобы как-либо показывались все сообщения, где люди оставляли такой же. Нашел только скрипт от Fover Запросы по скриптам[3] (пост 852) от 2015 года, но он нерабочий, работает через поиск непосредственно и постоянно поиск выдает "По вашему запросу ничего не найдено".

Хэштеги
http://s7.uploads.ru/P1d04.png

Поправленный вариант, работает корректно и ищет любые(практически) совпадения, не ломает структуру поста при наличии в нем спецсимволов и т.п., исключает срабатывания в блоке Код

В HTML верх

<!-- Хэштеги --><script type="text/javascript">
$().pun_mainReady(function(){$('.post-content:contains("#")').map(function(){
    var a = '#',b = '_&HASH&_',c = '.code-box',cl = [];$(this).find(c).map(function(i){cl[i] = $(this).clone(true,true)});
    $(this).find('a').attr('href',function(){return this.href.replace(a,b)});
    var lnkTAG = '<a href="/search.php?action=search&keywords=%23$1&sort_dir=DESC" title="$1">#$1</a>';
    var cnt = $(this).html().replace(/#([^\s"'<>\(\);]+)/ig,lnkTAG); $(this).html(cnt);
    $(this).find(c).map(function(i){$(this).replaceWith(cl[i])}); $(this).find('a').attr('href',function(){return this.href.replace(b,a)});
  });});
</script>

Поправлено 14.06.2017 - теперь код не ломает ссылки в посте
Поправлено 25.06.2016 для случаев с несколькими блоками "Код" в посте


В поиске по хэштегу сообщения появляются не сразу, т.к. индексация работает не мгновенно, а каждые 15-20 минут(соответственно и посты появляются в поиске спустя это время)

+8

482

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

Расширенная функция переноса сообщений  V.3
http://s7.uploads.ru/RWnGo.png


Alex_63 в описании к предыдущей версии скрипта написал(а):

Описание работы скрипта:
Скрипт упрощает процесс переноса сообщений для модератора.
При клике на кнопку "Переместить" на странице выбора сообщений появляется окно, в котором можно выбрать форум и тему для переноса.
После того, как сообщения будут перемещены, появится сообщение об удачном переносе с предложением перейти в тему с перенесенными сообщениями или выбрать еще сообщения для переноса в текущей теме: http://s7.uploads.ru/wFTCe.png Т.е. после переноса можно еще перенести сообщения с текущей страницы, либо перейти на другую страницу данной темы.


Изменения в версии v.3:
  - ! Добавлена возможность поиска нужных тем по ключевым словам;
  - Ускорено срабатывание функции переноса(при отправке формы) за счет ajax-запроса вместо отправки во фрейм;
  - Поправлено оформление окошка переноса, реализовано адаптивное оформление;
  - Поправлена подгрузка постов с предыдущей/следующей страницы после переноса;
  - Универсализировано всплывающее окошко - теперь скрипт работает через сервисный плагин jQuery.mybbModal, добавлено закрытие окошка по нажатию ESC.


В HTML верх:

<!-- Расширенная функция переноса сообщений / v.3 © Alex_63 -->
<script type="text/javascript" src="http://forumfiles.ru/files/0015/c4/3f/61584.js"></script>


Тестируем!


P.S. - Если у Вас вычищены фоны и контейнер отображается прозрачным - ставим фон таким кодом:

.move_posts_form .container {
  background:#CCC0B1;
}

Вместо красного - Ваш нужный цвет для фона,
Код ставим в конец Второго Окна стилей, или(если отключен Свой стиль) в HTML верх в тегах <style></style>)

Дополнение:(скопировано из поста с версией v.2 скрипта) выделяем четные строки таблицы переноса (для лучшей визуализации)
В HTML верх

<style type="text/css">
.Select_Topics tbody tr:nth-child(2n) td{
  background:
rgba(255, 200, 0, 0.08);
}
</style>


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

+10

483

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

Хочу сделать ленту сообщений из скрипта последние сообщения.
Мне нужно чтобы последние темы форума были в 4-6 столбика.

Статистика последних сообщений в несколько столбцов
http://sg.uploads.ru/TA91b.png

В HTML низ, (если стоят скрипты Описаний к теме или Иконок для тем - Данный скрипт ставим выше второй части указанных скриптов!)

<!-- Последние N сообщений форума(в несколько столбцов) -->
<style>
.stats {padding:0!important;width:100%;border-top:none!important}
.stats th {text-align:left;}
.stats td {padding:.5em;border-top-style:solid;border-top-width:1px}
</style>

<script>var NumPosts = 18; //Количество выводимых сообщений (не более 20)
        var N_OnLine =
6;  //Кол-во Тем на одной строке
//=============================================================//
if($('#pun-index').length)document.write('<script src="/export.php?type=js&max='+NumPosts+6+'" \
type="text/javascript"><\/script>')</script><script type="text/javascript">
(function() {  var j = 0,html = '',html0 = '<div id=pun-debug class=section><h2><span>\
Последние сообщения форума</span></h2><table cellspacing="0" class="container stats">\
<tbody class="hasicon"><tr>';for(var i=0;i<content.length;i++){
  var s0=content[i][0],s1=content[i][1],s2=content[i][2],s3=content[i][3];
  var a = '<td>'+s1+'</td><td class="tcr"><a href="'+s2+'" target="_blank">'+s3+'</a><br/></td>';
  if(j%N_OnLine==N_OnLine-1)a+='</tr><tr>';
  if(s3.indexOf('·')!=-1||s3.indexOf('¬')!=-1){a=''}else{j++};if(j<=NumPosts)html+=a;
}   var b = html0+html+'</tr></tbody></table></div></div>'; $('#pun-ulinks').after(b);
var prc = (100/N_OnLine)/3,w1 = 'width:'+ prc +'%',w2 = 'width:'+ prc*2 +'%';
$('head').append('<style>#pun-debug .stats .tcl{'+w1+'}#pun-debug .stats .tcr{'+w2+'}</style>')}());
</script>

+4

484

Автоматическая разбивка текста на абзацы
Скрипт писался для ролевого форума. Автоматически разбивает пост на абзацы. В стиле предусмотрен отступ "красной строки", интервал между абзацами и выравнивание текста по ширине.
Скрипт игнорирует участки текста, оформленные вручную с помощью тегов (выравнивание, шрифты, а также [indent]).
Результат работы выглядит примерно так:

https://i.gyazo.com/af3d18f4b81cd04fed59250cdb795914.png

Ставить лучше в html-низ:

Код:
<style>
.post-content {text-align: justify;}
td p {text-indent: 0 !important;}
.post-content p {
  text-indent: 1.5em;
  padding: 0 0 0.5em 0 !important;
}
</style>
<!-- Разбивка текста на абзацы, для  ролевых форумов (c)satsana, 2017г. -->
<script type="text/javascript">
 $(".post-content").html(function() {
  var pos = 0, spanpos = 0, brpos = 0; var str = this.innerHTML;
  while (true) {
    spanpos = str.indexOf("<span", pos);
    brpos = str.substring(pos).search(/(\<br\s?\/?\>)+(?!<span style="display:inline-block)/);
    if (brpos == -1) {return str;} else {brpos += pos;}
    if (spanpos < brpos && spanpos != -1) {
      var span1 = 1, span2 = 0; pos = spanpos + 2;
      while (span1 != span2) {
        pos = str.indexOf("span", pos);
        if (str.substring(pos-1, pos) == "/") {span2++;} else {span1++;}
        pos++;
        if (str.indexOf("<span", pos) == str.indexOf("<br>", pos)) {break;}
      }
    } else if (spanpos > brpos || spanpos == -1) {
      str = str.substring(0, brpos) + str.substring(brpos).replace(/(\<br\s?\/?\>)+/, '</p><p>'); pos = brpos++;
    } else {return str;}
  }
 })
</script> <!-- Разбивка на абзацы (end) -->

В стиле text-indent: 1.5em - величина отступа красной строки, padding: 0 0 0.5em 0 - отступ после абзаца. И то, и другое можно изменить на свой вкус (дробные величины пишутся через точку).

Скрипт отлично сочетается с авто-подстановкой длинных тире, делается она вот так:

Код:
<script>$('.post-content p').html(function(){return this.innerHTML.replace(/(\s|&nbsp;)?-(\s|&nbsp;)/g,'$1&mdash;$2')})</script>


Если на форуме установлен скрипт для ручного отступа с помощью тега [indent], то для избежания появления двойного отступа в начале абзаца можно использовать вот такой код:

Код:
<script>$('.post-content').html(function(){return this.innerHTML.replace(/<p><span style="display:inline-block/g,'<p style="text-indent: 0;"><span style="display:inline-block')})</script>

Отредактировано satsana (Пн, 12 Фев 2018 23:37:06)

+13

485

Разворачивание картинок в постах до полного размера

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

В html-верх или html-низ:

Код:
<!-- Развертывание картинок (с)satsana, 2017г.-->
<script type="text/javascript">
 function postimgOnhover (img) {if (img.offsetWidth != 0  && img.naturalWidth > img.offsetWidth) {
  img.style.cursor = 'zoom-in'; img.onclick = function () {
   var imgHeight = img.naturalHeight, winHeight = window.innerHeight; var topShift = (winHeight>imgHeight ? (winHeight-imgHeight)/2 : 0);
   $('body').append('<div class="lightbox" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.9); overflow: auto; text-align: center; z-index: 1000;">' + '<img class="lightimg" src="' + img.src + '" onclick="this.parentNode.remove()" style="position: relative; top: ' + topShift + 'px; cursor: zoom-out;">' + '</div>');}}}
window.addEventListener("load", function () {
  var postimges = document.getElementsByClassName('postimg');
  for (var i=0; i<postimges.length; i++) {postimges[i].onmouseover = function () {postimgOnhover (this)};}
});
</script><!-- Развертывание картинок (END) -->

Добавлено спустя 2 дня 14 часов 9 минут 33 секунды: Добавлен z-index во избежание появления элементов оформления форума поверх окна просмотра изображений.
Добавлено спустя 5 дней 16 часов 42 минуты: Устранён баг с чтением размеров картинок до их полной загрузки, из-за которого в некоторых браузерах разворачивались все картинки, а не только сжатые.
Добавлено 16.02.2018: Обновила код, теперь можно устанавливать в любое место html-низ или html-верх.

Отредактировано satsana (Пт, 16 Фев 2018 18:11:36)

+9

486

Обновлен скрипт Хэштегов (внесены правки для случаев с несколькими блоками "Код"(идущими не подряд) в посте с хэштегами, Переставляем код на исправленный)

+4

487

Поиск изображений в указанных форумах

В HTML верх:

<!-- Поиск Изображений в указанных форумах -->
<script type="text/javascript">
FORUM.FORUM_arr_ = [
16,59,17]; //ID форумов в которых ищем!;
</script>
<script type="text/javascript" src="http://forumfiles.ru/files/000c/c1/da/32520.js"></script>


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

<a class=search style="display:inline-block;margin:8px;">Поиск изображений</a>


Пояснения:

По клику на ссылку в форме ответа скрипт ищет все картинки в указанных(красным) форумах, размеры которых(вертикальный или горизонтальный) превышает 99px.

+6

488

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

Поставила ваш скрипт ( пока на тестовый форум) ПЕРЕКЛЮЧЕНИЕ РАСКЛАДКИ(Rus/Lat) ВЫДЕЛЕННОГО ТЕКСТА, ибо он просто спасения для забывчивых переключить раскладку. Единственный минус - это то, что он не распознает знаки препинания (точки, запятые и прочее). Можно ли это как-то исправить?

Переключение раскладки (Rus/Lat) выделенного текста
Исходник: скрипт переключения раскладки от Deff.
Убрала вставку/удаление бб-кодов. (Они не совсем корректно работали с запоминалками введённого текста.)  Заменила на определение позиций начала/конца выделенного текста.
Изменила принцип переключения языка, теперь скрипт распознаёт раскладку в выделенной области. При захвате текста с разными раскладками "переводит" участок с латиницей в русскую раскладку. (Если таких участков несколько - переводится только первый из них.)
Добавила смену раскладки для знаков препинания и спецсимволов.
Achtung! Скрипт может не работать в старых версиях IE. Надеюсь, никто уже ими не пользуется...
http://uploads.ru/i/M/a/4/Ma4iZ.png

Код:
<!--Переключение раскладки выделенного текста v.2 -->
<style>#button-transL{background-image:url(http://uploads.ru/i/X/j/Z/XjZW7.png)}</style>
<script type="text/javascript">S='<img src="http://forum.mybb.ru/i/blank.gif" title="Lat ↔ Рус" onclick="LatRus();"/>';
$("#button-font").after('<td id=button-transL>'+S+'</td>');
function LatRus(){
lat0='|@#$^&/?qwertyuiopasdfghjkl;\'zxcvbnm,QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>`~[].'.split('');
lat='qwertyuiopasdfghjkl;\'zxcvbnm\,QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>`~'.split('');
lat.push('\\[','\\]','\\.','\\?','\\/','\\&','\\^','\\$','\\#','\\@','\\|');
rus0=('йцукенгшщзфывапролджэячсмитьбЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮёЁхъю,.?:;№"/').split('');
rus=('\,йцукенгшщзфывапролджэячсмитьбЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮёЁхъю').split('');
rus.unshift ('\\/','\\"','\\№','\\;','\\:','\\?','\\.');
var selstart = document.getElementById("main-reply").selectionStart;
var selend = document.getElementById("main-reply").selectionEnd;
L=$('#main-reply').val();
if (typeof selstart === "number" && typeof selend === "number"){
var TxtTrans1 = (L.substring(selstart,selend).search(/[qwertyuiopasdfghjklzxcvbnm]/i)!=-1?'rus':'lat');
var ar2=lat0,ar1=rus; if(TxtTrans1=='rus'){ar1=lat;ar2=rus0;
selstart+=L.substring(selstart,selend).search(/[.,]*?[qwertyuiopasdfghjklzxcvbnm]/i); latend=L.substring(selstart,selend).search(/[йцукенгшщзфывапролджэячсмитьёхъю]/i);
if (latend != -1) {selend = selstart+latend;}}
L=L.substring(0,selstart) + L.substring(selstart,selend).replace(/[\s\S]*/mg,function(p){
for(var i=0; i<ar1.length; i++){trans='/'+ar1[i]+'/g';p=p.replace(eval(trans), ar2[i])}return p;}) + L.substring(selend);}$('#main-reply').val(L);}</script>

Отредактировано satsana (Чт, 20 Июл 2017 14:26:26)

+5

489

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

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

Вариация скрипта Цветовыделение ников По ГРУППАМ V.3,
позволяющая задавать любое нужное оформление для ников:     

Свое оформление для ников по группам
В HTML низ:

<!-- Свое Оформление для ников по группам -->
<script type="text/javascript">
var groupSTYLE = {

//ID гр.//Стиль для Ников в группе
      1: 'color:red;font-weight:bold;',
      4: 'color:blue;font-style:italic;'  //!последний элемент без запятой

};
</script><script>
(function(){function h(j){var i={};j.replace(/([^:]+)\s*:\s*([^:;]+);?/gim,function(k,m,l){i[m]=l});return i}var b=Object.keys(groupSTYLE).join(",");function a(o){for(var l in o){var j=o[l];var m='("*"):not(.pl-email):not(#navprofile)>a[href$="/profile.php?id='+j.user_id+'"],a[href*=":to(\''+j.username+"')\"]";for(var n in groupSTYLE){var k=h(groupSTYLE[n]);if(j.group_id==n){$(document).find(m).css(k);}}}}function g(){L={method:"users.get",limit:100,group_id:b,fields:"user_id,username,group_id"};$.post("/api.php",L,function(k){var i=k.response.users;a(i);var j=JSON.stringify(i);localStorage.setItem("UsersAdmList",""+RequestTime+"|"+j)},"json")}var f=localStorage.getItem("UsersAdmList");if(f){var d=f.split("|");var e=RequestTime-(parseInt(d[0]));if((1000*e)>24*3600*1000){g();return}var c=d[1];c=JSON.parse(c);a(c)}else{g()}}());
</script>

Стиль вписываем так же, как прописывали бы в атрибуте, к примеру <a style="font-weight:bold;color:#ff0000"></a>

+4

490

Поскольку попросили добавить в скрипт Допуск в Тему или форум определенной группы лиц строго по Списку
скрытие не только непосредственно в форуме или теме, но так же и в поиске тем и сообщений, - сваял такой вариант:

Допуск в тему/форум пользователей по списку с проверкой доступа в поиске
В HTML верх  (не в HTML низ!)

<!-- Допуск в форум/тему по списку -->
<script type="text/javascript">
setAccess('Название форума или темы', [ 'Ник_1', 'Ник_2', 'Ник_3' ]);
setAccess('
Название форума или темы', [ 'Ник_1', 'Ник_2', 'Ник_3' ]);


function setAccess(title, usersList) {
  var u = window.UserLogin || '';
  $().pun_mainReady(function(){
    if ($('#pun-searchposts,#pun-searchtopics').length) $('.post,.main table tbody tr').each(function() {
      var ttl = $(this).find('h3 span').text() || $(this).find('.tc2').text() + $(this).find('.tcl').text();
      if (ttl.indexOf(title) != -1 && usersList.indexOf(u) == -1) $(this).remove()
    });
    if (!($('.crumbs').text().indexOf(title) != -1 && usersList.indexOf(u) == -1)) return;
    var s = 'Информация',s1 =$('#pun-title h1>span').text(); document.title = s1;
    var s2 = 'Вы не имеете прав для доступа к этой странице.';
    var L=' »&nbsp;<a href="/">' + s1 + '</a> »&nbsp;' + s; $('.crumbs').html(L);
    $('#pun-main').html('<h1><span>' + s + '</span></h1><div class=info><div class=container>' + s2 + '</div></div>');
    $().pun_aboutReady(function(){$('#pun-crumbs2>.crumbs').html(L);});
  });
};
</script>

Строки жирным - размножаем для нужных форумов/тем и пользователей(вместо красного пишем свои данные)

+9

491

Обновлен скрипт Новое выделение кода в блоке "Код"
Налажена работа копирования выделенного текста в блоке "Код" по нажатию сочетания Ctrl+C. Скрипт должен работать корректно в любых версиях браузеров.

+8

492

Часто спрашивают, как сделать отображение смайлов и другого специфичного 
функционала для формы ответа также и в ЛС и на странице редактирования, - 
Попытался решить эту проблему скриптом, пока от сервиса это не реализовано:

Подгрузка кодов из Формы Ответа на страницу редактирования и ЛС
В HTML верх:

<!-- Подгрузка формы ответа на стр.редактирования и ЛС -->
<script type="text/javascript">
if($('#pun-messages,#pun-edit').length)(function () {
//==================================//
var forum_Load =
126; //Форум с возможностью создания тем всем юзерам
//==================================//
var lnk='/post.php?fid='+forum_Load,form=sessionStorage.getItem('formCNT');
if(!form){form=$.ajax({url:lnk,async:false,cache:false}).responseText;
form=form.split(/><\/textarea><\/span>\s*<\/p>|<p\sclass="checkfield">/)[1];
sessionStorage.setItem('formCNT',form);} $().pun_mainReady(function(){FORUM.dw=document.write;
document.write=function(a){$(a).appendTo('#f-cnt');};form='<div id="f-cnt">'+form+'<div>';
$(form).insertAfter('.areafield');});}());</script><script>
$().pun_mainReady(function(){if(FORUM.dw)document.write=FORUM.dw});</script>

Красным - указываем ID форума, в котором все группы могут создавать темы (см. настройки в Администрирование - Форумы),
ID форума - последние цифры в адресной строке на странице форума, к примеру: http://forum.mybb.ru/viewforum.php?id=16


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

+4

493

собираю в теме разбросанные наработки из заказов скриптов, может кому-то ещё пригодится

Напоминание пользователю не писавшему 30 дней
http://se.uploads.ru/BzvEk.jpg

Код:
<!-- Напоминание пользователю не писавшему 30 дней -->
<style type="text/css">
/* pазмер шрифта, ширина и высота всплывающей таблички */
.jGrowl .pomni {background:#cc3300;padding: 3px;text-align:center;font-size:18px;width: 400px !important;height: 151px !important;}
/* фон таблички (тень шрифта и т.д.) */
.jGrowl .pomni .jGrowl-message {height: 140px !important;background: #e7a61a;border-radius: 6px;-webkit-box-shadow: inset 0px 1px 32px 9px rgba(244,67,54,1);-moz-box-shadow: inset 0px 1px 32px 9px rgba(244,67,54,1);box-shadow: inset 0px 1px 32px 9px rgba(244,67,54,1);text-shadow:0px 5px 7px #060600 !important;padding-top: 12px;
}
.jGrowl .pomni .jGrowl-close {display: none;}
</style>
<script type="text/javascript">
var porog = 30; //порог срабатывания скрипта для пользователя не писавшего N-ое количество дней
if(UserPosts>10&&$('#pun-viewtopic').length){var t=new Date((RequestTime-UserLastPost)*1e3),r=Math.ceil(t/864e5);r>=porog&&$.jGrowl(UserLogin+', что-то Вы ничего не писали уже '+r+' дней',{theme:'pomni',position:'center',life:6e3})}
</script>

Скрипт не срабатывает для тех, кто не писал вовсе или написал не больше 10 сообщений,
за это отвечает эта часть кода:

if(UserPosts>10

Напоминалка закроется сама через 6 секунд, но есть вариант по-жёстче, не закроется пока пользователь сам её не закроет или всё таки не напишет новый пост

Код:
<!-- Напоминание пользователю не писавшему 30 дней -->
<style type="text/css">
/* pазмер шрифта, ширина и высота всплывающей таблички */
.jGrowl .pomni {padding: 3px;text-align:center;font-size:18px;width: 400px !important;height: 151px !important;
} 
/* фон таблички (тень шрифта и т.д.) */
.jGrowl .pomni .jGrowl-message {height: 140px !important;background: #e7a61a;border-radius: 6px;-webkit-box-shadow: inset 0px 1px 32px 9px rgba(244,67,54,1);-moz-box-shadow: inset 0px 1px 32px 9px rgba(244,67,54,1);box-shadow: inset 0px 1px 32px 9px rgba(244,67,54,1);text-shadow:0px 5px 7px #060600 !important;padding-top: 12px;
}
</style>
<script type="text/javascript">
var porog = 30;//порог срабатывания скрипта для пользователя не писавшего N-ое количество дней
if(UserPosts>1&&$('#pun-viewtopic').length){var t=new Date((RequestTime-UserLastPost)*1e3),r=Math.ceil(t/864e5);r>=porog&&$.jGrowl(UserLogin+', что-то вы ничего не писали уже '+r+' дней',{theme:'pomni',position:'center',sticky:!0})}
</script>

+4

494

Рейтинг самых уважаемых с опциями настроек

Код:
<!-- Рейтинг уважения-->
<table id="userhero2" style="width: auto;"></table>
<style type="text/css">
#userhero2 img{border:1px solid #696969;border-radius: 9px;
}
#userhero2 figure {display:block;height: 50px;width: 50px;position: relative;overflow:hidden;text-align: center;
}
#userhero2 figcaption {display:block; width:44px;background:#99CC33;background:rgba(153,204,0,.8);border-radius: 0 0 7px 7px;box-shadow: 0 0 5px #40310A inset;color: #fff; font-size: 0.8em;font-weight: bold;height: 15px;left: 3px;position: absolute;top: 30px;text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2 );
}
</style>
<script type="text/javascript">
var limit = 10, // количество выводимых человек на доске почёта
wt = 42, // ширина аватаров
ht = 62, // высота аватаров
figurTop = 30, // высота блока репутации, видимая часть
figurTop2 = 50;      // высота блока репутации, на которую он опускается при наведении курсора
</script>
<script type='text/javascript' src='http://forumfiles.ru/files/0017/d8/50/69985.js'></script>


Устанавливать на отдельной странице или в Объявление

+6

495

Продолжение темы с рейтингами. Как известно можно воспользовавшись скриптом или поиском в списке Участников форума посмотреть условный список/рейтинг самых уважаемых, но нет возможности посмотреть самых позитивных/негативных. Данный скрипт решает эту задачу.

Рейтинг самых позитивных/негативных

http://s5.uploads.ru/Quzys.jpg     http://se.uploads.ru/sRVxi.jpg
ДЕМО

Код:
<!-- Рейтинг самых позитивных/негативных -->
<style type="text/css">
#joper {width: 100%;text-align: center; margin:0 auto;}
.tabz {height: 25px;line-height: 20px;margin: 0 0 3px;list-style: none;
}
.tabz li {float: left;margin-right: 1px; cursor:pointer;background: url("//uploads.ru/i/P/5/Q/P5Q2V.png") no-repeat scroll -366px 0 transparent;background-position-x: -366px;background-position-y: 0px;color: #444444;display: block;margin-bottom: -1px;padding: 0 14px 1px;text-align: center;text-decoration: none;width: 126px;height: 29px;
}
.tabz li:hover {color:#EFEFEF;padding: 0 14px;background: url("//uploads.ru/i/P/5/Q/P5Q2V.png")no-repeat scroll;background-position: -366px -31px; text-decoration:none;
}
.tabz .active {color: #444;padding: 0px 14px 2px;border: medium hidden;line-height: 22px;background-position: -366px -61px;
}
input[type="text"] {background:transparent;border:none !important;padding:0 !important;text-align:center;vertical-align:sub;width:84px;}
input[type="text"]:hover {color: #cbc3f7;
}
.tabz .active input[type="text"]:hover {color: #cbc3f7;}
div[class^="t-"]:not(.t-0) {display: none;}
div[class^="t-"] {background: #fbfbfb;border: 1px solid #888;border-radius: 0 0 9px 9px;padding: 0 5px 5px;counter-reset: span;width: 297px;
} 
#us_min img{border:1px solid #696969;border-radius: 9px;-webkit-filter: grayscale(100%);-moz-filter: grayscale(100%);filter: grayscale(100%);transition: all 0.5s ease;
}
#us_min figure {display:block;height: 52px;width: 52px;position: relative;overflow:hidden;text-align: center;
}
#us_min figcaption {display:block; width:50px;background:rgba(255, 46, 0, 0.8);border-radius: 0 0 7px 7px;box-shadow: 0 0 5px #40310A inset;color: #fff; font-weight: bold;font-size: 12px;height: 15px;left: 1px;position: absolute;top: 36px;text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2 );
}
#us_min td img:hover {-webkit-filter: grayscale(0%);-moz-filter: grayscale(0%);filter: grayscale(0%);
}
.tipsy-inner {background-color:#004d66; color:white; max-width:200px;
}
#us_min th,#us_poz th {border-radius: 7px;height: 22px;font-size: small;
}
#us_poz img{border:1px solid #696969;border-radius: 9px;
}
#us_poz figure {display:block;height: 52px;width: 52px;position: relative;overflow:hidden;text-align: center;
} 
#us_poz figcaption {display:block; width:50px;background:rgba(245, 124, 0, 0.8);border-radius: 0 0 7px 7px;box-shadow: 0 0 5px #40310A inset;color: #fff; font-size: 0.8em;font-weight: bold;font-size: 12px;height: 15px;left: 1px;position: absolute;top: 36px;text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2 );
}
</style>
<div id="joper">
<ul class="tabz">
<li class="t-0 active"> &#x271A; </li>
<li class="t-1"> &minus; </li>
</ul>
<div class="t-0"><table id="us_poz" cellspacing="5" style=""></table></div>
<div class="t-1"><table id="us_min" cellspacing="5" style=""></table></div>
</div>
<script type="text/javascript">
var lim = 25, //количество ячеек (персон) в таблице
ktd = 5; //количество ячеек в строке
</script>
<script type="text/javascript" src="http://forumfiles.ru/files/0017/d8/50/88008.js"></script>

Переключение списков нажатием на вкладки

Устанавливать на отдельной странице или в Объявление
Как видно, часто бывает что, и в списке негативных, и в списке позитивных одни и те же люди, которые просто очень чаще других пользуются системой оценок постов.  :hobo:

+6

496

Календарь событий

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

Календарь событий во ВКонтакте и Facebook
Facebook

http://s9.uploads.ru/fG29I.jpg

во ВКонтакте вы можете посмотреть календарь во вкладке Друзья в верхнем правом углу нажав кнопку http://s8.uploads.ru/Q2D7I.png
http://s9.uploads.ru/rBfSL.jpg

ВКонтакте как выглядит

http://sa.uploads.ru/rFXEB.gif

Сделать полноценный календарь на нашем сервисе не позволяет ограниченность API (увы, нет сортировки по возрасту, чтоб отсеять тех у кого дата рождения вообще не указана) , но тем не менее некое подобие вполне реально, выглядеть это будет так:
http://sa.uploads.ru/t/YljE6.jpg
http://s8.uploads.ru/t/OYFsG.jpg
http://sd.uploads.ru/t/jnW2g.jpg

Я сделал всего 2 опции:
1. список праздников
2. метод по которому выдаётся максимальное количество ваших пользователей, подбирается индивидуально под каждый форум. Если на форуме много активных пользователей, которые часто пользуются системой оценки поста (+ и -), то оптимальным будет метод - respect. Если просто активные пользователи, которые часто пишут, но не пользуются всякими там плюсиками, то оптимален метод - num_posts
Сразу предупреждаю, абсолютно все пользователи указавшие дату своего дня рождения в Календарь не попадут (ограниченность API)! Кстати, как и не попадут, те кто указал не полную дату. Отсутствие года гарантирует вам непопадание в Календарь.
http://s8.uploads.ru/SotUn.jpg

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

td[data-iso="01-01"]

где сначала идёт месяц, потом день
По такому же принципу составляется список праздничных дней, сначала месяц, потом день:

var prazdnik = [{dn: '01-01', celebrate: 'Новый год'},
{dn: '01-07', celebrate: 'Рождество Христово'},
{dn: '01-14', celebrate: 'Старый Новый год'},
{dn: '02-23', celebrate: 'День защитника Отечества'},
{dn: '03-08', celebrate: 'Международный женский день'},
{dn: '04-01', celebrate: 'День смеха (День дурака)'},
{dn: '05-01', celebrate: 'День трудящихся'},
{dn: '05-09', celebrate: 'День Победы'},
{dn: '06-12', celebrate: 'День России'},
{dn: '11-04', celebrate: 'День народного единства'},
{dn: '11-07', celebrate: 'День Октябрьской революции 1917 года'}]

Кстати, во всплывающей подсказке праздничного дня можно сделать изображение стикер. У кого возникнет такое желание, сначала закачайте эти стикеры куда-нибудь, потом пишите мне, сделаем правки в скрипте для вас.
Куда ставить код? Оптимально в описание любого форума: Администрирование -> Форумы -> Редактировать (описание любого форума)

Код:
<style type="text/css">
/* Таблица календаря */
.calendar {
  border: 0px;
  border-collapse: collapse;
  font-family: Arial;
  width: auto !important;
}
/* Заголовок */
.calendar th {
  text-align: center;
  height: 25px;
  background: #ebf0f5 !important;
  color: #8996a3 !important;
  border-bottom: 1px solid #ebf0f5 !important;
}
/* Заголовок праздника */
.calendar th.holiday {
  color: #FF0000 !important;
}
/* Ячейка дня */
.calendar td {
  border-left: 1px solid #ebf0f5 !important;
  border-right: 1px solid #ebf0f5 !important;
  border-bottom: 1px solid #ebf0f5 !important;
  color: rgb(44, 86, 122);
  position: relative;
  white-space: nowrap;
  width: 95px;
  height: 40px;
}
@media screen and (max-width: 640px) {
.calendar td {width: 65px;height:25px;}
#imn {width: 20px;height: 20px;}
.holiday .day_num {width: 12px !important; height: 11px !important;}
.day_num {font-size: 9.5px !important;}
#clndr {width: 16px;height: 16px;}
}
/* Блок с отображающейся датой (день)  */
.day_num {
    position: absolute;
    top: 2px;
    left: 6px;
    text-align: center;
    color: #99acbf;
    font-size: 12.5px;
}
/* Пустой день */
.calendar td.pust {
  background: transparent !important;
  border: none !important;
}
/* Выбранный день */
.calendar td.selected {
  outline: 2px solid #98b0cd;
}
/* Праздничный день */
.calendar td.holiday {
  background: #fafbfc !important;
}
/* Блок с отображающейся датой (праздничный день)  */
.calendar .holiday .day_num {
    cursor: pointer;
    color: #555;
    background: #FFE082;
    border-radius: 50%;
    border-color: #FF9800 !important;
    border: 1px solid;
    width: 18px;
    height: 17px;
}
/* Кнопки навигации */
.calendar td.navigation {
  text-align: center;
  border: 0px none !important;
  font-size: 15px;
  cursor: pointer;
  white-space: nowrap;
}
.calendar td a {bottom: -7px;}
/* Наложение аватаров друг на друга (необходимо при большом количестве именинников в один день)  */
.calendar td a:nth-child(2) {left: -10px;}
.calendar td a:nth-child(3) {left: -20px;}
.calendar td a:nth-child(4) {left: -30px;}
.calendar td a:nth-child(5) {left: -40px;}
.calendar td a:nth-child(6) {left: -50px;}
.calendar td a:nth-child(7) {left: -60px;}
/* Всплывающий блок Календаря  */
 #calendar_table {
 display:none;
    position: fixed;
    top: 10%;
    background: #fff;
    padding: 15px;
    z-index: 9;
    margin: 0 auto !important;
    border-radius: 9px;
	-moz-box-shadow: 0px 0px 40px #444;
  -webkit-box-shadow: 0px 0px 40px #444;
  box-shadow: 0px 0px 40px #444;
}
/* Кнопка иконка календаря */
#clndr {position:relative;float:right;top: -15px;cursor: pointer;}
</style>

<div id="calendar_table"></div>
<!-- Календарь событий-->
<script type="text/javascript">
var prazdnik = [{dn: '01-01', celebrate: 'Новый год'},
{dn: '01-07', celebrate: 'Рождество Христово'},
{dn: '01-14', celebrate: 'Старый Новый год'},
{dn: '02-23', celebrate: 'День защитника Отечества'},
{dn: '03-08', celebrate: 'Международный женский день'},
{dn: '04-01', celebrate: 'День смеха (День дурака)'},
{dn: '05-01', celebrate: 'День трудящихся'},
{dn: '05-09', celebrate: 'День Победы'},
{dn: '06-12', celebrate: 'День России'},
{dn: '11-04', celebrate: 'День народного единства'},
{dn: '11-07', celebrate: 'День Октябрьской революции 1917 года'}],
metod = 'num_posts'; //num_posts или respect
</script>

<script type="text/javascript" src="http://forumfiles.ru/files/0017/d8/50/11373.js"></script>


Можно сделать отображение Календаря не на главной, а на отдельной странице.
Скрипт рекомендуется ставить на активные форумы, где количество зарегистрированных пользователей не меньше 100 ( а лучше от 1000). На малых форумах он мало информативен и будет выдавать ошибку в консоли, хотя она ни на что не влияет.

+5

497

Обновлён скрипт Разворачивание картинок в постах до полного размера.
Теперь должен нормально работать при установке в любом месте html-верх или html-низ.

+2

498

Новости из определенной темы

переделанный скрипт Ромыча

ставим в ХТМЛ низ

<script type="text/javascript">
$(function(){
$('#rr').after('<div class="container"><table id="bib" cellspacing="0" width=100%><tr><th scope="col" width=65%>--</th><th scope="col" width=25%>--</th><th scope="col" width=10%>Автор</th><th scope="col" width=2%>-</th></tr></table></div>');
$.get('export.php?type=rss&tid=868','',processXML);
function processXML(data){
$(data).find('item:lt(1)').each(function(){ 
var JAuthor=$(this).find('author').text().slice(14,-1);
var JTitle=$(this).find('title').text();
var JLink=$(this).find('link').text();
var JContent=$(this).find('description').text();
var JPosted=$(this).find('pubDate').text().slice(4,-5);
$('#bib').append('<tr><td style="font-size: 18px; font-family: Trebuchet MS; color: #101110;"><br>'+JContent+'<br><br></td><td style="text-align:left;"></td><td><b></b></td><td style="text-align:center"></td></tr>'); });
} });
</script>


красным - стиль сообщения
зеленым - РСС адрес нужной темы (внизу ссылка РСС )

создаем блок в нужном месте с id="rr", там будет показываться. или можно #pun-stats вписать в скрипт вместо #rr

таблица новости #bib - можно изменить для этого id стиль, поставить фон
--------------------
видео не показывается для новостей из темы. если вписать РСС определенного форума, показывается

Отредактировано tartar4 (Ср, 21 Фев 2018 20:15:03)

+1

499

Скрипт для красной строки/деления на абзацы.

Чем этот скрипт отличается от остальных.
1. Он подходит для старых форумов. Думаю, кроме меня найдутся те, кто соображал про красную строку уже сильно после того, как форум просуществовал какое-то время и понасочинял достаточно огромное кол-во контента. Существующие скрипты (во всяком случае, те, которые находил я) убивают изначальную иерархию тегов в сообщении и исправно корректно делят текст на <p></p>, позволяя вписать text-indent, но — таким образом они еще и убивают те отступы в тексте сообщений, которые действительно могут быть необходимы для логического деления и оформления тех же постов. Иными словами, установка скриптов для индента на старые форумы может привести к глобальной катастрофе, поскольку логически поделенные в рамках старой иерархии тегов посты становятся просто цельным полотном без первоначальных разделителей-строк-пробелов. Здесь эта проблема учтена.
2. Задаются разделы, на которые распространяется его действие. То есть можно указать только игровые/архивы, не затрагивая рабочие.

HTML-Верх

Код:
<script src="http://forumfiles.ru/files/0016/a4/af/82138.js"></script>


HTML-Низ

<script>
$(document).ready(function() {
var forumIndexes = [3,11,9,17,18]; // форумы, где нужен indent, указываем только ID-номер форума, последнее число без запятой
formatTextParagraphs(forumIndexes);
});
</script>


CSS, таким образом, у нас приобретает примерно такой вид разбивки с дополнительным классом вложенного <p>:

.punbb .post-content p {
    padding: 0 0 1em 0;
    }
.punbb .post-content p.formatted {
    padding: 0 0 0 0;
    text-indent:2.6em;
}


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

Автор скрипта (с) добрый аноним. Был составлен по моей просьбе, человек разрешил выложить его в общий доступ, ибо вопрос действительно актуальный. Но сам автор предпочел остаться анонимом. ХЪ
Надеюсь, его установку и назначение я внятно пояснил.

P.S. Был обновлен-поправлен файл и заменен на другой.

Отредактировано Arakhen (Вт, 20 Мар 2018 22:22:05)

+1

500

Скрипт показа активных тем, без нажатия на соответствующую ссылку
Показ закрепляется в любом месте форума
скрипт Алекса

<script>$("#tt").append('<table id=TBl cellspacing=1 ></table>')
.find("#TBl").load("/search.php?action=show_recent #pun-main table tr:lt(11)");</script>

создаете блок в объявлении пустой id="tt" . на нем будет показываться
ставить скрипт в хтмл низ

можно к статистике прикрепить - вместо tt вписать в скрипт #pun-stats
число 11 - это количество последних тем "-1".

-1


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