Баллы выдаются за активность на сайте, в профиле можно посмотреть за что и сколько баллов вы можете получить, так же имеется возможность передавать баллы. [/paddi][/zzz]
[zzz][paddi]Стандартные модули:
- Возможность передачи баллов, при этом пользователю приходит ЛС о том что ему зачислили баллы
- Покупка награды за баллы
- Ротатор ссылок, за n кол-во баллов ссылка появляется в блоке (в самом верху), при этом самая нижняя исчезает если ссылок больше 5.
- Возможность изменения баллов прямо с профиля пользователя (Появляется кнопочка "Изменить" у администратора с id 1)
- Повышение репутации, бот ставит от себя + купившему услугу [/paddi][/zzz]
[den][paddi]Установка: [/paddi][/den]
[zzz][paddi]Настройка PHP
Работа с шаблонами Создаем на сайте пользователя (пароль по сложней) и переносим его в группу администраторов, это будет ваш бот.
В папке "ball" открываем "config.php" в любом текстовом редакторе (советую "Notepad++") и редактируем под себя.
Готово! Заливаем папку "ball" в папку "scripts" через FTP. [/paddi][/zzz]
[zzz][paddi]Работа с шаблонами
Заходим в панель управления "Настройки" -> "Общие настройки" -> "Разрешить использование API" -> Ставим галочку ("API key" - НЕ надо). [/paddi][/zzz]
[zzz][paddi]Открываем код "Персональная страница пользователя" и после [/paddi][/zzz]
Code
<?if($AWARDS_READ_URL$ || $_REP_READ_URL$)?>.....<?endif?>
[zzz][paddi]Вставляем код [/paddi][/zzz]
Code
<!--uBall<<?$AWARDS$*5 + $_REPUTATION$*3 + $_FORUM_ENTRIES$*2 + $_RANK$*10 + $_COM_ENTRIES$?>>-->
<style>
.ball-tacles {width:100%;}
.ball-tacles .theads {width:130px;background:#FBFBFB;color:#888888;font: 11px Tahoma}
.ball-tacles, .ball-tacles td {border:1px solid #E4E4E4;font: 11px Tahoma}
.ball-tacles {border-width:1px 0px 0px 1px}
.ball-tacles td {border-width:0px 1px 1px 0px; height:26px; padding:0px 7px 0px 7px;}
.xt-uHelp {background-position: 0 -300px;}
.xt-uHelp-over {background-position: -15px -300px;}
.ibl{float:left;width:35px}
.ibl img{opacity:0.5}
.cbl{margin-left:35px}
.hbl{padding:5px}
.b0{opacity:0.0}
</style>
<div class="udtb"><div class="udtlb">Баллы:</div> <span id="balls">Загрузка...</span></div>
<script type="text/javascript">
// by ВэйДлин - uPost.su
var balls = <?$AWARDS$*5 + $_REPUTATION$*3 + $_FORUM_ENTRIES$*2 + $_RANK$*10 + $_COM_ENTRIES$?>, dt, dtm;
function bls(){
new _uWnd('ball','Баллы пользователя ('+dt+declOfNum(dt, [" балл", " балла", " баллов"])+')',300,100,{align:'left',autosize:1,resize:0,customButtons: {
'uHelp': [true, function(){
new _uWnd('bHelp','Помощь',300,200,{align:'left',autosize:1,resize:0},'<fieldset><legend><b>Баллы пользователя</b></legend>Баллы пользователя - это модуль с помощью которого можно автоматически буквально за пару секунд заказать различные услуги. Баллы выдаются за активность на сайте, в профиле можно посмотреть за что и сколько баллов вы можете получить.</fieldset>');
}]
}},'<table class="ball-tacles" cellspacing="0" cellpadding="0"><tr><td><center><b>За что</b></center></td><td><center><b>Сколько</b></center></td></tr><tr><td class="theads"><b>$AWARDS$</b> '+declOfNum($AWARDS$, ["награда", "награды", "наград"])+':</td><td> <?$AWARDS$*5?></td></tr><tr><td class="theads"><b>$_REPUTATION$</b> '+declOfNum(<?$_REPUTATION$?>, ["единица", "еденицы", "единиц"])+' репутации:</td><td> <?$_REPUTATION$*3?></td></tr><tr><td class="theads"><b>$_FORUM_ENTRIES$</b> '+declOfNum($_FORUM_ENTRIES$, ["пост", "поста", "постов"])+' на форуме:</td><td> <?$_FORUM_ENTRIES$*2?></td></tr><tr><td class="theads"><b>$_COM_ENTRIES$</b> '+declOfNum($_COM_ENTRIES$, ["комментарий", "комментария", "комментариев"])+':</td><td> $_COM_ENTRIES$</td></tr><tr><td class="theads"><b>$_RANK$</b> ранг:</td><td> <?$_RANK$*10?></td></tr><tr><td class="theads"><b>Изменено:</b></td><td> '+dtm+'</td></tr></table>');
}
<?if($USER_ID$==1)?>function redball(){
new _uWnd('rbl','Изменение баллов',400,240,{align:'left',autosize:1,resize:0,oncontent:function(){
$('#rbl').click(function(){
$(this).attr('disabled', true);
$('#rblc').html('<img src="http://s54.ucoz.net/.s/img/wd/1/ajaxs.gif" border="0">');
$.get('/php/ball/index.php?w=change&i=$_USER_ID$&'+$('#whwr').val()+'='+$('#rbli').val(), function(data){
getball();
$('#rblc').html(data);
$('#rbl').attr('disabled', false);
});
});
}},'<fieldset><legend><b>Что сделать</b></legend><select size="1" id="whwr"><option value="p">Прибавить</option><option value="m">Отнять</option></select></fieldset><fieldset><legend><b>На сколько</b></legend><input style="width:100%" value="" id="rbli" type="text"></fieldset><fieldset><div id="rblc" style="float:left"></div><input type="button" id="rbl" style="float:right" value="Готово"></fieldset>');
}<?endif?>
function ballmod(){
new _uWnd('ballmod','Услуги сайта',400,340,{autosize:1,align:'left',oncontent:function(){
$('.hbl').mouseover(function(){
$(this).css('background', '#EDEDED');
$(this).children('div.ibl').children('img').stop().animate({'opacity':'1.0'},100);
$(this).children('div.cbl').children('span.b0').stop().animate({'opacity':'1.0'},160);
}).mouseout(function(){
$(this).css('background', '').children('div').children('img').stop().animate({'opacity':'0.5'},100);
$(this).children('div.cbl').children('span.b0').stop().animate({'opacity':'0.0'},100);
});
}},{url:'/php/ball/index.php?w=listmod',xml:false});
}
function declOfNum(number, titles){
number = number<0 ? -1*number : number;
cases = [2, 0, 1, 1, 1, 2];
return titles[ (number%100>4 && number%100<20)? 2 : cases[(number%10<5)?number%10:5] ];
}
function getball(){
$.get('/php/ball/index.php?w=get&i=$_USER_ID$', function(data){
dt = + data, dtm = dt, dt = dt + balls;
$('#balls').html('<a href="javascript://" onclick="bls()">'+dt+'</a><?if($_IS_OWN_PROFILE$)?> [ <a href="javascript://" onclick="ballmod()">Услуги</a> ]<?endif?><?if($USER_ID$==1)?> [ <a href="javascript://" onclick="redball()">Изменить</a> ]<?endif?>');
});
}
getball();
</script>
<script type="text/javascript" src="/php/ball/index.php?w=datamod&m=allmod"></script>
<style>
.ball-tacles {width:100%;}
.ball-tacles .theads {width:130px;background:#FBFBFB;color:#888888;font: 11px Tahoma}
.ball-tacles, .ball-tacles td {border:1px solid #E4E4E4;font: 11px Tahoma}
.ball-tacles {border-width:1px 0px 0px 1px}
.ball-tacles td {border-width:0px 1px 1px 0px; height:26px; padding:0px 7px 0px 7px;}
.xt-uHelp {background-position: 0 -300px;}
.xt-uHelp-over {background-position: -15px -300px;}
.ibl{float:left;width:35px}
.ibl img{opacity:0.5}
.cbl{margin-left:35px}
.hbl{padding:5px}
.b0{opacity:0.0}
</style>
<div class="udtb"><div class="udtlb">Баллы:</div> <span id="balls">Загрузка...</span></div>
<script type="text/javascript">
// by ВэйДлин - uPost.su
var balls = <?$AWARDS$*5 + $_REPUTATION$*3 + $_FORUM_ENTRIES$*2 + $_RANK$*10 + $_COM_ENTRIES$?>, dt, dtm;
function bls(){
new _uWnd('ball','Баллы пользователя ('+dt+declOfNum(dt, [" балл", " балла", " баллов"])+')',300,100,{align:'left',autosize:1,resize:0,customButtons: {
'uHelp': [true, function(){
new _uWnd('bHelp','Помощь',300,200,{align:'left',autosize:1,resize:0},'<fieldset><legend><b>Баллы пользователя</b></legend>Баллы пользователя - это модуль с помощью которого можно автоматически буквально за пару секунд заказать различные услуги. Баллы выдаются за активность на сайте, в профиле можно посмотреть за что и сколько баллов вы можете получить.</fieldset>');
}]
}},'<table class="ball-tacles" cellspacing="0" cellpadding="0"><tr><td><center><b>За что</b></center></td><td><center><b>Сколько</b></center></td></tr><tr><td class="theads"><b>$AWARDS$</b> '+declOfNum($AWARDS$, ["награда", "награды", "наград"])+':</td><td> <?$AWARDS$*5?></td></tr><tr><td class="theads"><b>$_REPUTATION$</b> '+declOfNum(<?$_REPUTATION$?>, ["единица", "еденицы", "единиц"])+' репутации:</td><td> <?$_REPUTATION$*3?></td></tr><tr><td class="theads"><b>$_FORUM_ENTRIES$</b> '+declOfNum($_FORUM_ENTRIES$, ["пост", "поста", "постов"])+' на форуме:</td><td> <?$_FORUM_ENTRIES$*2?></td></tr><tr><td class="theads"><b>$_COM_ENTRIES$</b> '+declOfNum($_COM_ENTRIES$, ["комментарий", "комментария", "комментариев"])+':</td><td> $_COM_ENTRIES$</td></tr><tr><td class="theads"><b>$_RANK$</b> ранг:</td><td> <?$_RANK$*10?></td></tr><tr><td class="theads"><b>Изменено:</b></td><td> '+dtm+'</td></tr></table>');
}
<?if($USER_ID$==1)?>function redball(){
new _uWnd('rbl','Изменение баллов',400,240,{align:'left',autosize:1,resize:0,oncontent:function(){
$('#rbl').click(function(){
$(this).attr('disabled', true);
$('#rblc').html('<img src="http://s54.ucoz.net/.s/img/wd/1/ajaxs.gif" border="0">');
$.get('/php/ball/index.php?w=change&i=$_USER_ID$&'+$('#whwr').val()+'='+$('#rbli').val(), function(data){
getball();
$('#rblc').html(data);
$('#rbl').attr('disabled', false);
});
});
}},'<fieldset><legend><b>Что сделать</b></legend><select size="1" id="whwr"><option value="p">Прибавить</option><option value="m">Отнять</option></select></fieldset><fieldset><legend><b>На сколько</b></legend><input style="width:100%" value="" id="rbli" type="text"></fieldset><fieldset><div id="rblc" style="float:left"></div><input type="button" id="rbl" style="float:right" value="Готово"></fieldset>');
}<?endif?>
function ballmod(){
new _uWnd('ballmod','Услуги сайта',400,340,{autosize:1,align:'left',oncontent:function(){
$('.hbl').mouseover(function(){
$(this).css('background', '#EDEDED');
$(this).children('div.ibl').children('img').stop().animate({'opacity':'1.0'},100);
$(this).children('div.cbl').children('span.b0').stop().animate({'opacity':'1.0'},160);
}).mouseout(function(){
$(this).css('background', '').children('div').children('img').stop().animate({'opacity':'0.5'},100);
$(this).children('div.cbl').children('span.b0').stop().animate({'opacity':'0.0'},100);
});
}},{url:'/php/ball/index.php?w=listmod',xml:false});
}
function declOfNum(number, titles){
number = number<0 ? -1*number : number;
cases = [2, 0, 1, 1, 1, 2];
return titles[ (number%100>4 && number%100<20)? 2 : cases[(number%10<5)?number%10:5] ];
}
function getball(){
$.get('/php/ball/index.php?w=get&i=$_USER_ID$', function(data){
dt = + data, dtm = dt, dt = dt + balls;
$('#balls').html('<a href="javascript://" onclick="bls()">'+dt+'</a><?if($_IS_OWN_PROFILE$)?> [ <a href="javascript://" onclick="ballmod()">Услуги</a> ]<?endif?><?if($USER_ID$==1)?> [ <a href="javascript://" onclick="redball()">Изменить</a> ]<?endif?>');
});
}
getball();
</script>
<script type="text/javascript" src="/php/ball/index.php?w=datamod&m=allmod"></script>
[zzz][paddi]Теперь передача баллов, после[/paddi] [/zzz]
Code
<?if($_PM_SEND_URL$)?>.....<?endif?>
[zzz][paddi]Ставим[/paddi] [/zzz]
Code
<?if(!$_IS_OWN_PROFILE$)?>
<div style="padding-top:4px;"">[ <a href="javascript://" onclick="b_send()">Отправить баллы</a> ]</div>
<script type="text/javascript">var USER_ID = $_USER_ID$;</script>
<script type="text/javascript" src="/php/ball/index.php?w=datamod&m=send"></script>
<?endif?>
<div style="padding-top:4px;"">[ <a href="javascript://" onclick="b_send()">Отправить баллы</a> ]</div>
<script type="text/javascript">var USER_ID = $_USER_ID$;</script>
<script type="text/javascript" src="/php/ball/index.php?w=datamod&m=send"></script>
<?endif?>
[zzz][paddi]Ротатор ссылок
Вы покупаете ссылку за баллы и она появляется в самом верху блока, при этом самая нижняя исчезает если ссылок больше 5 (значение меняеться).
Установка очень проста, вставляем код в блок на сайте, сохраняем и готово! Код можно вставить в любое место на сайте где хотите видеть ссылки. [/paddi][/zzz]
Code
<div id="blk">Загрузка...</div>
<?if($USER_LOGGED_IN$)?>
<hr> [ <a href="javascript://" onclick="b_links()">Добавить ссылку</a> ]
<script type="text/javascript" src="/php/ball/index.php?w=datamod&m=links"></script>
<?endif?>
<script type="text/javascript">$('#blk').load('/php/ball/index.php?w=links&t=get');</script>
<?if($USER_LOGGED_IN$)?>
<hr> [ <a href="javascript://" onclick="b_links()">Добавить ссылку</a> ]
<script type="text/javascript" src="/php/ball/index.php?w=datamod&m=links"></script>
<?endif?>
<script type="text/javascript">$('#blk').load('/php/ball/index.php?w=links&t=get');</script>
[zzz][paddi]Готово! [/paddi][/zzz]