ForumD.ru - Дизайн, графика, скрипты, техническая поддержка для форумов и сайтов

Объявление

GEMcross

Кроссовер, ориентированный на активную игру и уютный флуд.
Собираем у себя драгоценных игроков уже почти три года.

Посетить

💰 Теперь у нас можно приобрести "Мгновенные уведомления от Алекса"

Скрипт оповещает пользователей о событиях на форуме в реальном времени, придавая динамики общению.
Автор: Alex_63 | Платформа: MyBB.ru.

У нас: структурированная документация, возможность платить иностранными картами, перевыпустить подписку или купить бессрочно.

Купить скрипт

🔥 Новинка в портфолио: ДИЗАЙН ФОРУМА В СТИЛЕ ФЭНТЭЗИ С ПРОЗРАЧНОСТЬЮ

Платформа: MyBB.ru (RusFF)
Стоимость: 8000 рублей;
Авторы: Moju & Gerda

Посмотреть

🌟 ОПЛАТА ЗАКАЗА НАГРАДНЫМИ БАЛЛАМИ И СКИДКИ

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

узнать подробности

📣 Наш проект: Ролевой поисковик

Поиск роли на текстовых ролевых
Проект от специалистов FD

Спойлеры и обсуждение

❤️ Поддержать проект

Если у вас есть желание помочь нам сделать наш проект лучше:
Реклама на сайтеПредложения
Стать модераторомОтзывы

Подробнее

SPECIAL OFFER: We distribute designs for free

Finalizing the layout for your project;
Developing a style code;
Mobile version included if you wish.

Details

Support the project

If you want to help us:
Become a moderator
SuggestionsReviews

Details
❗ ❗ ❗ Technical work is underway. We'll fix it soon. :) If you're english-speaker and want to use our forum, switch to the russian language. This is temporary, until the works with multi-language option will be done. Sorry for the inconvenience.

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

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



Добавление скриптов и css трюков для MYBB

Сообщений 41 страница 50 из 148

1

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

+1

41

Скрытое присутствие пользователя на форуме


автор - Deff
Ставим или в самый низ HTML верх или в самый верх HTML низ, обязательно чтобы он был выше скрипта последние 10/20 сообщений (иначе кол-во ников может меняется прямо на глазах у изумлённого юзера)
Если Мы хотим, чтобы скрипт работал корректно совместно со скриптами Картинки Оффлайн - Онлайн и скриптом скрытия - развертывания Инфы под Аватаром, скрипт должен стоять Выше этих скриптов.

Код:
<script type="text/javascript"><!-- Cкрипт Скрытия Присутствия -->
  $(document).ready(function(){
        UserOff(1,"Сегодня 15:15:04",14444, "rps")
        UserOff(1,"Сегодня 14:03:27",22787, "Deff")
       
     function UserOff(off,last_visit,IDUser,NIK){
        if(off!==0) {
        var t9="Последний визит:<br/>"
        var p =",",p2='<span class=pt>,</span>'
        var s;
        var ss0=0;
        var ss000;

     var NIKprov = "/profile.php?id="+IDUser;

function removeNicKandZpt(selekt){
var Changes=false;
	selekt.html(selekt.html().substring(0).replace(/,/img,p2));
	selekt.find("a[href$='"+NIKprov+"']").each(function(){Changes=true;
        $(this).next('span.pt').remove();$(this).remove();
        }); return Changes;
}
// Проверяем на Главной
	selekt=$("#pun-index #onlinelist>div a[title$='кто чем занимается на форуме.']").parent()
        ss0=selekt.html()
        if (ss0!==null){//Ищем и убираем Ник и запятушку
 	if(removeNicKandZpt(selekt)){
        ss0=selekt.find("strong:eq(1)").html();//alert(ss0)
        s=ss0-1; // Уменьшаем кол-во пользователей

        selekt.find("strong:eq(1)").html(s)
}} // конец проверки на Главной

//Проверка в Топике
        var ss = "Тему просматривают"
        selekt=$("#pun-viewtopic div.modmenu p.container:contains('"+ss+"')")
        ss0=selekt.html();

        if (ss0!==null){ //Ищем и убираем Ник и запятушку
 	if(removeNicKandZpt(selekt)){ss000=selekt.html();
	for(var i=0;i<ss000.length;i++){
        if (ss000.substring(0,i).indexOf("Пользователей: ")!=-1){ //Ищем на стр. кол-во Пользователей
        var j=i;
        break;}}

        for(var i=j;i<ss000.length;i++){
        if (ss000.substring(j,i).indexOf(")")!=-1){
	var y=i;
        break;}}
        
        s=ss000.substring(j,y-1)-1
	ss000=ss000.substring(0,j)+s+ss000.substring(y-1)
        ss0=selekt.html(ss000); //Вставили измененую строку юзеров внизу Tопика

}}; // конец проверки строки присутствия в топике

//проверки активности Аватара в топике
        ss0=$("#pun-viewtopic li.pl-email a[href$='"+NIKprov+"'],#pun-messages li.pa-author a[href$='"+NIKprov+"']").parents("div.container").find("div.post-author.online ul").html()
        if (ss0!==null){

        $("li.pl-email a[href$='"+NIKprov+"'],#pun-messages li.pa-author a[href$='"+NIKprov+"']").parents("div.container").find("div.post-author.online ul").each(function(i){
        $(this).find("li.pa-online").addClass("pa-last-visit").removeClass("pa-online").html(t9+last_visit)
	$(this).parent("div.post-author.online").removeClass("online")
   });
}// конец -проверки активности Аввы в топике

// Проверка и cкрытие при просмотре: ссылки(с главной) "Активны"
        ss0=$("#pun-online td.tcl a[href$='"+NIKprov+"']").parent("td.tcl").parent("tr").hide()
       }
    }
});
</script><!-- End//Cкрытие Присутствия -->

