Отображение статуса раздач картинкой(Золото, серебро, бронза)

На основе стандартных функций.

Аватара пользователя
serrrios
Благодарил (а): 11 раз
Поблагодарили: 119 раз
Сообщения: 1531
Зарегистрирован: 29 май 2009, 20:22
Сообщение

Отображение статуса раздач картинкой(Золото, серебро, бронза)

14 мар 2011, 16:16

Мод: Отображение статусов раздач(Золото, серебро, бронза) - на базе стандартных функций скидок.
Принцип работы: В зависимости установленной скидки на скачивание торрента ставиться картиночка статуса. При скидке от 25 до 49% ставиться бронза, от 50% до 99% - серебро и при 100% бронза. Вывод доступен в портале, в самой раздаче и в форуме.
Автор: serrrios - я тобишь) Не забываем тыкать спасибо)
1) Берем картинки:

Ложим в папку ../images/tracker/
2) Открываем файл ../includes/functions.php
В самом конце перед: Вставляем:

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

function free_stat($free = 0)
{

	if($free >= -1 and $free < 25) {
		$free_stat = '';
	} elseif($free >= 25 and $free < 50) {
		$free_stat = '<img src="./images/tracker/bronze.gif" alt="Бронзовая раздача - Скачанное не учитывается на '.$free.'%"  title="Бронзовая раздача - Скачанное не учитывается на '.$free.'%"/>';
	} elseif($free >= 50 and $free < 100) {
		$free_stat = '<img src="./images/tracker/silver.gif" alt="Серебряная раздача - Скачанное не учитывается на '.$free.'%"  title="Серебряная раздача - Скачанное не учитывается на '.$free.'%"/>';
	} elseif($free = 100) {
		$free_stat = '<img src="./images/tracker/gold.gif" alt="Золотая раздача - Скачанное не учитывается на '.$free.'%"  title="Золотая раздача - Скачанное не учитывается на '.$free.'%"/>';
	}
	return $free_stat;
}
3) Открываем файл ../tracker/include/viewtopic_add1.php
В самом конце перед: Вставляем:

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

$template->assign_vars(array(
   'FREE_STAT'=> free_stat($torrents[$torrent_id]['free'])
));
4) Открываем файл ../viewforum.php
Ищем:

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

			'TORRENT_FREE'			=> $forum_astracker && $is_canusefree && @$row['free'] ? '<img src="' . $phpbb_root_path . 'images/tracker/bookmark.png" alt="' . sprintf($user->lang['FORM_TORRENT_FREE'], $row['free'], '%').'"  title="' . sprintf($user->lang['FORM_TORRENT_FREE'], $row['free'], '%').'" />' : '',
Вставляем после:

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

                        'FREE_STAT'			=> $forum_astracker && $is_canusefree && @$row['free'] ? free_stat($row['free']) : '',
5) Открываем файл ../portal/block/ppkBB3cker_ltorrents.php
Ищем:

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

			'TORRENT_FREE' => $fetch_announcements[$i]['tr_free'],
Вставляем после:

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

                        'FREE_STAT'=> 	free_stat($fetch_announcements[$i]['tr_free']),
И так функцию мы вставили, осталось только вывести в шаблон. Делается это такими переменными: Для портала {torrents_row.FREE_STAT}, для форумов {topicrow.FREE_STAT} и для самой раздачи {FREE_STAT}.

У себя я сделал так:
В ppkBB3cker_ltorrents.html
Нашел:

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

<div class="torr_title_div"><a href="{torrents_row.U_VIEW_COMMENTS}"><strong>{torrents_row.TITLE}</strong></a>
Заменил так:

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

<div class="torr_title_div"><a href="{torrents_row.U_VIEW_COMMENTS}"><strong>{torrents_row.TITLE}</strong></a> {torrents_row.FREE_STAT}
В viewforum_tracker_body.html
Нашел(два раза):

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

{topicrow.TORRENT_FREE}
Заменил так:

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

