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

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

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


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


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

Сообщений 121 страница 140 из 569

1

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

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

Авторы скриптов, размещающие свои разработки на бесплатной и добровольной основе, оставляют за собой право в любой момент вносить в них изменения на своё усмотрение (в том числе: обновление с целью улучшения функционала и стабильности; изъятие из публичного пользования; включение рекомендательных интеграций, содержащих информацию о других разработках, относящихся к MyBB). Скрипты предоставляются авторами "как есть" и без каких-либо гарантий, высказанных или подразумеваемых. При этом размещаемый скрипт должен соответствовать условиям Пользовательского соглашения, не содержать вредоносного кода и не использоваться для рекламы и продвижения сторонних ресурсов, не относящихся к MyBB.

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

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

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

Отредактировано Alex_63 (Пт, 14 Мар 2025 11:28:27)

+8

121

Тема - обсуждение

Cкрипт Автопродления Тем

Ссылка в старой теме

http://s5.uploads.ru/qGbXI.jpg

Ссылка в первом сообщении Новой темы

http://s5.uploads.ru/WRl3d.jpg

Необходима Начальная настройка:

1.   Идем в Администрирование - Настройки и выставляем  Время переадресации - 1,   Скриншот => http://s5.uploads.ru/TyAUf.jpg

Скрипт устанавливаем в конец  HTML низ

<script> PostMaximum = 1000;</script>
<script type="text/javascript" src="https://forumstatic.ru/files/0010/b4/f8/82017.js"></script>

Если нужно, есть добавка:

Добавка(в самое начало HTML низ): Открытие этих ссылок в текущей вкладке браузера

<script type="text/javascript">
$('.post-content').find('.quote-box > blockquote')
.find('span[style*="display: block; text-align: center"] > strong')
.find('span[style="font-size: 16px"] > a[href*="/viewtopic.php?pid="]')
.removeAttr('target');
var cnt = "Предыдущая тема:";
$('.post-content').find('.quote-box > blockquote:contains("'+cnt+'")')
.find('span[style="font-size: 15px"] > span[style="color: blue"]')
.parents('blockquote:first').find('strong > span[style="font-size: 15px"] > a[href*="/viewtopic.php?pid="]')
.removeAttr('target');
</script>

