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

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

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

06 дек 2009, 20:53

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

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

07 дек 2009, 16:59

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

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

07 дек 2009, 21:35

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

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

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
Поблагодарили: 1 раз
Сообщения: 77
Зарегистрирован: 03 дек 2009, 23:40
Сообщение

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

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
Откуда: Украина, Одесса
Поблагодарили: 2 раза
Сообщения: 28
Зарегистрирован: 20 окт 2009, 15:04
Сообщение

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

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
Поблагодарили: 1 раз
Сообщения: 77
Зарегистрирован: 03 дек 2009, 23:40
Сообщение

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

08 дек 2009, 04:41

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

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

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
Откуда: Украина, Одесса
Поблагодарили: 2 раза
Сообщения: 28
Зарегистрирован: 20 окт 2009, 15:04
Сообщение

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

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
Сообщение

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

08 дек 2009, 22:27

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

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