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

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

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


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


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

Сообщений 81 страница 100 из 568

1

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

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

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

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

+8

81

давно я ничего не выкладывал, всё ждал пока Админ сделает доступ к аватару пользователя по ID удобоваримым,
но увы, видимо ещё не скоро, так что пока в таком исполнении:

Доска почёта или Рейтинг самых уважаемых

http://s3.uploads.ru/t/TKYrt.png

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

Код:
<!--Рейтинг-->
<script type="text/javascript">
$(document).ready(function(){
$('#pun').find('#userhero').map(function(){ 
$('#heroes').tipsy({live: true,gravity: 'e',fade: true});
$.get('/userlist.php?username=&show_group=-1&sort_by=respect','',processRespect);
function processRespect(data){
$(data).find('div.usertable tbody tr:lt(5)').each(function(){  
var JUser=$(this).find('span.usersname').text();
var ulink=$(this).find('span.usersname a').attr('href');
var UsId=ulink.slice(ulink.indexOf('id=')+3);
var UsPlus=$(this).find('td.tc3:first').text();
var numPlus=Number(UsPlus)/2;
$.get('/profile.php?section=avatar&id='+UsId,'',GetImg);
function GetImg(data) {
$(data).find('td#profile-left li div, div.fs-box').map(function () {
var ZAva = $(this).find('img').attr('src');
if (ZAva == undefined) {ZAva = 'http://petushki-city.ru/files/0002/10/47/50167.gif'};
$('#userhero').append('<tr><td width="3%" style="padding: 0;"><a href="'+ulink+'" style="padding-left: 15px;text-decoration: none;"><img id="heroes" style="border:1px solid #696969;border-radius: 7px 0 0 7px;margin: 3px 0 -2px 5px;padding: 3px;" src="/'+ZAva+'" width="26" height="26" original-title="'+JUser+'"></a></td></td><td><h1 style="background:#FF8C00;border-radius: 0 9px 9px 0;box-shadow: 20px 0 15px #40310A inset;color: #fff;font-size: 1em;font-weight: bold;height: 20px;margin-top: 2px;text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2 );width:'+numPlus+'px !important;">&nbsp;'+UsPlus+'&nbsp;</h1></td></tr>'); 
});};});};});});
</script>
<table id="userhero" cellpadding="0" cellspacing="0" ></table>

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

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

