На форуме есть bb-код [info] [/info], обычно в эти теги вставляется важная информация.
Нужен скрипт, что бы можно было вставлять еще и ник юзера, тем самым инфа будет видна только ему.
[info=USER] [/info]
BB-код
Сообщений 1 страница 4 из 4
Поделиться1Вт, 17 Сен 2013 18:43:25
Поделиться2Вт, 17 Сен 2013 19:36:19
Fover
Простейший вариант выпарсить ник из тега - сравнивать с текущим UserLogin
При равенстве показывать содержимое...
можно дополнительно кодирнуть вставляемый контент, на этапе обрамления в тег [info=USER] [/info] к примеру через escape
Лучший вариант делать через спойлер, поскольку тогда контент скрыт изначально
[spoiler="info=USER1,USER2,USER3"][/spoiler]
Да и выпарс Ников = попроще.
Если такие ники не соответствуют юзеру - просто удаляем спойлер со страницы, если есть - автооткрываем
Отредактировано Deff (Вт, 17 Сен 2013 19:42:21)
Поделиться3Вт, 17 Сен 2013 20:18:05
Deff
Помогешь?
Вот сам скрипт:
$(".post .post-content").each(function(){ var L = $(this).html(); var oft = L.split("[info]"); var R = oft[0]; for (var i = 1; i < oft.length; i++) { var st = oft[i]; var text = st.substring(0, st.indexOf("[/info]")); var another = st.substring(st.indexOf("[/info]")+7); R += "" + text + "" + another; } $(this).html(R); });
Поделиться4Вт, 17 Сен 2013 23:13:35
Cкрытое, секретное сообщение для Ника(Ников) в топике
В Начало HTML низ
<!-- Cпойлер Персональной Инфы - для Ника(Ников) -->
<script type="text/javascript">
(function(){
$('.post-content .quote-box.spoiler-box > div[ onclick*="toggleClass"]:contains("for Nick(s)|")').each(function(){
var sp=$(this).parent();
if(!$('#pun-navlinks #navprofile').length){sp.remove();return true}
var title = $(this).text().replace(/for Nick\(s\)\|/i,'').split(',');
var pass = false; for(var i=0;i<title.length;i++) if(title[i]==UserLogin){pass=true;break;}
if(!pass){sp.remove();return true}
$(this).html('<b style="color:red">Персональная ин-фа для '+UserLogin+' </b>');
//var cnt = sp.find('blockquote:first>p');cnt.text(unescape(cnt.html()))
});
Wraper_SP = function (){
var bound = '###spForYOU###';
var Nam = '';Nam = prompt("Спойлер персональной инфы для следующих Ников\n\nВведите через запятую нужные Ник(и):","");
Nam = Nam.split(/\s?\s?\s?,\s?\s?\s?/ig).join(',')+','+UserLogin;
var a = "[", b = "]",end =bound+ a +'/spoiler'+b;
var start = a+'spoiler="for Nick(s)|'+Nam+'"'+b+bound;
var rgxs = new RegExp(bound,"gim");
$("#main-reply").focus(); bbcode(start,end);var arr = $("#main-reply").val().replace(rgxs,'');$("#main-reply").val(arr);
}
if($('#pun-edit,#pun-post,#pun-viewtopic').length){
var tit = "Спойлер Персональной инфы"
$('#form-buttons #button-spoiler').after('<td id="button-sp_for_you" title="'+tit+'" align=center valign=center><img style="height:22px;width:22px;margin:-4px -2px 0 -2px;" src="http://savepic.org/1446271.gif" onclick="Wraper_SP()"/></td>');
}}());
</script>
Порядок действий:
Написать свой текст, его выделить, потом жать на кнопку сундучок и вводить нужные ники!
Отредактировано Deff (Ср, 18 Сен 2013 01:37:32)