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

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

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


Вы здесь » Единый форум поддержки » Архив » Зависимость статуса от сообщений и группы


Зависимость статуса от сообщений и группы

Сообщений 1 страница 20 из 22

1

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

0

2

Seebostian Weiss написал(а):

Необходимо усовершенствовать скрипт

усовершенствовать или написать?

0

3

Seebostian Weiss
А где вы этот скрипт видели?

0

4

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

0

5

А вот кстати и скрипт:

<script>
forum = new String(location);
x = forum.length;
if (forum.charAt(x-2) != "=") {forum = forum.charAt(x-2)+forum.charAt(x-1)} else {forum = forum.charAt(x-1)}
forum="forum_f"+forum;
theme = window.document.getElementById(forum).getElementsByTagName("span")[1].innerHTML;
theme = theme.charAt(11)+theme.charAt(12);
x=1;
for (i=0;i<theme;i++) {
star="rank0";
post = window.document.getElementById(forum).getElementsByTagName("td")[x].innerHTML;
if (post > 1) {star="<img src=Адрес картинки>"}
if (post > 15) {star="<img src=Адрес картинки>"}
if (post > 30) {star="<img src=Адрес картинки>"}
if (post > 55) {star="<img src=Адрес картинки>"}
if (post > 80) {star="<img src=Адрес картинки>"}
window.document.getElementById(forum).getElementsByTagName("td")[x].innerHTML += star;
x +=4;
}
</script>

0

6

Seebostian Weiss
брррррр. Это мы усовершенствовать не будем, ибо это не скрипт, а 4какой-то винегрет с тушеными сосисками.
Мня волнует другое. Чтобы такй скрипт работал, надо чтобы в информации о пользователе всега по умолчанию имелась пометка о том, к какой группе пользователь относится. Есть два варианта. Либо будете ее прописывать в дополнительном поле. Либо в статусу в ручную. Выбирайте - отсюда будем плясать.

0

7

Как я понял нужна некая пометка принадлежности пользователя к той или иной группе? тогда так. У нас для каздой группы в статусе есть графические элементы.

В стату с пользователя автоматически заносим его принадлежность к группе: группа1 группа2 группа3. Я так понял, что в теле скрипта будет стаять цикл, так что: если статус == исходное_значение1 то тогда статус == 1_выходное_значение1 + 2_выходное_ значение_х, и так для каждого возможного значения статуса, в нашем случает 3. я правильно понимаю. Таким образом до скрипта у нас в статусе отображаетс некий ID группы, а после скрипта будет в статусе 1_выходное_значение1 + 2_выходное_ значение_х причем х зависит от числа сообщений...

лучше напишу на карявом...

arr1=['gr1', 'gr2', 'gr3']  //всевозможные ID групп в статусе

arr2==['zvezda', 'krest', 'nolik'] //специфические названия фалов звездочек для различных групп

for i = 1 to 3 {
  if user.stus = arr[i] {
    star="<img src='"+ arr2[i] +"0.gif'>"
    if user.post >0 {star="<img src='"+ arr2[i] +"1.gif'>"}
    if user.post >10 {star="<img src='"+ arr2[i] +"2.gif'>"}
    if user.post >50 {star="<img src='"+ arr2[i] +"3.gif'>"}
    if user.post >100 {star="<img src='"+ arr2[i] +"4.gif'>"}
    if user.post > 500 {star="<img src='"+ arr2[i] +"5.gif'>"}
  }
}

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

теперь бы хорошо было бы оформить данный скрипт по всем правилам...

я так понял, что параметры пользователя КОЛИЧЕСВОПОСТОВ и СТАТУС можно получить в переменную

0

8

Цикл будет, но не в том. Хорошо, напишу через пометку в статусе.

0

9

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


С уважением
Сеебостьяан Вайс Кудараусскас дела Корбин,
Старейшина Альмарэина - Города Эльфов.

0

10

ок. Но это уже , извините до завтра. Поздно для мыслительных процессов. ))

0

11

Seebostian Weiss написал(а):

Сеебостьяан Вайс Кудараусскас дела Корбин,
Старейшина Альмарэина - Города Эльфов

А это, что за жук? Простите меня за флуд...

0

12

:lol:

0

13

Может сделать статус зависимым от этого скрипта:

