Автор: Zenden
function.php
в конец
function sends_pm($subj, $text, $to_user_id) // функция рассылки ЛС, подключить можно к чему угодно. У меня подключены к "тоатлизатору" и "Друзьям"
{
global $db, $userdata, $lang, $msg_error, $cur_time, $bb_cache;
$enc_ip = encode_ip($_SERVER['REMOTE_ADDR']);
$time = time();
$subj = sprintf ($subj);
$text = sprintf ($text);
$text = $db->escape($text);
$to_user_id = $db->escape($to_user_id);
$query = "INSERT INTO ". PRIVMSGS_TABLE ."
(privmsgs_type, privmsgs_subject, privmsgs_from_userid, privmsgs_to_userid, privmsgs_date, privmsgs_ip) VALUES
(" . PRIVMSGS_NEW_MAIL . ",'" . $subj . "'," . $userdata['user_id'] ."," . $to_user_id. "," . $time . ",'" . $enc_ip . "')";
if ( !$db->sql_query($query) )
{
message_die(GENERAL_ERROR, 'Could not insert private message sent info', '', __LINE__, __FILE__, $sql);
}
$id = $db->sql_nextid();
$query = "INSERT INTO ". PRIVMSGS_TEXT_TABLE ." VALUES($id, '" . make_bbcode_uid() . "', '$text')";
if ( !$db->sql_query($query) )
{
message_die(GENERAL_ERROR, 'Could not insert private message sent text', '', __LINE__, __FILE__, $sql);
}
$query = "UPDATE ". USERS_TABLE ." SET
user_new_privmsg = user_new_privmsg + 1,
user_last_privmsg = $time,
user_newest_pm_id = $id
WHERE user_id = $to_user_id
LIMIT 1";
if ( !$db->sql_query($query) )
{
message_die(GENERAL_ERROR, 'Could not update private message new/read status for user', '', __LINE__, __FILE__, $sql);
}
}
torstatus.php
найти:
require(INC_DIR .'functions_torrent.php');
после вставить:
require(INC_DIR. 'bbcode.php'); // подключаем для форматирования иначе отхватим ошибку
найти:
if ($mode == 'userprofile')
{
redirect(append_sid("profile.php?mode=viewprofile&u=$req_uid"), true);
}
после вставить:
$sql = $db->sql_query("SELECT tor.poster_id, t.topic_poster, t.topic_title, t.topic_id
FROM ". BT_TORRENTS_TABLE ." tor
LEFT JOIN ". TOPICS_TABLE ." t ON(t.topic_id = tor.topic_id)
WHERE attach_id = $attach_id
LIMIT 1");
$tor_auth = $db->sql_fetchrow($sql);
$user_id = $userdata['user_id']; // id модератра проверившего релиз
$username = $userdata['username']; // ник модератора проверившего релиз
$uid = $tor_auth['poster_id'];// id автора релиза, т.е. куму будем отсылать сообщение
$pm_title = $tor_auth['topic_title']; // в заголовок ЛС, кидаем название релиза
найти:
$new_tor_status = $_POST['tor_status'];
после вставить:
$prichina = $_POST['prichina']; // получаем причину
if ($prichina == '') // проверяем на обязательно заполнение поля причина, при статусах указанных внизу иначе выводим ошибку
{
message_die(GENERAL_ERROR, $lang['NOT_SPECIFIED']);
}
switch($new_tor_status) // поперли рассылать лс при статусах
{
case 1:
$pm_body = sprintf($lang['TOR_STATUS_ACTION'], $lang['TOR_STATUS_CLOSED'], $user_id, $username, $prichina);
sends_pm($pm_title, $pm_body, $uid);
break;
case 3:
$pm_body = sprintf($lang['TOR_STATUS_ACTION'], $lang['TOR_STATUS_D'], $user_id, $username, $prichina);
sends_pm($pm_title, $pm_body, $uid);
break;
case 4:
$pm_body = sprintf($lang['TOR_STATUS_ACTION'], $lang['TOR_STATUS_NOT_PERFECT'], $user_id, $username, $prichina);
sends_pm($pm_title, $pm_body, $uid);
break;
case 5:
$pm_body = sprintf($lang['TOR_STATUS_ACTION'], $lang['TOR_STATUS_PART_PERFECT'], $user_id, $username, $prichina);
sends_pm($pm_title, $pm_body, $uid);
break;
case 6:
$pm_body = sprintf($lang['TOR_STATUS_ACTION'], $lang['TOR_STATUS_FISHILY'], $user_id, $username, $prichina);
sends_pm($pm_title, $pm_body, $uid);
break;
case 7:
$pm_body = sprintf($lang['TOR_STATUS_ACTION'], $lang['TOR_STATUS_COPY'], $user_id, $username, $prichina);
sends_pm($pm_title, $pm_body, $uid);
break;
}
открыть lang_main.php
в конец:
$lang['TOR_STATUS_ACTION'] = 'Статус "%s" установлен пользоватлем: %s
Причина: %s';
$lang['TOR_STATUS_ACTION_D'] = '%s';
$lang['REASON'] = 'Причина:';
$lang['NOT_SPECIFIED'] = 'Вы не указали причину';
открыть viewtopic_attach.tpl
найти:
после вставить:
{L_REASON}