{topicrow.TORRENT_FREE} {topicrow.FREE_STAT}
В viewtopic_tracker_body.html
Нашел:

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

<div style="float: {S_CONTENT_FLOW_BEGIN};">&nbsp;<b>{L_POST_SUBJECT}:</b> {postrow.POST_SUBJECT}</div>
Заменил так:

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

<div style="float: {S_CONTENT_FLOW_BEGIN};">&nbsp;<b>{L_POST_SUBJECT}:</b> {postrow.POST_SUBJECT}</div> {FREE_STAT}
Но мой пример не идеален, в плане того что он под мой стиль. А теперь почему я не описал по другому и не буду тыкать пальцем куда: каждый боль-мение админ должен знать структуру трекера, а не знать хотя бы поверхностно html(а тут именно он) ваще стыд.
http://aniproject.ru - перспектива... велком епта..
http://www.ppkbb3cker.ru/viewtopic.php?f=35&t=1042 - мои платные услуги по трекеру.
Аватара пользователя
Akuji
Благодарил (а): 8 раз
Поблагодарили: 16 раз
Сообщения: 192
Зарегистрирован: 12 мар 2010, 16:57
Сообщение

Re: Отображение статуса раздач картинкой(Золото, серебро, бронза)

14 мар 2011, 16:21

Благодарю ;)
Всё отлично работает и отображается.
Последний раз редактировалось Akuji 14 мар 2011, 16:46, всего редактировалось 1 раз.
Аватара пользователя
Gabriil
Откуда: Киев
Благодарил (а): 7 раз
Поблагодарили: 5 раз
Сообщения: 58
Зарегистрирован: 29 апр 2010, 22:06
Сообщение

Re: Отображение статуса раздач картинкой(Золото, серебро, бронза)

14 мар 2011, 19:58

serrrios, ты как всегда на высоте! :)
Давно хотел себе функцию скидок переделать на такой вариант.
Аватара пользователя
GayveR
Откуда: Кемерово
Благодарил (а): 5 раз
Поблагодарили: 9 раз
Сообщения: 127
Зарегистрирован: 06 янв 2010, 18:31
Сообщение

Re: Отображение статуса раздач картинкой(Золото, серебро, бронза)

14 мар 2011, 20:38

у себя на портале сделал вот так:

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

	<!-- IF torrents_row.TORRENT_FREE -->
	<!-- IF torrents_row.TORRENT_FREE < 100-->
	<img src="{T_THEME_PATH}/images/portal/silver.gif" width="14" height="14" alt="" title="{L_TORRENT_FREE} {torrents_row.TORRENT_FREE}%" align="absmiddle" />&nbsp;&nbsp;
	<!-- ELSE -->
	<img src="{T_THEME_PATH}/images/portal/gold.gif" width="14" height="14" alt="" title="{L_TORRENT_FREE} {torrents_row.TORRENT_FREE}%" align="absmiddle" />&nbsp;&nbsp;
	<!-- ENDIF -->
	<!-- ENDIF -->
Тоесть если на раздаче скидка 50 процентов, будет выводиться серебро, если 100 процентов золото, а если без скидки, то ничего не будет выводиться)
Аватара пользователя
serrrios
Благодарил (а): 11 раз
Поблагодарили: 119 раз
Сообщения: 1531
Зарегистрирован: 29 май 2009, 20:22
Сообщение

Re: Отображение статуса раздач картинкой(Золото, серебро, бронза)

14 мар 2011, 21:47

Логичней было сделать так:

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

function free_stat($free = 0)
{

   if($free >= 1) {
      $free_stat = '';
    } elseif($free = 100) {
      $free_stat = '<img src="./images/tracker/gold.gif" alt="Золотая раздача - Скачанное не учитывается на '.$free.'%"  title="Золотая раздача - Скачанное не учитывается на '.$free.'%"/>';
   }
   return $free_stat;
}
Да и вообще при таком корявом раскладе даже скидка в 1% будет считаться серебром. Ну как знаете)))
http://aniproject.ru - перспектива... велком епта..
http://www.ppkbb3cker.ru/viewtopic.php?f=35&t=1042 - мои платные услуги по трекеру.
dg
dga776
Благодарил (а): 5 раз
Сообщения: 15
Зарегистрирован: 04 фев 2011, 10:37
Сообщение

