<?php
// *********************************************************************************************************
// ******************************************* Настройки стрипта *******************************************
// *********************************************************************************************************
// ID вашего трекера (http://www.toptracker.ru/details.php?id=xxx)
$trackerid = 3906 ;
// Генерируем ключ в админке и вставляем в кавычки
$key = "Ну тут естественно ключ";
// Вознаграждение в мегабайтах
$MB = 1024; // 100 МБ
// Возногражение в seedbonus
//$bonus = 5;
// Пишем ID топика, куда боту писать спасибы
$topic_id = 351;
// *********************************************************************************************************
// ******************************************* Настройки стрипта *******************************************
// *********************************************************************************************************
$MB = $MB*1024*1024;
$ratio = (int) $_POST["ratio"];
$userid = (int) $_POST["userid"];
// Проверка на реферер
if(!preg_match("/^http:\/\/(www\.)?(toptracker\.ru)\/details.php\?id=".$trackerid."&userid=([^\/]+)/i", $_SERVER['HTTP_REFERER']))
{
die("<b>Bad link :(</b>");
}
// Проверяем на сущестование пост данных + дополнительная проверка по уникальному ключу
if($userid && $ratio && $_POST["key"] == $key)
{
define('IN_PHPBB', true);
define('BB_SCRIPT', 'toptracker');
define('BB_ROOT', './');
require(BB_ROOT ."common.php");
require(INC_DIR .'bbcode.php');
require(INC_DIR .'functions_post.php');
// Плавное начисление. Если оценка 5 - начислится полное количество Мб. Если оценка 1 - начисления не будет
$MB = ($MB * ($ratio - 1)) / 4;
// Добавляем юзеру аплоад. Можно так же добавить проверку по IP, в данном примере проверка идет по ID юзера
$sql = "UPDATE bb_bt_users SET u_up_total = u_up_total + '".$MB."', user_votetime = CURDATE() WHERE user_id = '".$userid."' AND user_votetime < CURDATE()";
DB()->sql_query($sql);
// Необходимые данные для благодарственного поста
$mode = 'reply';
$topic_type = POST_NORMAL;
$user_id = -746;
$user_ip = encode_ip('127.0.0.1');
$post_username = 'bot';
$current_time = TIMENOW;
$post_message = '';
$post_message = htmlCHR($post_message, false, ENT_NOQUOTES);
$post_message = bbcode2html($post_message);
if ($ratio > 3)
{
// $post_MB = $MB / (1024 * 1024);
// $post_message .= 'Начислен upload в размере ' . (string) $post_MB . 'Mb';
// Постим благодарность
$post_MB = 1024*1024*1024;
$post_message = 'Спасибо за оценку [b]' . (string) $ratio . '[/b] на [b]TopTracker[/b] пользователю [url=http://' . $bb_cfg['server_name'] . '/profile.php?mode=viewprofile&u=' . $userid. '][b]' . get_username($userid) . '[/b][/url]. ';
$post_message .= 'Начислен upload в размере ' . humn_size($post_MB);
$post_message = prepare_message($post_message);
$sql = "SELECT forum_id FROM " . BB_TOPICS . " WHERE topic_id = $topic_id";
if ( !($result = DB()->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not read information.", '', __LINE__, __FILE__, $sql);
}
while ($row = DB()->sql_fetchrow($result))
{
$forum_id = $row['forum_id'];
}
if ( !(isset($forum_id)) )
{
message_die(GENERAL_ERROR, "Could not read information.", '', __LINE__, __FILE__, $sql);
}
$sql = "INSERT INTO " . BB_POSTS . " (topic_id, forum_id, poster_id, post_username, post_time, poster_ip) VALUES ($topic_id, $forum_id, " . $user_id . ", '$post_username', $current_time, '". $user_ip ."')";
if (!DB()->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
$post_id = DB()->sql_nextid();
$sql = "INSERT INTO " . BB_POSTS_TEXT . " (post_id, post_text) VALUES ($post_id, '$post_message')";
if (!DB()->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
update_post_html(array(
'post_id' => $post_id,
'post_text' => $post_message,
));
$topic_update_sql = "topic_last_post_id = $post_id, topic_last_post_time = ". TIMENOW .", topic_replies = topic_replies + 1";
$sql = "UPDATE " . BB_TOPICS . " SET
$topic_update_sql
WHERE topic_id = $topic_id";
if (!DB()->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
$forum_update_sql = "forum_last_post_id = $post_id, forum_posts = forum_posts + 1";
$sql = "UPDATE " . BB_FORUMS . " SET
$forum_update_sql
WHERE forum_id = $forum_id";
if (!DB()->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
}
}
?>