Стена пользователя — для uCoz

Стена пользователя  — для uCoz
С помощью данного скрипта, каждый пользователь может подключить себе стену, на которую любые пользователи могут оставлять свои записи, пожелания и так далее. Реализовано:

  • Вытянут код безопасности
  • Усовершенствованы переключатели страниц
  • Удаление комментария без подтверждения
Установка: Для начала активируем модуль "Доска объявлений". Создайте одну категорию с любым названием.Если уже есть материалы с категориями, то удалите всё и добавьте также одну категорию. Настраиваем модуль по скринам:Обязательно уберите модерацию в модуле "Доска объявлений" для пользователей. Далее заходим в вид комментариев и в самое начало ставим:
Code
<?if($MODULE_ID$='board')?>
<table width="100%">
<tr>
<td align="left" valign="top">
<?if($USER_AVATAR_URL$)?><a href="$PROFILE_URL$"><img src="$USER_AVATAR_URL$" border="0" style="max-width: 50px;"></a><?else?><a href="$PROFILE_URL$"><img src="http://ucodes.ru/images/noava.png" border="0" style="max-width: 50px;"></a><?endif?>
</td>
<td width="100%" align="left" valign="top">
<div style="background:#f7f7f7;border-top:1px solid #e0e0e0;border-bottom:1px solid #f0f0f0;padding-bottom:10px;padding-left:10px;padding-right:10px;padding-top:5px;"><div style="float:left;"><a href="$PROFILE_URL$"><b><font color="#666666">$USERNAME$</font></b></a><br>$DATE$ <b>в</b> $TIME$</div><?if($MODER_PANEL$)?><div style="float:right;"><img src="http://ucodes.ru/upload/icons/del_id.png" style="cursor:pointer;" onclick="delcom('$ID$')"></div><?endif?><br><br></div>
<div style="padding:5px;">$MESSAGE$</div>
</td>
</tr>
</table>