Пояснения:
Для работы скрипта необходимо заполнить строку-функцию для конкретного юзера и вставить в скрипт

Пример:

UserOff(1,"Сегодня 14:03:27",22787, "Deff")

Первая цифра синим - скрытие включено или выключено: 1 - включено, 0 - выключено
Красным - якобы дата-время последнего присутствия (думалось, в принципе,  сделать список-массив из 20-30 значений рандомно перебирать его в зависимости от текущего  дня месяца -  пока оставил так, вручную)
Зеленым -id юзера (можно подсмотреть при клике на профиль в Адресном окне браузера: это цифра, идущая после id=, например: ForumD.ru/profile.php?id=2)
И последнее - Ник пользователя

Строку подобную этой

UserOff(1,"Сегодня 15:15:04",14444, "rps")

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

Думаю, что для постоянного надзора имеет смысл заходить с отдельного Аккаунта (редко используемого/неиспользуемого для написания сообщений) и с другого браузера, дабы можно немедленно было ввести в действие стандартно используемый Админ/Модер аккаунт по мере необходимости ситуации...
При такой системе использования, правка скрипта (для установки параметров: включение/выключения и времени последнего присутствия) нужна редко, только когда Вы всё же пожелаете проводить скрыто проводить Администрирование/Модерирование.
[edit]опубликовано[/edit]

Отредактировано Герда (22.11.12 12:09)

+1

42

Смайлик на Аватарке


автор - Deff
демо - http://hostjs-mybb2011.narod.ru/SmiliesInAvatar.htm
В HTML низ

<script><!--Смайлы в Аватар, рандомно -->
      $(document).ready(function(){

    GifArray=new Array(
    "http://s20.rimg.info/8443cdb5bff8a84dd02ee2fb8e636f8b.gif", //Ссылки на Смайлы в Аватар
    "http://s19.rimg.info/7e73174812d52d3ed6053012326e0f3b.gif",
    "http://s19.rimg.info/350a5ee2ea706dc69ea8bba5809efa65.gif",
    "http://s19.rimg.info/bc1cdca7532322b2d712a182cdf10353.gif"   //End myarray_!!Последняя ссылка без Запятой!!!
    )
       var imgURL;var i;var x;var y;
       var ss0="<img class=\"dopimg\" src=\"",ss1="\" alt=\"Доп.Img\" style=\"/*display:block;*/margin-left:-35px;\"/>";
         $("div.post-author ul li.pa-avatar img[alt]").each(function () {
          $(this).wrap("<div class=avva></div>")

          x = this.offsetWidth;
          //$(this).parent().css('width',x)
          //y = this.offsetHeight;
          inb = $(this).parent().get(0).tagName;
          i=GifArray[Math.round(Math.random()*(GifArray.length-1))];
          $(this).after(ss0+i+ss1);
    ;});
    });
    </script><!--Конец//Смайлы в Аватар->

