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

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

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


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


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

Сообщений 201 страница 220 из 568

1

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

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

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

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

+8

201

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

Упрощенный в установке скрипт Денег, Валюты, Баллов и т.д

Подскажите, как изменить расположение, чтобы не под авой находилось?
Я планирую под одним из дополнительных полей

0

202

Bellona

<script type="text/javascript">
        $("#pun-viewtopic .post .post-author").each(function(){
        var fldnum = 2;
        var fldName="Баллы"    //Точное Имя Поля

        //Все Коэфициенты могут быть дробными
        var K_post=1/5;    //Кол-о баллов начисляемых за одно сообщение;
        var K_invites=11;    //Кол-о баллов начисляемых за число приглашенных на форум;
        var K=10;            //Коэффициент участия(Кол-о баллов за час пребывания на форуме
        var K_respect=3;    //Кол-о баллов начисляемых за один балл уважения;
        var K_positive=1;    //Кол-о баллов начисляемых за один балл выставленный данным юзером другим юзерам в уважение;

        $(this).find('li.pa-fld'+fldnum).after('<li class="pa-fld11"><b>'+fldName+'</b>: 0</li>')

        var ss1=0,ss2=0,ss0=0,i=0,ss=0,s=0;
        if($(this).find(".pa-respect").length){ss2=$(this).find(".pa-respect").text();
        ss2=ss2.replace(/^[\s\S]+?([+-]*\d+)(?:[^\d]*?(-\d*).*)*/gim,'$1,$2').split(',');
        ss2=K_respect*(+ss2[0]+ +ss2[1]);}
        if($(this).find(".pa-positive").length){ss1=$(this).find(".pa-positive").text();
        ss1=ss1.replace(/^[\s\S]+?([+-]*\d+)(?:[^\d]*?(-\d*).*)*/gim,'$1,$2').split(',');
        ss1 = K_positive*(+ss1[0]+ +ss1[1]);}
        if($(this).find(".pa-invites").length){ss=$(this).find(".pa-invites").text(); ss=K_invites*parseInt(ss);}

        if($(this).find(".pa-posts").length)ss0=$(this).find(".pa-posts").text();
        ss0=K_post*parseInt(ss0.replace("Сообщений: ",""));
        if($(this).find(".pa-time-visit").length){var str=$(this).find(".pa-time-visit").text();str=str.replace("Неизвестно","0 минут");
        str=str.replace(" минуты","+");str=str.replace(" минуту","+");str=str.replace(" минут","+");
        str=str.replace(" часа","*60+");str=str.replace(" часов","*60+");str=str.replace(" час","*60+");
        str=str.replace(" день","*24*60+");str=str.replace(" дней","*24*60+");str=str.replace(" дня","*24*60+");
        str=str.replace(" месяцев","*(365/12)*24*60+");str=str.replace(" месяца","*(365/12)*24*60+");
        str=str.replace(" месяц","*(365/12)*24*60+");str=str.replace(/ /g,"");str=str.replace("Провеланафоруме:","");
        str=str.replace("Провелнафоруме:","");str+="0";var i=eval(str);}

        var s=$(this).find("li:not(.pa-fld11):contains('"+fldName+":')").remove().text();
        if(s=='')s=''+0;
        s=s.replace(fldName+": ","");s=parseFloat(s);s=Math.round((i/60)*K+ss0+ss1+ss2+s);
        str=$(this).find(".pa-fld11").html();str=str.replace(/:.*/ig,': '+s);$(this).find(".pa-fld11").html(str);

        ;})
        </script>

Красным - номер доп. поля после которого будут отображаться баллы.

+1

203

Хештэги
Опять ночью делать нечего :3

