From 50a630c0c696cd899c9cb33c13827c3a36996d02 Mon Sep 17 00:00:00 2001 From: pherum83 Date: Wed, 2 May 2012 17:07:33 +0000 Subject: [PATCH] r408 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit комментарий к раздаче (часть 2) git-svn-id: https://torrentpier2.googlecode.com/svn/trunk@408 a8ac35ab-4ca4-ca47-4c2d-a49a94f06293 --- upload/ajax.php | 2 +- upload/ajax/change_tor_status.php | 129 +++++++++++------- upload/attach_mod/displaying_torrent.php | 11 +- upload/config.php | 4 +- upload/language/lang_english/lang_main.php | 11 +- upload/language/lang_russian/lang_main.php | 11 +- upload/templates/default/viewtopic_attach.tpl | 30 +++- 7 files changed, 130 insertions(+), 68 deletions(-) diff --git a/upload/ajax.php b/upload/ajax.php index 93b68a8c9..cd85a3483 100644 --- a/upload/ajax.php +++ b/upload/ajax.php @@ -73,13 +73,13 @@ class ajax_common 'change_user_opt' => array('admin'), 'manage_user' => array('admin'), - 'change_tor_status' => array('mod'), 'mod_action' => array('mod'), 'topic_tpl' => array('mod'), 'group_membership' => array('mod'), 'gen_passkey' => array('user'), 'change_torrent' => array('user'), + 'change_tor_status' => array('user'), 'view_post' => array('guest'), 'view_torrent' => array('guest'), diff --git a/upload/ajax/change_tor_status.php b/upload/ajax/change_tor_status.php index 1a2f3f521..a03598dfc 100644 --- a/upload/ajax/change_tor_status.php +++ b/upload/ajax/change_tor_status.php @@ -4,26 +4,20 @@ if (!defined('IN_AJAX')) die(basename(__FILE__)); global $userdata, $bb_cfg, $lang; -if (!isset($this->request['attach_id'])) -{ - $this->ajax_die($lang['EMPTY_ATTACH_ID']); -} -if (!isset($this->request['status'])) -{ - $this->ajax_die($lang['TOR_DONT_CHANGE']); -} -$attach_id = (int) $this->request['attach_id']; -$new_status = (int) $this->request['status']; +if (!isset($this->request['attach_id'])) $this->ajax_die($lang['EMPTY_ATTACH_ID']); -// Валидность статуса -if (!isset($lang['TOR_STATUS_NAME'][$new_status])) +$attach_id = (int) $this->request['attach_id']; +$mode = (string) $this->request['mode']; + +if($bb_cfg['tor_comment']) { - $this->ajax_die($lang['TOR_STATUS_FAILED']); + $comment = (string) $this->request['comment']; + $topic_title = $this->request['title']; } $tor = DB()->fetch_row(" SELECT - tor.forum_id, tor.topic_id, tor.tor_status, tor.checked_time, tor.checked_user_id, f.cat_id + tor.poster_id, tor.forum_id, tor.topic_id, tor.tor_status, tor.checked_time, tor.checked_user_id, f.cat_id FROM ". BB_BT_TORRENTS ." tor INNER JOIN ". BB_FORUMS ." f ON(f.forum_id = tor.forum_id) WHERE tor.attach_id = $attach_id @@ -31,41 +25,82 @@ $tor = DB()->fetch_row(" "); if (!$tor) $this->ajax_die($lang['TORRENT_FAILED']); -// Тот же статус -if ($tor['tor_status'] == $new_status) -{ - $this->ajax_die($lang['TOR_STATUS_DUB']); -} -// Запрет на изменение/присвоение CH-статуса модератором -if ($new_status == TOR_CLOSED_CPHOLD && !IS_ADMIN) -{ - $this->ajax_die($lang['TOR_DONT_CHANGE']); -} +switch($mode) +{ + case 'status': + $new_status = (int) $this->request['status']; -// Права на изменение статуса -if ($tor['tor_status'] == TOR_CLOSED_CPHOLD) -{ - if (!IS_ADMIN) $this->verify_mod_rights($tor['forum_id']); - DB()->query("UPDATE ". BB_TOPICS ." SET topic_status = ". TOPIC_UNLOCKED ." WHERE topic_id = {$tor['topic_id']} LIMIT 1"); -} -else -{ - $this->verify_mod_rights($tor['forum_id']); -} + // Валидность статуса + if (!isset($lang['TOR_STATUS_NAME'][$new_status])) $this->ajax_die($lang['TOR_STATUS_FAILED']); + if (!isset($this->request['status'])) $this->ajax_die($lang['TOR_DONT_CHANGE']); + if(!IS_AM) $this->ajax_die($lang['NOT_MODERATOR']); -// Подтверждение изменения статуса, выставленного другим модератором -if ($tor['tor_status'] != TOR_NOT_APPROVED && $tor['checked_user_id'] != $userdata['user_id'] && $tor['checked_time'] + 2*3600 > TIMENOW) -{ - if (empty($this->request['confirmed'])) - { - $msg = $lang['TOR_STATUS_OF'] ." {$lang['TOR_STATUS_NAME'][$tor['tor_status']]}\n\n"; - $msg .= ($username = get_username($tor['checked_user_id'])) ? $lang['TOR_STATUS_CHANGED'] . html_entity_decode($username) .", ". delta_time($tor['checked_time']) . $lang['BACK'] ."\n\n" : ""; - $msg .= $lang['PROCEED'] .'?'; - $this->prompt_for_confirm($msg); - } -} + // Тот же статус + if ($tor['tor_status'] == $new_status) + { + $this->ajax_die($lang['TOR_STATUS_DUB']); + } + + // Запрет на изменение/присвоение CH-статуса модератором + if ($new_status == TOR_CLOSED_CPHOLD && !IS_ADMIN) + { + $this->ajax_die($lang['TOR_DONT_CHANGE']); + } -change_tor_status($attach_id, $new_status); + // Права на изменение статуса + if ($tor['tor_status'] == TOR_CLOSED_CPHOLD) + { + if (!IS_ADMIN) $this->verify_mod_rights($tor['forum_id']); + DB()->query("UPDATE ". BB_TOPICS ." SET topic_status = ". TOPIC_UNLOCKED ." WHERE topic_id = {$tor['topic_id']} LIMIT 1"); + } + else + { + $this->verify_mod_rights($tor['forum_id']); + } + + // Подтверждение изменения статуса, выставленного другим модератором + if ($tor['tor_status'] != TOR_NOT_APPROVED && $tor['checked_user_id'] != $userdata['user_id'] && $tor['checked_time'] + 2*3600 > TIMENOW) + { + if (empty($this->request['confirmed'])) + { + $msg = $lang['TOR_STATUS_OF'] ." {$lang['TOR_STATUS_NAME'][$tor['tor_status']]}\n\n"; + $msg .= ($username = get_username($tor['checked_user_id'])) ? $lang['TOR_STATUS_CHANGED'] . html_entity_decode($username) .", ". delta_time($tor['checked_time']) . $lang['BACK'] ."\n\n" : ""; + $msg .= $lang['PROCEED'] .'?'; + $this->prompt_for_confirm($msg); + } + } + + change_tor_status($attach_id, $new_status); + + $this->response['status'] = $bb_cfg['tor_icons'][$new_status] .' '. $lang['TOR_STATUS_NAME'][$new_status]. ' · '. profile_url($userdata) .' · '. delta_time(TIMENOW) . $lang['BACK']. ''; + + if($bb_cfg['tor_comment'] && (($comment && $comment != $lang['COMMENT']) || in_array($new_status, $bb_cfg['tor_reply']))) + { + if($tor['poster_id'] > 0) + { + $subject = sprintf($lang['TOR_MOD_TITLE'], $topic_title); + $message = sprintf($lang['TOR_MOD_MSG'], get_username($tor['poster_id']), make_url(TOPIC_URL . $tor['topic_id']), $bb_cfg['tor_icons'][$new_status] .' '.$lang['TOR_STATUS_NAME'][$new_status]); + if($comment != $lang['COMMENT']) $message .= "\n\n[b]". $lang['COMMENT'] .'[/b]: '. $comment; + + send_pm($tor['poster_id'], $subject, $message, $userdata['user_id']); + + cache_rm_user_sessions($tor['poster_id']); + } + } + break; + + case 'status_reply': + if(!$bb_cfg['tor_comment']) $this->ajax_die($lang['MODULE_OFF']); + + $subject = sprintf($lang['TOR_AUTH_TITLE'], $topic_title); + + $message = sprintf($lang['TOR_AUTH_MSG'], get_username($tor['checked_user_id']), make_url(TOPIC_URL . $tor['topic_id']), $topic_title); + if($comment && $comment != $lang['COMMENT']) $message .= "\n\n[b]". $lang['COMMENT'] .'[/b]: '. $comment; + + send_pm($tor['checked_user_id'], $subject, $message, $userdata['user_id']); + + cache_rm_user_sessions($tor['checked_user_id']); + break; +} $this->response['attach_id'] = $attach_id; -$this->response['status'] = $bb_cfg['tor_icons'][$new_status] .' '. $lang['TOR_STATUS_NAME'][$new_status]. ' · '. profile_url($userdata) .' · '. delta_time(TIMENOW) . $lang['BACK']. ''; \ No newline at end of file diff --git a/upload/attach_mod/displaying_torrent.php b/upload/attach_mod/displaying_torrent.php index 5c0f4b6b4..8c7ec914a 100644 --- a/upload/attach_mod/displaying_torrent.php +++ b/upload/attach_mod/displaying_torrent.php @@ -204,9 +204,6 @@ if ($tor_reged && $tor_info) } else { - //torrent status mod - $cuid = $tor_info['checked_user_id']; - //end torrent status mod $template->assign_block_vars('postrow.attach.tor_reged', array( 'DOWNLOAD_NAME' => $display_name, 'TRACKER_LINK' => $tracker_link, @@ -214,12 +211,12 @@ if ($tor_reged && $tor_info) 'TOR_SILVER_GOLD' => $tor_type, // torrent status mod - 'TOR_FROZEN' => (!IS_AM) ? (isset($bb_cfg['tor_frozen'][$tor_info['tor_status']]) && !(isset($bb_cfg['tor_frozen_author_download'][$tor_info['tor_status']]) && $poster_id)) ? true : '' : '', + 'TOR_FROZEN' => (!IS_AM) ? (isset($bb_cfg['tor_frozen'][$tor_info['tor_status']]) && !(isset($bb_cfg['tor_frozen_author_download'][$tor_info['tor_status']]) && $userdata['user_id'] == $tor_info['poster_id'])) ? true : '' : '', 'TOR_STATUS_TEXT' => $lang['TOR_STATUS_NAME'][$tor_info['tor_status']], 'TOR_STATUS_ICON' => $bb_cfg['tor_icons'][$tor_info['tor_status']], - 'TOR_STATUS_BY' => ($cuid && $is_auth['auth_mod']) ? (' · '. profile_url($tor_info) .' · '. delta_time($tor_info['checked_time']) . $lang['BACK'] .'') : '', - 'TOR_STATUS_SELECT' => build_select('', array_flip($lang['TOR_STATUS_NAME']), TOR_APPROVED), - 'TOR_STATUS_REPLY' => $bb_cfg['tor_comment'] && in_array($tor_info['tor_status'], $bb_cfg['tor_reply']) && $poster_id, + 'TOR_STATUS_BY' => ($tor_info['checked_user_id'] && $is_auth['auth_mod']) ? (' · '. profile_url($tor_info) .' · '. delta_time($tor_info['checked_time']) . $lang['BACK'] .'') : '', + 'TOR_STATUS_SELECT' => build_select('sel_status', array_flip($lang['TOR_STATUS_NAME']), TOR_APPROVED), + 'TOR_STATUS_REPLY' => $bb_cfg['tor_comment'] && !IS_GUEST && in_array($tor_info['tor_status'], $bb_cfg['tor_reply']) && $userdata['user_id'] == $tor_info['poster_id'] && $t_data['topic_status'] != TOPIC_LOCKED, //end torrent status mod 'S_UPLOAD_IMAGE' => $upload_image, diff --git a/upload/config.php b/upload/config.php index 57b269dd8..3da16c49d 100644 --- a/upload/config.php +++ b/upload/config.php @@ -52,8 +52,8 @@ $bb_cfg = $tr_cfg = $page_cfg = array(); // Increase number of revision after update $bb_cfg['tp_version'] = '2.5 Beta'; -$bb_cfg['tp_release_state'] = 'R407'; -$bb_cfg['tp_release_date'] = '28-04-2012'; +$bb_cfg['tp_release_state'] = 'R408'; +$bb_cfg['tp_release_date'] = '02-05-2012'; // Database $charset = 'utf8'; diff --git a/upload/language/lang_english/lang_main.php b/upload/language/lang_english/lang_main.php index bf7980967..a09b86150 100644 --- a/upload/language/lang_english/lang_main.php +++ b/upload/language/lang_english/lang_main.php @@ -1244,8 +1244,15 @@ $lang['DEL_TORRENT'] = 'Are you sure you want to delete the torrent?'; $lang['DEL_MOVE_TORRENT'] = 'Are you sure you want to delete and move the topic?'; $lang['UNEXECUTED_RELEASE'] = 'Do you have a shapeless release before creating a new fix his unformed!'; $lang['STATUS_DOES_EXIST'] = 'Such status does not exist: '; -$lang['TOR_FIXED'] = 'Fixed'; -$lang['TOR_SENT_COMMENT'] = 'The information sent to the moderator. Expect.'; + +// tor_comment +$lang['TOR_MOD_TITLE'] = 'Changing the status of distribution - %s'; +$lang['TOR_MOD_MSG'] = "Hello, %s.\n\n Status [url=%s]your[/url] distribution is changed to [b]%s[/b]"; + +$lang['TOR_AUTH_TITLE'] = 'Changes in the design - %s'; +$lang['TOR_AUTH_MSG'] = "Hello, %s.\n\n Making my hand changed - [url=%s]%s[/url]\n\n Please re-check it."; +$lang['TOR_AUTH_FIXED'] = 'Fixed'; +$lang['TOR_AUTH_SENT_COMMENT'] = ' · The information sent to the moderator. Expect.'; //end torrent status mod $lang['BT_TOPIC_TITLE'] = 'Topic title'; diff --git a/upload/language/lang_russian/lang_main.php b/upload/language/lang_russian/lang_main.php index 66ffbd53f..466c0dae9 100644 --- a/upload/language/lang_russian/lang_main.php +++ b/upload/language/lang_russian/lang_main.php @@ -1251,8 +1251,15 @@ $lang['DEL_TORRENT'] = 'Вы уверены, что хотите удалить $lang['DEL_MOVE_TORRENT'] = 'Вы уверены, что хотите удалить и перенести топик?'; $lang['UNEXECUTED_RELEASE'] = 'У вас есть неоформленный релиз, прежде чем создавать новый - исправьте свой неоформленный!'; $lang['STATUS_DOES_EXIST'] = 'Такого статуса не существует: '; -$lang['TOR_FIXED'] = 'Исправил'; -$lang['TOR_SENT_COMMENT'] = 'Информация отправлена модератору. Ожидайте.'; + +// tor_comment +$lang['TOR_MOD_TITLE'] = 'Изменение статуса раздачи - %s'; +$lang['TOR_MOD_MSG'] = "Здравствуйте, %s.\n\n Статус [url=%s]Вашей[/url] раздачи изменен на [b]%s[/b]"; + +$lang['TOR_AUTH_TITLE'] = 'Изменение в оформлении - %s'; +$lang['TOR_AUTH_MSG'] = "Здравствуйте, %s.\n\n Оформление моей раздачи изменено - [url=%s]%s[/url]\n\n Просьба повторно её проверить."; +$lang['TOR_AUTH_FIXED'] = 'Исправил'; +$lang['TOR_AUTH_SENT_COMMENT'] = ' · Информация отправлена модератору. Ожидайте.'; //end torrent status mod $lang['BT_TOPIC_TITLE'] = 'Название темы'; diff --git a/upload/templates/default/viewtopic_attach.tpl b/upload/templates/default/viewtopic_attach.tpl index af807a141..4327f9546 100644 --- a/upload/templates/default/viewtopic_attach.tpl +++ b/upload/templates/default/viewtopic_attach.tpl @@ -264,24 +264,40 @@ {postrow.attach.tor_reged.TOR_STATUS_ICON} {postrow.attach.tor_reged.TOR_STATUS_TEXT} {postrow.attach.tor_reged.TOR_STATUS_BY} - + - {postrow.attach.tor_reged.TOR_STATUS_SELECT} - - + + + + + + {postrow.attach.tor_reged.TOR_STATUS_SELECT} + + + + + +