--------------------------------------------------
Тип: Addon
Название: Список юзеров, которые зарегались по Вашему рефералу на аяксе
Нужные моды:
- Реферальная система by NewLife (http://torrentpier.me/threads/Реферальная-система.1748/)
Автор: Gemini_13
Описание: Добавляет на страницу профиля возможность посмотреть пользователей, которые зарегистрировались с Вашего реферала.
Сложность установки: Легкая
Время установки: ~ 5 минут
Адаптирован под версию TPII: R477
Файлы к редактированию:
- ajax.php
- includes/init_bb.php
- includes/ucp/usercp_register.php
- templates/default/usercp_viewprofile.tpl
--------------------------------------------------
# ---- [ 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
# ---- [ Найти ] -------------------
'change_tor_status' => array('user'),
# ---- [ Вставить после ] -------------------
'get_referals' => array('user'),
# ---- [ Найти ] -------------------
# Последняя кавычка
}
# ---- [ Вставить перед ] -------------------
// 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 = '
IP регистрации | ';
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') . '
' . bb_date($row[$i]['user_regdate'], 'H:i', 'false');
$reg_ip = decode_ip($row[$i]['user_reg_ip']);
$admin_mod_td = (IS_AM) ? ''. $reg_ip .' | ' : '';
$active = ($row[$i]['user_active']) ? '
' : '
';
$row_class = ($i % 2) ? 'row1' : 'row2';
$referals_list .= '
| '. $avatar .' |
'. $user .' |
'. $reg_time .' |
'. $admin_mod_td .'
'. $active .' |
';
}
$this->response['referals_html'] = '
| '. $lang['AVATAR'] .' |
'. $lang['USER'] .' |
Время регистрации |
'. $admin_mod_th .'
Актив. |
'. $referals_list .'
';
}
else
{
$this->ajax_die('Нет пользователей, которые зарегистрировались по рефералу');
}
}
# ---- [ Открыть ] -------------------
includes/init_bb.php
# ---- [ Найти ] -------------------
define('BB_RANKS', 'bb_ranks');
# ---- [ Вставить после ] -------------------
define('BB_REFERALS', 'bb_referals');
# ---- [ Открыть ] -------------------
includes/ucp/usercp_register.php
# ---- [ Найти ] -------------------
if (isset($_COOKIE['ref'])) DB()->query("UPDATE ".BB_USERS." SET user_points = user_points + 100 WHERE user_id = ". intval($_COOKIE['ref']));
# ---- [ Заменить на ] -------------------
// 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
# ---- [ Найти ] -------------------
# ---- [ Вставить после ] -------------------
# ---- [ Найти ] -------------------
# ---- [ Вставить после ] -------------------
# ---- [ Вставить там, где нравится ] -------------------
[ Приглашенные пользователи ]
# ---- [ Конец ] -------------------