<script type="text/javascript">
$('.post-content').each(function(){
  var html = $(this).html().replace(/(#[\S]+)/g,'<a href="http://'+location.hostname+'/search.php?action=search&keywords=$1&search_in=message" class="hash" title="$1">$1</a>');
  $(this).html(html).each(function(){
    $('.hash').each(function(){
      var href = $(this).attr('href').replace(/#/, '%23').replace(/@/,'');
      var title = $(this).attr('title').replace(/(#+)/, '');
      $(this).attr('href',href).attr('title',title);
    });
  });
});
</script>

Владельцы аккаунтов в соц. сетях понимают о чем я.
Пример хэштега: #test

Отредактировано Fover (Сб, 24 Май 2014 04:46:42)

+1

204

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

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

Добавил Фастпик и сделал все в виде кнопок

Отредактировано kolobdur74 (Вс, 1 Июн 2014 17:04:14)

+2

205

Тут сделал скрипт, кто онлайн из Администрации, может кому пригодится..

Данный вариант заточен под боковую панель: Вариант Информационного Блока от Duka с облегченным заполнением Информацией. (Deff):

Код
Код:
<!--Кто онлайн из Администрации (вариант под боковую панель)-->
<h2>Команда форума</h2>
<div class="obprov">
<style type="text/css">
.obprov {text-align: center;width: 100%;}
.prov, .prov2, .prov3, .prov4 {font-size:12px;width: 100%;}
.obprov h3 {margin-top:10px;margin-bottom:10px;}
.obprov table td {vertical-align: middle;width: 50%;border:2px solid #000000 !important;padding: 0 !important;}
</style>
<h3>Админы</h2>
<table class="prov"></table>
<table class="prov2"></table>
<h3>Модераторы</h2>
<table class="prov3"></table>
<table class="prov4"></table>
</div>
<style id=script_2 alt=0>/*
<script type="text/javascript">
$(document).ready(function(){
//Администраторы
UserOff(2, "Admin")
UserOff(3, "mdk")
//Модераторы
UserOff2(59, "newnick")
UserOff2(91, "Barfok")
UserOff2(97, "xXx27")
UserOff2(416, "Ojos de Brujo")
      
     function UserOff(IDUser,NIKim){  
     var NIKprov = "/profile.php?id="+IDUser;

	 var tr = $("#onlainuser a[href$='"+NIKprov+"']").text();
	var NIK = ""+NIKim; 
if(tr.length) {
  $(".prov").append("<tr><td><a href='"+NIKprov+"' style='color: red;'>"+NIK+"</a></td><td><img src='http://forumstatic.ru/files/0014/1e/4b/13705.png'></td></tr>"); 
//alert("Элемент есть");
}
else { 

$(".prov2").append("<tr><td><a href='"+NIKprov+"' style='color: red;'>"+NIK+"</a></td><td><img src='http://forumstatic.ru/files/0014/1e/4b/79032.png'></td></tr>");
//alert("Элемента нет");
}
}

     function UserOff2(IDUser2,NIKim2){  
     var NIKprov2 = "/profile.php?id="+IDUser2;

	 var tr2 = $("#onlainuser a[href$='"+NIKprov2+"']").text();
	var NIK2 = ""+NIKim2; 
if(tr2.length) {
  $(".prov3").append("<tr><td><a href='"+NIKprov2+"' style='color: Violet;'>"+NIK2+"</a></td><td><img src='http://forumstatic.ru/files/0014/1e/4b/13705.png'></td></tr>"); 
//alert("Элемент есть");
}
else { 

$(".prov4").append("<tr><td><a href='"+NIKprov2+"' style='color: Violet;'>"+NIK2+"</a></td> <td><img src='http://forumstatic.ru/files/0014/1e/4b/79032.png'></td></tr>");
//alert("Элемента нет");
}
}
});
</script>
*/</style>
<script>
var Id_script='script_2';
if($("style.#"+Id_script).attr("alt")==1){//alert($("style.#"+Id_script).html().replace(/^\/\*([\s\S]*)\*\//img,"$1"));
$("style.#"+Id_script).replaceWith($("style.#"+Id_script).html().replace(/^\/\*([\s\S]*)\*\//img,"$1"))
}else $("style.#"+Id_script).attr("alt","1")
</script>

Этот вариант в любое место:

Код
Код:
<!--Кто онлайн из Администрации (вариант в любое место)-->
<div class="obprov">
<style type="text/css">
.obprov {text-align: center;width: 100%;}
.prov, .prov2, .prov3, .prov4 {font-size:12px;width: 100%;}
.obprov h3 {margin-top:10px;margin-bottom:10px;}
.obprov table td {vertical-align: middle;width: 50%;border:2px solid #000000 !important;padding: 0 !important;}
</style>
<h3>Админы</h2>
<table class="prov"></table>
<table class="prov2"></table>
<h3>Модераторы</h2>
<table class="prov3"></table>
<table class="prov4"></table>
</div>
<script type="text/javascript">
$(document).ready(function(){
//Администраторы
UserOff(2, "kolobdur")
UserOff(6, "webber")
//Модераторы
UserOff2(4, "Deff")
      
     function UserOff(IDUser,NIKim){  
     var NIKprov = "/profile.php?id="+IDUser;

	 var tr = $("#pun-stats ul.container li.item5 div a[href$='"+NIKprov+"']").text();
	var NIK = ""+NIKim; 
if(tr.length) {
  $(".prov").append("<tr><td><a href='"+NIKprov+"' style='color: red;'>"+NIK+"</a></td><td><img src='http://forumstatic.ru/files/0014/1e/4b/13705.png'></td></tr>"); 
//alert("Элемент есть");
}
else { 

$(".prov2").append("<tr><td><a href='"+NIKprov+"' style='color: red;'>"+NIK+"</a></td><td><img src='http://forumstatic.ru/files/0014/1e/4b/79032.png'></td></tr>");
//alert("Элемента нет");
}
}

     function UserOff2(IDUser2,NIKim2){  
     var NIKprov2 = "/profile.php?id="+IDUser2;

	 var tr2 = $("#pun-stats ul.container li.item5 div a[href$='"+NIKprov2+"']").text();
	var NIK2 = ""+NIKim2; 
if(tr2.length) {
  $(".prov3").append("<tr><td><a href='"+NIKprov2+"' style='color: Violet;'>"+NIK2+"</a></td><td><img src='http://forumstatic.ru/files/0014/1e/4b/13705.png'></td></tr>"); 
//alert("Элемент есть");
}
else { 

$(".prov4").append("<tr><td><a href='"+NIKprov2+"' style='color: Violet;'>"+NIK2+"</a></td> <td><img src='http://forumstatic.ru/files/0014/1e/4b/79032.png'></td></tr>");
//alert("Элемента нет");
}
}
});
</script>

Прописывать надо вручную администраторов и модераторов в этом месте кода:

//Администраторы
UserOff(2, "Admin")
UserOff(3, "mdk")
//Модераторы
UserOff2(59, "newnick")
UserOff2(91, "Barfok")
UserOff2(97, "xXx27")
UserOff2(416, "Ojos de Brujo")

Красным (цифры) - это id профиля данного человека, синим его ник.
Оформление находится в этом месте кода:

<style type="text/css">
.obprov {text-align: center;width: 100%;}
.prov, .prov2, .prov3, .prov4 {font-size:12px;width: 100%;}
.obprov h3 {margin-top:10px;margin-bottom:10px;}
.obprov table td {vertical-align: middle;width: 50%;border:2px solid #000000 !important;padding: 0 !important;}
</style>

Картинки онлай/оффлайн находятся:

if(tr.length) {
  $(".prov").append("<tr><td><a href='"+NIKprov+"' style='color: red;'>"+NIK+"</a></td><td><img src='http://forumstatic.ru/files/0014/1e/4b/13705.png'></td></tr>");
//alert("Элемент есть");
}
else {

$(".prov2").append("<tr><td><a href='"+NIKprov+"' style='color: red;'>"+NIK+"</a></td><td><img src='http://forumstatic.ru/files/0014/1e/4b/79032.png'></td></tr>");
//alert("Элемента нет");
}

и

if(tr2.length) {
  $(".prov3").append("<tr><td><a href='"+NIKprov2+"' style='color: Violet;'>"+NIK2+"</a></td><td><img src='http://forumstatic.ru/files/0014/1e/4b/13705.png'></td></tr>");
//alert("Элемент есть");
}
else {

$(".prov4").append("<tr><td><a href='"+NIKprov2+"' style='color: Violet;'>"+NIK2+"</a></td> <td><img src='http://forumstatic.ru/files/0014/1e/4b/79032.png'></td></tr>");
//alert("Элемента нет");
}

Красным картинка онлайн, синим оффлайн..
Примеры: http://infosliv.ru/ и http://testmods.mybb.ru/

Как пример оформления:
http://sd.uploads.ru/BbKEo.gif

Отредактировано kolobdur74 (Сб, 21 Июн 2014 13:51:45)

+4

206

Тут на просторах инета нашел интересный скрипт: Всплывающие модальные окна при выходе, то есть при попытке закрыть страницу выползает окошко с текстом. Вот вариант (ставить НТМЛ верх):

Код:
<link type='text/css' href='http://forumstatic.ru/files/0014/1e/4b/64636.css' rel='stylesheet' media='screen' />  
<script type="text/javascript" src="http://forumstatic.ru/files/0014/1e/4b/62022.js"></script>
<script type="text/javascript" src="http://forumstatic.ru/files/0014/1e/4b/93564.js"></script>
<div style="display: none; padding: 10px;" id="exit_content">  
<h1>Прощай, о, дорогой посетитель!!</h1><h3>Спасибо, что уделил этому сайту свое внимание</h3><br>  
Прощай, но обещай вернуться!!!  
</div>

В этом блоке:

<div style="display: none; padding: 10px;" id="exit_content"> 
<h1>Прощай, о, дорогой посетитель!!</h1><h3>Спасибо, что уделил этому сайту свое внимание</h3><br> 
Прощай, но обещай вернуться!!!
 
</div>

Ставим свое содержание..
Оригинал скрипта: http://ruseller.com/lessons.php?rub=32&id=195

+1

207

Сделал вот такой простенький вариант Подфорумов при наведении (использовал css Деффа):

Код
Код:
<!-- Подфорумы при наведении  -->
<style>
.Toggl {
  padding:18px;
  margin-left:40px;
  margin-top:0;
  z-index:12;
  display:none;
  position:absolute;
  background-color:#fff;

    border-radius:15px;
    -webkit-border-radius:15px;
    -khtml-border-radius:15px;
    -moz-border-radius:15px;
    -o-border-radius:15px;

    box-shadow: 0px 5px 18px #000;
    -webkit-box-shadow:0px 5px 18px #000;
    -khtml-box-shadow:0px 5px 18px #000;
    -moz-box-shadow:0px 5px 18px #000;
}

.category td.tcl:hover .tclcon .Toggl{
  display:block;
width:600px;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
ForOff1(23, "Платформы")
ForOff1(2, "Видеокарты")
ForOff1(24, "Мониторы")

ForOff2(3, "Windows и системное ПО")
ForOff2(26, "Альтернативное ПО")
ForOff2(37, "Ноутбуки, нетбуки, планшеты и другие девайсы")
      
function ForOff1(IDFor,ForNazv){  
var Nazv_Vstav = "forum_f"+IDFor;	 
var Vstav = $("#"+Nazv_Vstav+"").html(); 
if(Vstav.length) {$("#"+Nazv_Vstav+"").detach().appendTo("#No-vstavka_1");}
}

function ForOff2(IDFor,ForNazv){  
var Nazv_Vstav = "forum_f"+IDFor;	 
var Vstav = $("#"+Nazv_Vstav+"").html(); 
if(Vstav.length) {$("#"+Nazv_Vstav+"").detach().appendTo("#No-vstavka_2");}
}
});
</script>

Объяснения:
Ищем в коде:

ForOff1(23, "Платформы")
ForOff1(2, "Видеокарты")
ForOff1(24, "Мониторы")

ForOff2(3, "Windows и системное ПО")
ForOff2(26, "Альтернативное ПО")
ForOff2(37, "Ноутбуки, нетбуки, планшеты и другие девайсы")

ForOff1 и ForOff2 - это номера ваших подфорумов по порядку.
Красным обозначен id вашего форума, то бишь вот это: http://digitalferrum.bbmy.ru/viewforum.php?id=23
Синим - название вашего форума, который вкладываем в подфорумы.

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

ForOff1(24, "Мониторы")

Для каждого подфорума так же размножаем вот этот код:

function ForOff1(IDFor,ForNazv){ 
var Nazv_Vstav = "forum_f"+IDFor;
var Vstav = $("#"+Nazv_Vstav+"").html();
if(Vstav.length) {$("#"+Nazv_Vstav+"").detach().appendTo("#No-vstavka_1");}
}

И тоже с порядковыми номерами: ForOff1, ForOff2, ForOff3...ForOff..N
Аналогично для: #No-vstavka_1: #No-vstavka_1, #No-vstavka_2, #No-vstavka_3, #No-vstavka_N

Далее идем в Администрирование - Форумы, и в описание форума, которого мы хотим вставить подфорумы, ставим вот такой код:

<br><b>Подфорумы с наведением</b>
<table id="No-vstavka_1" class="Toggl"></table>

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

<b>Подфорумы с наведением</b>

Можно ставить свою или картинку, это просто обозначение, что здесь есть подфорумы..
Пример: http://digitalferrum.bbmy.ru/

Отредактировано kolobdur74 (Пн, 23 Июн 2014 12:51:43)

+1

208

Сделал вот такой ротатор баннеров с плавной прокруткой баннеров:
http://sf.uploads.ru/OZ1eM.gif
http://se.uploads.ru/1UmgO.gif
Файл стиля подключаем в НТМЛ верх:

Код:
<!-- Стиль Ротатора Банеров  -->
<link rel="stylesheet" type="text/css" href="http://forumstatic.ru/files/0013/de/77/33704.css">
<!-- END. Стиль Ротатора Банеров  -->

Этот код ставим в НТМЛ низ:

Код:
<!-- Ротатор Банеров  -->
<!-- Верхняя реклама  -->
<div id="Mybanners" style="display: none">
<ul>
<li class="show"><a href="Ссылка перехода по клику" target="_blank" ><img src="Ссылка на картинку банера"></a></li>
<li><a href="Ссылка перехода по клику" target="_blank" ><img src="Ссылка на картинку банера"></a></li>
<li><a href="Ссылка перехода по клику" target="_blank" ><span style="color: #333333;text-shadow: #333333 1px 1px 10px;font: normal small-caps 24px/28px fantasy;letter-spacing:1px;">Вы еще не заказали рекламу?</span></a></li>
<li><a href="Ссылка перехода по клику" target="_blank" ><span style="color: #333333;text-shadow: #333333 1px 1px 10px;font: normal small-caps 24px/28px fantasy;letter-spacing:1px;">Мы ждем вас на форуме!</span></a></li>
<li><a href="Ссылка перехода по клику" target="_blank" ><span style="color: #333333;text-shadow: #333333 1px 1px 10px;font: normal small-caps 24px/28px fantasy;letter-spacing:1px;">Здесь может быть ваша реклама</span></a></li>
<li><a href="Ссылка перехода по клику" target="_blank" ><img src="Ссылка на картинку банера"></a></li>
</ul>
</div>
<!-- END. Верхняя реклама  -->

<!-- Нижняя реклама  -->
<div id="Mybanners2" style="display: none">
<ul>
<li class="show2"><a href="Ссылка перехода по клику" target="_blank" ><img src="Ссылка на картинку банера"></a></li>
<li><a href="Ссылка перехода по клику" target="_blank" ><span style="color: #333333;text-shadow: #333333 1px 1px 10px;font: normal small-caps 24px/28px fantasy;letter-spacing:1px;">У нас вы найдете Софт для заработка</span></a></li>
<li><a href="Ссылка перехода по клику" target="_blank" ><span style="color: #333333;text-shadow: #333333 1px 1px 10px;font: normal small-caps 24px/28px fantasy;letter-spacing:1px;">Приглашаем вас на форум!</span></a></li>
<li><a href="Ссылка перехода по клику" target="_blank" ><span style="color: #333333;text-shadow: #333333 1px 1px 10px;font: normal small-caps 24px/28px fantasy;letter-spacing:1px;">Ваша реклама</span></a></li>
<li><a href="Ссылка перехода по клику" target="_blank" ><img src="Ссылка на картинку банера"></a></li>
</ul>
</div>
<script type="text/javascript" src="http://forumstatic.ru/files/0013/de/77/50529.js"></script>
<!--//End Ротатор Банеров  -->

Файл скрипта из кода пересохраняем к себе на форум:

<script type="text/javascript" src="http://forumstatic.ru/files/0013/de/77/50529.js"></script>

Что можно в нем редактировать:

$('#pun-crumbs1 p.container')

Это селектор куда вставляем блок верхней рекламы

$('#html-footer .container')

Это селектор для нижнего блока рекламы.

setInterval('rotate()',15000);

Это интервал смены картинок (15000 = 15 секунд).
Ротатор желательно ставить повыше в НТМЛ низ..

Отредактировано kolobdur74 (Вс, 13 Июл 2014 18:44:14)

+3

209

перестал работать скрипт комментарий в оценки поста не отправляет комент и не оценивает

вот скрипт

<script type="text/javascript" src="http://forum-people.ru//files/0000/0a/f2/93660.js"></script>

От Deff:
Да, знаем, связано в связи с изменением поиска по форуму, теперь поиск не ищет строки со спецсимволами, на чём был и основан поиск коментария к конкретному посту

0

210

Может кому надо обновление форума раз в 30 минут

Код:
<body onload="window.setTimeout(function() {top.location.reload(); return true;}, 1800000)">

хтмл низ

0

211

Индикатор загрузки страницы.
Вверху ползёт красная линия.
Мож кому пригодится)))

В HTML верх

<!--индикатор загрузки -->
<script>
$(function() {
$("body").append($("<div></div>").attr("id", "progress"));
$("#progress").width((30 + Math.random() * 30) + "%");
});
$(window).load(function() {
$("#progress").width("101%").delay(300).fadeOut(400);
});
</script>
<style>
#progress {
position:fixed;
z-index:100;
top:0;
left:0;
width:1%;
height:4px;
background:red;
border-radius:1px;
transition:width 500ms ease-out,opacity 400ms linear;
}
</style>

Временно увидеть демо можно ЗДЕСЬ

0

212

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

Ставить в HTML-низ:

Код:
<!-- Рестор ссылки "НОВЫЕ СООБЩЕНИЯ" --><script type="text/javascript">
if(GroupID != 3) { $('#pun-ulinks .container').prepend('<li class="item1"><a href="/search.php?action=show_new">Новые сообщения</a></li>'); }
</script>

Отредактировано RUSSIAN_GOBLIN (Пн, 15 Сен 2014 22:41:40)

+5

213

Перерепечатка(с моими правками) с Русфф: от Duka: http://support.rusff.me/viewtopic.php?pid=61857#p61857

Всплывающий текст последнего сообщения тема при наведении курсора
(на Главной, в каталоге форумов, в Активных темах)

http://sd.uploads.ru/AgeHD.png
http://sd.uploads.ru/zvtNT.png

Все в самый низ HTML-низ
Разметка

Код:
<div id="modal-m" class="m-message" style="top: 740px; display: none;left:50%;">
	<div class="main-container">
    <span class="name-author"><strong></strong> написал(а):</span>
    <span class="p-messages"></span>
	</div>
</div>

Стиль

Код:
<style type="text/css">
#modal-m {width: 250px; height: 155px; background: #eee; box-shadow: 0 0 8px #777; opacity: 0.9; position: absolute; border-left: 10px solid #80c3f4; padding: 10px;margin: 30px auto 0 160px;}
#modal-m span {display: block; font-family: verdana;}
.name-author {width: 100%; height: 14px; margin-bottom: 15px; color: #05a1f0;}
.p-messages {height: 120px; color: #555; max-height: 120px; overflow: hidden; margin-bottom: 10px;}
.p-messages img {max-height: 60px;}</style>

Скрипт

Код:
<script type="text/javascript">
(function($){
    $(function(){
        var $punMain = $('#pun-main')
            ,$modal = $('#modal-m')
            ,postsCache = {};
        
        if (!$punMain.length) return;

        var popupContent = function(topicId) {
            if (typeof topicId == 'undefined') return;
            if (typeof postsCache[topicId] == 'undefined') return;

            var userName = postsCache[topicId]['author'].replace(/mybb@mybb.ru \((.*)\)/, "$1");
            var postContent = postsCache[topicId]['title'];

            $modal.find('.name-author strong:first').html(userName);
            $modal.find('.p-messages').html(postContent);
        };
        
        $('.category .tcr a, .forum .tcr a').hover(function(){
            var link = $(this).attr('href');
            if(document.URL.indexOf('/search.php?action=show_recent')!=-1||document.URL.indexOf('/search.php?action=show_new')!=-1)link = $(this).parents('tr:first').find('.tcl a:first').attr('href');
            var topicId = /\?id=(\d+)/.exec(link)[1];

            $modal.css('top', $(this).offset().top+25).show();
            $modal.find('.p-messages').html('<img src="http://q2.qsdb.ru/ajax-loader.gif" alt="Загружаю" />');

            if (typeof postsCache[topicId] == 'undefined') {
                $.get('/export.php', {type: 'rss', tid: topicId}, function(data){
                    if (data) {
                        postsCache[topicId] = {
                            title:  $(data).find('channel').find('item:first').find('description').text(),
                            author: $(data).find('channel').find('item:first').find('author').text()
                        };
                        popupContent(topicId);
                    }
                });
            } else popupContent(topicId);
        }, function(){
            $modal.hide();
        });
    });
})(jQuery);
</script>

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

PS: Cкорректировать местоположения всплывающей подсказки можно добавкой в приведенный стиль css margin к селектору модального окна

#modal-m {
margin-left:XXpx;/*при резиновых форума в % вместо px*/
margin-top:XXpx;
}

Поправил

Отредактировано Deff (Пт, 10 Окт 2014 11:34:39)

+4

214

Плавающий скрипт диалогов как Вконтакте [v.2] (C3La-NS)

ДЕМО http://i.imgur.com/zgLRG7X.png

Предыдущий скрипт чата в перетаскиваемом окошке стал довольно популярен, но имел ряд критических багов.
Два дня назад мне написал человек, испытавший некоторые трудности и проблемы при установке. Для него был написан полностью новый скрипт, которым я хочу сегодня поделиться с общественностью.
Список изменений:
1. Drag & drop работает нормально.
2. Добавлен прелоадер (индикатор, отображающийся до загрузки чата)
3. Убрано мигание чата при перетягивании контейнера с места на место.
4. Чат запоминает свое местоположение!

http://i.imgur.com/FSsg0Uz.png?1


Установка:
Чат работает под управлением сервиса cbox.ws. если у вас нет аккаунта - регистрируемся.


 

Код Скрипта!

<script>var chat_Link="http://www4.cbox.ws/box/?boxid=4160257"</script>

<style type="text/css">
#draggable{position:fixed;height:410px;width:200px;bottom:5%;left:5%;border:none;background:url(http://savepic.org/6202921.gif) rgba(0,0,0,0.75) center center no-repeat;color:#A0A0A0;padding:10px;border-radius:5px;z-index:9999;overflow:auto;cursor:move;}</style>

<div style="position:absloute; max-width:100%; max-height:100%; overflow:hidden"><div id="draggable" class="ui-widget ui-corner-all ui-state-error">
<div class="lileft" style="float: left">Онлайн чат</div><div class="liright" style="float: right; text-align: right;"><a href="#" onclick="$(this).parents('#draggable').fadeOut(150);return false;"><img src="http://s4.uploads.ru/DnUNX.png"></a></div>
<div id="cboxdiv" style="width: 100%; height: 380px;"></div>
</div></div>

<script>
function txt () {/*===1234===

<script type="text/javascript">
var cbvis = false;
var cbload = false;
function togglecbox () {
var cbdiv = document.getElementById("cboxdiv");
if (!cbvis) {
    if (!cbload) {
    cbdiv.innerHTML = '// Ваш_уникальный_код_сюда //';
    cbload = true;
    }
    cbdiv.style.display = "block";
}
else {
    cbdiv.style.display = "none";
}
cbvis = !cbvis;
}
</script>
<script>togglecbox();</script>

<script type="text/javascript" charset="utf-8">
  SET_DHTML("move");
</script>
===1234===*/}
var txt = txt.toString().split('===1234===')[1].replace(/*{6}/gim,chat_Link).replace(/</scr/gim,'</scr')
$(document).ready(function(){$("#pun").prepend(txt);});
</script>

<script src="//ajax.aspnetcdn.com/ajax/jquery.ui/1.10.3/jquery-ui.min.js"></script>

<script type="text/javascript">
$(function() {
$('#draggable').draggable();});
</script>

<script type="text/javascript">
$('#draggable').bind('mousedown mouseup', function(e){
  var style = $(this).attr('style');
  localStorage.setItem('draggable', style);
});
$('#draggable').attr('style', localStorage.getItem('draggable'));
</script>

Ставим на форум. Либо в HTML-верх, либо в HTML-низ! Но пока не сохраняем!

 


Далее переходим по ссылке: Code Generator. Ищем шаг 2 - (Step 2: Choose a variation) и изменяем значение с inline (default) на Deferred load!

Вы получите приблизительно такой код:

Смотри!

<div id="cboxdiv" style="width: 200px; height: 380px;"></div>

<script type="text/javascript">
var cbvis = false;
var cbload = false;

function togglecbox () {
var cbdiv = document.getElementById("cboxdiv");

if (!cbvis) {
    if (!cbload) {
    cbdiv.innerHTML = '<iframe frameborder="0" width="200" height="305" src="http://www3.cbox.ws/box/?boxid=3414201&amp;boxtag=m4eha3&amp;sec=main" marginheight="2" marginwidth="2" scrolling="auto" allowtransparency="yes" name="cboxmain3-3414201" style="border:#ababab 1px solid;border-bottom:0px" id="cboxmain3-3414201"></iframe><iframe frameborder="0" width="200" height="75" src="http://www3.cbox.ws/box/?boxid=3414201&amp;boxtag=m4eha3&amp;sec=form" marginheight="2" marginwidth="2" scrolling="no" allowtransparency="yes" name="cboxform3-3414201" style="border:#ababab 1px solid;border-top:0px" id="cboxform3-3414201"></iframe>';
    cbload = true;
    }
    cbdiv.style.display = "block";
}
else {
    cbdiv.style.display = "none";
}
cbvis = !cbvis;
}
</script>

<!-- move the next line to the bottom of your <body> to defer the loading of your Cbox -->
<script>togglecbox();</script>

Найдите у себя похожую часть и замените вместо подсказки - // Ваш_уникальный_код_сюда //
в скрипте на форуме.

А так же в скрипте на форуме находим самую верхнюю строчку

<script>var chat_Link="http://www4.cbox.ws/box/?boxid=4160257"</script>

Ссылку меняем на свой идентификатор. Узнать свой идентификатор можно например из кода:

Развернуть

<iframe frameborder="0" width="200" height="305" src="http://www3.cbox.ws/box/?boxid=3414201&amp;boxtag=m4eha3&amp;sec=main" marginheight="2" marginwidth="2" scrolling="auto" allowtransparency="yes" name="cboxmain3-3414201" style="border:#ababab 1px solid;border-bottom:0px" id="cboxmain3-3414201"></iframe><iframe frameborder="0" width="200" height="75" src="http://www3.cbox.ws/box/?boxid=3414201&amp;boxtag=m4eha3&amp;sec=form" marginheight="2" marginwidth="2" scrolling="no" allowtransparency="yes" name="cboxform3-3414201" style="border:#ababab 1px solid;border-top:0px" id="cboxform3-3414201"></iframe>

Где выделенное синим и есть Ваш уникальный идентификатор.

Отредактировано C3La-NS (Чт, 16 Окт 2014 19:01:34)

+2

215

Отредактировано Deff (Чт, 30 Окт 2014 00:51:36)

0

216

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

Можно ли сделать так, чтобы имя модератора раздела было видно не только на главной странице форума, но и внутри самого раздела

Установка списка модераторов раздела на текущей страницы топика
http://sa.uploads.ru/peYKW.jpg
(Скриншот - кликабелен)

В HTML низ

<script type="text/javascript">
if(window.localStorage){
if($('#pun-index').length){
var forumsArray=[];
var modsArray=[];
$('#pun-index tr[id^="forum_f"]').find('h3>a:first').each(function(i) {

   var F = $(this).attr('href').split('id=')[1];
   forumsArray.push(F);
   var mods = $(this).parents('.tclcon').find('.modlist').html();
   mods = ((mods!=null)?mods:'<!--noindex-->');
   modsArray.push(mods);

});
localStorage.setItem('forumsArray',forumsArray.join(','));
localStorage.setItem('modsArray',modsArray.join(','));
}
if($('#pun-viewtopic,#pun-viewforum').length){
var forumsArray = localStorage.getItem('forumsArray').split(',');
var modsArray   = localStorage.getItem('modsArray').split(',<!--noindex-->');
var F =  ($('#pun-viewtopic').length ? $('head > link[rel="up"]').attr('href') : document.URL).split('id=')[1];
var i = $.inArray( F,forumsArray);
if(i!=-1){
$('#pun-crumbs1').after('<div style="float:right;margin:-19px 27px 0 0"><b>'+
(modsArray[i].replace("(","[").replace(")<!--/noindex-->"," ]"))+'</b></div>')
}
}}
</script>

Красным  - текущий стиль установки, можно поменять

+2

217

Поскольку эти ники портят многие скрипты и АPI последних сообщений форума       
(Скрипт: 10-15 последних сообщений форума)                                                       
(Одинарные - губят первый  скрипт в хидере установочных параметров от сервиса,
Пример: => var UserLogin = ' 'elf ';                                                                       

Запрещаем ники с двойными и одинарыми кавычками

Устарело, Новая актуальная версия от Alex_63 => Проверка ника пользователя V.2

В HTML верх
<!-- Исключаем двойные и одинарые кавычки из Ника Юзера при регистрации и смене Ника -->
<script type="text/javascript" src="http://forumstatic.ru/files/0013/66/53/73440.js"></script>

+2

218

Удовлетворил просьбы фиксировать созданные темы,
(Было пожелание учета бонусов по созданным темам, не сообщениям)

Счетчик тем, создаваемых юзером
http://sa.uploads.ru/gnPv7.jpg
(Кликабельно)

Установка

1. Создаём в Администрировании - Поля профиля - Новое поле, с точным названием: Создано тем - Cкриншот настроек этого поля: http://sa.uploads.ru/3CHkQ.jpg
2. Перемещаем его над полем сообщения (за крестик) http://sa.uploads.ru/CyKHt.jpg

3. В самый верх, HTML верх устанавливаем скрипт:

<!-- Счетчик тем, созданных юзером -->
<noscript><link rel="stylesheet" type="text/css" href="http://forumstatic.ru/files/0013/66/53/39517.css" /></noscript>
<script type="text/javascript" src="http://forumstatic.ru/files/0013/66/53/67954.js"></script>

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

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


+2

219

Как убрать некоторые Названия в Доп. полях профиля в Топике
(исправлен глюк при расположении текста поля под названием)

В HTML низ:

Код:
<script type="text/javascript">
var F = [1,2,3,4,5];
for(i in F) {$('.post-author li.pa-fld'+F[i]).each(function(){$(this).html($(this).html().replace(/(.*?):(?: |<br>)/,''));});}
</script>

1,2,3,4,5 - номера дополнительных полей, название которых требуется скрыть через запятую.

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

В HTML низ:

<!-- Узнать номер дополнительного поля под аватаром -->
<script>$(".post-author li").hover(function(){$(this).attr("title",$(this).attr("class").split("fld")[1]);});</script>

Номер дополнительного поля будет отражаться при наведении курсором на него

Как узнать номер дополнительного поля под аватаром?
(Вариант #2)

В HTML низ:

<!-- Узнать номер дополнительного поля под аватаром -->
<script>$(".post-author li").click(function(){alert($(this).attr("class").split("fld")[1]);});</script>

Номер дополнительного поля будет отражаться при клике курсором на него

0

220

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

Извините, что-то нигде не нахожу, а надо:
скрипт для сворачивания спойлера обратно
(чтобы в самом низу свернутого текста была ссылка "свернуть" )
А то иногда народ дли-и-инные тексты в спойлеры кладет.

Ccылка сворачивания в конце контента спойлера для длинных текстов

В HTML низ:

<!-- Свернуть спойлер -->
<script type="text/javascript">
function clickSP(i) {setTimeout("$('#spoiler"+i+"').click()",100);}
$('.quote-box.spoiler-box > div').each(function(i) {
    $(this).attr('id','spoiler'+i).append('<a name="220_'+i+'" style="position:absolute;margin-top:-200px"></a>');
    $(this).next('blockquote').append('<a href="#220_'+i+'" onclick="clickSP('+i+')" style="float:right">Свернуть спойлер</a>');
});
</script>

DEMO

http://sa.uploads.ru/tRwjP.jpg

Поправлено возвращение   страницы в исходное состояни до клика на открытие спойлера при сворачивании по клику нашей добавленной ссылки( Актуально при длинных текстах в спойлере).

Спасибо за тестирование скрипта: Домовому

+3


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