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

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

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


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


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

Сообщений 261 страница 280 из 570

1

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

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

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

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

+8

261

Новый вариант цитирование с BB-кодами

https://savepic.su/5035127.jpg

Устарело, актуальный вариант тут.

Ставим Код
В HTML в форме ответа:

<!-- Кнопка BB-цитата в сообщениях -->
<script src="https://forumstatic.ru/files/0011/da/9b/49269.js"></script>

+3

262

Онлайн редактор объявления v.2
В HTML низ:

Код:
<script type="text/javascript">
if(GroupID == 1) {
var ReIMG = 'http://i.imgur.com/VQD5pFc.png';
function reframe(){
  var fram= $(pun_admin.document.body);
  $('#announcement').val(fram.find('textarea[name="form[announcement_message]"]').val());
}
function saveframe(){
  var fram = $(pun_admin.document.body);
  var submit = fram.find('input[value="Сохранить"]');
  fram.find('textarea[name="form[announcement_message]"]').val($('#announcement').val());
  submit.click();
  setTimeout('location.reload()', 500);
}
if(GroupID==1)$('#pun-announcement').each(function(){
  var $_this = $(this);
  $(this).prepend('<img style="float: right; margin: -20px -20px 0px 0px; cursor: pointer;" src="'+ ReIMG +'" class="re-img">'); 
  $(this).find('.html-box').before('<div class="re-table" style="display: none;" align="center"><textarea style="width: 99.5%;" cols="75" rows="13" id="announcement" type="text" value=""></textarea><br><input type="button" class="button" value="Сохранить" onclick="saveframe()"></div>');
  $('.re-img').click(function(){ 
    if(!$_this.find('.re-frame').length) {
      $_this.prepend('<iframe src="/admin_options.php" name="pun_admin" class="re-frame" style="width:2px;height:2px;position:absolute;z-index:-1" onload="reframe()"></iframe>');
    }
    $('.re-table, .html-box').toggle('slow');
  });
});}
</script>

var ReIMG = 'http://i.imgur.com/VQD5pFc.png';

Красным - ссылка на изображение карандаша.

Вид

http://i.imgur.com/0i2pwtY.png
http://i.imgur.com/MD3zC5G.png

====================================
Поправил: Иконку видят только админы.

Отредактировано Fover (Чт, 26 Фев 2015 20:42:28)

+4

263

Скрытие ссылок и изображений в топиках
(новый вариант)

<script type="text/javascript">
var group = [3];
var img = 'Изображение';
var link = 'Ссылка';
if($.inArray(GroupID,group)!=-1){ if(link.length)$('.post-content a[rel="nofollow"]').replaceWith(link);if(img.length) $('.post-content .postimg').replaceWith(img);}
</script>

Красным - группа, для которой будут скрыты ссылки/изображения (можно вставлять несколько через запятую).
Изображение - текст/html вместо изображений в топике.
Ссылка - текст/html вместо ссылок в топике.


Если хотите скрыть только ссылки, просто удалите текст/html заменяющий изображения (var img = '') и наоборот.

+1

264

Это всё конечно хорошо, но, вот если ссылку вставлять в картинку, то ничего не работает, если будет так

