статусы для торрентов: проверен кем?

Sa
Sanya
Сообщения: 46
Зарегистрирован: 03 ноя 2009, 17:17
Откуда: Стрежевой
Поблагодарили: 15 раз

Сообщение Sanya 06 дек 2009, 20:53

Не плохо было, что бы видели кто проверил или запретил, например: статус: проверен Sanya, что бы знать наверняк в кого "камень кинуть" :)
Аватара пользователя
PPK
Администратор
Сообщения: 8984
Зарегистрирован: 21 мар 2009, 17:13
Благодарил (а): 72 раза
Поблагодарили: 1301 раз

Сообщение PPK 07 дек 2009, 16:59

Можно .. подумаю
so
sonneandsky
Сообщения: 178
Зарегистрирован: 05 июн 2009, 16:03
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Сообщение sonneandsky 07 дек 2009, 21:35

Sanya писал(а):Не плохо было, что бы видели кто проверил или запретил, например: статус: проверен Sanya, что бы знать наверняк в кого "камень кинуть" :)

+1 Очень нужно :)
Xe
XelaDin
Сообщения: 28
Зарегистрирован: 20 окт 2009, 15:04
Откуда: Украина, Одесса
Поблагодарили: 2 раза

Сообщение XelaDin 07 дек 2009, 21:58

Если не против, предложу своё решение:
1. Выполняем SQL запросы

Код: Выделить всё

ALTER TABLE `phpbb_tracker_torrents` ADD `forb_user_id` MEDIUMINT( 8 ) NOT NULL DEFAULT '1' AFTER `forb`

вместо DEFAULT '1' можно вписать ID любого пользователя или бота на Вашем трекере (DEFAULT '53')

Код: Выделить всё

ALTER TABLE `phpbb_tracker_torrents` ADD `forb_date` INT( 11 ) NOT NULL DEFAULT '0' AFTER `forb_user_id`

вместо DEFAULT '0' можно вписать любую дату в формате хранимой в базе даты (DEFAULT '1259494915')
2. в файле language/ru/viewtopic.php ищем

Код: Выделить всё

'TORRENT_STATUS'        => 'Статус',

после добавляем

Код: Выделить всё

'TORRENT_STATUS_USER_ID'   => 'Проверил',
'TORRENT_STATUS_UPDATED' => 'Дата проверки',

3. в файле tracker/include/viewtopic_add1.php ищем

Код: Выделить всё

$forb_val > 99 || $forb_val < -99 ? $forb_val=0 : '';

после добавляем

Код: Выделить всё

$user_id=$user->data['user_id'];

ищем

Код: Выделить всё

if($set_forb/* && $forb_val!=$torrents[$torrent_id]['forb']*/)

заменяем на

Код: Выделить всё

if($set_forb && $forb_val!=$torrents[$torrent_id]['forb'])

ищем

Код: Выделить всё

$result=$db->sql_query('UPDATE '. TRACKER_TORRENTS_TABLE ." SET forb='$forb_val' WHERE post_msg_id='{$row['post_id']}'");

заменяем на

Код: Выделить всё

$result=$db->sql_query('UPDATE '. TRACKER_TORRENTS_TABLE ." SET forb='$forb_val', forb_user_id='$user_id', forb_date=$dt WHERE post_msg_id='{$row['post_id']}'");

ищем

Код: Выделить всё

$torrents[$torrent_id]['forb']=$forb_val;

после добавляем

Код: Выделить всё

$torrents[$torrent_id]['forb_date']=$dt;
$torrents[$torrent_id]['forb_user_id']=$user_id;
$torrents[$torrent_id]['username']=$user->data['username'];

ищем

Код: Выделить всё

$torrents[$torrent_id]['forb']!=0 ? $torrent_stat[]=array($user->lang['TORRENT_STATUS'], $user->lang['TRACKER_FORB_MARK'][$torrents[$torrent_id]['forb']]) : '';

после добавляем

Код: Выделить всё

$torrents[$torrent_id]['forb']!=0 ? $torrent_stat[]=array($user->lang['TORRENT_STATUS_USER_ID'], "<a href='memberlist.php?mode=viewprofile&u=".$torrents[$torrent_id]['forb_user_id']."' /><b>".$torrents[$torrent_id]['username']."</b></a>") : '';
$torrents[$torrent_id]['forb']!=0 ? $torrent_stat[]=array($user->lang['TORRENT_STATUS_UPDATED'], $user->format_date($torrents[$torrent_id]['forb_date'])) : '';

4. в файле viewtopic.php ищем

Код: Выделить всё

$sql='SELECT tr.* tt.id thanks FROM '.TRACKER_TORRENTS_TABLE ." tr LEFT JOIN ". POSTS_TABLE ." p ON p.topic_id=tr.topic_id AND p.post_id=tr.post_msg_id LEFT JOIN ".TRACKER_THANKS_TABLE." tt ON tt.torrent_id=tr.id AND tt.user_id='{$user->data['user_id']}' WHERE tr.topic_id='{$topic_data['topic_id']}'";

