Отправка ЛС при смене статуса релиза

Started by Gemini_13 on 2012-04-12 22:24 — 13 replies, 3186 views

#1
Название: Отправка ЛС при смене статуса релиза для TP2
Автор: Zenden
Версия движка: R446
Адаптировал под TP II: Gemini_13
Описание: Когда модератор выставляет статус релизу (проверено/недооформлено и тп), то релизеру отправляется сообщение в ЛС со всей инфой.
Доп. информация: Вырезал причину смены статуса и вставку названия топика в заголовок ЛС. Вообщем делал под себя, кому надо тот с оригинала докинет нужное.
Cложность установки: Легкая
Время, необходимое для установки: ~ 5 минут

change_tor_status.php
Найти:
$new_status]. '</b> &middot; <a class="med" href='. PROFILE_URL . $userdata['user_id'] . '>' . $userdata['username'] . '</a> &middot; <i>'. delta_time(TIMENOW) . $lang['BACK']. '</i>';

Вставить после:
// Отправка ЛС релизеру
$sql = DB()->sql_query("SELECT tor.poster_id, t.topic_poster, t.topic_title, t.topic_id
    FROM ". BB_BT_TORRENTS ." tor
    LEFT JOIN ". BB_TOPICS ." t ON(t.topic_id = tor.topic_id)
    WHERE attach_id = $attach_id
    LIMIT 1");
$tor_auth = DB()->sql_fetchrow($sql);
 
$poster_id = $userdata['user_id']; // id модератра проверившего релиз
$username = $userdata['username'];  // ник модератора проверившего релиз
$user_id = $tor_auth['poster_id'];// id автора релиза, т.е. куму будем отсылать сообщение
$pm_title = $lang['TOR_STATUS_ACTION_TITLE'];
if($new_status) // поперли рассылать лс при статусах
{
    $topic_name = $tor_auth['topic_title'];
    $topic_id = $tor_auth['topic_id'];
    $status = '<b>"'. $lang['TOR_STATUS_NAME'][$new_status]. '"</b>';
    $moderator = '<a class="med" href='. PROFILE_URL . $userdata['user_id'] . '><b>' . $userdata['username'] . '</b></a>';
 
    $pm_body  = sprintf($lang['TOR_STATUS_ACTION'], $topic_id, $topic_name, $status, $moderator);
    send_pm($user_id, $pm_title, $pm_body, $poster_id);
}

lang_main.php
Вставить в конец:
// ЛС после смены статуса релиза модером
$lang['TOR_STATUS_ACTION'] = 'Доброго времени суток!<br><br>Ваш релиз <a href="viewtopic.php?t=%s"><b>%s</b></a> получил статус %s после проверки модератором %s.<br><br>Спасибо за релиз!<br><br>С уважением, Администрация.';
$lang['TOR_STATUS_ACTION_TITLE'] = 'ВНИМАНИЕ! Статус Вашего релиза изменен.';
#2
Можно было легче в functions_torrent.php закинуть вот это
switch ($new_tor_status)
{
case TOR_DUP :
case TOR_CLOSED :
case TOR_PREMOD :
case TOR_DOUBTFUL:
case TOR_CONSUMED :
case TOR_NO_DESC :
case TOR_NEED_EDIT : send_pm($torrent['poster_id'], "Уведомление об изменении статуса вашего релиза", sprintf('Уважаемый(ая) %s! <br> Вашему релизу был присвоен статус %s <br> Для просмотра или исправления перейдите по <a href="viewtopic.php?t=%s">ссылке</a>.', profile_url(array('username' => get_username($torrent['poster_id']), 'user_id' => $torrent['poster_id']), $torrent['topic_id']), $lang['TOR_STATUS_NAME'][$tor_new_status]), $userdata['user_id']); break;
}
#3
Gemini_13, спасибо большое, а оригинал где можно посмотреть ?
#4
Oblom, чет опять найти в инете не смог, вот файликом для svn 1.x
#5
сознаюсь, вариант, который написал Bustra, лучше. этот мод можно на свалку ибо его работы только в топике
http://torrentpier.com/threads/Комментарий-к-статусу-раздачи.21/page-2#post-9675
#6
Gemini_13, привет! А как быть если сообщение приходит, а оповещения для него нет?
#7
makar, обновить свн, там уже есть.
#8
Т.е. обновить движок? Сейчас стоит R 400
#9
конечно. http://code.google.com/p/torrentpier2/source/list?num=25&start=407 вот см.
#10
конечно. http://code.google.com/p/torrentpier2/source/list?num=25&start=407 вот см.
Ясно, спасибо!