10.08.2010 20:13:19
Подарки в анкетах сервиса лаборатории «проМили»
Общая информация.
Эта тема будет содержать инструкции по подключению сервиса подарков к чату. Я публикую инструкцию по подключению к площадке лаборатории «проМили». Инструкции по подключению к другим площадкам будут опубликованы их представителями. Текущую инструкцию можно использовать как основу для написания своей инструкции.
Совместимость:
Пользовательские модули скрипта совместимы со всеми браузерами и продуктами.
Это забавно, но в текущем релизе административный модуль (менеджер подарков) работает корректно только в браузерах Chrome и Opera По совету Вуглускра уточняю, -- Хром понадобится вам только для загрузки подарков в сервис. Все остальное (обмен подарками, банкинг баллов) работает и в других браузерах.
Ссылка на скачивание Хрома: http://www.google.com/chrome/?hl=ru
Инструкция:
1. Люди || Анкета || HTML-код анкеты.
2. Перед всем вставляем коровую часть:
<style type="text/css">
/* Лаборатория «проМили» */
/* Для модуля баллов */
#balCont {
border-collapse:collapse;
width:100%;
}
#balHeader {
text-align:left;
}
#balTbody {}
#balNal {}
#balAcc {}
.balAdd {}
.balLeft {
width:220px;
background:#f7f7f7;
border:1px dotted #d2d2d2;
}
.balRight {
background:#fdfdfd;
padding-left:5px;
border:1px dotted #d2d2d2;
}
.balForm {}
.balInput {}
/* Для модуля подарков */
#gifCont {
border-collapse:collapse;
width:100%;
}
#gifHeader {
text-align:left;
}
#shgCont {}
#gifListing {}
#gifTbody {}
.gifRow {}
.gifLeft {
width:220px;
background:#f7f7f7;
border:1px dotted #d2d2d2;
text-align:center;
}
.gifRight {
background:#fdfdfd;
padding-left:5px;
border:1px dotted #d2d2d2;
}
.gifPrefentHead {
font-weight:bold;
}
.gifPrefentRight {}
.gifPrefentLeft {}
.gifDate {
font-style:italic;
}
.gifText {}
.gifNick {
display:block;
width:100%;
text-align:right;
}
.gifForm {}
.gifSelect {}
.gifOpt {}
.gifOptGr {}
.gifInput {}
</style>
<script type='text/javascript'>
// Лаборатория «проМили»
// Функции для балльной системы
// Код распространяется на условиях ГНУ ГПЛ
function balChangePlus() {
balFormPlus = document.getElementById('balPlus').value;
balTimer2 = setTimeout("balJSONP(balFormPlus,0,0,'')",0);
}
function balChangeMinus() {
balFormPlus = document.getElementById('balPlus').value;
balTimer2 = setTimeout("balJSONP(0,balFormMinus,0,'')",0);
}
</script>
<!-- Лаборатрия «проМили» -->
%PROMILI_KEY = 12345678%
<!-- Секретный ключ -->
%BALL_PUBL = 1%
%BALL_LICH = 1%
%BALL_PRIV = 1%
%BALL_REFS = 1%
%BALL_BANS = -10%
%BALL_TIME = 1%
%BALL_SYSTEM<<<PROMILI_LAB
<!-- Лаборатория «проМили» -->
<!-- Модуль баллов -->
%BALL_CTRL = "1"%
%BALL_LOC1 = "Банкинг"%
%BALL_LOC2 = "Нал:"%
%BALL_LOC3 = "Счет:"%
%BALL_LOC4 = "-- рассчитанных:"%
%BALL_LOC5 = "-- добавленных:"%
%BALL_LOC6 = "-- убавленных:"%
%BALL_LOC7 = "Обналичить"%
%BALL_PLUS = 0%
%BALL_MINUS = 0%
%BALL_NAL = 0%
<tr><td colspan="2"><hr /></td></tr>
<tr><td colspan="2"><table id="balCont"><tr><td>Лаборатория «проМили» представляет…</tr></td></table></td></tr>
<tr><td colspan="2"><hr /></td></tr>
<script type="text/javascript" defer>
// Лаборатория «проМили»
// www.proMili.ru
//
// Балльная система
// Версия бета
//
// Лари ради Мили
// Код распространяется на условиях ГНУ ГПЛ
var balCb = new Object();
function balJSONP(balPlus,balMinus,balNal,balMdf) {
var balCbId;
var balUrl = 'http://proMili.ru/august/services/gifts/ballsystem-12-06-2010.php';
var balChat = "%CHAT('CHAT')%";
var balChatId = "%CHAT('ID')%";
var balUserId = "%USER('PROFILE')%";
var balNick = "%NICK%";
var balNickId = "%PROFILE%";
var balCount1 = "%COUNT1%";
var balCount2 = "%COUNT2%";
var balCount3 = "%COUNT3%";
var balFriends = "%FRIENDS%";
var balBans = "%BANS%";
var balTime = "%TIME%";
var balKoefCount1 = %BALL_PUBL%;
var balKoefCount2 = %BALL_LICH%;
var balKoefCount3 = %BALL_PRIV%;
var balKoefFriends = %BALL_REFS%;
var balKoefBans = %BALL_BANS%;
var balKoefTime = %BALL_TIME%;
var balLoc1 = "%BALL_LOC1%";
var balLoc2 = "%BALL_LOC2%";
var balLoc3 = "%BALL_LOC3%";
var balLoc4 = "%BALL_LOC4%";
var balLoc5 = "%BALL_LOC5%";
var balLoc6 = "%BALL_LOC6%";
var balLoc7 = "%BALL_LOC7%";
var balCtrl = "%BALL_CTRL%";
if (balMdf == 0) {
var balMd5 = '%MD5("%PROMILI_KEY%%CHAT('CHAT')%%CHAT('ID')%%USER('PROFILE')%%NICK%%PROFILE%%COUNT1%%COUNT2%%COUNT3%%FRIENDS%%BANS%%TIME%%BALL_PUBL%%BALL_LICH%%BALL_PRIV%%BALL_REFS%%BALL_BANS%%BALL_TIME%%BALL_CTRL%%BALL_PLUS%%BALL_MINUS%%BALL_NAL%")%';
}
else {
var balMd5 = balMdf;
}
do {
balCbId = 'c' + Math.floor(Math.random() * 99999);
}
while (balCb[balCbId]);
balCb[balCbId] = function(obj) {
balShow(obj);
delete balCb[balCbId];
}
var script = document.createElement('script');
script.src = balUrl + '?balCb=balCb.' + balCbId + '&chat=' + balChat + '&chatid=' + balChatId + '&userid=' + balUserId + '&nick=' + balNick + '&nickid=' + balNickId + '&count1=' + balCount1 + '&count2=' + balCount2 + '&count3=' + balCount3 + '&friends=' + balFriends + '&bans=' + balBans + '&time=' + balTime + '&kcount1=' + balKoefCount1 + '&kcount2=' + balKoefCount2 + '&kcount3=' + balKoefCount3 + '&kfriends=' + balKoefFriends + '&kbans=' + balKoefBans + '&ktime=' + balKoefTime + '&loc1=' + balLoc1 + '&loc2=' + balLoc2 + '&loc3=' + balLoc3 + '&loc4=' + balLoc4 + '&loc5=' + balLoc5 + '&loc6=' + balLoc6 + '&loc7=' + balLoc7 + '&plus=' + balPlus + '&minus=' + balMinus + '&nal=' + balNal + '&ctrl=' + balCtrl + '&md5=' + balMd5;
script.type = 'text/javascript';
document.body.appendChild(script);
}
function balShow(responseObject) {
element = document.getElementById('balCont');
element.innerHTML = responseObject.result;
}
balTimer = setTimeout("balJSONP(0,0,0,'')",0);
</script>
PROMILI_LAB%
<script type='text/javascript'>
// Лаборатория «проМили»
// Дополнительная функция
// Код распространяется на условиях ГНУ ГПЛ
function gifSend(gifRaz2,gifMdf2) {
gifIdent = document.getElementById('gifIdent').value;
gifText = document.getElementById('gifText').value;
gifSendSum = gifIdent + "~~" + gifText;
gifRaz1 = gifRaz2;
gifMdf1 = gifMdf2;
gifTimer2 = setTimeout("gifJSONP(0,0,gifSendSum,0,gifRaz1,gifMdf1)",0);
}
</script>
%GIFTS<<<PROMILI_LAB
<!-- Лаборатория «проМили» -->
<!-- Подарки -->
%GIFTS_LIST = 5%
%GIFTS_PAGES = 3%
%GIFTS_CTRL = "1"%
%GIFTS_LOC1 = "Сервис подарков"%
%GIFTS_LOC2 = "Сделать подарок"%
%GIFTS_LOC3 = "Выбрать подарок:"%
%GIFTS_LOC4 = "Ваш нал:"%
%GIFTS_LOC5 = "Цена:"%
%GIFTS_LOC6 = "Ваш подарок успешно доставлен. Спасибо :–)!"%
%GIFTS_LOC7 = "Вам необходимо по меньшей мере выбрать подарок и ввести текст!"%
%GIFTS_LOC8 = "Нет подарков для отображения. Хороший повод ;–)"%
%GIFTS_DEL = 0%
%GIFTS_RAZ = ''%
<tr><td colspan="2"><hr /></td></tr>
<tr><td colspan="2"><table id="gifCont"><tr><td>Лаборатория «проМили» представляет…</tr></td></table></td></tr>
<tr><td colspan="2"><hr /></td></tr>
<script type="text/javascript" defer>
// Лаборатория «проМили»
// www.proMili.ru
//
// Подарки
// Версия бета
//
// Лари ради Мили
// Код распространяется на условиях ГНУ ГПЛ
var gifCb = new Object();
function gifJSONP(gifI,gifAll,gifParams,gifDel,gifRaz,gifMdf) {
var gifCbId;
var gifUrl = 'http://proMili.ru/august/services/gifts/gifts-12-06-2010.php';
var gifChat = "%CHAT('CHAT')%";
var gifChatId = "%CHAT('ID')%";
var gifUser = "%USER('NICK')%";
var gifUserId = "%USER('PROFILE')%";
var gifNick = "%NICK%";
var gifNickId = "%PROFILE%";
var gifCount1 = "%COUNT1%";
var gifCount2 = "%COUNT2%";
var gifCount3 = "%COUNT3%";
var gifFriends = "%FRIENDS%";
var gifBans = "%BANS%";
var gifTime = "%TIME%";
var gifKoefCount1 = %BALL_PUBL%;
var gifKoefCount2 = %BALL_LICH%;
var gifKoefCount3 = %BALL_PRIV%;
var gifKoefFriends = %BALL_REFS%;
var gifKoefBans = %BALL_BANS%;
var gifKoefTime = %BALL_TIME%;
var gifLoc1 = "%GIFTS_LOC1%";
var gifLoc2 = "%GIFTS_LOC2%";
var gifLoc3 = "%GIFTS_LOC3%";
var gifLoc4 = "%GIFTS_LOC4%";
var gifLoc6 = "%GIFTS_LOC6%";
var gifLoc7 = "%GIFTS_LOC7%";
var gifLoc8 = "%GIFTS_LOC8%";
var gifPages = %GIFTS_PAGES%;
if (gifAll == 0) {
var gifList = %GIFTS_LIST%;
}
else {
var gifList = gifAll;
}
var gifTimeDate = "%TIME()%";
var gifCtrl = "%GIFTS_CTRL%";
if (gifMdf == 0) {
var gifMd5 = '%MD5("%PROMILI_KEY%%CHAT('CHAT')%%CHAT('ID')%%USER('NICK')%%USER('PROFILE')%%NICK%%PROFILE%%COUNT1%%COUNT2%%COUNT3%%FRIENDS%%BANS%%TIME%%BALL_PUBL%%BALL_LICH%%BALL_PRIV%%BALL_REFS%%BALL_BANS%%BALL_TIME%%TIME()%%GIFTS_DEL%%GIFTS_RAZ%%GIFTS_CTRL%")%';
}
else {
var gifMd5 = gifMdf;
}
do {
gifCbId = 'c' + Math.floor(Math.random() * 99999);
}
while (gifCb[gifCbId]);
gifCb[gifCbId] = function(obj) {
gifShow(obj);
delete gifCb[gifCbId];
}
var script = document.createElement('script');
script.src = gifUrl + '?gifCb=gifCb.' + gifCbId + '&chat=' + gifChat + '&chatid=' + gifChatId + '&user=' + gifUser + '&userid=' + gifUserId + '&nick=' + gifNick + '&nickid=' + gifNickId + '&timedate=' + gifTimeDate + '&razniza=' + gifRaz + '&count1=' + gifCount1 + '&count2=' + gifCount2 + '&count3=' + gifCount3 + '&friends=' + gifFriends + '&bans=' + gifBans + '&time=' + gifTime + '&kcount1=' + gifKoefCount1 + '&kcount2=' + gifKoefCount2 + '&kcount3=' + gifKoefCount3 + '&kfriends=' + gifKoefFriends + '&kbans=' + gifKoefBans + '&ktime=' + gifKoefTime + '&i=' + gifI + '&pages=' + gifPages + '&list=' + gifList + '¶ms=' + gifParams + '&del=' + gifDel + '&md5=' + gifMd5 + '&loc1=' + gifLoc1 + '&loc2=' + gifLoc2 + '&loc3=' + gifLoc3 + '&loc4=' + gifLoc4 + '&loc6=' + gifLoc6 + '&loc7=' + gifLoc7 + '&loc8=' + gifLoc8 + '&ctrl=' + gifCtrl;
script.type = 'text/javascript';
document.body.appendChild(script);
}
function gifShow(responseObject) {
element = document.getElementById('gifCont');
element.innerHTML = responseObject.result;
}
gifTimer = setTimeout("gifJSONP(0,0,'',0,'','')",0);
var shgCb = new Object();
function shgJSONP(shgPic,shgRaz,shgMdf) {
var shgCbId;
var shgUrl = 'http://proMili.ru/august/services/gifts/showgift-12-06-2010.php';
var shgChat = "%CHAT('CHAT')%";
var shgChatId = "%CHAT('ID')%";
var shgUser = "%USER('NICK')%";
var shgUserId = "%USER('PROFILE')%";
var shgNick = "%NICK%";
var shgNickId = "%PROFILE%";
var shgCount1 = "%COUNT1%";
var shgCount2 = "%COUNT2%";
var shgCount3 = "%COUNT3%";
var shgFriends = "%FRIENDS%";
var shgBans = "%BANS%";
var shgTime = "%TIME%";
var shgKoefCount1 = %BALL_PUBL%;
var shgKoefCount2 = %BALL_LICH%;
var shgKoefCount3 = %BALL_PRIV%;
var shgKoefFriends = %BALL_REFS%;
var shgKoefBans = %BALL_BANS%;
var shgKoefTime = %BALL_TIME%;
var shgLoc4 = "%GIFTS_LOC4%";
var shgLoc5 = "%GIFTS_LOC5%";
var shgTimeDate = "%TIME()%";
var shgCtrl = "%GIFTS_CTRL%";
do {
shgCbId = 'c' + Math.floor(Math.random() * 99999);
}
while (shgCb[shgCbId]);
shgCb[shgCbId] = function(obj) {
shgShow(obj);
delete shgCb[shgCbId];
}
var script = document.createElement('script');
script.src = shgUrl + '?shgCb=shgCb.' + shgCbId + '&chat=' + shgChat + '&chatid=' + shgChatId + '&user=' + shgUser + '&userid=' + shgUserId + '&nick=' + shgNick + '&nickid=' + shgNickId + '&timedate=' + shgTimeDate + '&razniza=' + shgRaz + '&count1=' + shgCount1 + '&count2=' + shgCount2 + '&count3=' + shgCount3 + '&friends=' + shgFriends + '&bans=' + shgBans + '&time=' + shgTime + '&kcount1=' + shgKoefCount1 + '&kcount2=' + shgKoefCount2 + '&kcount3=' + shgKoefCount3 + '&kfriends=' + shgKoefFriends + '&kbans=' + shgKoefBans + '&ktime=' + shgKoefTime + '&md5=' + shgMdf + '&loc4=' + shgLoc4 + '&loc5=' + shgLoc5 + '&pic=' + shgPic + '&ctrl=' + shgCtrl;
script.type = 'text/javascript';
document.body.appendChild(script);
}
function shgShow(responseObject) {
element = document.getElementById('shgCont');
element.innerHTML = responseObject.result;
}
</script>
PROMILI_LAB%
/* Лаборатория «проМили» */
/* Для модуля баллов */
#balCont {
border-collapse:collapse;
width:100%;
}
#balHeader {
text-align:left;
}
#balTbody {}
#balNal {}
#balAcc {}
.balAdd {}
.balLeft {
width:220px;
background:#f7f7f7;
border:1px dotted #d2d2d2;
}
.balRight {
background:#fdfdfd;
padding-left:5px;
border:1px dotted #d2d2d2;
}
.balForm {}
.balInput {}
/* Для модуля подарков */
#gifCont {
border-collapse:collapse;
width:100%;
}
#gifHeader {
text-align:left;
}
#shgCont {}
#gifListing {}
#gifTbody {}
.gifRow {}
.gifLeft {
width:220px;
background:#f7f7f7;
border:1px dotted #d2d2d2;
text-align:center;
}
.gifRight {
background:#fdfdfd;
padding-left:5px;
border:1px dotted #d2d2d2;
}
.gifPrefentHead {
font-weight:bold;
}
.gifPrefentRight {}
.gifPrefentLeft {}
.gifDate {
font-style:italic;
}
.gifText {}
.gifNick {
display:block;
width:100%;
text-align:right;
}
.gifForm {}
.gifSelect {}
.gifOpt {}
.gifOptGr {}
.gifInput {}
</style>
<script type='text/javascript'>
// Лаборатория «проМили»
// Функции для балльной системы
// Код распространяется на условиях ГНУ ГПЛ
function balChangePlus() {
balFormPlus = document.getElementById('balPlus').value;
balTimer2 = setTimeout("balJSONP(balFormPlus,0,0,'')",0);
}
function balChangeMinus() {
balFormPlus = document.getElementById('balPlus').value;
balTimer2 = setTimeout("balJSONP(0,balFormMinus,0,'')",0);
}
</script>
<!-- Лаборатрия «проМили» -->
%PROMILI_KEY = 12345678%
<!-- Секретный ключ -->
%BALL_PUBL = 1%
%BALL_LICH = 1%
%BALL_PRIV = 1%
%BALL_REFS = 1%
%BALL_BANS = -10%
%BALL_TIME = 1%
%BALL_SYSTEM<<<PROMILI_LAB
<!-- Лаборатория «проМили» -->
<!-- Модуль баллов -->
%BALL_CTRL = "1"%
%BALL_LOC1 = "Банкинг"%
%BALL_LOC2 = "Нал:"%
%BALL_LOC3 = "Счет:"%
%BALL_LOC4 = "-- рассчитанных:"%
%BALL_LOC5 = "-- добавленных:"%
%BALL_LOC6 = "-- убавленных:"%
%BALL_LOC7 = "Обналичить"%
%BALL_PLUS = 0%
%BALL_MINUS = 0%
%BALL_NAL = 0%
<tr><td colspan="2"><hr /></td></tr>
<tr><td colspan="2"><table id="balCont"><tr><td>Лаборатория «проМили» представляет…</tr></td></table></td></tr>
<tr><td colspan="2"><hr /></td></tr>
<script type="text/javascript" defer>
// Лаборатория «проМили»
// www.proMili.ru
//
// Балльная система
// Версия бета
//
// Лари ради Мили
// Код распространяется на условиях ГНУ ГПЛ
var balCb = new Object();
function balJSONP(balPlus,balMinus,balNal,balMdf) {
var balCbId;
var balUrl = 'http://proMili.ru/august/services/gifts/ballsystem-12-06-2010.php';
var balChat = "%CHAT('CHAT')%";
var balChatId = "%CHAT('ID')%";
var balUserId = "%USER('PROFILE')%";
var balNick = "%NICK%";
var balNickId = "%PROFILE%";
var balCount1 = "%COUNT1%";
var balCount2 = "%COUNT2%";
var balCount3 = "%COUNT3%";
var balFriends = "%FRIENDS%";
var balBans = "%BANS%";
var balTime = "%TIME%";
var balKoefCount1 = %BALL_PUBL%;
var balKoefCount2 = %BALL_LICH%;
var balKoefCount3 = %BALL_PRIV%;
var balKoefFriends = %BALL_REFS%;
var balKoefBans = %BALL_BANS%;
var balKoefTime = %BALL_TIME%;
var balLoc1 = "%BALL_LOC1%";
var balLoc2 = "%BALL_LOC2%";
var balLoc3 = "%BALL_LOC3%";
var balLoc4 = "%BALL_LOC4%";
var balLoc5 = "%BALL_LOC5%";
var balLoc6 = "%BALL_LOC6%";
var balLoc7 = "%BALL_LOC7%";
var balCtrl = "%BALL_CTRL%";
if (balMdf == 0) {
var balMd5 = '%MD5("%PROMILI_KEY%%CHAT('CHAT')%%CHAT('ID')%%USER('PROFILE')%%NICK%%PROFILE%%COUNT1%%COUNT2%%COUNT3%%FRIENDS%%BANS%%TIME%%BALL_PUBL%%BALL_LICH%%BALL_PRIV%%BALL_REFS%%BALL_BANS%%BALL_TIME%%BALL_CTRL%%BALL_PLUS%%BALL_MINUS%%BALL_NAL%")%';
}
else {
var balMd5 = balMdf;
}
do {
balCbId = 'c' + Math.floor(Math.random() * 99999);
}
while (balCb[balCbId]);
balCb[balCbId] = function(obj) {
balShow(obj);
delete balCb[balCbId];
}
var script = document.createElement('script');
script.src = balUrl + '?balCb=balCb.' + balCbId + '&chat=' + balChat + '&chatid=' + balChatId + '&userid=' + balUserId + '&nick=' + balNick + '&nickid=' + balNickId + '&count1=' + balCount1 + '&count2=' + balCount2 + '&count3=' + balCount3 + '&friends=' + balFriends + '&bans=' + balBans + '&time=' + balTime + '&kcount1=' + balKoefCount1 + '&kcount2=' + balKoefCount2 + '&kcount3=' + balKoefCount3 + '&kfriends=' + balKoefFriends + '&kbans=' + balKoefBans + '&ktime=' + balKoefTime + '&loc1=' + balLoc1 + '&loc2=' + balLoc2 + '&loc3=' + balLoc3 + '&loc4=' + balLoc4 + '&loc5=' + balLoc5 + '&loc6=' + balLoc6 + '&loc7=' + balLoc7 + '&plus=' + balPlus + '&minus=' + balMinus + '&nal=' + balNal + '&ctrl=' + balCtrl + '&md5=' + balMd5;
script.type = 'text/javascript';
document.body.appendChild(script);
}
function balShow(responseObject) {
element = document.getElementById('balCont');
element.innerHTML = responseObject.result;
}
balTimer = setTimeout("balJSONP(0,0,0,'')",0);
</script>
PROMILI_LAB%
<script type='text/javascript'>
// Лаборатория «проМили»
// Дополнительная функция
// Код распространяется на условиях ГНУ ГПЛ
function gifSend(gifRaz2,gifMdf2) {
gifIdent = document.getElementById('gifIdent').value;
gifText = document.getElementById('gifText').value;
gifSendSum = gifIdent + "~~" + gifText;
gifRaz1 = gifRaz2;
gifMdf1 = gifMdf2;
gifTimer2 = setTimeout("gifJSONP(0,0,gifSendSum,0,gifRaz1,gifMdf1)",0);
}
</script>
%GIFTS<<<PROMILI_LAB
<!-- Лаборатория «проМили» -->
<!-- Подарки -->
%GIFTS_LIST = 5%
%GIFTS_PAGES = 3%
%GIFTS_CTRL = "1"%
%GIFTS_LOC1 = "Сервис подарков"%
%GIFTS_LOC2 = "Сделать подарок"%
%GIFTS_LOC3 = "Выбрать подарок:"%
%GIFTS_LOC4 = "Ваш нал:"%
%GIFTS_LOC5 = "Цена:"%
%GIFTS_LOC6 = "Ваш подарок успешно доставлен. Спасибо :–)!"%
%GIFTS_LOC7 = "Вам необходимо по меньшей мере выбрать подарок и ввести текст!"%
%GIFTS_LOC8 = "Нет подарков для отображения. Хороший повод ;–)"%
%GIFTS_DEL = 0%
%GIFTS_RAZ = ''%
<tr><td colspan="2"><hr /></td></tr>
<tr><td colspan="2"><table id="gifCont"><tr><td>Лаборатория «проМили» представляет…</tr></td></table></td></tr>
<tr><td colspan="2"><hr /></td></tr>
<script type="text/javascript" defer>
// Лаборатория «проМили»
// www.proMili.ru
//
// Подарки
// Версия бета
//
// Лари ради Мили
// Код распространяется на условиях ГНУ ГПЛ
var gifCb = new Object();
function gifJSONP(gifI,gifAll,gifParams,gifDel,gifRaz,gifMdf) {
var gifCbId;
var gifUrl = 'http://proMili.ru/august/services/gifts/gifts-12-06-2010.php';
var gifChat = "%CHAT('CHAT')%";
var gifChatId = "%CHAT('ID')%";
var gifUser = "%USER('NICK')%";
var gifUserId = "%USER('PROFILE')%";
var gifNick = "%NICK%";
var gifNickId = "%PROFILE%";
var gifCount1 = "%COUNT1%";
var gifCount2 = "%COUNT2%";
var gifCount3 = "%COUNT3%";
var gifFriends = "%FRIENDS%";
var gifBans = "%BANS%";
var gifTime = "%TIME%";
var gifKoefCount1 = %BALL_PUBL%;
var gifKoefCount2 = %BALL_LICH%;
var gifKoefCount3 = %BALL_PRIV%;
var gifKoefFriends = %BALL_REFS%;
var gifKoefBans = %BALL_BANS%;
var gifKoefTime = %BALL_TIME%;
var gifLoc1 = "%GIFTS_LOC1%";
var gifLoc2 = "%GIFTS_LOC2%";
var gifLoc3 = "%GIFTS_LOC3%";
var gifLoc4 = "%GIFTS_LOC4%";
var gifLoc6 = "%GIFTS_LOC6%";
var gifLoc7 = "%GIFTS_LOC7%";
var gifLoc8 = "%GIFTS_LOC8%";
var gifPages = %GIFTS_PAGES%;
if (gifAll == 0) {
var gifList = %GIFTS_LIST%;
}
else {
var gifList = gifAll;
}
var gifTimeDate = "%TIME()%";
var gifCtrl = "%GIFTS_CTRL%";
if (gifMdf == 0) {
var gifMd5 = '%MD5("%PROMILI_KEY%%CHAT('CHAT')%%CHAT('ID')%%USER('NICK')%%USER('PROFILE')%%NICK%%PROFILE%%COUNT1%%COUNT2%%COUNT3%%FRIENDS%%BANS%%TIME%%BALL_PUBL%%BALL_LICH%%BALL_PRIV%%BALL_REFS%%BALL_BANS%%BALL_TIME%%TIME()%%GIFTS_DEL%%GIFTS_RAZ%%GIFTS_CTRL%")%';
}
else {
var gifMd5 = gifMdf;
}
do {
gifCbId = 'c' + Math.floor(Math.random() * 99999);
}
while (gifCb[gifCbId]);
gifCb[gifCbId] = function(obj) {
gifShow(obj);
delete gifCb[gifCbId];
}
var script = document.createElement('script');
script.src = gifUrl + '?gifCb=gifCb.' + gifCbId + '&chat=' + gifChat + '&chatid=' + gifChatId + '&user=' + gifUser + '&userid=' + gifUserId + '&nick=' + gifNick + '&nickid=' + gifNickId + '&timedate=' + gifTimeDate + '&razniza=' + gifRaz + '&count1=' + gifCount1 + '&count2=' + gifCount2 + '&count3=' + gifCount3 + '&friends=' + gifFriends + '&bans=' + gifBans + '&time=' + gifTime + '&kcount1=' + gifKoefCount1 + '&kcount2=' + gifKoefCount2 + '&kcount3=' + gifKoefCount3 + '&kfriends=' + gifKoefFriends + '&kbans=' + gifKoefBans + '&ktime=' + gifKoefTime + '&i=' + gifI + '&pages=' + gifPages + '&list=' + gifList + '¶ms=' + gifParams + '&del=' + gifDel + '&md5=' + gifMd5 + '&loc1=' + gifLoc1 + '&loc2=' + gifLoc2 + '&loc3=' + gifLoc3 + '&loc4=' + gifLoc4 + '&loc6=' + gifLoc6 + '&loc7=' + gifLoc7 + '&loc8=' + gifLoc8 + '&ctrl=' + gifCtrl;
script.type = 'text/javascript';
document.body.appendChild(script);
}
function gifShow(responseObject) {
element = document.getElementById('gifCont');
element.innerHTML = responseObject.result;
}
gifTimer = setTimeout("gifJSONP(0,0,'',0,'','')",0);
var shgCb = new Object();
function shgJSONP(shgPic,shgRaz,shgMdf) {
var shgCbId;
var shgUrl = 'http://proMili.ru/august/services/gifts/showgift-12-06-2010.php';
var shgChat = "%CHAT('CHAT')%";
var shgChatId = "%CHAT('ID')%";
var shgUser = "%USER('NICK')%";
var shgUserId = "%USER('PROFILE')%";
var shgNick = "%NICK%";
var shgNickId = "%PROFILE%";
var shgCount1 = "%COUNT1%";
var shgCount2 = "%COUNT2%";
var shgCount3 = "%COUNT3%";
var shgFriends = "%FRIENDS%";
var shgBans = "%BANS%";
var shgTime = "%TIME%";
var shgKoefCount1 = %BALL_PUBL%;
var shgKoefCount2 = %BALL_LICH%;
var shgKoefCount3 = %BALL_PRIV%;
var shgKoefFriends = %BALL_REFS%;
var shgKoefBans = %BALL_BANS%;
var shgKoefTime = %BALL_TIME%;
var shgLoc4 = "%GIFTS_LOC4%";
var shgLoc5 = "%GIFTS_LOC5%";
var shgTimeDate = "%TIME()%";
var shgCtrl = "%GIFTS_CTRL%";
do {
shgCbId = 'c' + Math.floor(Math.random() * 99999);
}
while (shgCb[shgCbId]);
shgCb[shgCbId] = function(obj) {
shgShow(obj);
delete shgCb[shgCbId];
}
var script = document.createElement('script');
script.src = shgUrl + '?shgCb=shgCb.' + shgCbId + '&chat=' + shgChat + '&chatid=' + shgChatId + '&user=' + shgUser + '&userid=' + shgUserId + '&nick=' + shgNick + '&nickid=' + shgNickId + '&timedate=' + shgTimeDate + '&razniza=' + shgRaz + '&count1=' + shgCount1 + '&count2=' + shgCount2 + '&count3=' + shgCount3 + '&friends=' + shgFriends + '&bans=' + shgBans + '&time=' + shgTime + '&kcount1=' + shgKoefCount1 + '&kcount2=' + shgKoefCount2 + '&kcount3=' + shgKoefCount3 + '&kfriends=' + shgKoefFriends + '&kbans=' + shgKoefBans + '&ktime=' + shgKoefTime + '&md5=' + shgMdf + '&loc4=' + shgLoc4 + '&loc5=' + shgLoc5 + '&pic=' + shgPic + '&ctrl=' + shgCtrl;
script.type = 'text/javascript';
document.body.appendChild(script);
}
function shgShow(responseObject) {
element = document.getElementById('shgCont');
element.innerHTML = responseObject.result;
}
</script>
PROMILI_LAB%
2. В том же разделе после всего (после совсем всего, в самом низу шаблона) вставляем коровую часть модуля менеджера подарков.
<script type='text/javascript'>
// Лаборатория «проМили»
// Дополнения к загрузчику подарков
// Код распространяется на условиях ГНУ ГПЛ
var hp = 0;
function gulHiddenPanel() {
if (hp == 0) {
document.getElementById('gulHiddenPanel').style.display = 'block';
document.getElementById('gulHiddenControl').innerHTML = '↑';
hp = 1;
}
else if (hp == 1) {
document.getElementById('gulHiddenPanel').style.display = 'none';
document.getElementById('gulHiddenControl').innerHTML = '↓';
hp = 0;
}
}
// Для демонстрации и сокрытия панели загрузки подарков
function gulSendUps(gulRaz2, gulMdf2) {
gulSendLink = document.gulForm.link[0].value;
for (i=1; i<document.gulForm.link.length; i++) {
gulSendLink = gulSendLink + "||" + document.gulForm.link[i].value;
}
gulSendName = document.gulForm.name[0].value;
for (i=1; i<document.gulForm.name.length; i++) {
gulSendName = gulSendName + "||" + document.gulForm.name[i].value;
}
gulSendCat = document.gulForm.cat[0].value;
for (i=1; i<document.gulForm.cat.length; i++) {
gulSendCat = gulSendCat + "||" + document.gulForm.cat[i].value;
}
gulSendPrize = document.gulForm.prize[0].value;
for (i=1; i<document.gulForm.prize.length; i++) {
gulSendPrize = gulSendPrize + "||" + document.gulForm.prize[i].value;
}
gulSendSum = gulSendLink + "~~" + gulSendName + "~~" + gulSendCat + "~~" + gulSendPrize;
gulRaz1 = gulRaz2;
gulMdf1 = gulMdf2;
gulTimer2 = setTimeout("gulJSONP(0,0,gulSendSum,0,gulRaz1,gulMdf1)",0);
}
// Для загрузки
</script>
%GIFTS_UPLOADER<<<PROMILI_LAB
<!-- Лаборатория «проМили» -->
<!-- Загрузчик подарков -->
%GUL_LIST = 5%
%GUL_PAGES = 3%
%GUL_DEL = 0%
%GUL_RAZ = ''%
<a onclick='gulHiddenPanel();' id='gulHiddenControl' href='#_nojs' title='Инспектор подарков'>↓</a>
<div id='gulHiddenPanel' style='display: none;'>Лаборатория «проМили» представляет…</div>
<script type="text/javascript" defer>
// Лаборатория «проМили»
// www.proMili.ru
//
// Загрузчик подарков
// Версия бета
//
// Лари ради Мили
// Код распространяется на условиях ГНУ ГПЛ
var gulCb = new Object();
function gulJSONP(gulI, gulAll, gulParams, gulDel, gulRaz, gulMdf) {
var gulCbId;
var gulUrl = 'http://proMili.ru/august/services/gifts/giftsuploader-12-06-2010.php';
var gulChat = "%CHAT('CHAT')%";
var gulChatId = "%CHAT('ID')%";
var gulUser = "%USER('NICK')%";
var gulUserId = "%USER('PROFILE')%";
var gulTimeDate = "%TIME()%";
var gulPages = %GUL_PAGES%;
if (gulAll == 0) {
var gulList = %GUL_LIST%;
}
else {
var gulList = gulAll;
}
if (gulMdf == 0) {
var gulMd5 = '%MD5("%PROMILI_KEY%%CHAT('CHAT')%%CHAT('ID')%%USER('NICK')%%USER('PROFILE')%%TIME()%%GUL_DEL%%GUL_RAZ%")%';
}
else {
var gulMd5 = gulMdf;
}
do {
gulCbId = 'c' + Math.floor(Math.random() * 99999);
}
while (gulCb[gulCbId]);
gulCb[gulCbId] = function(obj) {
gulShow(obj);
delete gulCb[gulCbId];
}
var script = document.createElement('script');
script.src = gulUrl + '?gulCb=gulCb.' + gulCbId + '&chat=' + gulChat + '&chatid=' + gulChatId + '&user=' + gulUser + '&userid=' + gulUserId + '&timedate=' + gulTimeDate + '&razniza=' + gulRaz + '&list=' + gulList + '&pages=' + gulPages + '&i=' + gulI + '¶ms=' + gulParams + '&del=' + gulDel + '&md5=' + gulMd5;
script.type = 'text/javascript';
document.body.appendChild(script);
}
// Для динамического создания тега <script /> с атрибутами, позволяющими ему передать информацию методом GET
function gulShow(responseObject) {
element = document.getElementById('gulHiddenPanel');
element.innerHTML = responseObject.result;
}
// Для вставки результата функции в контейнер
gulTimer = setTimeout("gulJSONP(0,0,'',0,'','')",0);
</script>
PROMILI_LAB%
// Лаборатория «проМили»
// Дополнения к загрузчику подарков
// Код распространяется на условиях ГНУ ГПЛ
var hp = 0;
function gulHiddenPanel() {
if (hp == 0) {
document.getElementById('gulHiddenPanel').style.display = 'block';
document.getElementById('gulHiddenControl').innerHTML = '↑';
hp = 1;
}
else if (hp == 1) {
document.getElementById('gulHiddenPanel').style.display = 'none';
document.getElementById('gulHiddenControl').innerHTML = '↓';
hp = 0;
}
}
// Для демонстрации и сокрытия панели загрузки подарков
function gulSendUps(gulRaz2, gulMdf2) {
gulSendLink = document.gulForm.link[0].value;
for (i=1; i<document.gulForm.link.length; i++) {
gulSendLink = gulSendLink + "||" + document.gulForm.link[i].value;
}
gulSendName = document.gulForm.name[0].value;
for (i=1; i<document.gulForm.name.length; i++) {
gulSendName = gulSendName + "||" + document.gulForm.name[i].value;
}
gulSendCat = document.gulForm.cat[0].value;
for (i=1; i<document.gulForm.cat.length; i++) {
gulSendCat = gulSendCat + "||" + document.gulForm.cat[i].value;
}
gulSendPrize = document.gulForm.prize[0].value;
for (i=1; i<document.gulForm.prize.length; i++) {
gulSendPrize = gulSendPrize + "||" + document.gulForm.prize[i].value;
}
gulSendSum = gulSendLink + "~~" + gulSendName + "~~" + gulSendCat + "~~" + gulSendPrize;
gulRaz1 = gulRaz2;
gulMdf1 = gulMdf2;
gulTimer2 = setTimeout("gulJSONP(0,0,gulSendSum,0,gulRaz1,gulMdf1)",0);
}
// Для загрузки
</script>
%GIFTS_UPLOADER<<<PROMILI_LAB
<!-- Лаборатория «проМили» -->
<!-- Загрузчик подарков -->
%GUL_LIST = 5%
%GUL_PAGES = 3%
%GUL_DEL = 0%
%GUL_RAZ = ''%
<a onclick='gulHiddenPanel();' id='gulHiddenControl' href='#_nojs' title='Инспектор подарков'>↓</a>
<div id='gulHiddenPanel' style='display: none;'>Лаборатория «проМили» представляет…</div>
<script type="text/javascript" defer>
// Лаборатория «проМили»
// www.proMili.ru
//
// Загрузчик подарков
// Версия бета
//
// Лари ради Мили
// Код распространяется на условиях ГНУ ГПЛ
var gulCb = new Object();
function gulJSONP(gulI, gulAll, gulParams, gulDel, gulRaz, gulMdf) {
var gulCbId;
var gulUrl = 'http://proMili.ru/august/services/gifts/giftsuploader-12-06-2010.php';
var gulChat = "%CHAT('CHAT')%";
var gulChatId = "%CHAT('ID')%";
var gulUser = "%USER('NICK')%";
var gulUserId = "%USER('PROFILE')%";
var gulTimeDate = "%TIME()%";
var gulPages = %GUL_PAGES%;
if (gulAll == 0) {
var gulList = %GUL_LIST%;
}
else {
var gulList = gulAll;
}
if (gulMdf == 0) {
var gulMd5 = '%MD5("%PROMILI_KEY%%CHAT('CHAT')%%CHAT('ID')%%USER('NICK')%%USER('PROFILE')%%TIME()%%GUL_DEL%%GUL_RAZ%")%';
}
else {
var gulMd5 = gulMdf;
}
do {
gulCbId = 'c' + Math.floor(Math.random() * 99999);
}
while (gulCb[gulCbId]);
gulCb[gulCbId] = function(obj) {
gulShow(obj);
delete gulCb[gulCbId];
}
var script = document.createElement('script');
script.src = gulUrl + '?gulCb=gulCb.' + gulCbId + '&chat=' + gulChat + '&chatid=' + gulChatId + '&user=' + gulUser + '&userid=' + gulUserId + '&timedate=' + gulTimeDate + '&razniza=' + gulRaz + '&list=' + gulList + '&pages=' + gulPages + '&i=' + gulI + '¶ms=' + gulParams + '&del=' + gulDel + '&md5=' + gulMd5;
script.type = 'text/javascript';
document.body.appendChild(script);
}
// Для динамического создания тега <script /> с атрибутами, позволяющими ему передать информацию методом GET
function gulShow(responseObject) {
element = document.getElementById('gulHiddenPanel');
element.innerHTML = responseObject.result;
}
// Для вставки результата функции в контейнер
gulTimer = setTimeout("gulJSONP(0,0,'',0,'','')",0);
</script>
PROMILI_LAB%
3. И уже после вставленного:
<!-- Лаборатория «проМили» -->
%?
%EQ(%PROFILE%,1)%
%EQ(%USER('PROFILE')%,1)%
%(%GIFTS_UPLOADER%)%
?%
<!-- Контейнер загрузчика -->
%?
%EQ(%PROFILE%,1)%
%EQ(%USER('PROFILE')%,1)%
%(%GIFTS_UPLOADER%)%
?%
<!-- Контейнер загрузчика -->
4. Люди || Анкета || системная информация.
5. Находим:
%?
<tr><td>Количество нарушений:<td><b>%BANS%</b></tr>
<tr><td>Дата последнего нарушения:<td><b>%DATE('%j %М %Y года в %H:%i:%s', %LAST_BAN_DATE%)%</b><br>%LONG_DAYS(%LAST_BAN_TIME%)% тому назад</tr>
?%%?
<tr><td>Пришел по ссылке от:<td><a href=info?profile=%REFERER_PROFILE% target=_info%REFERER_PROFILE%>%REFERER_NICK%</a></tr>
?%
%?
<tr><td>Неудачных авторизаций:<td>%AUTH_FAIL% <a id=auth_fail_log>просмотреть журнал</a></tr>
?%
6. Перед найденным вставляем:<tr><td>Количество нарушений:<td><b>%BANS%</b></tr>
<tr><td>Дата последнего нарушения:<td><b>%DATE('%j %М %Y года в %H:%i:%s', %LAST_BAN_DATE%)%</b><br>%LONG_DAYS(%LAST_BAN_TIME%)% тому назад</tr>
?%%?
<tr><td>Пришел по ссылке от:<td><a href=info?profile=%REFERER_PROFILE% target=_info%REFERER_PROFILE%>%REFERER_NICK%</a></tr>
?%
%?
<tr><td>Неудачных авторизаций:<td>%AUTH_FAIL% <a id=auth_fail_log>просмотреть журнал</a></tr>
?%
<!-- Лаборатория «проМили» -->
%IF(%USER('PROFILE')%,%(%BALL_SYSTEM%)%,"")%
<!-- Контейнер модуля баллов -->
<!-- Лаборатория «проМили» -->
%IF(%USER('PROFILE')%,%(%GIFTS%)%,"")%
<!-- Контейнер подарков -->
7. ...%IF(%USER('PROFILE')%,%(%BALL_SYSTEM%)%,"")%
<!-- Контейнер модуля баллов -->
<!-- Лаборатория «проМили» -->
%IF(%USER('PROFILE')%,%(%GIFTS%)%,"")%
<!-- Контейнер подарков -->
8. PROFIT!!!
Описание переменных:
%PROMILI_KEY = 12345678%
Эта переменная отвечает за безопасность. Чтобы получить ее значение, -- свяжитесь со мной по адресу электропочты LightLary@ya.ru (он же идентификатор джабера).
Остальные переменные будут описаны позже. Их изменение позволяет настроить модули сервиса подарков.
UPD:
-- Презентация: obyavleniya/servis-podarkov-laboratorii-promili-t70.html
-- Инструкция: kak-sdelat/podarki-v-anketah-servisa-laboratorii-promili-t67.html
-- Обсуждение: svobodnie-servisi/servis-podarkov-laboratorii-promili-t72.html