<br>
<?else?>
и в самый конец:
Code
<?endif?>
Прошу обратить внимание, что удалять в виде комментариев ничего не надо. Далее переходим на страницу материала и комментариев к нему "Доски объявлений" и всё заменяем на:
Code
<div class="owallru"><div align="right"><span id="psel">$COM_PAGE_SELECTOR$</span></div><br>$COM_BODY$
<style>
.swchItem{background:#f7f7f7;border:1px solid #e4e3e3;padding:7px;}
.swchItem:hover{background:#FFF;border:1px solid #e4e3e3;padding:7px;}
a.swchItem{font-size:12px;color:#333;text-decoration:underline;}
</style>
<div style="display:none;">$COM_ADD_FORM$</div></div>
$POWERED_BY$
И в этом же модуле, вид материалов заменяем на:
Code
<div class="owall"><a href="$ENTRY_URL$">$ENTRY_URL$</a> <span id="numberwall">$ID$</span></div>
Далее в дизайне персональной страницы перед </body> ставим код:
Code
<script type="text/javascript">
function pageget() {
$('.pagesBlock1').find('b').remove().end().find('a').each(function () {if ($(this).text() === '«') {$(this).text('« Назад');}else if($(this).text() === '»') {$(this).text('Вперёд »');} else {$(this).remove();}});
}
setTimeout('pageget()',500);
function spages (page) {
setTimeout('pageget()',500);
idms = $('.wall').find('#numberwall').text();
$('#wallru').load('/board/1-'+page+'-0-'+idms+' .owallru');
};
idm = $('.wall').find('#numberwall').text();
<?if($_BOARD_ENTRIES$)?><?else?>function activate_wall() {
$('#an5as').html(' - <u>loading...</u>')
$.get('/board/0-0-0-0-1', function(data){  
var ssid = $('input[name="ssid"]', data).val();  
$.post('/board/', {a: '12',ocat: '1',jkd428: '1',jkd498: '1',ajax: '1',title: '$USERNAME$_wall',coms_allowed: '1',ssid: ssid}, function(stractive){
ssssstr = $(stractive).text();
if(ssssstr.indexOf('успешно')!=-1){$('#an5as').html(' - <font color="blue">Стена активирована. Изменения вступят в силу через 1 минуту.</font>')}
});  
});  

}<?endif?>
$('#awall').click(function() {
idm = $('.wall').find('#numberwall').text();
new _uWnd('adwall','Оставить запись',500,100,{align:0,shadow:0,close:1,autosize:1,maxh:400,minh:100,oncontent:function() {
$.get('/board/1-1-0-'+idm, function(data){
cseckey = $('input[name="seckey"]',data).val();
wcph = $('#secuImgC',data).attr('src');
wcphr = $('#secuImgC',data).attr('onclick');
if(wcph == undefined){$('#mbcap').hide();$('#otdop').html('<fieldset><legend>Group</legend>Вы избавлены от ввода кода безопасности.</fieldset>')}
$('#tcph').html("<img id='caphawallreload' align='absmiddle' src='"+wcph+"'>");
$('#caphawallreload').click(wcphr);});
}
}, '<fieldset><legend>Сообщение <span id="werror"></span></legend><textarea id="twall"></textarea></fieldset><span id="otdop"></span><fieldset id="mbcap"><span id="tcph"></span> <input size="5" type="text" id="polechp"></fieldset><fieldset><table border="0" cellpadding="0" cellspacing="0" onmousedown="this.className=\'downBtn\'" onmouseover="this.className=\'overBtn\'" onmouseout="this.className=\'outBtn\'"><tr><td class="myBtnLeft"><img alt="" border="0" src="http://s1.ucoz.net/img/1px.gif"/></td><td class="myBtnCenter"><div class="myBtnCont x-unselectable" unselectable="on"><a href="javascript://" onclick="addwall()">Готово</a> </div> </td><td class="myBtnRight"><img alt="" border="0" src="http://s1.ucoz.net/img/1px.gif"/></td></tr></table></fieldset>' )
});
$('.wall').load('$_BOARD_ACTIVITY_URL$ .owall',function(data){

wallres = $('.owall').find('a').attr('href');
$('#wallru').load(wallres+' .owallru');});
ertype = ["Заполните поле комментарий","Запись добавлена","Неверно введён код безопасности"];

function addwall() {  
$('#werror').html(' - <font color="black"><u>Пожалуйста, подождите...</u></font>')
$.get('/board/1-1-0-'+idm, function(data){
var ssid = $('input[name="ssid"]', data).val();  
$.post('/index/', {a: '36',id: idm,m: '7',message: $('#twall').val(),code: $('#polechp').val(),seckey: cseckey,sos: ssid},  
function(wertext){
mwer = $(wertext).text();
if(mwer.indexOf('заполнено')!=-1){$('#werror').html(' - <font color="red">'+ertype[0]+'</font>')}
else if(mwer.indexOf('успешно')!=-1){$('#werror').html(' - <font color="blue">'+ertype[1]+'</font>')}
else if(mwer.indexOf('безопасности')!=-1){$('#werror').html(' - <font color="red">'+ertype[2]+'</font>');$('#caphawallreload').click()}
});  
});  

}
function delcom(id){_uPostForm('',{url:'/index/38-'+id})}
</script>
и тут же находим:
Code
<?if($_SIGNATURE$)?>
<div id="block21" class="udtb"><div class="udtlb">Подпись:</div> $_SIGNATURE$</div>
<?endif?>
и сразу после, ставим:
Code
<div style="padding:<?if($_BOARD_ENTRIES$)?>10px;<?endif?>0px;<?else?>">
<div style="display:none;"><div class="wall"></div></div>
<?if($_BOARD_ENTRIES$)?><center><div id="awall">Оставить запись на стене</div></center><br><?else?><div id="block21" class="udtb"><div class="udtlb">Персональная стена:</div> <b>Не активирована</b><?if($USER_ID$=$_USER_ID$)?>  [ <small><a href="javascript://" onclick="activate_wall()">Активировать</a></small><span id="an5as"></span> ]<?endif?></div><?else?><?endif?>
<div id="wallru"></div>
<style>
#twall{width:100%;height:50px;}
#polechp{width:90px;height:35px;font-size:14px;font-weight:bold;}
#awall{background:#f8f8f8;border:1px solid #dedede;padding:5px;display:inline-block;color:#454444;text-shadow: 0 1px 0 #fff;font-size:12px;cursor:pointer;}
#awall:hover{background:#fbfafa;border:1px solid #dedede;padding:5px;display:inline-block;color:#454444;text-shadow: 0 1px 0 #fff;font-size:12px;cursor:pointer;}
#polechp{width:90px;height:35px;font-size:13px;font-weight:bold;padding:4px;margin:4px;text-align: center;}
</style>

</div>
Обратите внимание, что может быть включена "Премодерация комментариев" для пользователей. В таком случаее её необходимо отключить.
Для того, чтобы пользователи могли удалять свои записи на своих стенах, необходимо зайди на страницу "Установка прав для всех групп" (//ваш сайт/panel/?a=users;l=groups;t=8) и настроить по скрину: Протестировать можно активировав стену в своём профиле на uCodes.Ru
Скачать файлы