Модификация скрытого текста. Duka
Данный скрипт увеличивает возможности стандартного "скрытого текста".
Возможности использования по нескольким условиям:
• количеству репутации(уважения);
• количеству позитива;
• сообщение для группы;
• сообщение для пользователя;
• ограничение по возрасту.
Смело ставим в HTML-в форме ответа. Если планируется использовать в закрытых темах -> HTML-низ.
Как работает?
Используем стандартный хайд http://forum.mybb.ru/i/lock.png, в теле хайда, в самом начале, пишем одно из следующих условий
user=56; //Для пользователя с id=56 (смотреть ссылку профиля)
group=3; //Для группы. id смотреть в параметре show_group= в адресной строке при выборе группы на странице Участники
respect=50; //Для пользователей, у которых суммарное уважение(+/-) больше 50
positive=20; //Для пользователей, у которых суммарный позитив(+/-) больше 20
age=18; //Для пользователей старше 18 лет
Например,
[hide]group=2; Сообщение модераторам...[/hide]
Вместе с условием по количеству сообщений
[hide=20]group=2; Сообщение модераторам, набравшие 20 сообщений...[/hide]
Сам скрипт:
<script type="text/javascript"> var quote = document.getElementsByTagName("blockquote") var n, condition; var typet = new Array("respect", "group", "positive", "user", "age"); var typer = new Array((UserRespectPlus-UserRespectMinus).toString(), (GroupID).toString(), (UserPositivePlus-UserPositiveMinus).toString(), (UserID).toString(), (UserAge).toString()); for(q=0;q<typet.length;q++){ for(i=0;i<quote.length;i++){ if(quote[i].previousSibling.innerHTML.indexOf("Скрытый текст")!=-1){ if(quote[i].innerHTML.indexOf(typet[q]+"=")!=-1){ n=parseInt(quote[i].innerHTML.substring(quote[i].innerHTML.indexOf(typet[q]+"=")+(typet[q].length+1), quote[i].innerHTML.indexOf(";"))) if(isNaN(n)==false){ if(q==0){condition = parseInt(typer[0]) < n;} else if(q==1){condition = parseInt(typer[1]) != n;} else if(q==2){condition = parseInt(typer[2]) < n;} else if(q==3){condition = parseInt(typer[3]) != n;} else if(q==4){condition = parseInt(typer[4]) < n;} if(condition){ if(q==0){ quote[i].innerHTML="Для просмотра скрытого текста нужно иметь "+n+" очков репутации. Осталось набрать "+(n-parseInt(typer[q])) }else if(q==1){ quote[i].innerHTML="Вашей группе запрещено просматривать данное сообщение" }else if(q==2){ quote[i].innerHTML="Для просмотра скрытого текста нужно иметь "+n+" очков позитива. Осталось набрать "+(n-parseInt(typer[q])) }else if(q==3){ quote[i].innerHTML="Данный текст предназначен для <a href='profile.php?id="+n+"'>этого</a> пользователя." }else if(q==4){ quote[i].innerHTML="Вам должно испольниться "+n+" лет(года)." } } else { quote[i].innerHTML=quote[i].innerHTML.substring(quote[i].innerHTML.indexOf(typet[q]+"="+n+";")+((typet[q].length+2)+n.toString().length)) } } } } } } </script>
Скрипт на данный момент не умеет совмещать в себе несколько условий разом, так что скрещивать хайды не имеет смысла