Re: Отображение статуса раздач картинкой(Золото, серебро, бронза)

15 мар 2011, 00:04

Спасибо за мод!
Аватара пользователя
GayveR
Откуда: Кемерово
Благодарил (а): 5 раз
Поблагодарили: 9 раз
Сообщения: 127
Зарегистрирован: 06 янв 2010, 18:31
Сообщение

Re: Отображение статуса раздач картинкой(Золото, серебро, бронза)

15 мар 2011, 06:10

serrrios писал(а):Логичней было сделать так:

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

function free_stat($free = 0)
{

   if($free >= 1) {
      $free_stat = '';
    } elseif($free = 100) {
      $free_stat = '<img src="./images/tracker/gold.gif" alt="Золотая раздача - Скачанное не учитывается на '.$free.'%"  title="Золотая раздача - Скачанное не учитывается на '.$free.'%"/>';
   }
   return $free_stat;
}
Да и вообще при таком корявом раскладе даже скидка в 1% будет считаться серебром. Ну как знаете)))
Ну да согласен....доработал, теперь всё как нужно:

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

<!-- IF torrents_row.TORRENT_FREE -->
	<!-- IF torrents_row.TORRENT_FREE < 100 && torrents_row.TORRENT_FREE >= 50-->
	<img src="{T_THEME_PATH}/images/portal/silver.gif" width="14" height="14" alt="" title="{L_TORRENT_FREE} {torrents_row.TORRENT_FREE}%" align="absmiddle" />&nbsp;&nbsp;
	<!-- ELSE -->
	<!-- IF torrents_row.TORRENT_FREE > 99-->
	<img src="{T_THEME_PATH}/images/portal/gold.gif" width="14" height="14" alt="" title="{L_TORRENT_FREE} {torrents_row.TORRENT_FREE}%" align="absmiddle" />&nbsp;&nbsp;
	<!-- ELSE IF torrents_row.TORRENT_FREE > 0 && torrents_row.TORRENT_FREE < 50 -->
	<img src="{T_THEME_PATH}/images/portal/bronze.gif" width="14" height="14" alt="" title="{L_TORRENT_FREE} {torrents_row.TORRENT_FREE}%" align="absmiddle" />&nbsp;&nbsp;
	<!-- ENDIF --><!-- ENDIF --><!-- ENDIF -->
Так нам лишние файлы не придётся редактировать, да и php я полный ноль, поэтому делаю так) но ведь так даже проще с одной стороны
Ze
Zemloc
Благодарил (а): 1 раз
Поблагодарили: 1 раз
Сообщения: 33
Зарегистрирован: 16 ноя 2010, 21:01
Сообщение

Re: Отображение статуса раздач картинкой(Золото, серебро, бронза)

17 май 2011, 22:32

Поставил и очень рад. Подправил под свой стиль. Все работает, спасибо! :)
fi
fitamin4ik23
Благодарил (а): 6 раз
Сообщения: 32
Зарегистрирован: 11 июн 2011, 01:35
Сообщение

Re: Отображение статуса раздач картинкой(Золото, серебро, бронза)

11 июн 2011, 11:28

спасибо мод кулл но с кодировкой траблы при наведении на изображение там вопросики
Аватара пользователя
Akuji
Благодарил (а): 8 раз
Поблагодарили: 16 раз
Сообщения: 192
Зарегистрирован: 12 мар 2010, 16:57
Сообщение

Re: Отображение статуса раздач картинкой(Золото, серебро, бронза)

11 июн 2011, 15:57

Текст должен быть в UTF-8 без BOM

Вернуться в «Готовые моды для трекера»