Код:
 [url=https://cloud.mail.ru/public/2367fcdcf9ed/Irina%20Shayk%20%20(1191%20pics).rar][img]http://forumstatic.ru/files/000e/db/93/66777.gif[/img][/url]  [url=http://mex.su/iA23M][img]http://forumstatic.ru/files/000e/db/93/67314.gif[/img][/url]

не работает, простая ссылка без картинок

Код:
[url=https://yadi.sk/d/6DJgHcyIf2WKZ]Скачать[/url]

срабатывает!

http://img-fotki.yandex.ru/get/10138/307039318.10/0_114aa9_4d66e30_orig.jpg

0

265

mihka1980
Попробуйтет так:

<script type="text/javascript">
var group = [3];
var link = 'Ссылка';
if($.inArray(GroupID,group)!=-1){ if(link.length)$('.post-content a[rel="nofollow"]')
.filter(function(){return $(this).attr("href").split(/\.png$|\.jpg$|\.gif$/).length!= 2 })
.replaceWith(link);}
</script>

+1

266

И по сути есть более настраиваемый вариант:

<script type="text/javascript">
var c = {
  link: {
    groups: [1], // группы, для которых скрыты ссылки
    switch: true, // false - выключить скрытие ссылок
    txt: 'ссылка' // текст/html вместо скрытой ссылки
  },
  img: {
    groups: [2], // группы, для которых скрыты изображения
    switch: true, // false - выключить скрытие изображений
    txt: 'изображение' // текст/html вместо скрытого изображения
  },
};
if($.inArray(GroupID,c.link.groups)!=-1){ if(c.link.switch)$('.post-content a[rel="nofollow"]').replaceWith(c.link.txt);}if($.inArray(GroupID,c.img.groups)!=-1){ if(c.img.switch)$('.post-content .postimg').replaceWith(c.img.txt);}
</script>

Отредактировано Fover (Ср, 4 Мар 2015 13:31:42)

0

267

Бегущая строка в сообщениях с выбором направления
В HTML низ

Код:
<style type="text/css">
#button-marquee {background: url(http://forumstatic.ru/files/0013/76/d2/11255.png) no-repeat center;}
#marquee-area img {cursor: pointer;}
</style>
<script type="text/javascript">
$('#button-right').after('<td id="button-marquee" title="Бегущая строка"><img onclick="changeVisibility(\'marquee-area\')" src="/i/blank.gif"></td>');$('#form-buttons').append('<div class="container" id="marquee-area" style="display: none; padding: 10px; position: absolute; right: 6px; top: 43px; width: auto;"><img src="http://forumstatic.ru/files/0013/76/d2/30491.png" onclick="bbcode(\'[marquee=left]\',\'[/marquee]\');">&nbsp;&nbsp;&nbsp;<img src="http://forumstatic.ru/files/0013/76/d2/51628.png" onclick="bbcode(\'[marquee=right]\',\'[/marquee]\');"></div>');
$('.post-content p:contains("[marquee")').each(function(){$(this).html($(this).html().replace(/\[marquee=(.*?)\](.*?)\[\/marquee\]/gm, '<marquee direction="$1" onMouseOver="this.stop()"  onMouseOut="this.start()">$2</marquee>'));});
</script>

+3

268

выкладываю грубую наработку, которая позволяет отображать в сообщениях дополнительную информацию об авторе, а в частности платформу (Операционную систему), с которой он написал сообщение и браузер,
это полезно для форумов технической поддержки как этот, чтоб лишний раз не спрашивать у жалующегося пользователя, мол каким браузером пользуетесь
так же был давно вот такой опрос - Что из этого стоит добавить на форумы?
7 пунктом в нём стоит супербан, суть его идеи в была в сборе максимальной информации о пользователе для бана наверняка, в том числе через User-Agent (ось, браузер, разрешение экрана, версия флэш и т.д.)
конечно лучше было бы делать это средствами сервиса, а пока вот такой костыльный вариант

User-Agent в профиле автора поста


http://s1.uploads.ru/GZnqm.jpghttp://s1.uploads.ru/W2bUt.jpghttp://s1.uploads.ru/3vMom.jpg

в html-низ:

Код:
<script type="text/javascript">
var usA = navigator.userAgent;
var sysbr = [
	{re: /(Windows 2000)()/ig, r:/(Windows NT 5.0|Windows 2000)/, sub: 'http://forumstatic.ru/files/0012/72/15/47637.png'},
            {re: /(Windows XP)()/ig, r:/(Windows NT 5.1|Windows XP)/, sub: 'http://forumstatic.ru/files/0012/72/15/52481.png'},
            {re: /(Windows Server 2003)()/ig, r:/Windows NT 5.2/, sub: 'http://forumstatic.ru/files/0012/72/15/52481.png'},
            {re: /(Windows Vista)()/ig, r:/Windows NT 6.0/, sub: 'http://forumstatic.ru/files/0012/72/15/17322.png'},
            {re: /(Windows 7)()/ig, r:/(Windows 7|Windows NT 6.1)/, sub: 'http://forumstatic.ru/files/0012/72/15/78704.png'},
            {re: /(Windows 8)()/ig, r:/(Windows 8|Windows NT 6.2)/, sub: 'http://forumstatic.ru/files/0012/72/15/15694.png'},
	{re: /(Windows 8.1)()/ig, r:/(Windows 8.1|Windows NT 6.3)/, sub: 'http://forumstatic.ru/files/0012/72/15/27734.png'},
	{re: /(Windows 10)()/ig, r:/(Windows NT 6.4)/, sub: 'http://forumstatic.ru/files/0012/72/15/15694.png'},
            {re: /(Android)()/ig, r:/Android/, sub: 'http://forumstatic.ru/files/0012/72/15/62456.png'},
            {re: /(Open BSD)()/ig, r:/OpenBSD/, sub: 'http://forumstatic.ru/files/0012/72/15/13979.png'},
	{re: /(Ubuntu)()/ig, r:/Ubuntu/, sub: 'http://forumstatic.ru/files/0012/72/15/93172.png'},
            {re: /(Xubuntu)()/ig, r:/Xubuntu/, sub: 'http://forumstatic.ru/files/0012/72/15/90513.png'},
            {re: /(Sun OS)()/ig, r:/SunOS/, sub: 'http://forumstatic.ru/files/0012/72/15/90135.png'},
            {re: /(Linux)()/ig, r:/(Linux|X11)/, sub: 'http://forumstatic.ru/files/0012/72/15/94875.png'},
            {re: /(iOS)()/ig, r:/(iPhone|iPad|iPod)/, sub: 'http://forumstatic.ru/files/0012/72/15/79763.png'},
            {re: /(Mac OS X)()/ig, r:/Mac OS X/, sub: 'http://forumstatic.ru/files/0012/72/15/16372.png'},
            {re: /(Mac OS)()/ig, r:/(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/, sub: 'http://forumstatic.ru/files/0012/72/15/72782.png'},
            {re: /(BeOS)()/ig, r:/BeOS/, sub: 'http://forumstatic.ru/files/0012/72/15/90377.png'},
            {re: /(OS\/2)()/ig, r:/OS\/2/, sub: 'http://forumstatic.ru/files/0012/72/15/45919.png'},
            {re:/(Amigo)\s*(\.|\,?\d+(\.\d+)*)/gi, sub: 'http://forumstatic.ru/files/0012/72/15/70700.png'},
	{re: /(opera|OPR)\s*(\.|\,?\d+(\.\d+)*)/ig, sub: 'http://forumstatic.ru/files/0012/72/15/14487.png'},
	{re: /(chrome)\s*(\.|\,?\d+(\.\d+)*)/gi, sub: 'http://forumstatic.ru/files/0012/72/15/44189.png'},
	{re: /(chromium)\s*(\.|\,?\d+(\.\d+)*)/gi, sub: 'http://forumstatic.ru/files/0012/72/15/29722.png'},
	{re: /(safari)\s*(\.|\,?\d+(\.\d+)*)/gi, sub: 'http://forumstatic.ru/files/0012/72/15/73467.png'},
	{re: /(firefox)\s*(\.|\,?\d+(\.\d+)*)/gi, sub: 'http://forumstatic.ru/files/0012/72/15/93737.png'},
	{re: /(msie)\s*(\.|\,?\d+(\.\d+)*)/gi, sub: 'http://forumstatic.ru/files/0012/72/15/48061.png'},
	{re: /(yabrowser)\s*(\.|\,?\d+(\.\d+)*)/gi, sub: 'http://forumstatic.ru/files/0012/72/15/32345.png'}
];
// определяем ОС
(function (window) {
    {
        var unknown = '-';
        var os = unknown;
        for (var i=0; i< sysbr.length; i++) {
var y = sysbr[i].re;
                var rr = sysbr[i].r;
var ge = y.toString().replace(/\/|\(|\)|gi/gi, '');
            if (usA.match(rr) != null) {
                os = ge;
                break;
            }
        }

        var osVersion = unknown;
        if (/Windows/.test(os)) {
            osVersion = /Windows (.*)/.exec(os)[1];
            os = 'Windows';
        }
        switch (os) {
            case 'Mac OS X':
                osVersion = /Mac OS X (10[\.\_\d]+)/.exec(usA)[1];
                break;
            case 'Android':
                osVersion = /Android ([\.\_\d]+)/.exec(usA)[1];
                break;
            case 'iOS':
                osVersion = /OS (\d+)_(\d+)_?(\d+)?/.exec(navigator.appVersion);
                osVersion = osVersion[1] + '.' + osVersion[2] + '.' + (osVersion[3] | 0);
                break;
        }
    }
// Определяем браузер
var N = navigator.appName, tem;
  	var brow = usA.match(/(amigo|opr|opera|safari|firefox|msie|yabrowser|chrome|chromium)\/?\s*(\.?\d+(\.\d+)*)/i);
  	if(brow && (tem = usA.match(/version\/([\.\d]+)/i))!= null) brow[2] = tem[1];
  	brow = brow? [brow[1], brow[2]]: [N, navigator.appVersion,'-?'];
        	if (usA.match('Amigo')!= null){ brow='Amigo ' +[brow[1]]};
            if (usA.match('OPR')!= null){ brow='Opera ' +[brow[1]]};

    window.ua = {
        os: os,
        osVersion: osVersion,
browser: brow
    };
}(this));
// добавляем маркер в пост ос/браузер 
$('#main-reply').bind('mouseout touchstart mousedown', function (e) {
var self = $(this);
          setTimeout(function(e) {
  var newpost = $(self).val();
$('input[name=submit]').bind('click', function (e) {
  $(self).val(newpost  +' [color=transparent][size=2]'+ua.os+' '+ua.osVersion+', '+ua.browser+'[/size][/color]');
   });
    }, 0);
});
// заменяем маркер на иконки
$('img.live-tipsy').tipsy({live: true,gravity: 's'});
$('.post').has('span[style=color: transparent]').map(function () {
	var self = $(this);
	var marker = $(this).find('span[style=color: transparent]').text();
	var bro = '<li class="pa-agent">';
     for (var i=0; i< sysbr.length; i++) {
var k = sysbr[i].re;
var t = marker.replace(k, '$1 $2');
var val = sysbr[i].sub;
	if (marker.match(k) != null) {
var qq = marker.replace(marker, ' <img class="live-tipsy" src="' +val+ '" original-title="' +t+ '"/> ');
	bro += qq;
         } 
}
       bro += '</li>'; 
      $(self).find('.post-author ul li:not(.pa-online):last').after(bro);
});
// удаляем маркер при цитировании (пока грубое решение)
function quote(username, post_id, no_repeat)
{
var theSelection = '';
    $('#p'+post_id+'-content > p').each(function(index){
    	p = $(this).html().replace(/<span style=\"color: transparent\"><span style=\"font-size: (\d+)px\">(.*?)<\/span><\/span>/gi, '');
    	el = $('<div style="display:none"></div>');
    	$(el).append(p);
    	theSelection += $(el).text()+'\n\n';
    });

	insert('[quote="' + username + '"]' + $.trim(theSelection) + '[/quote]' + '\n');

	return;
}
</script>

демо


сжатый вариант

Код:
<script type="text/javascript">
var usA=navigator.userAgent;var sysbr=[{re:/(Windows 2000)()/ig,r:/(Windows NT 5.0|Windows 2000)/,sub:'http://forumstatic.ru/files/0012/72/15/47637.png'},{re:/(Windows XP)()/ig,r:/(Windows NT 5.1|Windows XP)/,sub:'http://forumstatic.ru/files/0012/72/15/52481.png'},{re:/(Windows Server 2003)()/ig,r:/Windows NT 5.2/,sub:'http://forumstatic.ru/files/0012/72/15/52481.png'},{re:/(Windows Vista)()/ig,r:/Windows NT 6.0/,sub:'http://forumstatic.ru/files/0012/72/15/17322.png'},{re:/(Windows 7)()/ig,r:/(Windows 7|Windows NT 6.1)/,sub:'http://forumstatic.ru/files/0012/72/15/78704.png'},{re:/(Windows 8)()/ig,r:/(Windows 8|Windows NT 6.2)/,sub:'http://forumstatic.ru/files/0012/72/15/15694.png'},{re:/(Windows 8.1)()/ig,r:/(Windows 8.1|Windows NT 6.3)/,sub:'http://forumstatic.ru/files/0012/72/15/27734.png'},{re:/(Windows 10)()/ig,r:/(Windows NT 6.4)/,sub:'http://forumstatic.ru/files/0012/72/15/15694.png'},{re:/(Android)()/ig,r:/Android/,sub:'http://forumstatic.ru/files/0012/72/15/62456.png'},{re:/(Open BSD)()/ig,r:/OpenBSD/,sub:'http://forumstatic.ru/files/0012/72/15/13979.png'},{re:/(Ubuntu)()/ig,r:/Ubuntu/,sub:'http://forumstatic.ru/files/0012/72/15/93172.png'},{re:/(Xubuntu)()/ig,r:/Xubuntu/,sub:'http://forumstatic.ru/files/0012/72/15/90513.png'},{re:/(Sun OS)()/ig,r:/SunOS/,sub:'http://forumstatic.ru/files/0012/72/15/90135.png'},{re:/(Linux)()/ig,r:/(Linux|X11)/,sub:'http://forumstatic.ru/files/0012/72/15/94875.png'},{re:/(iOS)()/ig,r:/(iPhone|iPad|iPod)/,sub:'http://forumstatic.ru/files/0012/72/15/79763.png'},{re:/(Mac OS X)()/ig,r:/Mac OS X/,sub:'http://forumstatic.ru/files/0012/72/15/16372.png'},{re:/(Mac OS)()/ig,r:/(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/,sub:'http://forumstatic.ru/files/0012/72/15/72782.png'},{re:/(BeOS)()/ig,r:/BeOS/,sub:'http://forumstatic.ru/files/0012/72/15/90377.png'},{re:/(OS\/2)()/ig,r:/OS\/2/,sub:'http://forumstatic.ru/files/0012/72/15/45919.png'},{re:/(Amigo)\s*(\.|\,?\d+(\.\d+)*)/gi,sub:'http://forumstatic.ru/files/0012/72/15/70700.png'},{re:/(opera|OPR)\s*(\.|\,?\d+(\.\d+)*)/ig,sub:'http://forumstatic.ru/files/0012/72/15/14487.png'},{re:/(chrome)\s*(\.|\,?\d+(\.\d+)*)/gi,sub:'http://forumstatic.ru/files/0012/72/15/44189.png'},{re:/(chromium)\s*(\.|\,?\d+(\.\d+)*)/gi,sub:'http://forumstatic.ru/files/0012/72/15/29722.png'},{re:/(safari)\s*(\.|\,?\d+(\.\d+)*)/gi,sub:'http://forumstatic.ru/files/0012/72/15/73467.png'},{re:/(firefox)\s*(\.|\,?\d+(\.\d+)*)/gi,sub:'http://forumstatic.ru/files/0012/72/15/93737.png'},{re:/(msie)\s*(\.|\,?\d+(\.\d+)*)/gi,sub:'http://forumstatic.ru/files/0012/72/15/48061.png'},{re:/(yabrowser)\s*(\.|\,?\d+(\.\d+)*)/gi,sub:'http://forumstatic.ru/files/0012/72/15/32345.png'}];(function(window){{var unknown='-';var os=unknown;for(var i=0;i<sysbr.length;i++){var y=sysbr[i].re;var rr=sysbr[i].r;var ge=y.toString().replace(/\/|\(|\)|gi/gi,'');if(usA.match(rr)!=null){os=ge;break;}}
var osVersion=unknown;if(/Windows/.test(os)){osVersion=/Windows (.*)/.exec(os)[1];os='Windows';}
switch(os){case'Mac OS X':osVersion=/Mac OS X (10[\.\_\d]+)/.exec(usA)[1];break;case'Android':osVersion=/Android ([\.\_\d]+)/.exec(usA)[1];break;case'iOS':osVersion=/OS (\d+)_(\d+)_?(\d+)?/.exec(navigator.appVersion);osVersion=osVersion[1]+'.'+osVersion[2]+'.'+(osVersion[3]|0);break;}}
var N=navigator.appName,tem;var brow=usA.match(/(amigo|opr|opera|safari|firefox|msie|yabrowser|chrome|chromium)\/?\s*(\.?\d+(\.\d+)*)/i);if(brow&&(tem=usA.match(/version\/([\.\d]+)/i))!=null)brow[2]=tem[1];brow=brow?[brow[1],brow[2]]:[N,navigator.appVersion,'-?'];if(usA.match('Amigo')!=null){brow='Amigo '+[brow[1]]};if(usA.match('OPR')!=null){brow='Opera '+[brow[1]]};window.ua={os:os,osVersion:osVersion,browser:brow};}(this));$('#main-reply').bind('mouseout touchstart mousedown',function(e){var self=$(this);setTimeout(function(e){var newpost=$(self).val();$('input[name=submit]').bind('click',function(e){$(self).val(newpost+' [color=transparent][size=2]'+ua.os+' '+ua.osVersion+', '+ua.browser+'[/size][/color]');});},0);});$('img.live-tipsy').tipsy({live:true,gravity:'s'});$('.post').has('span[style=color: transparent]').map(function(){var self=$(this);var marker=$(this).find('span[style=color: transparent]').text();var bro='<li class="pa-agent">';for(var i=0;i<sysbr.length;i++){var k=sysbr[i].re;var t=marker.replace(k,'$1 $2');var val=sysbr[i].sub;if(marker.match(k)!=null){var qq=marker.replace(marker,' <img class="live-tipsy" src="'+val+'" original-title="'+t+'"/> ');bro+=qq;}}
bro+='</li>';$(self).find('.post-author ul li:not(.pa-online):last').after(bro);});function quote(username,post_id,no_repeat)
{var theSelection='';$('#p'+post_id+'-content > p').each(function(index){p=$(this).html().replace(/<span style=\"color: transparent\"><span style=\"font-size: (\d+)px\">(.*?)<\/span><\/span>/gi,'');el=$('<div style="display:none"></div>');$(el).append(p);theSelection+=$(el).text()+'\n\n';});insert('[quote="'+username+'"]'+$.trim(theSelection)+'[/quote]'+'\n');return;}
</script>

Скрипт проявляет свою работу только с новыми сообщениями, опубликованными после установки скрипта!

+4

269

Простой шаблон Анкеты
(для Ролевых форумов)

Код неактуален, новая версия => Скрипт для создания анкеты

Тема обсуждения скрипта: Ссылка

1. Создаем форум с анкетами (Администрирование - Форумы)
2. Считываем ID форума по клику на форум с главной, Пример:

http://test083tst.mybb.ru/viewforum.php?id=2

3. Создаём тему с образцом Анкет - "Шаблон Анкеты",
Красным выделяем примерный текст вводимый пользователем:
http://savepic.net/6680841.jpg
4. Тему выделяем в Важную, считываем ID Темы по клику на название темы в форуме

http://test083tst.mybb.ru/viewtopic.php?id=3

5. Ставим скрипт в Начало HTML низ, прописываем нужные цифры для форума и темы:

<!-- BB-цитата -->
<script src="http://forumstatic.ru/files/0011/da/9b/49269.js"></script>
<!--Шаблон Анкеты-->
<script type="text/javascript">
var AnketForumId=
2; //ID форума создания заявок;
var temaID =
3; //ID темы Шаблона заявки
var title = "Анкета от "; //Начало заголовка темы с анкетой;
var color = "blue"; //Цвет вписанного пользователем;
</script>
<script type="text/javascript" src="http://forumstatic.ru/files/0011/da/9b/69945.js"></script>

Скрипт преобразует все красные строки в поля ввода и при полном заполнении всех полей создаёт новую тему с заполненной Анкетой пользователя в указанном (AnketForumId) форуме
==============================================================
Возможно более насыщенное использование BB-кодов в Первичном шаблоне Анкеты


Поля ввода пока однострочные, можно разделить строки вводом в поле <br>
Цифры - необязательны, вид каждой строки оформляем нужным образом через BB-коды


Вариант 2: Создание сообщений по шаблону Первопоста в этой же теме
(К примеру заявки на ролевой патрулирования территории)

Ставим ниже первого скрипта (или добавляем скрипт BB-цитата перед этим скриптом, что ниже)

<!--Заполнение сообщений по шаблону в той же Теме-->
<script type="text/javascript">
var temaID = 23; //ID темы с Шаблоном сообщения;
var color = "blue"; //Цвет вписанного пользователем;
</script>
<script type="text/javascript" src="http://forumstatic.ru/files/0011/da/9b/70143.js"></script>

Скриншот итога => http://mex.su/6Mklu
Первый пост лучше закрепить на всех страницах (Есть галка при редактировании сообщения)

+1

270

Поправил скрипт от Fover, от сбоя при наличии гостевых постов в теме

Пользовательские ссылки у ника
http://savepic.net/6681772.jpg

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

<!-- пользовательские ссылки у ника ч.1 -->
<style>
.punbb .post .pa-links {display:none;position:absolute;top:25px;right:0;padding:5px;z-index:100;}
.punbb .post .pa-links ul {padding:5px 8px 5px 8px;background:#aba9ac; border:groove 3px #60546d;border-radius:5px;box-shadow:inset 0 0 3em #5f4b69; font-family:Georgia;font-weight:normal;}
.pa-links li {display:block; list-style:circle outside;float:none;padding-left:20px;height:16px;margin-bottom:5px;}
.pa-links li.pl-email {background:url(http://s7.uploads.ru/lpy5a.png) no-repeat;}
.pa-links li.pl-email:first-child {background:url(http://s7.uploads.ru/4BWKA.png) no-repeat; }
.pa-links li.pl-email:nth-child(3) {background:url(http://s6.uploads.ru/Ccg37.png) no-repeat; }
.pa-links li.pl-message {background:url(http://s6.uploads.ru/sLhyg.png) no-repeat; }
.pa-links li.pl-website {background:url(http://s6.uploads.ru/OnD1F.png) no-repeat; }
.btn-links {background:url(http://forumstatic.ru/files/0015/47/db/22100.png) no-repeat;width:30px;height:30px;position:absolute;top:0;right:0px;cursor:pointer;}
.post-author {position:relative;}
.post-links li.pl-email,.post-links li.pl-website {visibility:hidden;}
.punbb .pa-links li a {text-decoration:none;}
</style>

<!-- пользовательские ссылки у ника ч.2 -->
<script>
$(document).ready(function() {
if(document.URL.indexOf("viewtopic.php")!=-1 && GroupID !=3){
$(".post").find(".pl-email").parents('.post').each(function(){
$(this).find(".pa-author").after("<div class='btn-links' title='Пользовательские ссылки'></div><li class='pa-links'><ul class='container'></ul></li>");
$(this).find(".pl-email,.pl-website").clone().prependTo($(this).find(".pa-links ul"));
var user = $(this).find(".pl-email:first a").attr("href").match(/\d+/i);
$(this).find(".pa-links ul .pl-email:eq(0)").after("<li class='pl-message'><a rel='nofollow' href='/search.php?action=show_user&user_id="+user[0]+"'>Сообщения</a></li>");
});
$(".btn-links").click(function() {
$(this).next().slideToggle('fast');
});} })
</script>

+1

271

0

272


http://savepic.net/6687062.jpg

Выравнивание текста по ширине

В HTML низ

Код:
<style type="text/css">
#button-justify { background:url(http://savepic.net/6701397.png) center no-repeat!important;}
</style>
<script type="text/javascript">
$(document).ready(function(){
$("#post #button-center").after('<td id=button-justify align=center valign=center title="Выравнивание по ширине"><img onclick="bbcode(\'[align=justify]\',\'[/align]\')" src="/i/blank.gif"/></td>');});
</script>

+2

273

Кнопка прокрутки вверх,

появляющаяся при прокрутке страницы вниз

<!-- Кнопка прокрутки вверх -->
<style>
.ScrollToTop {
  display: none;
  position: fixed;
  right: 11px;
  bottom: 12px;
  width: 40px;
  height: 40px;
  background: rgba(0, 0, 0, 0.45) url(http://forumstatic.ru/files/0014/ef/99/34838.png) 6px 10px no-repeat;
  z-index: 10000;
  border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -o-border-radius: 5px;
  transition: background 0.5s ease;
    -webkit-transition: background 0.5s ease;
}
.ScrollToTop:hover {
  background-color: rgba(0, 0, 0, 0.65);
  transition: background 0.5s ease;
    -webkit-transition: background 0.5s ease;
}
</style>

<a href="#" class="ScrollToTop" title="Вверх"> </a>
<script type="text/javascript" src="http://forumstatic.ru/files/0014/ef/99/40861.js"></script>
<!-- //End//-Кнопка прокрутки вверх -->

 

Отредактировано Alex_63 (Пт, 26 Июн 2015 17:36:57)

+2

274


http://savepic.ru/6905663.png

Кнопка опционального подключения/отключения мобильного стиля
(Мобильный стиль в Админке должен быть включён!)

В Самое Начало HTML верх

<!-- Кнопка #on_OfMobile V2-->
<div id="on_OfMobile"><span onclick="FORUM.on_of_Mobile()"></span></div>
<style type="text/css">
#on_OfMobile {
  position:fixed;
  top:4px;left:3px; /* Начальное положение */
  z-index:20000;
}
#on_OfMobile>span {
  display:inline-block;
  width:70px;        /* Ширина кнопки */
  height:42px;        /* Высота кнопки */
  border-radius:13px;
  opacity:.3;
  transition-duration: 0.6s;
}
#on_OfMobile>span:hover {
  opacity:.7;
}
#on_OfMobile>span.mobile{
  background:rgba(0,0,0,1) url('http://savepic.ru/6884325.png') center no-repeat;
  background-size:50% auto;
}
#on_OfMobile>span.unmobile{
  background:rgba(0,0,0,1) url('http://savepic.ru/6944741.png') center no-repeat;
  background-size:50% auto;
}
.tipsy.mobil .tipsy-inner {
  width:80px;
  min-width:80px;
}
</style>

<script type="text/javascript">
//Настройки кнопки:
saveDay = 1; //Число дней хранения инфы
changExtra = 28; //Смена экстра стиля на до появления мобильной версии, если без разницы, - убираем строку;
tipsy = 'n'; //Размещение подсказки варианты: [ 'n' 's' 'w'  'e' ]
</script>
<script type="text/javascript" src="http://forumstatic.ru/files/0013/44/56/16328.js"></script>

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


PS2: Стиль кнопки, если устраивает, - можно скрыть, поставив в конец первого Окна стиля без тегов(но сначала проверьте работоспособность установкой как есть, в HTML верх):

<style type="text/css"> </style>


Тестируем - отписываемся  тут

+4

275

Давно обещал

Блоговая или приватная тема
(С доступом к комментариям задаваемым Автором темы)
http://savepic.ru/6928986.png

В Начало HTML низ

<!-- Блоговая или приватная тема -->
<noscript><meta http-equiv="refresh" content="0;URL=http://mex.su/prUMh" /></noscript>
<script type="text/javascript"> var privateTems = {};
privateTems.forumsAccess = [
1,22,24];    //Форумы с возможностью создания приватных тем;
privateTems.GroupsAccess = [
1,2,4];    //Группы с доступом к создания приватных тем;
privateTems.UserNoAccess = '
Вася,Петя,Коля.Б';    //Юзеры c отказом в доступе к приватным темам;
privateTems.temsPrefix   = "
My blog: ";    //Фраза в начале приватной темы, если не нужно,- оставляем = "";
privateTems.titleAddTabs = '
My bloG';    //Название вкладки во всплывающей таблице;
//=================================
</script><script type="text/javascript" src="http://forumstatic.ru/files/0013/44/56/41388.js"></script>
<!-- //End|Блоговая или приватная тема -->

==========================================
Настройки:
1. privateTems.forumsAccess = [1,22,24]; - тут прописываем ID форумов с возможностью создания Блоговых тем(форум может быть и один
2. privateTems.GroupsAccess = [1,2,4]; - Тут группы с доступом к созданию таких тем
3. privateTems.UserNoAccess = 'Вася,Петя,Коля.Б'; - Забаненные в доступе создания таких тем юзеры
4. privateTems.temsPrefix   = "My blog: "; - предзаголовок в Топике перед темой
5. privateTems.titleAddTabs = 'My bloG'; - Бонус: Возможность вставить первый пост темы во вкладку во всплывающей таблице(Всплывающая табличка в топике с дополнительными данными юзера), название вкладки будет соответствовать вписанному в этой строке.  Для того, чтобы вкладка появилась: В доп. поле нужного юзера(в Профиле) сразу следом за ссылкой на тему с вкладками всплывающей таблицы вписываем cсылку такого вида:

<a data="blog:15"></a>

. Красным -   ID блоговой темы (цифры в ссылке после /viewtopic.php?id=861714), (название вкладки в сообщении писать уже не надо)
==========================================
Зы: Юзер может ограничить доступ к комментариям в своей теме всем юзерам, вплоть до модеров - Админов, но АМС, если нужно, могут отредактировать сообщение юзера и вставить своё уведомление,
или написать в ЛС
----------------------
Для бана  Автором в своей теме уже написанных постов юзерами - нужно эти Ники дописать при редактированиия первопоста в поле Запретить доступ следующим Никам:
==========================================
Тестируем - Отписываемся

+3

276

По просьбе Lusiya

Вставка в форму ответа двух дополнительных цитат
http://savepic.ru/7048561.jpg

В Hачало HTML низ

Код:
<style type="text/css">
.post-content .book,.post-content .yumor{
  color: #000000;
  border-radius: 0 25px 0 25px;
  padding:0 1em 1em 1em; margin-bottom:1em;
  background: #EDD9A2 url("http://savepic.su/5665223.png") no-repeat 0 50%;
  background: -moz-linear-gradient(0deg,#EDD9A6, #FDB90F);
  background: -webkit-linear-gradient(0deg,#EDD9A6, #FDB90F);
  background: -o-linear-gradient(0deg,#EDD9A6, #FDB90F);
}
.post-content .book>blockquote {
  padding:18px 0;
  padding-left:80px;
  background: url("http://savepic.su/5661138m.png") no-repeat -15px 50%;
}
.post-content .yumor>blockquote{
  padding:25px 0;
  padding-left:110px;
  background: url("http://savepic.su/5665223.png") no-repeat -15px 50%;
}
.post-content .book>blockquote p{
  font: italic normal 400 20px/21.6px Georgia;
  color: #000000;
}
.post-content .yumor>blockquote p{
  font: italic normal 400 20px/21.6px "Comic Sans MS";
  color: #000000;
}
.post-content .book > cite,.post-content .yumor > cite{
  display:block;
  margin:0 -1em 0 -1em; border-bottom:#3F73DC 1px dashed;
  font: italic normal 700 15px/21.6px Georgia;
  padding:7px 12px;
}
.post-content .book{
  background: #EDD9A2 url("http://savepic.su/5661138m.png") no-repeat 0 50%;
  background: -moz-linear-gradient(0deg,#EDD9A6, #F8F8F6);
  background: -webkit-linear-gradient(0deg,#EDD9A6, #F8F8F6);
  background: -o-linear-gradient(0deg,#EDD9A6, #F8F8F6);
  font: italic normal 400 17px/normal Georgia;
}
#add_Quotes {
  position:absolute;
  width:24px!important;
  left:50%;margin-left:-12px;
  top:0;
}
#button-quote>center{
  opacity:0;
  visibility:hidden;
  transition-duration: 1.9s;
}
#button-quote:hover>center{
  transition-duration: 1.9s;
  opacity:1;
  visibility:visible;
}
.punbb #add_Quotes tr{
  padding:0!important;
  max-height:22px!important;
}
#add_Quotes td{
  height:10px!important;
  padding:0!important;
  width:22px!important;
}
#add_Quotes td[title="Цитата из книги"]{
  background: url("http://savepic.ru/7069041.png")  no-repeat 50% 3px;
  background-size:auto 23px;
}
#add_Quotes td[title="Время позитива"]{
  background: url("http://savepic.su/5665223.png") no-repeat 50%;
  background-size:cover;
}
</style>
<script>
var a = 'Цитата из книги: написал(а):';
$('.post-content div[class="quote-box"]>cite:contains("'+a+'")').text('Цитата из книги:').parent('div').addClass('book').removeClass('quote-box');
var a = 'Время позитива написал(а):';
$('.post-content div[class="quote-box"]>cite:contains("'+a+'")').text('Время позитива').parent('div').addClass('yumor').removeClass('quote-box');
var a ='<center style="position:relative;"><table id=add_Quotes><tr><td id="button-book" title="Цитата из книги">@@</td></tr><tr><td id="button-yumor" title="Время позитива">##</td></tr></table></center>',b3="]'";
var b1 = '<img onclick="bbcode(\'[quote=Цитата из книги:'+b3+',\'[/quote'+b3+')" src="/i/blank.gif"/>',b2 = '<img onclick="bbcode(\'[quote=Время позитива'+b3+',\'[/quote'+b3+')" src="/i/blank.gif"/>';
a = a.replace('@@',b1).replace('##',b2);
$('#post #button-quote').append(a);
</script>

Дополнительные иконки цитат появятся при наведении на иконку текущей цитаты в форме ответа

+3

277

Перенос формы Быстрого ответа под нужное сообщение

http://savepic.su/5694357.png

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

Код (ставить в конец HTML низ):

<!-- Перенос Быстрого ответа под нужное сообщение © Alex_63 -->
<style>
/* Кнопка "Ответить" */
li.pl-reply a {
  font-size: 14px;
  color: #428bca !important;
  padding-top: 6px !important;
  padding-left: 21px !important;
  padding-right: 6px !important;
  padding-bottom: 6px !important;
  background: url(http://nodeca.mybb.ru/files/0014/ef/99/64816.png) 1px 6px no-repeat;
  border-radius: 4px;
}
/* при наведении */
li.pl-reply a:hover {
  background-color: #ececec;
}
.button.cancel{display:none;}
</style>

<script type="text/javascript" src="http://forumstatic.ru/files/0015/c4/3f/26021.js"></script>
<!-- //End//-Перенос Быстрого ответа под нужное сообщение -->

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

<script type="text/javascript">
$('li.pl-BBquote>a').each(function(){
  $(this).attr('onClick','MReplyForm();MyfuncBB_tagCopy(this);return false;');
});
</script>

18.06.2015: Скрипт поправлен для форумов Rusff, ZeroParking, а также для форумов с установленным скриптом Уведомлений от Лаборатории QBoards (версия 1.3). При использовании версии скрипта 1.2 на указанных форумах не срабатывал перенос Быстрого ответа при нажатии на кнопку "Цитировать" под сообщением.

20.06.2015: Исправлена ошибка при отправке ответа на личное сообщение (блокировалась кнопка "Отправить") - версия 1.5

Отредактировано Alex_63 (Ср, 1 Июл 2015 16:58:29)

+7

278

Перенос ссылок "Удалить", "Редактировать", "Цитировать" в верх сообщения

(рядом с номером поста)

При этом ссылки "Профиль", "ЛС", "E-mail", "Вебсайт" переносятся в конец мини-профиля автора сообщения.

http://savepic.su/5673482.png

Код (в HTML низ):

<!--Перенос ссылок "Удалить", "Редактировать", "Цитировать" в верх поста © Alex_63-->
<style type="text/css">
li.pl-email {
  padding-right: 11px;
  padding-top: 14px;
  position: relative !important;
}
li.pl-website {
  margin-top: 14px;
}
.post-links {
  margin-left: 0px !important;
}
div.post-links {
  border: none !important;
  margin-bottom: -23px !important;
  margin-right: 20px;
}
.post-links ul {
  border: none !important;
}
.post-author ul {
  padding-bottom: 39px !important;
  margin-bottom: 0px;
}
</style>

<script type="text/javascript">
$('.post').each(function(){
  $(this).find('div.post-links').prependTo(this);
  $(this).find('li.pl-email').appendTo($(this).find('.post-author ul'));
  $(this).find('li.pl-website').appendTo($(this).find('.post-author ul'));
});
</script>

<!--//End//-Перенос ссылок "Удалить", "Редактировать", "Цитировать" в верх поста-->

Если установлен скрипт Сворачивание информации под N-кнопок в профиле топика - нужно добавить такой код:

<style type="text/css">
ul.post-ul-Sp li.pl-email, ul.post-ul-Sp li.pl-website {
  display: none !important;
}
ul.post-ul-Sp {
  padding-bottom: 10px !important;
}
</style>

Отредактировано Alex_63 (Вт, 2 Июн 2015 18:38:02)

+1

279

Обтекание изображений в постах через css

http://forumupload.ru/uploads/0000/14/1c/22787/t751656.png
Кликабельно

В HTML верх

<!--// CSS-версия обтекания изображений в Постах //-->
<style>.postimg[alt="float:right"]{float:right;padding-left:12px;pointer-events:none}.postimg[alt="float:left"]{float:left;padding-right:12px;pointer-events:none}
#add_float{position:absolute;padding:2px;top:-8px;left:50%;margin-left:-29px!important;width:57px!important;background: url("http://forumstatic.ru/files/0013/44/56/27326.png") no-repeat 50%!important;}
#button-image #add_float img{display:block;position:relative;z-index:4;}
#button-image>img{position:relative;z-index:2;}
#button-image>center{opacity:0;visibility:hidden; transition-duration: .8s;}
#button-image:hover>center{opacity:1; visibility:visible;}
</style>

<script>$(function(){$('.postimg[title="float:right"],.postimg[title="float:left"]').mouseover(function(e){e.preventDefault();});
var a ='<center style="position:relative;"><table id=add_float><tr><td id="text-left" title="Обтекание: текст слева">@@</td><td></td><td id="text-right" title="Обтекание: текст справа">##</td></tr></table></center>',b3="]'";
var b1 = '<img onclick="bbcode(\'[img=float:right'+b3+',\'[/img'+b3+')" src="/i/blank.gif"/>',b2 = '<img onclick="bbcode(\'[img=float:left'+b3+',\'[/img'+b3+')" src="/i/blank.gif"/>';
a = a.replace('@@',b1).replace('##',b2);
$('#post #button-image').prepend(a);});
</script>


Вставляем ссылку, выделяем, жмём нужную кнопку.
Доп. плюсы: не увеличивает кол-во кнопок в форме ответа, доп.кнопки появляются при наведении на иконку вставки картинки

Отредактировано Deff (Сб, 4 Сен 2021 00:24:08)

+8

280

Новая версия скрипта: Первые N тем в описании форума (v2)


Устаревшая версия Первые N тем в описании форума

Первые N тем в описании форума
(Во сплывающем окне по клику на стрелочку)
http://i.imgur.com/KFcuFwM.png
В HTML низ

<style type="text/css">
.topicslist {
  margin: 5px 0px 0px 0px;
  background: #fff;
  border: 1px #ff0000 solid;
  border-radius: 10px;
  padding: 10px;
}
</style>
<script type="text/javascript">
var count =
2;
$('.tclcon h3 a').each(function(){
  $(this).after(' <span class="clickt" style="cursor:pointer;">></span>');
});
var flag = true;
$('.tclcon h3 .clickt').click(function(){
  if(flag) {
    $(this).parent().after('<div style="position: absolute;" class="topicslist"><ul></ul></div>');
    var arr = [];
    var tlist = $(this).parents('.tclcon').find('.topicslist');
    var fnum = $(this).parents('tr').attr('id');
    if(sessionStorage.getItem(fnum)) {
      var local = sessionStorage.getItem(fnum).split(',');
      for (var i = 0; i < local.length; i+=2) {
        tlist.find('ul').append('<li><a href="'+local[i+1]+'">'+local[i]+'</a></li>');
      }
    } else {
      $.get($(this).parent().find('a').attr('href'), function(data){
        $(data).find('.tclcon').find('a:first').each(function(){
          arr.push($(this).text(),$(this).attr('href'));
        });
        arr = arr.slice(0,count*2);
        sessionStorage.setItem(fnum,arr);
        for (var i = 0; i < arr.length; i+=2) {
          tlist.find('ul').append('<li><a href="'+arr[i+1]+'">'+arr[i]+'</a></li>');
        }
      });
    }
    flag = false;
  } else {
    $('.topicslist').remove();
    flag = true;
  }
});
</script>

Вариант 2: Окно появляется при наведении на название форума

<style type="text/css">
.topicslist {
  margin: 5px 0px 0px 0px;
  background: #fff;
  border: 1px #ff0000 solid;
  border-radius: 10px;
  padding: 10px;
}
</style>
<script type="text/javascript">
var count =
2;
$('.tclcon h3 a').hover(function(){
  $(this).parent().after('<div style="position: absolute;" class="topicslist"><ul></ul></div>');
  var arr = [];
  var tlist = $(this).parents('.tclcon').find('.topicslist');
  var fnum = $(this).parents('tr').attr('id');
  if(sessionStorage.getItem(fnum)) {
    var local = sessionStorage.getItem(fnum).split(',');
    for (var i = 0; i < local.length; i+=2) {
      tlist.find('ul').append('<li><a href="'+local[i+1]+'">'+local[i]+'</a></li>');
    }
  } else {
    $.get($(this).attr('href'), function(data){
      $(data).find('.tclcon').find('a:first').each(function(){
        arr.push($(this).text(),$(this).attr('href'));
      });
      arr = arr.slice(0,count*2);
      sessionStorage.setItem(fnum,arr);
      for (var i = 0; i < arr.length; i+=2) {
        tlist.find('ul').append('<li><a href="'+arr[i+1]+'">'+arr[i]+'</a></li>');
      }
    });
  }
}, function(){
  $('.topicslist').remove();
});
</script>

Красным - кол-во отображаемых тем.

Отредактировано Fоvеr (Пн, 15 Июн 2015 18:28:41)

+1


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