N
NewLife
Гость
Создать файл ref.php в корне сайта
с таким содержимым
usercp_register.php
найти
ниже вставить
usercp_viewprofile.php
Найти
Ниже вставить
usercp_viewprofile.tpl
//*************************************************************************//
ADDON by Gemini_13
SQL:
Открыть ajax.php
Найти:
Вставить после:
Вставить перед последней кавычкой:
Открыть includes/init_bb.php
Найти:
Вставить после:
Открыть includes/ucp/usercp_register.php
Найти:
Заменить на:
Открыть templates/default/usercp_viewprofile.tpl
Найти:
Вставить после:
Найти:
Вставить после:
Вставить в любое место в профиле (куда понравится):
с таким содержимым
PHP:
<?php
define('BB_ROOT', './');
require(BB_ROOT .'common.php');
$user->session_start();
$id = request_var('id', '');
if (!$id) bb_die($lang['ERROR']);
$set = setcookie('ref', $id);
meta_refresh('profile.php?mode=register', 3);
bb_die('<img src="'.BB_ROOT.'/templates/default/images/progress_bar.gif">');
usercp_register.php
найти
PHP:
$new_user_id = DB()->sql_nextid();
ниже вставить
PHP:
if (isset($_COOKIE['ref']))
{
DB()->query("UPDATE ".BB_USERS." SET user_points = user_points + 100 WHERE user_id = ". intval($_COOKIE['ref']));
cache_rm_user_sessions(intval($_COOKIE['ref']));
}
usercp_viewprofile.php
Найти
PHP:
'TRAF_STATS' => !(IS_AM || $profile_user_id),
PHP:
'REF_ID' => "{$bb_cfg['server_name']}/ref.php?id=",
usercp_viewprofile.tpl
PHP:
<h1 class="pagetitle">
Ссылка для приглашения друга: <input type="text" size="33" value="{REF_ID}{PROFILE_USER_ID}" readonly="" onclick="select();">
</h1>
<span class="med" align="center">
За каждого приглашенного друга, который зарегистрируется на ресурсе, вы получите в подарок V.I.P.-аккаунт на одну неделю.
Количество начисляемых поощрений не ограничено, таким образом, вы можете пригласить сколь угодно большое число друзей и за
каждого из них вам, в автоматическом режиме, сразу после регистрации пользователя будет начислено поощрение. Все подробности
вы можете найти в <a href="viewtopic.php?t=66468" target="_blank">данной теме</a>.
</span>
//*************************************************************************//
ADDON by Gemini_13
SQL:
Код:
CREATE TABLE `bb_referals` (
`referal_id` mediumint(8) NOT NULL DEFAULT '0',
`new_user_id` mediumint(8) NOT NULL DEFAULT '0',
PRIMARY KEY (`new_user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Открыть ajax.php
Найти:
PHP:
'change_tor_status' => array('user'),
PHP:
'get_referals' => array('user'),
Вставить перед последней кавычкой:
PHP:
// Referals
function get_referals ()
{
global $userdata, $lang;
$user_id = (int) $this->request['user_id'];
if (!$user_id) $this->ajax_die($lang['NO_USER_ID_SPECIFIED']);
if ($user_id != $userdata['user_id'] && !IS_AM) $this->ajax_die('Ты не кошерный(ая)! :)');
$sql = "
SELECT u.user_active, u.user_id, u.username, u.user_avatar, u.user_avatar_type, u.user_reg_ip, u.user_regdate, u.user_rank, u.user_opt
FROM ". BB_USERS ." u, ". BB_REFERALS ." r
WHERE r.referal_id = $user_id
AND u.user_id = r.new_user_id
ORDER BY username ASC
";
if (!$result = DB()->sql_query($sql)) $this->ajax_die('Shit happens, man...', '', __LINE__, __FILE__, $sql);
$admin_mod_th = $admin_mod_td = '';
if(IS_AM) $admin_mod_th = '<td>IP регистрации</td>';
if ($row = DB()->sql_fetchrowset($result))
{
$row_count = count($row);
$referals_list = '';
for ($i=0; $i<$row_count; $i++)
{
$avatar = get_avatar($row[$i]['user_avatar'], $row[$i]['user_avatar_type'], !bf($row[$i]['user_opt'], 'user_opt', 'allow_avatar'), 64, 64);
$user = profile_url(array('username' => $row[$i]['username'], 'user_id' => $row[$i]['user_id'], 'user_rank' => $row[$i]['user_rank']));
$reg_time = bb_date($row[$i]['user_regdate'], 'Y-m-d', 'false') . '<br />' . bb_date($row[$i]['user_regdate'], 'H:i', 'false');
$reg_ip = decode_ip($row[$i]['user_reg_ip']);
$admin_mod_td = (IS_AM) ? '<td>'. $reg_ip .'</td>' : '';
$active = ($row[$i]['user_active']) ? '<img src="images/good.gif" alt="" border="0">' : '<img src="images/bad.gif" alt="" border="0">';
$row_class = ($i % 2) ? 'row1' : 'row2';
$referals_list .= '
<tr class="'. $row_class .' tCenter" >
<td>'. $avatar .'</td>
<td>'. $user .'</td>
<td>'. $reg_time .'</td>
'. $admin_mod_td .'
<td>'. $active .'</td>
</tr>
';
}
$this->response['referals_html'] = '
<br />
<table class="mod_ip bCenter borderless" cellspacing="1">
<tr class="row3 tCenter">
<td>'. $lang['AVATAR'] .'</td>
<td>'. $lang['USER'] .'</td>
<td>Время регистрации</td>
'. $admin_mod_th .'
<td>Актив.</td>
</tr>
'. $referals_list .'
</table>
<br />
';
}
else
{
$this->ajax_die('Нет пользователей, которые зарегистрировались по рефералу');
}
}
Открыть includes/init_bb.php
Найти:
PHP:
define('BB_RANKS', 'bb_ranks');
PHP:
define('BB_REFERALS', 'bb_referals');
Открыть includes/ucp/usercp_register.php
Найти:
PHP:
if (isset($_COOKIE['ref'])) DB()->query("UPDATE ".BB_USERS." SET user_points = user_points + 100 WHERE user_id = ". intval($_COOKIE['ref']));
PHP:
// Referals
if (isset($_COOKIE['ref']))
{
DB()->query("UPDATE ".BB_USERS." SET user_points = user_points + 100 WHERE user_id = ". intval($_COOKIE['ref']));
DB()->query("INSERT INTO ". BB_REFERALS ." VALUES (". intval($_COOKIE['ref']) .", ". $new_user_id .")");
cache_rm_user_sessions(intval($_COOKIE['ref']));
}
Открыть templates/default/usercp_viewprofile.tpl
Найти:
HTML:
<!-- ENDIF / SHOW_PASSKEY -->
HTML:
<!-- IF LOGGED_IN -->
<script type="text/javascript">
ajax.referals = function(mode) {
$('#referals').html('<i class="loading-1">{L_LOADING}</i>');
ajax.exec({
action : 'get_referals',
user_id : {PROFILE_USER_ID}
});
}
ajax.callback.get_referals = function(data) {
$('#referals').html(data.referals_html);
}
</script>
<!-- ENDIF -->
HTML:
<!-- IF IS_AM --><span id="ip_list"></span><!-- ENDIF -->
HTML:
<span id="referals"></span>
HTML:
[ <a href="#" class="med" onclick="ajax.referals('get_referals'); return false;">Приглашенные пользователи</a> ]