Код:
<script type="text/javascript">
var cont=document.getElementsByTagName("legend")
if (cont[0].innerHTML.indexOf("Укажите дополнительные данные")!=-1)
{document.getElementById('fld1').style.display="none"
var form=document.getElementById('profile8').innerHTML
var init=document.getElementById('fld1').value
document.getElementById('profile8').innerHTML=form.substring(0, (form.indexOf("fld1")-11))+"<select id='subst'>"+"<option value ='Ситх'>Ситх</option>"+"<option value ='Джедай'>Джедай</option>"+"<option value='Контрабандист'> Контрабандист </option>"+"</select>"+form.substr((form.indexOf("fld1")-11))
document.getElementById('subst').value=document.getElementById('fld1').value
document.getElementsByName('update')[0].onclick=transForm}
function transForm()
{document.getElementById('fld1').value=document.getElementById('subst').value
return true}
</script>
Вместо синих слов - вставляете свои ранги-опции. Чтобы увеличить их количество размножайте в скрипте этот блок
"<option value='ведьма'>ведьма</option>" вместо красного троеточия (если рангов больше не надо. тоеточие выкиньте), соединяя их между собой плюсами.
Если речь идет о втором посчету, а не опервом доп поле в профиле, в скрипте ВЕЗДЕ fld1 замените на fld2

0

14

это совсем не то. Выложенный Вами скрипт - это добавление в одно из полей прсотого селектора... а это не то что нужно.

Или же это просто попутная просьба? тогда возникает вопрос: раз информация данного селектора и так отображается в доп. поле. зачем ее  еще заносить в статус. (статус автоматически будет отображать поле из группы, если его не заполнять в профиле... )

Zebra, как там скрипт? =) понимаю, что таких как я пользователей данного ресурса не мало, но все же... :)

0

15

Zebra, просьба все еще актуальна

0

16

<script type="text/javascript">
var modir=document.getElementsByTagName("li")

for (x in modir)
if (modir[x].className=="pa-title")
{
    if(modir[x].innerHTML.indexOf("Администрация")!=-1)
    modir[x].innerHTML="<img src='Адрес картинки' />"
}
</script>

вот скрипт зависимости от статуса. нужно изменить чтобы зависело от поля№1. добавить еще зависимость от количества сообщений. Ну помогите же!

0

17

как я понял нужновместо modir[x].className=="pa-title" поставить modir[x].className=="pa-fld1" и там уже проверять. таким же образом можно подобраться и к числу сообщений?:???

0

18

Seebostian Weiss
эхххх... такой вы настойчивый....... лана, сейчас покурю - напишу, зайдите через полчасика.

0

19

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

точнее как. оно работает только рядом с сообщениями, а вот на закладке УЧАСТНИКИ нет... может что-то где-то подправить?

Отредактировано Seebostian Weiss (Вс, 11 Фев 2007 01:38:40)

0

20

Seebostian Weiss
держите

<script type="text/javascript">
var authors=document.getElementById('pun-main').getElementsByTagName("ul")
var cd=0
for (cd=0; cd<=(authors.length-1); cd++)
{if (authors[cd].innerHTML.indexOf("pa-author")!=-1)
{var posts=authors[cd].getElementsByTagName("li")
var ze=1
for (ze=1; ze<=(posts.length-1); ze++)
{var group=posts[1].innerHTML
if (posts[ze].className=="pa-posts")
{var status=(posts[ze].innerHTML.substr((posts[ze].innerHTML.indexOf(":")+2)))*1
if (status<10)
{if (group.indexOf("хорьки")!=-1)
{posts[1].innerHTML="Fig1"}
else if (group.indexOf("коржики")!=-1)
{posts[1].innerHTML="Fig2"}}
else if ((status>=10)&&(status<50))
{if (group.indexOf("хорьки")!=-1)
{posts[1].innerHTML="Fig1"}
else if (group.indexOf("коржики")!=-1)
{posts[1].innerHTML="Fig2"}}
else if ((status>=50)&&(status<100))
{if (group.indexOf("хорьки")!=-1)
{posts[1].innerHTML="Fig1"}
else if (group.indexOf("коржики")!=-1)
{posts[1].innerHTML="Fig2"}}
else if ((status>=100)&&(status<500))
{if (group.indexOf("хорьки")!=-1)
{posts[1].innerHTML="Fig1"}
else if (group.indexOf("коржики")!=-1)
{posts[1].innerHTML="Fig2"}}
else if (status>=500)
{if (group.indexOf("хорьки")!=-1)
{posts[1].innerHTML="Fig1"}
else if (group.indexOf("коржики")!=-1)
{posts[1].innerHTML="Fig2"}}
}}}}
</script>

Кароче хорьки и коржики - это у вас две группы. Хотите зовите по другому. Соответсвенно везде в скрипте хорьки и коржики заменить на свое.
Прописываем каждому челу в статус его группу. Название может быь условным ибо его никто не увидит.

Дальше по скрипту надеюсь разберетесь, по циферкам постов, куда совать адреса картинки
на картинку надо менять Fig1 и Fig2
Делаете так
Там, нгде например "Fig1" пишете "<img src='...' />"  Одинарные и двойные кавычки цередую не случайно не перепутайте.

0


Вы здесь » Единый форум поддержки » Архив » Зависимость статуса от сообщений и группы