Техническая поддержка SpyBB

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

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


Вы здесь » Техническая поддержка SpyBB » Архив » Новые возможности. Скрипты.


Новые возможности. Скрипты.

Сообщений 101 страница 106 из 106

101

Возможность удаления только последнего сообщения. Impuls 101 (по аналогии KAFLAN)
Скрипт оставляет у пользователей кнопку "удалить" только для последнего сообщения.
У модераторов и администраторов кнопка остается.

Код:
<script>
document.getElementsByClassName = function(clsName){
    var retVal = new Array();
    var elements = document.getElementsByTagName("*");
    for(var i = 0;i < elements.length;i++){
        if(elements[i].className.indexOf(" ") >= 0){
            var classes = elements[i].className.split(" ");
            for(var j = 0;j < classes.length;j++){
                if(classes[j] == clsName)
                    retVal.push(elements[i]);
            }
        }
        else if(elements[i].className == clsName)
            retVal.push(elements[i]);
    }
    return retVal;
}

if (GroupID && GroupID >= 4)
{
   var arr = document.getElementsByClassName('pl-delete');

   if (arr && arr.length > 1)
   {

      for (var i = 0; i < arr.length - 1; i++)
      {
         arr[i].innerHTML = '';
      }
   }

}
</script>

Вставлять в HTML - низ или HTML - в форме ответа.

0

102

Превью стилей. Для дизайн-форумов. Duka
Объяснять нечего. Те, кто просил, поймут для чего это.

<script type="text/javascript">
function vzstyle(value){
var tag = document.getElementsByTagName("link")
for(z=0;z<tag.length;z++){
if(tag[z].rel=="stylesheet"){
    tag[z].href=value
    break;
}
}
}
</script>
<select name="sel">
<option value="http://support.rusff.ru/style/RusFF_Classic/RusFF_Classic.css">RusFF_Classic</option>
<option value="http://support.rusff.ru/style/RusFF_FunZone/RusFF_FunZone.css">RusFF_FunZone</option>
<option value="http://support.rusff.ru/style/RusFF_DeathNote/RusFF_DeathNote.css">RusFF_DeathNote</option>
</select>
<input type="button" class="button" onclick="vzstyle(document.getElementsByName('sel')[0].value)" value="ОК" />

Выделенную курсивом строчку копируем. В параметре value вписывать ссылку на файл стиля .css (в файле .css уже должна быть ссылка на _cs.css)

0

103

Цветовыделение тем. Duka
Накалякал скрипт.
Когда будете начинать новую тему, справа от Заголовка будет выпадающее меню с цветами.
Если выбрать любой цвет, то на странице списка тем ваша тема будет выделена красным.

Код:
<script type="text/javascript">
if(document.URL.indexOf("viewforum.php")!=-1){
var a = document.getElementsByTagName("a");
var ins, col;
for( i=0; i<a.length; i++ ){
	if(a[i].href.indexOf("viewtopic.php")!=-1 && a[i].innerHTML.indexOf(";;")!=-1){
ins = a[i].innerHTML;
col = ins.substring(0, ins.indexOf(";;"))
txt = ins.substring(ins.indexOf(";;")+2)
a[i].innerHTML = "<span style=\"color: "+col+"\">"+txt+"</span>";
	}
}
} else if(document.URL.indexOf("viewtopic.php")!=-1){
var p = document.getElementsByTagName("p");
if(document.title.indexOf(";;")!=-1){
	document.title = document.title.substring(0, document.title.indexOf(" - ")+3)+document.title.substring(document.title.indexOf(";;")+2)
}
for( q=0; q<p.length; q++ ){
	if(p[q].className=="container crumbs" && p[q].innerHTML.indexOf(";;")!=-1){
p[q].innerHTML = p[q].innerHTML.substring(0, p[q].innerHTML.lastIndexOf("»")+1)+" "+p[q].innerHTML.substring(p[q].innerHTML.indexOf(";;")+2)
	}
}
} else if(document.URL.indexOf("post.php?fid=")!=-1 && GroupID<=2){
var colors = new Array();
colors.push(new Array('Красный', 'red'));
colors.push(new Array('Черный', 'black'));
colors.push(new Array('Жерный', 'yellow'));
colors.push(new Array('Оранжевый', 'orange'));
colors.push(new Array('Синий', 'blue'));
colors.push(new Array('Зеленый', 'green'));
colors.push(new Array('Серый', 'gray'));
var mmass = ""
for(x=0;x<colors.length;x++){
	mmass+="<option style=\"color: "+colors[x][1]+"\" value=\""+colors[x][1]+"\">"+colors[x][0]+"</option>"
}
var p1 = document.getElementsByName("req_subject")[0]
p1.style.visibility = 'hidden'
p1.parentNode.innerHTML+="<input onkeydown=\"st(document.getElementsByName('changer')[0].options[document.getElementsByName('changer')[0].selectedIndex].value)\" onkeyup=\"st(document.getElementsByName('changer')[0].options[document.getElementsByName('changer')[0].selectedIndex].value)\"   id=\"qwe_pole\" type=\"text\" name=\"qwe_pole\" value=\"\" size=\"80\" maxlength=\"70\" /> <select name=\"changer\" onchange=\"st(this.options[this.selectedIndex].value)\"><option value=\"default\">По-умолчанию</option>"+mmass+"</select>"
function st(value){
	if(document.getElementsByName("qwe_pole")[0].value!=""){
	t = document.getElementsByName("req_subject")[0];
	if(value!="default"){
if(t.value.indexOf(";;")!=-1){
	t.value=value+";;"+document.getElementsByName("qwe_pole")[0].value
} else {
	t.value=value+";;"+document.getElementsByName("qwe_pole")[0].value
}
	} else {
t.value=document.getElementsByName("qwe_pole")[0].value
	}
	}
}
}
</script>