заменяем на

Код: Выделить всё

$sql='SELECT tr.*, u.username, tt.id thanks FROM '.USERS_TABLE.' u, '.TRACKER_TORRENTS_TABLE ." tr LEFT JOIN ". POSTS_TABLE ." p ON p.topic_id=tr.topic_id AND p.post_id=tr.post_msg_id LEFT JOIN ".TRACKER_THANKS_TABLE." tt ON tt.torrent_id=tr.id AND tt.user_id='{$user->data['user_id']}' WHERE u.user_id=tr.forb_user_id   AND tr.topic_id='{$topic_data['topic_id']}'";


В результате получаем
Последний раз редактировалось XelaDin 08 дек 2009, 21:56, всего редактировалось 2 раза.
Sa
Sauron
Сообщения: 77
Зарегистрирован: 03 дек 2009, 23:40
Поблагодарили: 1 раз

Сообщение Sauron 08 дек 2009, 00:19

Все обновил, но выскочил косяк в запросе. Пропадает все описание торрента при данном запросе

Код: Выделить всё

$sql='SELECT tr.*, u.username, tt.id thanks FROM '.USERS_TABLE.' u, '.TRACKER_TORRENTS_TABLE ." tr LEFT JOIN ". POSTS_TABLE ." p ON p.topic_id=tr.topic_id AND p.post_id=tr.post_msg_id LEFT JOIN ".TRACKER_THANKS_TABLE." tt ON tt.torrent_id=tr.id AND tt.user_id='{$user->data['user_id']}' WHERE u.user_id=tr.forb_user_id   AND tr.topic_id='{$topic_data['topic_id']}'";

удалил u.user_id=tr.forb_user_id, вроде заработало
Xe
XelaDin
Сообщения: 28
Зарегистрирован: 20 окт 2009, 15:04
Откуда: Украина, Одесса
Поблагодарили: 2 раза

Сообщение XelaDin 08 дек 2009, 01:36

Sauron писал(а):Все обновил, но выскочил косяк в запросе. Пропадает все описание торрента при данном запросе

Код: Выделить всё

$sql='SELECT tr.*, u.username, tt.id thanks FROM '.USERS_TABLE.' u, '.TRACKER_TORRENTS_TABLE ." tr LEFT JOIN ". POSTS_TABLE ." p ON p.topic_id=tr.topic_id AND p.post_id=tr.post_msg_id LEFT JOIN ".TRACKER_THANKS_TABLE." tt ON tt.torrent_id=tr.id AND tt.user_id='{$user->data['user_id']}' WHERE u.user_id=tr.forb_user_id   AND tr.topic_id='{$topic_data['topic_id']}'";

удалил u.user_id=tr.forb_user_id, вроде заработало
в случае удаления u.user_id=tr.forb_user_id получим левое имя проверяющего, под которой будет ссылка на профиль того, кто действительно проверил релиз.
По поводу ошибки вероятно у Вас нет пользователя с ID=0 (а он действительно не стандартный), поэтому проведите такой запрос

Код: Выделить всё

UPDATE `phpbb_tracker_torrents` SET `forb_user_id` = '1'


P.S. Свой пост с модом подредактировал
Sa
Sauron
Сообщения: 77
Зарегистрирован: 03 дек 2009, 23:40
Поблагодарили: 1 раз

Сообщение Sauron 08 дек 2009, 04:41

Да, спасибо. Не проверил сам такой вариант :)
Sa
Sanya
Сообщения: 46
Зарегистрирован: 03 ноя 2009, 17:17
Откуда: Стрежевой
Поблагодарили: 15 раз

Сообщение Sanya 08 дек 2009, 19:35

результат первого запроса

Код: Выделить всё

#1054 - Unknown column 'forb_date' in 'phpbb_tracker_torrents'
и второго

Код: Выделить всё

#1054 - Unknown column 'forb_user_id' in 'phpbb_tracker_torrents'
Xe
XelaDin
Сообщения: 28
Зарегистрирован: 20 окт 2009, 15:04
Откуда: Украина, Одесса
Поблагодарили: 2 раза

Сообщение XelaDin 08 дек 2009, 21:57

Извиняюсь, описка. Первый запрос выглядит так:

Код: Выделить всё

ALTER TABLE `phpbb_tracker_torrents` ADD `forb_user_id` MEDIUMINT( 8 ) NOT NULL DEFAULT '1' AFTER `forb`
ka
ka81
Сообщения: 50
Зарегистрирован: 15 июн 2009, 16:29
Откуда: Київ

Сообщение ka81 08 дек 2009, 22:27

Sanya писал(а):Не плохо было, что бы видели кто проверил или запретил, например: статус: проверен Sanya, что бы знать наверняк в кого "камень кинуть" :)

учитывая, что решение тут уже выложили, хотелось иметь данную "фичу" по дефолту в нашем любимом трекере.

Вернуться в «Предложения по новым функциям и возможностям»

Кто сейчас на конференции

Сейчас этот форум просматривают: CCBot и 0 гостей