Для теста скрипта вместо красного временно ставим, к примеру: 5 и пробуем добавлять сообщения в тему, при достижении 5 ообщений скрипт автосоздаст новую тему со ссылкой на старую! (Естественно для тем с автопродлением в соответствующих форумах должна быть в настройках форума проставлена возможность создания тем!!!
PS: Гость не может создать тему со ссылкой, посколь гостям ссылки запрещены!
т.е для Гостя скрипт не работает

Отредактировано Deff (Вс, 29 Сен 2013 15:35:59)

+8

122

:offtop:
Deff
ух ты! вещь! Только можно обойтись без "время переадресации"? Если честно вообще не понимаю зачем еще существует эта функция на уровне сервиса.

0

123

C3La-NS написал(а):

ух ты! вещь! Только можно обойтись без "время переадресации"?

Наверно нет, ибо она тестит страницу редиректа, и ссылку втыкает в старую тему - скрипт ориентирован на редирект.

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

Отредактировано Deff (Сб, 28 Сен 2013 18:59:09)

0

124

Deff, скрипт отличный, но конфликтует вот с этим скриптом

Код:
<!--Свои картинки вместо:Новая тема;Новый опрос;Ответить;Профиль;ЛС;и т.д. -->
<script>
   pstlnk=new Array(

  ".postlink","Новая тема",
"https://forumstatic.ru/files/0013/0b/24/45774.png","https://forumstatic.ru/files/0013/0b/24/29175.png",

  ".postlink","Новый опрос",
"https://forumstatic.ru/files/0013/0b/24/96356.png","https://forumstatic.ru/files/0013/0b/24/48190.png",

  ".postlink","Ответить",
"https://forumstatic.ru/files/0013/0b/24/12565.png","https://forumstatic.ru/files/0013/0b/24/10101.png",

  ".pl-email","Профиль",
"http://s5.uploads.ru/4yO9g.gif","http://s5.uploads.ru/4yO9g.gif",

  ".pl-email","ЛС",
"http://s4.uploads.ru/UvlW2.gif","http://s4.uploads.ru/UvlW2.gif",

  ".pl-email","E-mail",
"http://s5.uploads.ru/6M8aB.gif","http://s5.uploads.ru/6M8aB.gif",

  ".pl-website","Вебсайт",
"http://s5.uploads.ru/dnr2k.gif","http://s5.uploads.ru/dnr2k.gif",

  ".pl-delete","Удалить",
"https://forumstatic.ru/files/0013/0b/24/35532.png","https://forumstatic.ru/files/0013/0b/24/31609.png",

  ".pl-edit","Редактировать",
"https://forumstatic.ru/files/0013/0b/24/99520.png","https://forumstatic.ru/files/0013/0b/24/47236.png",

  ".pl-quote","Цитировать",
"https://forumstatic.ru/files/0013/0b/24/13306.png","https://forumstatic.ru/files/0013/0b/24/19042.png"// !ПОСЛЕДНИЙ элемент без запятой
 )
function find_and_replace(value){var s0,s1,s2,s3,i; for (i=0; i < pstlnk.length; i=i+4){s0=pstlnk[i+2];
  s1="onmouseover=\"this.src='"+pstlnk[i+3]+"'\"";s2="onmouseout=\"this.src='"+s0+"'\"";
  s3='<img class="pst_lnk" src="'+s0+'" '+s1+' '+s2+' border="0" />';
  var str=$(value).find(pstlnk[i]+":contains('"+pstlnk[i+1]+"')").html();
  if (str!=null) {str=str.replace(pstlnk[i+1],"<span style='display:none'>"+pstlnk[i+1]+"</span>"+s3);
$(value).find(pstlnk[i]+":contains('"+pstlnk[i+1]+"')").html(str);};};}
$("#pun-viewforum .linkst,#pun-viewforum .linksb,#pun-viewtopic .linkst,#pun-viewtopic .linksb,#pun-viewtopic .post .post-links").each(function(){find_and_replace(this);;});
</script>
<!--окончание -->
Deff написал(а):

Поправил... (он тестировал наличие кнопки "Ответить", теперь тестит только наличие ссылки с бывшим "Ответить")
Отредактировано Deff (Сб, 28 Сен 2013 21:08:05)

+1

125

Многие жалуются на нерешенную фичу сервиса:                                           
Переброс страницы с текущей на первую при удалении Тем и сообщений,
первая попытка решить как то эту проблему: 
                                   

Запрет переброса на первую страницу при удалении Тем и сообщений

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

<!--Запрет перехода на первую страницу При удалении Тем и сообщений -->
<script type="text/javascript" src="https://forumstatic.ru/files/0010/b4/f8/33839.js"></script>

+3

126

John Warner написал(а):

Уважаемые леди и джентльмены!
Вопрос на засыпку: а из Вконтакте никак у нас на МуВВ музыку не послушать?
Обрыл вроде всё, ничего похожего так и не нашёл.

А этот не подходит:  Автоматический перевод медиа-ссылок в контент при публикации (видео, музыка, изображения) /На форумах часто появляются пользователи из социальных сетей, которые привыкли публиковать контент, простой публикацией ссылок на изображения, ролики из ютуб. Работает с прямыми ссылками на mp3./ (Romych)?

+1

127

ruslan_as

Cкрытое сообщение с добавкой видимости Админу

Устарел, свежая версия => Ссылка


<!-- Cпойлер Персональной Инфы - для Ника(Ников) -->
<script type="text/javascript">
var AdmNick = "
Вася";
(function(){
$('.post-content .quote-box.spoiler-box > div[ onclick*="toggleClass"]:contains("for Nick(s)|")').each(function(){
  var sp=$(this).parent();
  if(!$('#pun-navlinks #navprofile').length){sp.remove();return true}
  var title = $(this).text().replace(/for Nick\(s\)\|/i,'').split(',');
  var pass = false; for(var i=0;i<title.length;i++) if(title[i]==UserLogin){pass=true;break;}
  if(!pass){sp.remove();return true}
  $(this).html('<b style="color:red">Персональная ин-фа для '+UserLogin+' </b>');
  var cnt = sp.find('blockquote:first>p');cnt.text(unescape(cnt.html())) 
});
Wraper_SP = function (){
  var bound = '###spForYOU###';
  var Nam = '';Nam = prompt("Спойлер персональной инфы для следующих Ников\n\nВведите через запятую нужные Ник(и):","");
  Nam = Nam.split(/\s?\s?\s?,\s?\s?\s?/ig).join(',')+','+UserLogin+','+AdmNick;
  var a = "[", b = "]",end =bound+ a +'/spoiler'+b;
  var start = a+'spoiler="for Nick(s)|'+Nam+'"'+b+bound;
  $("#main-reply").focus(); bbcode(start,end);var arr = $("#main-reply").val().split(bound);$("#main-reply").val(arr[0]+escape(arr[1])+arr[2]);
}
if($('#pun-edit,#pun-post,#pun-viewtopic').length){
var tit = "Спойлер Персональной инфы"
$('#form-buttons #button-spoiler').after('<td id="button-sp_for_you" title="'+tit+'" align=center valign=center><img style="height:22px;width:22px;margin:-4px -2px 0 -2px;" src="http://savepic.org/1446271.gif" onclick="Wraper_SP()"/></td>');
}}());
</script>

Исходный скрипт тут => https://forum.mybb.ru/viewtopic.php?pid=813851#p813851

Отредактировано Deff (Чт, 30 Окт 2014 02:28:44)

+1

128

Скрипт радио на форум

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

Сам скрипт:

Код:
<dl id="RP_v2_radio"><span id="RP_v2_radioPlayer"></span><dt><a href="http://radiopotok.ru/" id="RP_v2_link"><span>Онлайн радио</span></a></dt><dd id="RP_v2_content"></dd></dl>
<script type="text/javascript" src="http://yandex.st/jquery/cookie/1.0/jquery.cookie.min.js"></script>
<script type="text/javascript" src="http://radiopotok.ru/f/script2/18139887db16e25ee888882a50f7d618.js" charset="UTF-8"></script>

Вставлять в HTML низ, Объявление, HTML в форме ответа.

Как работает: http://dokfilm.maminforum.com/

Отредактировано 2834911 (Пн, 17 Ноя 2014 11:30:25)

0

129

Иконка вместо названия дополнительного поля (с) Fover

<!-- Название доп. поля картинкой -->
<script>
var fldWord = "Форинты"; //Название поля;
var fldimg = 'http://sa.uploads.ru/7pH05.png' //Иконка;

$('li[class^="pa-fld"]:contains("'+fldWord+':")').each(function (){
var str = $(this).html().replace(/^[^:]*:/,'');
$(this).html('<img title="'+fldWord+'" src="'+fldimg+'">'+str);});
</script>

+1

130

уберите тогда из моего скрипта $(document).ready(function(){
типа так:

Дополнительные медиахостинги v2(.2)

в html-верх:

Код:
<style type="text/css">
/* вкладки */
#media-wrapper {width: 400px;}
ul.media-tabs {height: 25px;line-height: 29px;margin: 0 0 3px;list-style: none;}
ul.media-tabs li {float: left;margin-right: 1px; cursor:pointer;}
ul.media-tabs li a {background: url("http://uploads.ru/i/P/5/Q/P5Q2V.png") no-repeat scroll -652px 0 transparent;color: #444444;cursor: pointer;display: block;margin-bottom: -1px;padding: 0 14px 1px;position: relative;text-decoration: none;width: 95px;}
ul.media-tabs li a:hover {color:#EFEFEF;padding: 0 14px;background: url("http://uploads.ru/i/P/5/Q/P5Q2V.png")no-repeat scroll;background-position: -652px -31px; text-decoration:none;}
ul.media-tabs li.tab-current a {color: #444;padding: 0px 14px 2px;border:medium hidden;line-height: 29px;background-position: -652px -62px;}
ul.media-tabs li.tab-current a:hover {color: #6A5ACD;}
div.media-t2,div.media-t3 {display: none;width: 450px;}
.tipsy-inner {font-size: 14px;}
.media_link { float: left;}
</style>

В HTML низ

Код:
<!--дополнительные медиахостинги 2.2 © Romych-->
<script type="text/javascript">
var media2 = ['kiwi.kz',
'rutv.ru',
'soundcloud.com',
'purevolume.com',
'livestream.com',
'pleer.com',
'video.jampo.tv',
'yapfiles.ru',
'realmusic.ru',
'1plus1.ua',
'jamendo.com',
'mail.ru',
'bandcamp.com',
'coub.com',
'sibnet.ru',
'ato.su',
'rocklab.ru'];

$('.media_link img').tipsy({live: true,gravity: 's',fade: true});
$('#video-area-hsel').addClass('media-t1');
$('#video-area').prepend('<div id="media-wrapper"><ul class="media-tabs tabs1"><li class="media-t1 tab-current"><a>Первый список</a></li><li class="media-t2"><a>Второй список</a></li></ul><br><div class="media-t2"></div></div><br>');
jQuery.each(media2, function(i) {
$('#video-area div.media-t2').append('<a class="media_link" href="javascript:void(0)" onclick="window.open(\'http://'+media2[i]+'\',\''+media2[i]+'\', \'width=640, height=480\');return false;"> <img style="padding: 5px;" alt="'+media2[i]+'" title="'+media2[i]+'" src="https://plus.google.com/_/favicon?domain='+media2[i]+'"> </a>');
});
$('#video-area div.media-t2').append('<br><br><div id="video-area-tcon2"><div id="video-area-thd2">Вставьте  iframe-код медиафайла (аудио, видео)</div><textarea id="video-area-tinp2" onclick="this.select();"></textarea><div id="video-area-msg2" style="margin: 0.5em 0;padding: 0.3em;"></div></div><div id="video-area-actions2"><a class="frame_host" href="javascript:void(0)" >Вставить</a>  <a onclick="changeVisibility(\'video-area\'); return false;"href="#">Закрыть</a></div>');

$('a.frame_host').click(function(e){
var self = $('#video-area-tinp2');
          setTimeout(function(e) {
          var paste = $(self).val();
          paste = paste.replace(/'/gi, '"');
if(paste.indexOf('param name="movie"') !=-1){
          frm = paste.split(/param name=\"movie\" value=\"(.*?)\"/i);
        }
if((paste.indexOf('<iframe') !=-1) || (paste.indexOf('<embed')!=-1)){
          frm = paste.split(/src=\"(.*?)\"/);
        }
if(paste.indexOf('data=') !=-1) {
          frm = paste.split(/data=\"(.*?)\"/);
        }
if(frm[1].slice(frm[1].indexOf('.swf')+4).length<=2){
var fls = paste.split(/param name=\"flashvars\" value=\"(.*?)\"/i);
frm[1]=frm[1]+'?&'+fls[1];

}
          var wd = paste.split(/width=\"(\d{2,3})\"/);
          var hg = paste.split(/height=\"(\d{2,3})\"/);

for (var i=0; i<media2.length; i++) {
if(frm[1].indexOf(media2[i]) !=-1) {

insert('[video2='+wd[1]+'|'+hg[1]+']'+frm[1]+'[/video2]\n');
changeVisibility('video-area');
$(self).val('');
} 
else {
$('#video-area-msg2').text('Неподдерживаемый хостинг.');
$(self).val('');
 }
};
          }, 0);
 });

$('ul.media-tabs.tabs1 li').click(function(){
var thisClass = this.className.slice(0,8);
$('div.media-t1, div.media-t2, div.media-t3').hide();
$('div.' + thisClass).fadeToggle('fast');
$('ul.media-tabs.tabs1 li').removeClass('tab-current');
$(this).addClass('tab-current');
  });  

var ls = document.querySelectorAll(".post-content p");
for (x in ls){
var pst = ls[x].innerHTML;
for (var i=0; i<media2.length; i++) {
if(pst.indexOf(media2[i])!= -1)  {
pst = pst.replace(/\[video2=(.*?)\|(.*?)\](.*?)\[\/video2\]/gi, '<br /><iframe width="$1" height="$2" src="$3" frameborder="0" allowfullscreen></iframe>');
   } 
}
ls[x].innerHTML = pst;
       }
</script>

или в сжатом варианте:

Код:
<!--дополнительные медиахостинги  2.2 © Romych-->
<script type="text/javascript">
var media2=['kiwi.kz','rutv.ru','soundcloud.com','purevolume.com','livestream.com','pleer.com','video.jampo.tv','yapfiles.ru','realmusic.ru','1plus1.ua','jamendo.com','mail.ru','bandcamp.com','coub.com','sibnet.ru','ato.su','rocklab.ru'];
$('.media_link img').tipsy({live:true,gravity:'s',fade:true});$('#video-area-hsel').addClass('media-t1');$('#video-area').prepend('<div id="media-wrapper"><ul class="media-tabs tabs1"><li class="media-t1 tab-current"><a>Первый список</a></li><li class="media-t2"><a>Второй список</a></li></ul><br><div class="media-t2"></div></div><br>');jQuery.each(media2,function(i){$('#video-area div.media-t2').append('<a class="media_link" href="javascript:void(0)" onclick="window.open(\'http://'+media2[i]+'\',\''+media2[i]+'\', \'width=640, height=480\');return false;"> <img style="padding: 5px;" alt="'+media2[i]+'" title="'+media2[i]+'" src="https://plus.google.com/_/favicon?domain='+media2[i]+'"> </a>');});$('#video-area div.media-t2').append('<br><br><div id="video-area-tcon2"><div id="video-area-thd2">Вставьте  iframe-код медиафайла (аудио, видео)</div><textarea id="video-area-tinp2" onclick="this.select();"></textarea><div id="video-area-msg2" style="margin: 0.5em 0;padding: 0.3em;"></div></div><div id="video-area-actions2"><a class="frame_host" href="javascript:void(0)" >Вставить</a>  <a onclick="changeVisibility(\'video-area\'); return false;"href="#">Закрыть</a></div>');$('a.frame_host').click(function(e){var self=$('#video-area-tinp2');setTimeout(function(e){var paste=$(self).val();paste=paste.replace(/'/gi,'"');if(paste.indexOf('param name="movie"')!=-1){frm=paste.split(/param name=\"movie\" value=\"(.*?)\"/i);}
if((paste.indexOf('<iframe')!=-1)||(paste.indexOf('<embed')!=-1)){frm=paste.split(/src=\"(.*?)\"/);}
if(paste.indexOf('data=')!=-1){frm=paste.split(/data=\"(.*?)\"/);}
if(frm[1].slice(frm[1].indexOf('.swf')+4).length<=2){var fls=paste.split(/param name=\"flashvars\" value=\"(.*?)\"/i);frm[1]=frm[1]+'?&'+fls[1];}
var wd=paste.split(/width=\"(\d{2,3})\"/);var hg=paste.split(/height=\"(\d{2,3})\"/);for(var i=0;i<media2.length;i++){if(frm[1].indexOf(media2[i])!=-1){insert('[video2='+wd[1]+'|'+hg[1]+']'+frm[1]+'[/video2]\n');changeVisibility('video-area');$(self).val('');}
else{$('#video-area-msg2').text('Неподдерживаемый хостинг.');$(self).val('');}};},0);});$('ul.media-tabs.tabs1 li').click(function(){var thisClass=this.className.slice(0,8);$('div.media-t1, div.media-t2, div.media-t3').hide();$('div.'+thisClass).fadeToggle('fast');$('ul.media-tabs.tabs1 li').removeClass('tab-current');$(this).addClass('tab-current');});var ls=document.querySelectorAll(".post-content p");for(x in ls){var pst=ls[x].innerHTML;for(var i=0;i<media2.length;i++){if(pst.indexOf(media2[i])!=-1){pst=pst.replace(/\[video2=(.*?)\|(.*?)\](.*?)\[\/video2\]/gi,'<br /><iframe width="$1" height="$2" src="$3" frameborder="0" allowfullscreen></iframe>');}}
ls[x].innerHTML=pst;}
</script>

и испытайте

+5

131

Доступ в форум по паролю (c) Fover

<script type="text/javascript">
var fpass = "Пароль";
var fid = [1,2,3,4,5];
for(var i=0; i<fid.length;i++){
$("#forum_f"+fid[i]+" a").click(function(){
  pass = prompt('Пожалуйста, введите пароль:');
if (pass!=''+fpass+''){
  alert('Пароль неверный.'),
  top.history.back()
}
});
if(document.URL.indexOf("/viewforum.php?id="+fid[i]+"")!=-1) {
  pass = prompt('Пожалуйста, введите пароль:');
if (pass!=''+fpass+''){
  alert('Пароль неверный.'),
  top.history.back()
}}}
</script>

Синим - Id форумов через запятую для которых требуется установка пароля.

0

132

Fover  :D  Ну слабый скрипт... Есть более полноценный  скрипт от sadhaka
Толку в этих добавках, как от козла молока - несерьезно

0

133

Вставка якоря в сообщения (с) (Deff, Fover)

(Вариант с открытыми значками)

http://s4.uploads.ru/t/rPGjz.png

Код:
<script type="text/javascript">
$('#post').find("#button-addition").after('<td id="button-aanchor"><img style="width: 20px!important; height: 20px!important; margin-left: 4px!important;" src="https://forumstatic.ru/files/0012/e8/7a/38504.png" title="Вставить якорь" id="button-aanchor" onclick=\"addanchor()\"></td><td id="button-anchor"><img style="width: 20px!important; height: 20px!important; margin-left: 4px!important;" src="https://forumstatic.ru/files/0012/e8/7a/97990.png" title="Вставить ссылку на якорь" id="button-anchor" onclick=\"anchoru()\"></td>');
function addanchor(){
 var adnchor = '';
 adnchor = prompt("Введите название якоря", "#");
 insert("[url&" + adnchor + "]" + adnchor + "[/url]\n");
}
function anchoru(){
 var anchorp = '';
 anchorp = prompt("Введите название якоря", "#");
 var anchorc = '';
 anchorc= prompt("Введите описание якоря", "Описание");
 insert("[url=http://anchor" + anchorp + "]" + anchorc + "[/url]\n");
}
$('.post-content').each(function(){
 $(this).find('p:contains("[url&#"),div[onclick]:contains("[url&#")').each(function(){
   var str=$(this).html();
   var val = str.replace(/\[url&amp;#[^\[\]]+\]#([^\[\]]+)\[\/url\]/img,'<a name="$1"></a>');
   if(val!=str)$(this).html(val);   
 });
 $(this).find('a[href*="//anchor"]').each(function(){
   var href=$(this).attr('href');
     href = href.split('#')[1];
     if(!!href){$(this).removeAttr('target');$(this)[0].href = '#'+href;
       var str = $(this).text();
       if(str.indexOf('http://')==0)$(this).text(href);
     }
 });
});
$('.post-content').find('a[href^="#"]').live('click', function(){
    var lnk = $(this).attr('href');
    var a=$('.post-content').find('a[name="'+lnk.substr(1)+'"]');
    b = a.parents('.spoiler-box').find('div[onclick]:first').not('.visible');
    if(b.length)b.click();
    setTimeout(function(){location.replace(document.URL.split('#')[0]+lnk)},10)
    return false;
});
</script>

Вставка якоря в сообщения (с) (Deff, Fover)

(Вариант со спрятанными значками под кнопку "Дополнительно")

http://s4.uploads.ru/t/7O1ca.png

Код:
<script type="text/javascript">
var img1 = "https://forumstatic.ru/files/0012/e8/7a/38504.png";
var img2 = "https://forumstatic.ru/files/0012/e8/7a/97990.png";

$('#post').find("#addition-area").prepend('<div onclick="addanchor()"><img style="width: 20px!important; height: 20px!important; margin:5px -3px -5px -14px!important;" src="'+img1+'"/> <span>Вставить якорь</span></div><div onclick="anchoru()" style="padding-bottom:4px"><img style="width: 20px!important; height: 20px!important; margin:5px 0 -5px -14px!important;" src="'+img2+'"/><span>Ccылка на якорь</span></div>');
function addanchor(){
 var adnchor = '';
 adnchor = prompt("Введите название якоря", "#");
 insert("[url&" + adnchor + "]" + adnchor + "[/url]\n");
}
function anchoru(){
 var anchorp = '';
 anchorp = prompt("Введите название якоря", "#");
 var anchorc = '';
 anchorc= prompt("Введите описание якоря", "Описание");
 insert("[url=http://anchor" + anchorp + "]" + anchorc + "[/url]\n");
}
$('.post-content').each(function(){
 $(this).find('p:contains("[url&#"),div[onclick]:contains("[url&#")').each(function(){
   var str=$(this).html();
   var val = str.replace(/\[url&amp;#[^\[\]]+\]#([^\[\]]+)\[\/url\]/img,'<a name="$1"></a>');
   if(val!=str)$(this).html(val);   
 });
 $(this).find('a[href*="//anchor"]').each(function(){
   var href=$(this).attr('href');
     href = href.split('#')[1];
     if(!!href){$(this).removeAttr('target');$(this)[0].href = '#'+href;
       var str = $(this).text();
       if(str.indexOf('http://')==0)$(this).text(href);
     }
 });
});
$('.post-content').find('a[href^="#"]').live('click', function(){
    var lnk = $(this).attr('href');
    var a=$('.post-content').find('a[name="'+lnk.substr(1)+'"]');
    b = a.parents('.spoiler-box').find('div[onclick]:first').not('.visible');
    if(b.length)b.click();
    setTimeout(function(){location.replace(document.URL.split('#')[0]+lnk)},10)
    return false;
});
</script>

Задача: Передвинуть скролл к нужному месту на странице при клике на ссылку.
Актуально при длинных пояснениях к чему либо.

К примеру: В игровых описаниях, в расшифровках неких списков проставленных ссылками, в расшифровках описания ингредиентов и способа их приготовления
Аналог в HTML: http://htmlbook.ru/samhtml/yakorya



якорь - место, в которое будет передвигаться(красный якорёк) - ставим латинскими буквами на нижнем регистре название якоря
Ссылка на якорь (синий якорёк) В ссылку на якорь ставим то же самое слово, что и обозвали якорь, в Описание - своё нужноё слово



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


В Принципе имеется возможность переходить к якорю и с произвольной страницы
для этого вид ссылки в Сообщении такой:
[url=https://forum.mybb.ru/viewtopic.php?pid=31044#Name]Описание[/url]
Зеленым - ссылка на форум
синим - последняя группа цифр после #p при клике на дату в сообщении
красным - имя якоря

+5

134

Код:
<iframe name="fantasy" src="http://fantasyflash.ru/clock/c.php?n=17&bcolor=FFF0F5" height="79" width="70" scrolling="no" frameborder="0"></iframe>

Скрипт часов на форум) Часики можно выбрать другие) Стоит у меня. Работает прекрасно)

Отредактировано ღ::..Одино4ка..::ღ (Ср, 16 Окт 2013 09:14:57)

+1

135

Фрейм в Постах c регулируемой высотой

Выделяем ссылку - Давим кнопку (высоту правим под нужную)
В HTML низ

Код:
<!--Фрейм в Постах-->
<style>
#button-frame {background-image:url('http://img265.imageshack.us/img265/9213/frame1.gif'); padding:0; line-height:0; background-position:center; background-repeat:no-repeat; height:26px; width:100%}
</style>
<script type="text/javascript">
function fram_url(){
 bbcode('[frame height=400]','[/frame]');
}
if(form=document.getElementById("form-buttons"))
form.getElementsByTagName("tr")[0].insertCell(19).innerHTML="<img src='/i/blank.gif' title='Вставить фрейм' id='button-frame' onclick=\"fram_url()\">"

function makeFrame(str, height, lnk,offset, s){
if(!height)var height=' height="400"';
str='<iframe src="'+lnk+'" frameborder="0" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="auto" width="100%"'+height+'></iframe>';
return str
}

var fram = "[/frame]";
$('.post-content:contains("'+fram+'") p').each(function(){
 var replac = $(this).html().replace(/\[frame([^\[\]]*)\]([^\[\]]+)\[\/frame\]/igm,makeFrame) // 
 if(replac!=$(this).html())$(this).html(replac);
});
</script>

Отредактировано Deff (Ср, 16 Окт 2013 19:33:43)

+1

136

Таймер игровой Даты

Этот блок - ставим туда, где нужно отражать игровое время:

<div id="clockPlay">&#160</div>

И скрипт:
В HTML низ

<!-- Таймер игровой Даты -->
<script type="text/javascript">(function() {
var startReal = "21 May 2010 10:12" //реальный день смены даты;
var setNewDate = "02 aug 438 10:12"; //Дата игрового дня на день смены(Год не может быть меньше 100)
var rate = 8; //коэффициент замедления (разы), т.е 8 реальных дн. = 1игровому;

function playDate() {
var c = Date.parse(startReal);
var datePlus = Date.parse(setNewDate);
var d = new Date();
d.setTime(parseInt((+d-c)/rate + datePlus));
return d;
}

clock = $("#clockPlay");
var dayArr=new Array("Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота");
var monthArr=new Array("января","февраля","марта","апреля","мая","июля","июня","августа","сентября","октября","ноября","декабря") ;

function timeWrite(d) {var c = d.toString();//alert(c)
var aa = dayArr[d.getDay()]+' '+d.getDate()+' '+monthArr[d.getMonth()]+' '+ c.replace(/^.*?\s(\d{3,4}).*$/ig,"$1").replace(/^0+/ig,'')+' года  '+c.replace(/^.*?(\d{2}:\d{2}:\d{2}).*/g,"$1");
//alert(aa);
clock.html(aa);
setTimeout(function(){timeWrite(playDate())},rate*1000)
} timeWrite(playDate());
}());
</script>

Тестируйте

Отредактировано Deff (Сб, 19 Окт 2013 03:48:06)

+1

137

Cкрипт cкрытия подфорумов

Актуально для скрытия подфорумов,
- не плодит лишних кодов в HTML верх и низ.

Устанавливаем в описание нужных подфорумов (Администрирование - форумы - редактировать )

<script class="forumhide">$("script.forumhide").parents("tr[id^='forum_f']:first").hide();$("script.forumhide").remove()</script>

Отредактировано Deff (Вс, 20 Окт 2013 08:20:01)

+2

138

френч написал(а):

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

Cкрытие ссылок и изображений от гостей в избранных темах

1. Закрепляем первое сообщение нужной темы и прописываем в нём тег:

[color=nolink][/color]

2. В HTML низ ставим скрипт

<!-- Cкрытие ссылок и изображений от гостей в избранных темах -->
<script type="text/javascript">
if(GroupID==3&&$('#pun-viewtopic').length)(function() {
  var style="color:#930F1A;background:#DEEA05;padding:0 5px 3px 5px;";
  if($('.post:first .post-content').html().indexOf('<span style="color: nolink"></span>')!=-1)
  $('.post-content p').find('a,img.postimg').each(function(){
    $(this).replaceWith('<span style="'+style+'">Для просмотра ссылок и изображений <a href="/login.php">Войдите</a> или <a href="/register.php">зарегистрируйтесь</a></span>');});}());
</script>

+4

139

Кнопка справо, со всплывающей инфой
(на базе скрипта "Выпадающее меню" от rps)

http://s6.uploads.ru/t/UjekC.jpg

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

<style> /* Стиль всплывающего меню */
.splLink {cursor:pointer;width: 100px; height: 40px; border: 0px solid #FFD700; text-align: center; font-family: Gothic century; font-size: 15px; padding: 5px;}
.splCont {height: auto; width: 260px; background: #D2B48C; padding: 5px; z-index: 1000; margin-top: 5px; border: 2px solid #D2B48C; font-size: 12px; font-family: Lucida Sans Unicode; text-align: center;}

/* Тень, Прозрачка и Скругление углов во Всплывающем меню */
.splCont {background-color: transparent !important; background-image: url("http://savepic.ru/2408258.png");
    border-radius:15px;
    -webkit-border-radius:15px;
    -khtml-border-radius:15px;
    -moz-border-radius:15px;
    -o-border-radius:15px;

     box-shadow:0px 5px 14px #8B6C52;
    -webkit-box-shadow:0px 5px 14px #8B6C52;
    -khtml-box-shadow:0px 5px 14px #8B6C52;
    -moz-box-shadow:0px 5px 14px #8B6C52;
    /*text-shadow: #FFFFFF 1px 1px 4px !important;
    color: #color: #000000 !important;*/
    }
.splCont:first-letter {
    font-family: "Times New Roman", Times, serif; /* Гарнитура шрифта первой буквы */
    font-size: 200% !important; /* Размер шрифта первого символа */
    color: red; /* Красный цвет текста */
   } /* Конец Стиля всплывающего меню */
</style>

<DIV style="position: fixed;right:0;top:50px;z-index:20000"><div class=splLink><img src="https://forumstatic.ru/files/0010/a0/ba/79565.png"/></div>
<DIV style="DISPLAY: none;position: absolute; right:17px;top:74px;" class=splCont>

Ваш Контент 1<br />
Ваш Контент 1<br />
Ваш Контент 1<br />
Ваш Контент 1<br />

</DIV></DIV>

<!--Спойлер - контейнер-->
<script type="text/javascript">
  $(document).ready(function(){
    $('.splLink').click(function(){
      $(this).parent().children('div.splCont').toggle('normal');
      return false;
    });
  });
</script>

Дополнения от Домового:

Выпадающие панели слева и справа

Идея: Deff, доработка: Домовой

Панель можно ставить одну, либо справа либо слева, а можно ставить обе одновременно.

Установка производится в HTML-верх

Правая панель

<!--Панель справа-->
<style>
.splContR {
width:200px!important; /*ширина окна*/
height:auto; /*высота окна*/
background-color:#fff !important; /*фон окна*/
top:55px; /*отступ окна от верха кнопки*/
right:5px; /*отступ окна от правого края монитора*/
border:1px solid #828282; /*толщина, стиль и цвет рамки окна*/
-moz-border-radius:8px;
-khtml-border-radius:8px;
-webkit-border-radius:8px;
border-radius:8px;
box-shadow:0 0 15px 3px #828282;
-webkit-box-shadow:0 0 15px 3px #828282;
-moz-box-shadow:0 0 15px 3px #828282;
padding:10px 10px 10px 10px;
text-align:center;
color:#000000 !important; /*цвет шрифта*/
font-size:12px; /*размер шрифта*/
font-family:Georgia; /*шрифт*/
}
</style>

<!--Блок с содержимым правой панели-->
<div style="position:fixed;right:1px;top:100px;z-index:20000">
<div class=splLinkR><img src="ссылка на картинку кнопку"/></div>
<div style="display:none;position:absolute;" class=splContR>
СОДЕРЖИМОЕ ПАНЕЛИ
</div></div>

<!--Спойлер - контейнер-->
<script type="text/javascript">
  $(document).ready(function(){
    $('.splLinkR').click(function(){
      $(this).parent().children('div.splContR').toggle('normal');
      return false;
    });
  });
</script>

right:1px;top:100px; - расположение кнопки относительно правой и верхней границ монитора соответственно



Левая панель

<!--Панель слева-->
<style>
.splContL {
width:200px!important; /*ширина окна*/
height:auto; /*высота окна*/
background-color:#fff !important; /*фон окна*/
top:55px; /*отступ окна от верха кнопки*/
left:5px; /*отступ окна от левого края монитора*/
border:1px solid #828282; /*толщина, стиль и цвет рамки окна*/
-moz-border-radius:8px;
-khtml-border-radius:8px;
-webkit-border-radius:8px;
border-radius:8px;
box-shadow:0 0 15px 3px #828282;
-webkit-box-shadow:0 0 15px 3px #828282;
-moz-box-shadow:0 0 15px 3px #828282;
padding:10px 10px 10px 10px;
text-align:center;
color:#000000 !important; /*цвет шрифта*/
font-size:12px; /*размер шрифта*/
font-family:Georgia; /*шрифт*/
}
</style>

<!--Блок с содержимым левой панели-->
<div style="position:fixed;left:1px;top:100px;z-index:20000">
<div class=splLinkL><img src="ссылка на картинку кнопку"/></div>
<div style="display:none;position:absolute;" class=splContL>
СОДЕРЖИМОЕ ПАНЕЛИ
</div></div>

<!--Спойлер - контейнер-->
<script type="text/javascript">
  $(document).ready(function(){
    $('.splLinkL').click(function(){
      $(this).parent().children('div.splContL').toggle('normal');
      return false;
    });
  });
</script>

left:1px;top:100px; - расположение кнопки относительно левой и верхней границ монитора соответственно

Скриншоты:

http://s7.uploads.ru/t/b3Vp7.jpg

http://s7.uploads.ru/t/Yck9m.jpg

Живой пример ЗДЕСЬ

Отредактировано Deff (Сб, 2 Ноя 2013 17:46:51)

+3

140

Предпросмотр(перед отправкой)  личных сообщений (устарело)
+ кнопка сворачивания профиля

1. Находим или создаём(Администрирование - форумы) форум с настройками возможности создания тем всем группам, кроме гостей

2. Кликаем данный форум на главной и считываем цифры в конце ссылки, например:
https://forum.mybb.ru/viewforum.php?id=30

3. Вставляем в начало HTML верх скрипт:

<!-- Предпросмотр  личных сообщений --><script type="text/javascript">
var forum_Preview =
30; //Форум с возможностью создания тем всем юзерам
</script>
<script type="text/javascript" src="https://forumstatic.ru/files/0013/61/e9/81572.js"></script>

Красным - наши цифры

http://s7.uploads.ru/zrpya.gif


Свернуть все поля, кроме Ника при выборе чекбокса:
В HTML верх

<style type="text/css">
.post-author.chec li:not(.pa-author){
  display:none;
}
</style>

На широких форумах можно убрать кнопку сворачивания:
В HTML верх

<style>#hide-1{display:none;}</style>

Отредактировано Deff (Вт, 8 Май 2018 21:18:13)

+3


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