0

104

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

<div id="profileSide"></div>
    <script type="text/javascript">
    function saveCookie(side){
    var c_date = new Date();
    c_date.setTime(c_date.getTime()+99999999999)
    date = c_date.toGMTString();
    document.cookie="profileSide="+side+"; expires="+date
    }

    function getSide(side){
    if(side==0 && document.cookie.indexOf("profileSide")!=-1){
        side = document.cookie.substring(document.cookie.indexOf("profileSide=")+12, document.cookie.indexOf("profileSide=")+13)
    }
    if(side=="L"){
        document.getElementById("profileSide").innerHTML="";
    } else if(side=="R"){
        document.getElementById("profileSide").innerHTML="<s"+"tyle type=\"text/css\">.punbb .post h3 span {border-right: 1px solid transparent;border-left: none;padding: 0.5em 1em;display: block; text-align: right;margin-right: 19em;margin-left: 0;}.punbb .post h3 strong {float: left;text-align: left;}.punbb .post .post-author, .pl-email, .pl-website {float: right;}.punbb .post-body {margin-right: 19em;margin-left: 0;border-right: 1px solid;border-left: none;}.punbb .post-links {margin-right: 19em;margin-left: 0em;border-right: 1px solid transparent;border-left: none;}.punbb .post-links ul {margin-right: -19em;margin-left: 0em;text-align: left;}.post-rating {float: left;}</st"+"yle>";
    }
    }
    getSide(0)
    </script>

Ставим в форму ответа:

Код:
<select>
<option selected="selected">--Отображение профиля--</option>
<option onclick="saveCookie('L'); getSide('L')">|--Слева</option>
<option onclick="saveCookie('R'); getSide('R')">Справа--|</option>
</select>

Нужно найти оптимальный вариант css.
Вместо transparent писать цвет бордеров блока сообщений, ибо сам он в файлике вынесен в .css, а не в _cs.css, где ему положено быть, но, по каким-то причинам, он в .css

0

105

Рабочий скрипт сворачивания подписи. Duka

Ставит в HTML форма ответа или HTML низ

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

<script type="text/javascript">
var arr=document.getElementsByTagName("dl")
i=0
str=document.URL
while(arr[i] ){
if(arr[i].className=="post-sig"){
a=arr[i].innerHTML.substring(43)
arr[i].innerHTML="<dt><span>Подпись автора</span></dt><dd><p><span style='cursor:hand' onClick=\"document.getElementById('hiddenp"+i+"').style.display=(document.getElementById('hiddenp"+i+"').style.display=='none'?'block':'none')\">Показать подпись</span><span  style='display:none;' id='hiddenp"+i+"'><br>"+a+"</span></p></dd>"
}
i++
}
</script>

Выделенный текст можно поменять на кнопку заменив на код

<img src=адрес картинки>

0

106

Скрываем чат от гостей.  Duka

<script type="text/javascript">
if(GroupID == 3 ){
document.getElementById("id").style.display='none'
}
</script>

Как правильно заполнить скрипт:

1. Возьмите код/скрипт Вашего чата и поставьте в подходящее место на Вашем форуме.
2. Сразу же (именно после кода/скрипта чата, это важно!) пропишите данный скрипт.
3. Обратите внимание на выделенную красным id - это идентификатор чата.
Он определяется из корневого (первого) тега в коде/скрипте чата.
Например вот так: <div align="center" id="cboxdiv">. Подчёркнутое - есть идентификатор.
Копируем его и вставляем в скрипт вместо выделенного.
4. Если вдруг идентификатора в коде/скрипте чата не оказалось,
Вам надо дописать его самостоятельно. Для этого в первый тег добавлеем параметр id="...".
Вместо троеточия можно указать любое слово или цифры (латиницей, разумеется).

0


Вы здесь » Техническая поддержка SpyBB » Архив » Новые возможности. Скрипты.