Например:
Пятница, 29.03.2024, 10:13 Регистрация Карта сайта RSS Лента
Игровые новости Топ Сайтов Статьи Загрузить изображение Игровой форум Картинки
  • Страница 1 из 1
  • 1
Форум » Система Ucoz » PHP скрипты для Ucoz » Автоматические баллы на uCoz PHP (PHP)
Автоматические баллы на uCoz PHP
Dimas777
Дата: Суббота, 24.05.2014, 17:09 | Сообщение № 1
ICQ пользователя:
Skype пользователя:
Сайт пользователя:

Оффлайн
Сообщений: 300
Награды: 2
 


О подобном скрипте также мечтали многие веб-мастера. Подобий этого скрипта в сети Интернет также несколько версий и без использования php, но для них необходимо пожертвовать отдельный модуль сайта. PHP скрипт позволяет передавать баллы, начисляет их за активность на сайте и многое другое.

Стандартные модули:

- Возможность передачи баллов, при этом пользователю приходит ЛС о том что ему зачислили баллы
- Покупка награды за баллы
- Ротатор ссылок, за n кол-во баллов появляется ссылка в блоке (в самом верху), при этом самая нижняя исчезает если ссылок больше 5.
- Возможность изменения баллов прямо с профиля пользователя (Появляется кнопочка "Изменить" у администратора с id 1)
- Повышение репутации, бот от ставит себя + купившему услугу

Установка:

===== Настройка PHP
Создаем на сайте пользователя (пароль по сложней) и переносим его в группу администраторов, это будет ваш бот.
В папке "мяч" открываем "config.php" в любом текстовом редакторе (советую "Notepad++") и редактируем под себя.
Готово! Заливаем папку "мяч" в папку "scripts" через FTP.

===== Работа с шаблонами
Заходим в панель управления "Настройки" -> "Общие настройки" -> "Разрешить использование API" -> Ставим галочку ("API-ключ" - НЕ надо).

Открываем код "Персональная страница пользователя" и после:

Код
<?if($AWARDS_READ_URL$ || $_REP_READ_URL$)?>.....<?endif?>


Ставим данный код:

Код
<!--uBall<<?$НАГРАДЫ$*5 + $_REPUTATION$*3 + $_FORUM_ENTRIES$*2 + $_RANK$*10 + $_COM_ENTRIES$?>>-->  
<style>  
.ball-tacles {width:100%;}  
.ball-tacles .theads {width:130px;background:#FBFBFB;color:#888888;шрифт: 11px Tahoma}  
.ball-tacles, .ball-tacles td {border:1px solid #E4E4E4;шрифт: 11px Tahoma}  
.ball-tacles {border-width:1px 0px 0px 1px}  
.ball-tacles td {border-width:0px 1px 1px 0px; высота:26 пикс; padding:0px 7px 0px 7px;}  
.xt-uHelp {background-position: 0-300px;}  
.xt-uHelp-over {background-position: -15px-300px;}  
.ibl{float:left;Ширина: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="шары">Загрузка...</span></div>  
<script type="text/javascript">  
// по ВэйДлин - uPost.su  
var шары = <?$НАГРАДЫ$*5 + $_REPUTATION$*3 + $_FORUM_ENTRIES$*2 + $_RANK$*10 + $_COM_ENTRIES$?>, dt, dtm;  
функция bls(){  
новый _uWnd ("мяч", " Баллы пользователя ('+dt+declOfNum(dt [" балл", " балла", " баллов"])+')',300,100,{align:'left',autosize:1,Размеры:0,customButtons: {  
'uHelp': [true, function(){  
новый _uWnd('bHelp','Помощь',300,200,{align:'left',autosize:1,Размеры:0},'<fieldset><legend><b>Баллы пользователя</b></legend>Баллы пользователя - это модуль с помощью которого можно автоматически буквально за пару секунд заказать различные услуги. Баллы выдаются за активность на сайте, в профиле можно посмотреть за что и сколько баллов вы можете получить.</fieldset>');  
   }]   
}},'<table class="бал-tacles" cellspacing="0" cellpadding="0"><tr><td><center><b>За что</b></center></td><td><center><b>Сколько</b></center></td></tr><tr><td class="theads"><b>$награды$</b> '+declOfNum($Награды$, ["награда", "награды", "наград"])+':</td><td> <?$Награды$*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)?>функция redball(){  
новый _uWnd('блокировки','Изменение баллов',400,240,{align:'left',autosize:1,Размеры:0,oncontent:function(){  
$('#руб')нажмите(function(){  
$(this).attr('disabled', true);  
$('#rblc').html('<img src="http://s54.ucoz.net/.s/img/wd/1/ajaxs.gif" border="0">');  
$.get('/php/мячик/index.php?w=изменить&i=$_USER_ID$&'+$('#whwr').val()+'='+$('#rbli').val(), функция(data){  
getball();  
$('#rblc').html(данных);  
$('#руб').attr ("инвалиды", 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%" значение="" id="rbli" type="text"></fieldset><fieldset><div id="rblc" style="float:left"></div><input type="button" id="рбл" style="float:right" value="Готово"></fieldset>');  
}<?endif?>  
функция ballmod(){  
новый _uWnd('ballmod','Услуги сайта',400,340,{autosize:1,align:'left',oncontent:function(){  
$('.hbl').mouseover(function(){  
$(this), CSS('background', '#EDEDED');  
$(this).дети('div.ibl').дети('img')анимация().animate({непрозрачность':'1.0'},100);  
$(this).дети('div.cbl').дети('span.b0')анимация().animate({непрозрачность':'1.0'},160);  
}).mouseout(function(){  
$(this), CSS('background', ").дети('div').дети('img')анимация().animate({непрозрачность':'0.5'},100);  
$(this).дети('div.cbl').дети('span.b0')анимация().animate({непрозрачность':'0.0'},100);  
   });   
}},{url:'/php/мячик/index.php?w=listmod'xml:false});  
}   

функция declOfNum(число, заголовки){  
номер = число<0 ? -1*номер : номер;  
случаях= [2, 0, 1, 1, 1, 2];  
возвращение названий[ (число%100>4 && число%100<20)? 2 : случаи[(число%10<5)?число%10:5] ];  
}   
функция getball(){  
$.get('/php/мячик/index.php?w=get&i=$_USER_ID$', функции(data){  
dt = + данные dtm = dt dt = dt + мячи;  
$('#шары').html('<а href="javascript://" onclick="bls()">'+dt+'</а><?if($_IS_OWN_PROFILE$)?> [ <а href="javascript://" onclick="ballmod()">Услуги</а> ]<?endif?><?if($USER_ID$==1)?> [ <а href="javascript://" onclick="redball()">Изменить</а> ]<?endif?>');  
   });   
}   
getball();  
</script>  
<script type="text/javascript" src="/php/мячик/index.php?w=datamod&m=allmod"></script>


Теперь передача баллов, после:

Код
<?if($_PM_SEND_URL$)?>.....<?endif?>


Ставим:

Код
<?if(!$_IS_OWN_PROFILE$)?>  
<div style="padding-top:4px;"">[ <а href="javascript://" onclick="b_send()">Отправить баллы</а> ]</div>  
<script type="text/javascript">var USER_ID = $_USER_ID$;</script>  
<script type="text/javascript" src="/php/мячик/index.php?w=datamod&m=отправить"></script>  
<?endif?>


------- Ротатор ссылок--------
Вы покупаете ссылку за баллы и она появляется в самом верху блока, при этом самая нижняя исчезает если ссылок больше 5 (значение меняется).

Установка очень проста, вставляем код в блок на сайте, сохраняем и готово! Код можно вставить в любое место на сайте где хотите видеть ссылки.

Код
<div id="blk">Загрузка...</div>  
<?if($USER_LOGGED_IN$)?>  
<hr> [ <а href="javascript://" onclick="b_links()">Добавить ссылку</а> ]  
<script type="text/javascript" src="/php/мячик/index.php?w=datamod&m=links"></script>  
<?endif?>  
<script type="text/javascript">$('#blk').load('/php/мячик/index.php?w=ссылки&t=get');</script>


Готово!

P.S. К этому скрипту можно легко подключать свои модули (просто заливая модуль в папку "модули"), для тех кто знает PHP вот небольшая справка

# Получение данных из config.bll в массиве
$bll = брл(File($modul.'config.bll'));
$цена = $bll[switch];

--------

# Ограничение на частые запросы
# Возвращает true, если указанное время после предыдущего обращения прошло (по стандарту 20с)
# щит('модуль', 20);
## modul - Название модуля к которому будет привязана функция, что бы остальные модули ставили ограничения независимо друг от друга
## 20 - Раз в сколько секунд можно обратиться к функции, необязательно, по стандарту 20
if(!щит ($) exit($err.'Не так часто!');

--------

nawvar('VAR', 'Значение'); # Объявление новой переменой
nawvar('VAR1', 'Значение 1', '2', 'Значение 2'); # Объявление нескольких переменных (любое кол-во)
nawvar('Это новая переменная - $VAR,$'); # Обработка кода

--------

get(1); # Получение баллов из ball.dat
getBall(1); # Получение баллов из профиля

# 1 - Идентификатор Пользователя
## Пример использования:
$bls = getBall($uid);
если(empty($bls)) exit($err.'Попробуйте позже');
$bl = get($uid) + $bls;

--------

#### Описание "config.bll" ####

переключатель - Активен ли модуль (true - 1, false - 0)
дисплей - Отображать ли модуль в списке модулей* (true - 1, false - 0)
имя - Название модуля (выводиться в списке модулей)
сообщения - Описание модуля (выводиться в списке модулей)
img - Картинка модуля 32x32 (выводиться в списке модулей)
w_h - Ширина и высота ajax окна
ajax - Настройки ajax окна, если пусто то по стандарту - align:'left',autosize:1
html - При клике на модуль в списке модулей, появится ajax окно, в котором будет выведен HTML код для работы с модулем (отправка post, get запросов в скрипт баллов).
js - Когда выведется HTML-код, то наверняка будет нужен JS для работы с модулем (отправка post, get), который выполнеться после загрузки контента ajax окна.

#### Дополнительные параметры####
[добавить:(
{name:var1:value<:[значение 1]:>}{txt<:[Описание 1]:>}
{name:var2:value<:[значение 2]:>}{txt<:[Описание 2]:>}
)]

*Список модулей - Список который выводиться у пользователя в ajax окне, т.е. в окне с услугами сайта

Автоматические, баллы, на, uCoz, PHP

    
Game-Portals.3dn.ru - The Best.
Форум » Система Ucoz » PHP скрипты для Ucoz » Автоматические баллы на uCoz PHP (PHP)
  • Страница 1 из 1
  • 1
Поиск: