Баллы - это модуль с помощью которого можно автоматически заказать различные услуги.
Баллы можно зарабатывать проявляя активность на сайте, имеется возможность передачи.
Стандартные модули:
- Возможность передачи баллов, при этом пользователю приходит ЛС о том что ему зачислили баллы
- Покупка награды за баллы
- Ротатор ссылок, за n кол-во баллов ссылка появляется в блоке (в самом
верху), при этом самая нижняя исчезает если ссылок больше 5.
- Возможность изменения баллов прямо с профиля пользователя (Появляется кнопочка "Изменить" у администратора с id 1)
- Повышение репутации, бот ставит от себя + купившему услугу
Установка: ===== Настройка PHP
Создаем на сайте пользователя (пароль по сложней) и переносим его в группу администраторов, это будет ваш бот.
В папке "ball" открываем "config.php" в любом текстовом редакторе (советую "
Notepad++") и редактируем под себя.
Готово! Заливаем папку "ball" в папку "scripts" через FTP.
===== Работа с шаблонами
Заходим в панель управления "Настройки" -> "Общие настройки" ->
"Разрешить использование API" -> Ставим галочку ("API key" - НЕ
надо).
Открываем код "Персональная страница пользователя" и после
if($AWARDS_READ_URL$ || $_REP_READ_URL$)?>.....endif?>
Вставляем код
<!--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>Баллы пользователя - это модуль с
помощью которого можно автоматически буквально за пару секунд заказать
различные услуги. Баллы выдаются за активность на сайте, в профиле можно
посмотреть за что и сколько баллов вы можете получить, так же имеется
возможность баллы передавать и покупать, 1руб равен 3
баллом.</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>
[ <a href="javascript://" onclick="ballmod()">Услуги</a>
] [ <a href="javascript://"
onclick="redball()">Изменить</a> ]');
});
}
getball();
</script>
<script type="text/javascript" src="/php/ball/index.php?w=datamod&m=allmod"></script>
Теперь передача баллов, после
if($_PM_SEND_URL$)?>.....endif?>
Ставим
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?>
------- Ротатор ссылок
Вы покупаете ссылку за баллы и она появляется в самом верху блока, при
этом самая нижняя исчезает если ссылок больше 5 (значение меняеться).
Установка очень проста, вставляем код в блок на сайте, сохраняем и
готово! Код можно вставить в любое место на сайте где хотите видеть
ссылки.
<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>
Готово!