Красным - подвижка влево
[edit]опубликовано[/edit]

Отредактировано Герда (22.11.12 12:09)

+1

43

Тема со скрытым от всех контентом и с возможностью написания сообщений


автор - Deff
кроме Глав.админа, всем доступна только запись в тему, без возможности прочитать сообщения
Например, из этого можно сделать "ЖАЛОБЫ И ПРЕТЕНЗИИ К АДМИНИСТРАЦИИ"
еще пример - "ТЕМА ДЛЯ ЗАКРЫТОГО ГОЛОСОВАНИЯ НЕ ПО КНОПКЕ" (например, совместно с гостями) с последующим обнародованием (или без него) снятием скрипта, или по кнопке "Голосование", но с высказываниями, скрытыми до поры
В  HTML верх

Код:
    <!--Тема со скрытым от всех контентом, с возможностью написания сообщений--><style id="offtopic2" type="text/css">.post,.pagelink a{display:none}</style>
    <script type="text/javascript">var s=document.URL;if(GroupID==3){UserID= -1};

    var id_topic=[color=red][b]433[/b][/color];     
    if((UserID==2)||(s.indexOf("viewtopic.php?id="+id_topic)==-1)&&(s.indexOf("edit.php?id="+id_topic)==-1)&&(s.indexOf("post.php?tid="+id_topic)==-1)&&(s.indexOf("search.php?search_id")==-1)){$("style.#offtopic2").replaceWith("");}
    </script><!--Конец скрытия Темы-->

Красным - id ТЕМЫ
число после "id=" при клике на Тему  в адресном окне браузера
например: ForumD.ru/viewtopic.php?id=2000

минус скрипта
На время установки скрипта, все пользователи не смогут смотреть по ссылке "Все сообщения" сообщения друг у друга в профиле, независимо, писали они в данной теме или нет
[edit]опубликовано[/edit]

Отредактировано Герда (22.11.12 12:10)

+1

44

Визуальное оформление таблиц в постах

автор - Romych

многим и мне в том числе не очень нравится как выглядят таблицы в постах - уныло и однообразно
предлагаю их визуально оформлять, например так:
http://s44.radikal.ru/i104/1101/fa/c68f590c6d46.png

в html-низ:

Код:
<!--Оформление таблицы © Romych-->
<script language="javascript">
$(document).ready(function() {
$('div.post-content table').addClass('striped');
$('table.striped tr:nth-child(even)').addClass('even');
$('table.striped tr:nth-child(odd)').addClass('odd');
$('table.striped tr:first-child').addClass('first');
 });
</script>

принцип работы прост, мы присваиваем строкам таблицы классы:
even (чётный) и odd (нечётный)
наличие которых нам даёт возможность через css манипулировать оформлением таблицы
и ещё один класс first - это класс заголовка таблицы

вот пример оформления в css
вставлять естественно в html-верх:

