Автор: 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}