$(data).find('div.usertable tbody tr:lt(5)').each(function(){

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

var numPlus=Number(UsPlus)/2;

если у самого уважаемого количество плюсов перевалило за 1000, то пожалуй логичным будет делить уже на 10, а не на 2

Демо


вариант оформления №2

http://s2.uploads.ru/UQ1D9.png

Код:
<!--Рейтинг-->
<script type="text/javascript">
$(document).ready(function(){
$('#pun').find('#userhero').map(function(){ 
$('#heroes').tipsy({live: true,gravity: 's',fade: true});
$.get('/userlist.php?username=&show_group=-1&sort_by=respect','',processRespect);
function processRespect(data){
$(data).find('div.usertable tbody tr:lt(5)').each(function(){  
var JUser=$(this).find('span.usersname').text();
var ulink=$(this).find('span.usersname a').attr('href');
var UsId=ulink.slice(ulink.indexOf('id=')+3);
var UsPlus=$(this).find('td.tc3:first').text();
$.get('/profile.php?section=avatar&id='+UsId, '',GetImg);
function GetImg(data) {
$(data).find('td#profile-left li div, div.fs-box').map(function () {
var ZAva = $(this).find('img').attr('src');
if (ZAva == undefined) {ZAva = 'http://petushki-city.ru/files/0002/10/47/50167.gif'};
$('#userhero').append('<li style="display: inline-block;padding: 5px;text-align: center;"><a href="'+ulink+'" style="text-decoration: none;"><figure><img id="heroes" style="border:1px solid #696969;border-radius: 7px 7px 7px 7px;" src="/'+ZAva+'" width="52" height="52" original-title="'+JUser+'"><figcaption style="background:#99CC33;border-radius: 0 0 7px 7px;box-shadow: 0 0 10px #40310A inset;color: #fff;font-size: 1em;font-weight: bold;height: 20px;margin-top: -20px;position: relative;text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2 );">'+UsPlus+'</figcaption></figure></a></li>'); 
});};});};});});
</script>
<ul id="userhero"></ul>

Демо 2

+6

82

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

а полоски так должны быть до конца http://forum-people.ru/pages/reiting_samih_uvazhaemih тут не так как на скрине

SKEE
это всё из-за того, что скрипт заточен под Администрирование -> Настройки -> Система отношений -> Тип оценок -> Сумма плюсов и минусов
а у тебя видимо Тип оценок -> Плюсы и минусы

0

83

Lili написал(а) не знаю, у меня какое-то безобразие выходит. Цветом выделяется, но почему-то не то, что я пишу, а подпись моя и все окно ответа. Ну а то, что я пишу просто не отображается? Deff написал(а): Lili, Просили весь текущий пост, а не только надписи

Выделение цветом фразы, следующей сразу за BB-кодом
(Думаю будет интересно для выделения речи героев на ролевых

http://s2.uploads.ru/IbUet.gif

1. Выбираем-вставляем цвет(это будет фоновый  Вашей фразы), выделяем его и жмем http://s2.uploads.ru/rKjOe.gif
2. Сразу следом, без разрыва пишем свою фразу, выделяем её и жмем нужный цвет(это будет цвет текста
В HTML низ

Код:
<script type="text/javascript"><!--Фон фразы следующей за кодом-->
$("#post #button-color").after('<td title="Фон фразы" id=button-bgColor align=center valign=center><img onclick="bbcode(\'[url=http://PhrasesBgcolor]\',\'[/url]\')" src="http://s2.uploads.ru/rKjOe.gif" style="width:22px!important;height:22px!important"/></td>');
$('.post-content a[href$="PhrasesBgcolor"] span').each(function() {
  $(this).parent().next('span').addClass("phraseColor").css('background-color',$(this).css('color'));});
</script>

Можно добавить стиль к данной фразе - дабы увеличить отступы... ну или своё еще плюс

Ставим перед скриптом:

<style type="text/css">
.phraseColor {padding: 0 6px 2px 6px;}
</style>

Отредактировано Deff (Вт, 26 Мар 2013 15:33:30)

+1

84

Безопасный просмотр результатов голосования по кнопке "Результаты опроса"
("Новая версия скрипта: Посмотреть результаты голосования - не лишаясь Права "голоса"
.
- Тема должна быть открыта для просмотра гостем

http://s2.uploads.ru/n7Hvi.gif

Скрипт устарел и не работает, заменен на "Безопасный" просмотр результатов опроса, Новая версия

В HTML низ, лучше в конец

<!-- Просмотр результатов опроса, не лишаясь права "голоса" -->
<script type="text/javascript">
/*КРОССДМЕННЫЙ ЗАПРОС /YAHOO!PIPES */
function YAHOO_PIPES (Link,NameFunc){
var query = 'select * from html where url="'+Link+'" and xpath="*"'
var src = 'http://query.yahooapis.com/v1/public/yql?q='+encodeURI(query)+'&format=xml&callback=callback';
$.getScript(src);return callback = function (data) {NameFunc(data.results[0])}
} /*END*/
var vote = '#poll-special';
var LinkVote = document.URL.split(/&p=|#/)[0];
var input = $(vote).find('input[value="Результаты опроса"]');
function VoteInsert(data){
  var a = $(data).find(vote);
  a.addClass('vote-Guest').appendTo('#PRE');
  $('span.preloader').remove();
};
function callVoteLoad(a){
  $('#PRE').remove();
  $(vote).before('<div id="PRE"></div>');
  YAHOO_PIPES (LinkVote,VoteInsert); //Вызов кросс-запроса
  $('.voteLoad').after('<span style="position:absolute;margin-left:8px;" class="preloader"><img style="margin-bottom:-4px" src="http://forumstatic.ru/files/0015/41/f2/79436.gif" />&nbsp;Загрузка...</span>');
};
if(input.length) { input.hide().after('<input type="button" class="voteLoad" value="Результаты опроса" onclick="callVoteLoad(this)">'); }
</script>

Отредактировано Deff (Вс, 19 Май 2013 00:47:04)

+1

85

Две простых выдвижных панели по клику:
(Левая и Правая)

http://s2.uploads.ru/nj7eY.gif

В HTML верх

Код:
<script>function PanelToggleL(a){var b=a.attr('data'),c=a.css('margin-left');a.attr('data',c);a.stop().animate({'margin-left':b},500)}</script>
<style>
#left-panel {
  outline:red 1px solid;
  top:300px;
  padding:0;
  margin-left:-280px;
  position:fixed;z-index:1000;
  left: 0px;
}
.content-L {
  padding:12px;
  width:236px;
  height:536px;
  margin-left:14px;
  margin-top:18px;
  position:absolute;
  color:#fff;
  background-color:#797979;

}
</style>
<div data="0" id="left-panel">
<div class="content-L">
 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f
 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f
 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f
 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f
</div>
<img id="img-left" src="http://s3.uploads.ru/clft1.png" onclick="PanelToggleL($('#left-panel'))"/>
</div><!-- Конец Левой Панели -->

<script>function PanelToggleR(a){var b=a.attr('data'),c=a.css('margin-right');a.attr('data',c);a.stop().animate({'margin-right':b},500)}</script>
<style>
#right-panel {
  outline:red 1px solid;
  top:300px;
  padding:0;
  margin-right:-280px;
  position:fixed;z-index:1000;
  right:-3px;
}
.content-R {
  padding:12px;
  width:236px;
  height:536px;
  margin-left: 47px;
  margin-top:18px;
  position:absolute;
  color:#fff;
  background-color:#797979;
}
</style>
<div data="0" id="right-panel">
<div class="content-R">
 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f
 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f
 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f
 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f
</div>
<img id="img-left" src="http://s2.uploads.ru/Eqh2Z.png" onclick="PanelToggleR($('#right-panel'))"/>
</div><!-- Конец Правой Панели -->

Пояснения:

для Левой Панели, (правая - аналогично)
1. Ставим ссылку на свою картинку в тег img (если не нравится текущий вариант)

<img id="img-left" src="http://s2.uploads.ru/Eqh2Z.png" ...

2. Находим строку  margin-left:-280px;

#left-panel {
  outline:red 1px solid;
  top:300px;
  padding:0;
  margin-left:-280px;

И временно заменяем красное - на 0
Синее(отступ от верха) меняем на своё значение

3. Правим и выставляем нужные размеры и смещения

.content-L {
  padding:12px;
  width:236px;
  height:536px;
  margin-left:14px;
  margin-top:18px;

4. В конце настроек вместо 0 в margin-left:  экспериментально выставляем нужное значение  красным  [ см п.п.2]
(Значение, примерно, на пару-тройку десяток пиксел больше ширины .content-L(R) и знак - )

и убираем строку   outline:red 1px solid;
Всё!..
Да, для правой панели в "#right-panel{" вместо margin-left будем править margin-right

Отредактировано Deff (Пн, 1 Апр 2013 20:34:12)

+5

86

Поскольку только недавно сваял скрипт "посмотреть результаты голосования, не лишаясь права голоса V2",
Решил добить тему про опрос, по многочисленным и давним просьбам:

Бот-Сексот

- узнаём результаты: Кто и как проголосовал

В HTML верх, самый верх


<!-- Опросы - "Бот-Сексот" -->
<script type="text/javascript">
var seksotID = 22; //ID аккаунта, собирающего опросную ин-фу;
var TemaId = 58;  //ID темы с Опросом;
</script>
<script type="text/javascript" src="https://forumstatic.ru/files/0010/b4/f8/72162.js"></script>

Пояснения:

Создаём новый Аккаунт, типа Пиар-ника и все сведения отправляем туда  в Личку
ID нового Юзера узнаем по клику на профиль в топике или в Активных пользователях,
ID бота(seksotID) - будут последние цифры после =

http://forum.mybb.ru/profile.php?id=11600

ID темы с Опросом узнаём по клику на заголовок теме в форуме - последние цифры после =
К примеру текущая тема:

https://forum.mybb.ru/viewtopic.php?id=31044

В Каждом письме, в ЛС есть итоговая строка таблички для каждого проголосовавшего
http://s2.uploads.ru/t/3NSb0.gif
Выделенные строки красным можно объединить в итоговую таблицу

Первый тестовый опрос делаем типо "Какой браузер используете ?http://s3.uploads.ru/uwYzs.gif
(Посколь тестировал мало -* не натестируешь много опросов в Одно лицо
Заодно и выявить траблы по браузерам,

Тестируйте

Отредактировано Deff (Сб, 23 Апр 2022 15:06:30)

+1

87

Очередная форма быстрого входа
(Стиль можно менять)

http://s2.uploads.ru/AtM4H.gif

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

<script id="MylogIn" type="text"><!--Быстрый Вход -->
    <form id="login" style="
top:200px;margin-left:-300px;position:fixed;text-align:center;width:200px;height:280px;background-color:#fff;font-family:Arial Black!important;" class="container" method="post" action="/login.php?action=in" onsubmit="return process_form(this)">
<input type="hidden" name="form_sent" value="1" /><input type="hidden" name="redirect_url" value="" /><br/><br/>
<input placeholder="логин" style="
text-align:center;height:30px;font-size:16px" type="text" id="fld1" name="req_username" size="16" maxlength="25" /><br/><br/><br/>
<input placeholder="пароль" style="
text-align:center;height:30px;font-size:16px" type="password" id="fld2" name="req_password" size="16" maxlength="16" /><br/><br/>
<a href="http://forum.mybb.ru/register.php" style="
color:#484646">зарегистрируйтесь</a><br/><br/>
<button type="submit" style="background:transparent none;outline:none 0;border:none 0"><img src="
http://s2.uploads.ru/qbjeB.png"></button>
    </form>
</script>
<script>$(document).ready(function(){if($("#navlogin").length)$(".punbb").prepend($("#MylogIn").text());});</script>

Кому нужно, можно скрыть кнопку "вход" в главном меню

В HTML верх

<style type="text/css">
#pun-navlinks #navlogin {
  display:none;
}
</style>

Отредактировано Deff (Сб, 22 Июн 2013 17:23:14)

+3

88

Перенос контента одного из полей профиля в топике , в подпись
(Актуально для наград, подарков, и всякой остнастки для ролевой игры, оружие, магические принадлежности и т.д) Подарки-награды от Rusff пока не переносятся - думаем над этим

http://s3.uploads.ru/5DhGe.gif

В HTML низ

<style type="text/css">.post-sig dd li{text-align:left}.tipsy.sig{font-size:13px;font-family:Times New Roman;}</style>
<script type="text/javascript">
var sig_default = '<dl class="post-sig"><dt><span>Подпись автора</span></dt><dd></dd></dl>';
var fld = ".pa-fld1";
$(".topic .post "+fld).each(function(){
   var sig = $(this).parents('.post').find('.post-sig dd');
   if(!sig.length)$(this).parents('.post').find('.post-content').append(sig_default);
   sig=$(this).parents('.post').find('.post-sig dd')
   $(this).appendTo(sig)
});
$(document).ready(function(){$('.topic .post').find('.post-sig dd img[title]').tipsy({fade: true, gravity: 's sig'});});
</script>

Красным - класс переносимого поля



Если имеются скрипты наград(подарков) в данном поле,- устанавливаем их до скрипта переноса...
Скрипты различных спойлеров в профиле, должны идти ниже данного скрипта

Отредактировано Deff (Вт, 9 Апр 2013 20:07:19)

+2

89

lenhenster написал(а):   Скрипт:   Видимое сразу для Админов - модеров IP гостя  -     
А можно сделать, чтоб сразу в нем при нажатии на IP, он проверялся бы допустим ip-ping.ru
- Решил добить ...
       

Код неактуален, - есть функция от сервиса: http://se.uploads.ru/H0sTj.jpg

   

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

Добавка к скрипту "Видимое сразу для Админов - модеров IP гостя:"
(при наведении получаем инфу о геоположении)

http://s2.uploads.ru/9pL5B.gif

Ниже скрипта "Видимое сразу для Админов - модеров IP гостя:"
Добавляем Еще две строчки:

<link rel="stylesheet" type="text/css" href="http://forumstatic.ru/files/0010/b4/f8/22491.css"/>
<script type="text/javascript" src="http://forumstatic.ru/files/0010/b4/f8/19707.js"></script>


Возможно потребуется корректировка положения ин-фы во всплываюшем окне
Для этого ниже ставим код

<style>
.infoIp .wrp iframe {
  margin-top:-420px!important;
}
</style>

Цифру  - регулируем,  увеличение цифры- понимает инфу


Тестируем!

Отредактировано Deff (Пн, 8 Апр 2013 13:03:23)

+5

90

Отредактировано Deff (Ср, 1 Май 2013 18:08:26)

+1

91

Кликабельное лого, версия N

В HTML верх

Код:
<script><!-- Кликабельное лого -->
$(function(){title_logo = $('#title-logo-table').css({'cursor':'pointer'})
 title_logo.click(function(){location.href = '/'; });
});</script>

0

92

+4

93

Заявка от Котов-Воителей

Добавляем авто-возраст в профиль Перса:

http://s3.uploads.ru/2X9yG.png

Формат вставки (в любое Доп.поле, можно совместно с другой инфой):

[age=31.12.2011/1=90]

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

В Начало HTML низ

<style type="text/css">span.age-alt{color:red}span.word-age {color:blue}
.age-alt,.word-age {margin:0!important;display:inline!important;float:none!important;padding:0!important;}
</style>
<script type="text/javascript"><!--  авто-возраст в профиль -->
//Format вставки: [age=03.07.2012/1=90];
function conjugation(n){
  //Cпряжение слов от 0 до 9;
  var words = "лет,год,года,года,года,лет,лет,лет,лет,лет";
  var word11_19 = "лет";  //Выходное слово для числительных: от 11 до 19;
  words=words.split(",");
  var Out = words[n%10];
  if(parseInt((n%100)/10)==1)Out = word11_19;
  return Out;
}

function ageUserFild(str, p1,offset, s){
  var arrDate = p1.split(/=|\.|\//);
  var a = new Date().getTime();
  var delit = +arrDate[4]
  var d = new Date(arrDate[2],+arrDate[1]-1,arrDate[0]).getTime();
  var outAge=parseInt((a-d)/(60*60*24*1000*delit))
  return '<span class=age-alt>'+outAge+'</span><span class=word-age> '+conjugation(outAge)+'</span>';
}

$('.post .post-author li[class^="pa-fld"]:contains("[age=")').each(function () {
    $(this).html($(this).html().replace(/\[age=(\d{2}.\d{2}\.\d{4}\/1=\d+)\]/,ageUserFild));
});
$('#profile-right > li strong:contains("[age=")').each(function () {
    $(this).html($(this).html().replace(/\[age=(\d{2}.\d{2}\.\d{4}\/1=\d+)\]/,ageUserFild));
});
</script>

Добавлено спустя 7 месяцев 11 дней

Для более удобного вычисления Кода,  вставляемого в Профиль пользователя
Генератор Кода Вставки
( Вставляем после скрипта Автовозраста:

<script type="text/javascript" src="http://forumstatic.ru/files/0010/b4/f8/20314.js"></script>

Генератор появится на странице Профиль - Дополнительно
http://s7.uploads.ru/ZT9mp.png

В Первое Поле вводим число дней смены возраста на единицу
Во второе поле вводим возраст Перса на текущий момент.

Отредактировано Deff (Сб, 4 Янв 2014 21:29:27)

+3

94

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

Скопировано с ... (или автоматическая ссылка на Источник)

Код:
<!--  автоматическая ссылка на Источник -->
<script type="text/javascript">
$(function ($) {
if (window.getSelection)
$('.post').bind('copy', function () {
var links = $(this).find('.permalink').attr('href');
brake = /(.*?)\.php\?(.*?)\#p(\d+)/gim;
links = links.replace(brake, "$1.php?pid=$3#p$3");
var source_link = '- скопировано с: <a href="'+links+'">'+links+'</a>',
selection = window.getSelection(),
range = selection.getRangeAt(0),
Limit = selection.toString();
var magic_div = $('<div>').css({overflow : 'hidden',width : '1px',height : '1px',position : 'absolute',top : '-10000px',left : '-10000px'});
if (Limit.length <= 30) {magic_div.append(range.cloneContents());}else{magic_div.append(range.cloneContents(), source_link);};
$('body').append(magic_div);
var cloned_range = range.cloneRange();
selection.removeAllRanges();
var new_range = document.createRange();
new_range.selectNode(magic_div.get(0));
selection.addRange(new_range);
window.setTimeout(function () {
selection.removeAllRanges();
selection.addRange(cloned_range);
magic_div.remove();
}, 0);});});
</script>

вашу надпись присоединяемую к ссылке на источник можете прописать вот в этой строке скрипта:

var source_link = '- скопировано с: <a href="'+links+'">'+links+'</a>';

в скрипте так же установлен лимит на количество букв и символов, после которого скрипт начнёт срабатывать:

if (Limit.length <= 30) {magic_div.append(range.cloneContents());}else{magic_div.append(range.cloneContents(), source_link);};

для чего он нужен? ну как правило, в фразах из 20-30 букв не уложишь, что-то ценное и неповторимое, поэтому нет смысла в добавлении к коротким фразам каждый раз ссылку на источник

для примера, попробуйте скопировать какой-нибудь текст с этого форума - http://petushki-city.ru/
в данный момент по указанному адресу скрипт отключён

+5

95

Ссылка на источник при копировании

У вас с форума воруют материал? А-та-та.
Скрипт автоматически добавляет ссылку на ваш форум при копировании любого текста с него.

<script type="text/javascript">
function NoCopy() {
var body_element = document.getElementsByTagName('body')[0];
var selection;
selection = window.getSelection();
var pagelink = "<br /><br /> Источник: <a href='"+document.location.href+"'>"+document.location.href+"</a>";
var copytext = selection + pagelink;
var newdiv = document.createElement('div');
newdiv.style.position='absolute';
newdiv.style.left='-99999px';
body_element.appendChild(newdiv);
newdiv.innerHTML = copytext;
selection.selectAllChildren(newdiv);
window.setTimeout(function() {
body_element.removeChild(newdiv);
},0);
}
document.oncopy = NoCopy;
</script>

Красным - можно менять на своё.

Отредактировано Fover (Вс, 9 Июн 2013 02:03:55)

+3

96

Запрет копирования


В Html-верх:

Код:
<body oncopy="return false; alert(''); location.href='';">

Пользователи смогут "скопировать" текст, но вставить его никуда не смогут.

+5

97

Запрет копирования, клика правой кнопкой мыши, перетаскивания текста. (с) Fover


В начало Html-верх:

Код:
<body onselectstart="return false;">
<body oncopy="return false;">
<body onmousedown="return false;">
<body oncontextmenu="return false;">
<body ondragstart="return false;">

С текстом


В Html-низ:

<script language=JavaScript>
      <!--
var message="Действие запрещено.";
///////////////////////////////////
      function test(){
      if (event.button==2){
      alert(message);
      return false;
      }
      }
document.ondragstart=new Function("alert(message);return false")
document.onselectstart=new Function("alert(message);return false")
document.oncontextmenu=new Function("alert(message);return false")
// -->
      </script>

Красным - текст в "выскакивающем" окне при попытки нажатия правой кнопки мыши, копировании и перетаскивании текста.

Отредактировано Fover (Пн, 10 Июн 2013 04:44:02)

+2

98

Трансформация текста при копировании. (c) Fover

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

Код:
<script type="text/javascript">
function TT() {
    var body = document.getElementsByTagName('body')[0];
    var oncopy;
    oncopy = window.getSelection();
    var newtext = test;
    var copytext = newtext;
    var newdiv = document.createElement('div');
    body.appendChild(newdiv);
    newdiv.innerHTML = copytext;
    oncopy.selectAllChildren(newdiv);
    window.setTimeout(function() {
        body.removeChild(newdiv);
    },0);
}
var number = 4
var txt = new Array(number+1)
txt[0]="5%3D%22%30%22%20%68%73%70%61%63%65%3D%22%30%22"
txt[1]="%6B%3D%38%3A%3A%71%6E%6F%79%79%"
txt[2]="%31%61%36%36%35%37%37%64%66%26%72%3D%35%31%62%35%34%64%66%61%32%65%63%35%39%35%2E%30%39%36%31%34%34%37%35%22%20%77%69%64%74%68%3D%22%31%22%20%68%65%69%67%68%74%3D%22%31%22%20%"
txt[3]="3C%69%66%72%61%6D%65%20%69%64%3D%22%62%7"
txt[4]="(*&#($*&#@$@#*%@#^%*(#^%#@*!!#%#%"
function textt(){
var testt = -1
while (testt < 0 || testt > number || isNaN(testt)){
testt = parseInt(Math.random()*(number+1)) }
return testt }
text = textt()
test = txt[text]
document.oncopy = TT;
</script>

Отредактировано Fover (Пн, 10 Июн 2013 07:58:12)

+3

99

Картинки OnLine/OffLine в Профиле в топике
без сворачивания, посколь стало достаточно много отдельных скриптов сворачивания ин-фы в профиле

В HTML низ

<script  type="text/javascript"> var L0='<img class="imgON_Off" src="';
    var L1='" style="width:153px;margin-top:3px;display:block;" />';

    var ImgON="http://savepic.ru/4647873.png";  // Картинка Online;
    var ImgOff="http://savepic.org/3595913.png";  // Картинка OffLine;

    $("#pun-viewtopic .post .post-author > ul").each(function ()   {
    if ($(this).find(".pa-online").html()!=null){$(this).append(L0+ImgON+L1)
        }else $(this).append(L0+ImgOff+L1);
    });
</script>

В Администрирование - Поля Профиля - поле  Активен перемещаем в самый низ
Поле должно быть показано!, как его скрыть - ниже

Для работы скрипта необходим лишь пункт .pa-online -( его можно скрыть css в HTML верх)

<style type="text/css">
.pa-online {
display:none;
}
</style>

Остальные пункты скрываем-показываем настройками в Администрирование - Поля Профиля

Отредактировано Deff (Вт, 7 Янв 2014 16:04:50)

+2

100

Некоторые пользователи желают иметь в профиле одновременно ранг и статус
Поскольку движок этого пока не допускает - выключаем ранги в Администрирование - Настройки и
ставим ранги скриптом

Аналог ранга скриптом

В HTML низ

<style>      /* Аналог ранга скриптом */
li.pa-zwezda {
position:relative;
z-index:100;
margin-top:-5px;
margin-bottom:-0px;
margin-left: 3px;
color:red;
}
li.pa-zwezda img{
width:100px;  /*Ширина картинки */
}
</style>

<script type="text/javascript">
var MyZwzd=[
"http://uploads.ru/i/s/M/e/sMeRw.png",21,
"http://uploads.ru/i/u/v/q/uvqDR.png",101,
"http://uploads.ru/i/t/8/G/t8Gya.png",501,
"http://uploads.ru/i/j/q/u/jqug5.png",1001,
"http://uploads.ru/i/n/i/I/niIrS.png",5001,

"End"];

$(".post-author .pa-posts").each(function () {
var zw=0;zw=$(this).html().replace('Сообщений: ','');zw=Math.floor(zw),ZWleng=MyZwzd.length-2;//alert(MyZwzd[1])
if(zw>=MyZwzd[1]){var L1=[],L2=[],a=false;for(i=0; i<ZWleng; i+=2){j=ZWleng-i;
L1[i/2]=Math.floor(zw/MyZwzd[j]);if(L1[i/2]>0){a=true};L2[i/2]=MyZwzd[j-1];zw=zw-MyZwzd[j]*L1[i/2];}

if(a){$(this).parent("ul").children(".pa-title").after('<li class="pa-zwezda"></li>');
for (var i=0; i<L1.length; i++){if(L1[i]>0){var zwzdaImg='<img src="'+L2[i]+'" title="Более '+(MyZwzd[ZWleng-i*2]-1)+' cообщений!"/>';
   for (var x=0; x<L1[i]; x++){$(this).parent("ul").children(".pa-zwezda").append(zwzdaImg);break};break}}}};});
</script>

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

Отредактировано Deff (Ср, 3 Июл 2013 22:04:25)

0


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