Код:
<style>
.post-content td {background:white;} /* общий фон таблицы, в данном варианте белый */
table.striped tbody tr.first td {background:#1E90FF;text-align: center;} /* фон заголовка таблицы */
tr.even td{background:#B0E2FF;} /* фон чётных ячеек итаблицы */
table.striped tbody tr:hover td{background:#FFFAF0;} /* фон строк таблицы при наведении курсора */
tr.even td:nth-child(2n+2) {background:#bbbbff;} /* фон чётных ячеек второго столбца */
tr.odd td:nth-child(2n+2) {background:#B0E2FF;} /* фон нечётных ячеек второго столбца */
</style>

[edit]опубликовано[/edit]

Отредактировано Герда (22.11.12 12:10)

+1

45

Защита форума от отключения java-script пользователем во время пребывания

автор - Deff

Зачем это нужно?
Да многие элементы дизайна и приватного пребывания в форумах/разделах/темах основаны на применении ява-скриптов-
Если Вы желаете в неизменности сохранить лицо дизайна форума и избежать взлома приватности (если конечно она у Вас установлена скриптами, например: скрипт установки пароля на раздел от Dukа, или "Допуск к темам, форумам, категориям строго по списку", различные скрытия от гостя и т.п.), возможно имеет смысл применить данный скрипт.

Ставим в HTML верх, в самый верх

Код:
<div id="pircs"><!----><link rel="stylesheet" type="text/css" href="http://hostjs-mybb2011.narod.ru/css/pun-main.css" /><div id="msg-n">У Вас 
отключён javascript.<br>В данном режиме, отображение ресурса<br/>браузером не поддерживается <br/></div></div><script>$("style.#style_st,div.#pircs").replaceWith("");</script>
<!-- html_header -->

[edit]опубликовано[/edit]

Отредактировано Герда (22.11.12 12:11)

+1

46

Замена ссылок создания тем и в посте своими кнопками со сменой при наведении курсора

автор - Deff

Ставим в  HTML низ

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

      ".postlink","Новая тема",
    "Ссылка на картинку","Ссылка на картинку при наведении",

      ".postlink","Новый опрос",
    "Ссылка на картинку","Ссылка на картинку при наведении",

      ".postlink","Ответить",
    "Ссылка на картинку","Ссылка на картинку при наведении",

      ".pl-email","Профиль",
    "Ссылка на картинку","Ссылка на картинку при наведении",

      ".pl-email","ЛС",
    "Ссылка на картинку","Ссылка на картинку при наведении",

      ".pl-email","E-mail",
    "Ссылка на картинку","Ссылка на картинку при наведении",

      ".pl-website","Вебсайт",
    "Ссылка на картинку","Ссылка на картинку при наведении",

      ".pl-delete","Удалить",
    "Ссылка на картинку","Ссылка на картинку при наведении",

      ".pl-edit","Редактировать",
    "Ссылка на картинку","Ссылка на картинку при наведении",

      ".pl-quote","Цитировать",
    "Ссылка на картинку","Ссылка на картинку при наведении" // !ПОСЛЕДНИЙ элемент без запятой
    )
    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+":contains('"+pstlnk[i+1]+"')").html();
      if (str!=null) {str=str.replace(pstlnk[i+1],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>

Вместо красного - Подставляем свою ссылку на картинку

Если под какие пункты картинками не нужны, убираем это двухстрочье... Но помним, что последний элемент в списке без запятой (такой казус может возникнуть если убираем "Цитировать")

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

Кому-то, возможно, захочется скорректировать по высоте размещения кнопок "Новая тема", "Новый опрос", "Ответить". В НТML верх тогда ставим такой код:

Свернутый текст

<style> /*корректируем кнопку "ответить;Нов.тема; Нов.опрос*/
.linkst .postlink{
margin-top:25px;
}
.linksb .postlink{
margin-top: -40px;
}
</style>

Значения красным - регулируем

Поскольку замечена проблема с установкой своих картинок для [i]Пожаловаться и Поделиться (для форумов QB), выход был найден с помощью css:

Свернутый текст

<style>
.pl-warning *,.pl-share *{
color:transparent!important;
}
.pl-warning{
height:31px;  /*высота картинки*/
width:100px;  /*ширина картинки*/
padding-left:32px!important;   /*Отступ слева*/
background:url(Адрес картинки для Пожаловаться) no-repeat bottom right;
}
.pl-warning:hover{
background:url(Адрес картинки для Пожаловаться при наведении) no-repeat bottom right;
}
.pl-share {
height:31px;  /*высота картинки*/
width:52px;  /*ширина картинки*/
padding-left:16px!important;   /*Отступ слева*/
background:url(Адрес картинки для Поделиться)  no-repeat bottom right;
}
.pl-share:hover{
background:url(Адрес картинки для Поделиться при наведении) no-repeat bottom right;
}
</style>

[edit]опубликовано[/edit]

Отредактировано Герда (22.11.12 12:11)

+1

47

48

Последнее сообщение на главной странице

автор - Romych

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

в html-низ:

Код:
<script type="text/javascript">
$(function(){
$.get('export.php?type=xml','id=1',processXML);
function processXML(data){
var JAuthor=$(data).find('author').eq(0).text();
var JTitle=$(data).find('title').eq(0).text();
var JLink=$(data).find('link').eq(0).text();
var JContent=$(data).find('content').eq(0).text();
var JPosted=$(data).find('posted').eq(0).text().slice(0,-5);
$('#pun-ulinks.section ul.container').after('<div class="container"><table cellspacing="0" width=100%><tr><th scope="col" width=10%>Автор</th><th scope="col" width=20%>Последняя тема</th><th scope="col" width=40%>Содержание</th><th scope="col" width=25%>Время</th></tr><tr><td class="cont" style="text-align:center;">'+ JAuthor +'</td><td style="text-align:center;"><a href='+ JLink +'>'+ JTitle +'</a></td><td class="cont"><marquee scrollamount="2">'+ JContent +'</marquee></td><td style="text-align:center;">'+ JPosted +'</td></tr></table></div>');
$('.cont').css('background', '#FFFAF0');
} });
</script>

для желающих:

5 последних сообщений на главной странице

<script type="text/javascript">
$(function(){
$('#pun-ulinks.section ul.container').after('<div class="container"><table id="bib" cellspacing="0" width=100%><tr><th scope="col" width=10%>Автор</th><th scope="col" width=30%>Последняя тема</th><th scope="col" width=20%>Время</th><th scope="col" width=40%>Содержание</th></tr></table></div>');
$.get('export.php?type=rss','',processXML);
function processXML(data){
$(data).find('item:lt(5)').each(function(){
var JAuthor=$(this).find('author').text().slice(14,-1);
var JTitle=$(this).find('title').text();
var JLink=$(this).find('link').text();
var JContent=$(this).find('description').text();
var JPosted=$(this).find('pubDate').text().slice(4,-5);
$('#bib').append('<tr><td style="text-align:center"><b>'+ JAuthor +'</b></td><td><a href="'+ JLink +'">'+ JTitle +'</a></td><td style="text-align:center">'+ JPosted +'</td><td><marquee scrollamount="2">'+JContent+'</marquee></td></tr>'); });
} });
</script>

красным - цифра, меняя которую вы можете регулировать количество отображаемых последних сообщений
[edit]опубликовано[/edit]

Отредактировано Герда (22.11.12 12:12)

+1

49

Ротатор баннеров

автор - Герда

при обновлении страницы показывается случайный баннер из бесконечного количества добавленных в скрипт.

<script language="javascript">
var links = new Array("<a href=http://gerda-web.ru/ target=_blank><img src=http://gerda-web.ru/zakazat.gif></a>", "<a href=http://ForumD.ru/viewtopic.php?id=1957><img src=http://forumupload.ru/uploads/0007/e3/f7/66270-1-f.gif></a>");
var los = Math.floor(Math.random() * links.length)
document.write (links[los]);
</script>

Код рекламы находятся в кавычках
Баннеры разделяются запятыми - ставятся после кавычек, после последнего баннера запятая не ставится.

ВАЖНО!!!! код баннера пишется без кавычек! иначе код ротатора не будет работать. Вместо двойных кавычек можно ставить одинарные, а лучше вообще без кавычек вставлять.
пример:

<a href=http://nancydrew.su/ target=_blank><img src=http://s2.uploads.ru/rMBqx.gif title=Прохождение Нэнси Дрю></a>

[edit]опубликовано[/edit]

Отредактировано Герда (22.11.12 12:12)

+1

50

Ротатор Банеров по кругу

автор - Deff

Показывает первый баннер в списке, при обновлении страницы - следующий, а когда список закончиться - снова на первый.
Если пользователь засиделся на одной странице баннер всё равно меняется на следующий через N-цать секунд.

<div><!-- Ротатор Банеров местного разлива -->
    <a  id="Mbanners" href="Ссылка перехода по клику на 1-й банер" target="_blank" ><img height="200" border="1" src="Ссылка на 1-ю картинку банера" ></a>
    <script language="javascript">
    var sek = 5000;  // Время отображения
    imgArray = new Array (
       "Ссылка на картинку банера","Ссылка перехода по клику на банер",
       "Ссылка на картинку банера","Ссылка перехода по клику на банер",
       "Ссылка на картинку банера","Ссылка перехода по клику на банер",
       "Ссылка на картинку банера","Ссылка перехода по клику на банер",

    "End");var i=Math.round(Math.random()*((imgArray.length-3)/2))*2;banners(i);
    function banners(i) {
    if(  i >= imgArray.length-1){i=0};
    $("#Mbanners img").attr("src",imgArray[i]);
    $("#Mbanners").attr("href",imgArray[i+1]);
    i+=2;j = i;timerID = setTimeout("banners(j)",sek);}
    </script></div>

Cтавим код туда, где хотим увидеть банеры
Кол-во банеров размножаем, добавляя строки >

"Ссылка на картинку банера","Ссылка перехода по клику на банер",

200 - высота картинок
5000 - 5 секунд
[edit]опубликовано[/edit]

Отредактировано Герда (22.11.12 12:13)

+1