Ace Stream Forum    Wiki    Info

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Автор Тема: TorrentTube for TbDEV  (Прочитано 29629 раз)

lEx0

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 24
TorrentTube for TbDEV
« : 21 Апрель 2010, 14:29:37 »

Мод для TbDEV в процессе разработки

ARiS

  • Еxpert
  • Newbie
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: TorrentTube for TbDEV
« Ответ #1 : 24 Апрель 2010, 19:46:42 »

Ставил для себя, решил поделиться.
Сразу отмечу, что в данном случае используется приватный трекер, поэтому как вы будете выдавать торрент-файл плееру решайте/делайте сами. В данном примере подразумевается наличие на хостинге папки TorrentTube в которой находятся торренты с пасскеями кого-либо из пользователей.


Ищем подобную строку в details.php:
tr("Описание", format_comment($row["descr"]), 1);
Если у вас движок от Yuna, то ищем
tr($tracker_lang['description'], format_comment($row["descr"]), 1, 1);
и вставляем ниже (можно выше, перед "if (!empty($row["descr"]))" ) следующее:
if ($row["cat_id"] == "AAAAAAA") {
require_once('ts_client.php');
define('API_KEY', 'XXXXXXXXX');
define('ZONE_ID', YYYYYYYYY);
$client = new TS_Client(API_KEY);
$path = "./TorrentTube/$row[filename].torrent"; //путь к торрентам
$torrent_data = file_get_contents($path);
$content_name = 'Test content';
$duration = 6738; //можно было бы брать из БД конкретно под каждый торрент, но не увидел где это вообще используется.
$content_uid = $client->add_content(ZONE_ID, base64_encode($torrent_data), $content_name, $duration);

$on = "<div id=\"content\" style=\"position: relative; width: 720px; height: 304px; margin: 0 auto; background: #000 url('pic/bg_player.png') no-repeat 0 0;\">
<div id=\"ts_player\" style=\"width: 100%; height: 100%; color: #fff; text-align: center;\">Подождите, идет загрузка плеера...</div>
<script type=\"text/javascript\">
var tsHost = ((\"https:\" == document.location.protocol) ? \"https://\" : \"http://\");
document.write(unescape(\"%3Cscript src='\" + tsHost + \"torrentstream.net/p/" . $content_uid . "' type='text/javascript'%3E%3C/script%3E\"));
</script>
<script type=\"text/javascript\">
tsplayer(\"ts_player\", {width: \"720px\", height: \"304px\"});
</script>
</div>";
                  tr(Онлайн, $on, 1);
}
меняя XXXXXXXXX на свой "Код партнера", а YYYYYYYYY на ID вашей площадки (если не понимаете о чём речь читайте этот форум, всё доходчиво написано).
Так же в условии if, замените AAAAAAA на id вашей категории фильмов (если их несколько, то можно так: if ($row["cat_id"] == "AAAAAAA" || $row["cat_id"] == "BBBBBBB" и т.д.) {  )

ts_client.php - брать тут: http://torrentstream.net/download/?product=tsclient&version=latest и загрузить в корень.
Картинку в прикреплении залить в папку pic, но это не обязательно.







Полноценный мод для модификации движка TBDev от Yuna.
Особенности:
- в настройках категорий функционально указывается использовать в категории плеер или нет
- в торрент файл добавляется пасскей смотрящего



SQL:
ALTER TABLE `categories` ADD `tstream` enum('yes','no') NOT NULL default 'no';
в category.php
ищем
Цитировать
if($edited == 1) {
после вставляем
$tstream = $_GET['tstream'];
ищем ниже на пару строк
Цитировать
image = ".sqlesc($cat_img).",
после вставляем
tstream = ".sqlesc($tstream).",
ищем
Цитировать
$img = htmlspecialchars_uni($_GET['img']);
после вставляем
$tstream = htmlspecialchars_uni($_GET['tstream']);
if ($tstream == "yes")
$checked = "checked";
else
$checked2 = "checked";

ищем
Цитировать
echo("<tr><td>Сортировка: </td><td align='right'><input type='text' size=50 name='cat_sort' value='$sort'></td></tr>");
после вставляем
echo("<tr><td>TorrentTube: </td><td align='right'><input type='radio' name='tstream' value='yes' $checked>Да <input type='radio' name='tstream' value='no' $checked2>Нет</td></tr>");
ищем
Цитировать
$img = $row['image'];
после вставляем
$tstream = $row['tstream'];
ищем
Цитировать
<a href='category.php?editid=$id&name=$name&img=$img&sort=$sort>
заменяем на:
<a href='category.php?editid=$id&name=$name&img=$img&sort=$sort&tstream=$tstream'>

в config.php добавляем перед "?>"
//Конфигурация TorrentTube
$ttube_key = "***"; // Код партнера
$ttube_id = "***";   // id площадки
// [END] Конфигурация TorrentTube
Заменяя *** на код партнера и id площадки соответственно

в details.php ищем
Цитировать
categories.id AS cat_id,
добавляем
categories.tstream AS cat_tstream,
ищем:
Цитировать
tr($tracker_lang['description'], format_comment($row["descr"]), 1, 1);
после вставляем:
// [START] TorrentTube
if ($row["cat_tstream"] == "yes") {
require_once('ts_client.php');
define('API_KEY', $ttube_key);
define('ZONE_ID', $ttube_id);
sql_query("UPDATE torrents SET hits = hits + 1 WHERE id = ".sqlesc($id));
require_once "include/benc.php";

$fn = "$torrent_dir/$id.torrent";

if (!$row || !is_file($fn) || !is_readable($fn))
    stderr($tracker_lang['error'], $tracker_lang['unable_to_read_torrent']);
    
if (strlen($CURUSER['passkey']) != 32) {
    $CURUSER['passkey'] = md5($CURUSER['username'].get_date_time().$CURUSER['passhash']);
    sql_query("UPDATE users SET passkey=".sqlesc($CURUSER[passkey])." WHERE id=".sqlesc($CURUSER[id]));
}

$dict = bdec_file($fn, (1024*1024));
$dict['value']['announce']['value'] = $announce_urls[0]."?passkey=$CURUSER[passkey]";
$dict['value']['announce']['string'] = strlen($dict['value']['announce']['value']).":".$dict['value']['announce']['value'];
$dict['value']['announce']['strlen'] = strlen($dict['value']['announce']['string']);

$torrent_data = benc($dict);


$client = new TS_Client(API_KEY);
$content_name = $row['save_as'];
$duration = 6738;
$content_uid = $client->add_content(ZONE_ID, base64_encode($torrent_data), $content_name, $duration);

$on = "<div id=\"content\" style=\"position: relative; width: 720px; height: 304px; margin: 0 auto; background: #000 url('pic/bg_player.png') no-repeat 0 0;\">
<div id=\"ts_player\" style=\"width: 100%; height: 100%; color: #fff; text-align: center;\">Подождите, идет загрузка плеера...</div>
<script type=\"text/javascript\">
var tsHost = ((\"https:\" == document.location.protocol) ? \"https://\" : \"http://\");
document.write(unescape(\"%3Cscript src='\" + tsHost + \"torrentstream.net/p/" . $content_uid . "' type='text/javascript'%3E%3C/script%3E\"));
</script>
<script type=\"text/javascript\">
tsplayer(\"ts_player\", {width: \"720px\", height: \"304px\"});
</script>
</div>";
                  tr(Онлайн, $on, 1);
}
// [END] TorrentTube
« Последнее редактирование: 12 Ноябрь 2010, 21:19:38 от ARiS »

lEx0

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 24
Re: TorrentTube for TbDEV
« Ответ #2 : 27 Апрель 2010, 08:10:11 »

спс за внимание, в течении этой недели будет докончена Платная и Бесплатная версия TorrentTube

MisterSer

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 32
Re: TorrentTube for TbDEV
« Ответ #3 : 07 Май 2010, 22:13:14 »

Извините, читал форум но так и не нашел, как стать партнером. Укажите на то место, пожалуйста.

lEx0

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 24
Re: TorrentTube for TbDEV
« Ответ #4 : 07 Май 2010, 23:19:35 »

Извините, читал форум но так и не нашел, как стать партнером. Укажите на то место, пожалуйста.

надо зайти на http://torrentstream.net и зарегистрироваться там как Партнер

grunya404

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 2
Re: TorrentTube for TbDEV
« Ответ #5 : 19 Май 2010, 19:10:48 »

а что будет в платной версии ?
как обстоит дело с воспроизведением раздач сериалов к примеру, в котрых в одном торренте лежит много файлов?

Constantin

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1756
    • Torrent Stream
Re: TorrentTube for TbDEV
« Ответ #6 : 19 Май 2010, 20:18:20 »

а что будет в платной версии ?
как обстоит дело с воспроизведением раздач сериалов к примеру, в котрых в одном торренте лежит много файлов?

Возможность выбора и воспроизведения файла относится непосредственно к работе плагина и самой системы TS.

P.S. В следующей версии плагина такая возможность будет!
Подписывайтесь на наш   Twitter, чтобы первыми узнать что у нас есть новенького и интересного.

MisterSer

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 32
Re: TorrentTube for TbDEV
« Ответ #7 : 19 Май 2010, 20:21:15 »

Когда планируете выпуск следующей версии плагина? Это важно!

Constantin

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1756
    • Torrent Stream
Re: TorrentTube for TbDEV
« Ответ #8 : 19 Май 2010, 21:49:18 »

Когда планируете выпуск следующей версии плагина? Это важно!

Мы сами хотим выпустить, как можно быстрее, более функциональную версию, но точной даты мы пока сказать не можем.
Подписывайтесь на наш   Twitter, чтобы первыми узнать что у нас есть новенького и интересного.

MisterSer

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 32
Re: TorrentTube for TbDEV
« Ответ #9 : 22 Май 2010, 00:19:26 »

спс за внимание, в течении этой недели будет докончена Платная и Бесплатная версия TorrentTube

Как продвигается работа по TorrentTube?

Или как в этом коде реализовать создание плееров из торрент файла пользователя? То есть плеер создаеться для каждого пользователя.

denzel519

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 4
Re: TorrentTube for TbDEV
« Ответ #10 : 04 Июнь 2010, 04:19:19 »

Не пашет, не появляется плеер!

kosjak

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 11
Re: TorrentTube for TbDEV
« Ответ #11 : 04 Июнь 2010, 13:06:16 »

Не пашет, не появляется плеер!

Может потому, что руки растут от туда же откуда и у PHPDoga?  ;D И зачем такому г.... двиглу примочка в виде TorrentStream? :D исправьте сначала миллион багов в движке, а потом уже думайте о сторонних приложениях :)

kosjak

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 11
Re: TorrentTube for TbDEV
« Ответ #12 : 04 Июнь 2010, 13:16:52 »

спс за внимание, в течении этой недели будет докончена Платная и Бесплатная версия TorrentTube

Как продвигается работа по TorrentTube?

Или как в этом коде реализовать создание плееров из торрент файла пользователя? То есть плеер создаеться для каждого пользователя.

Плеер создается не для каждого пользователя, а для .торрент файла, вообще скажу так, не знаю как организована автоматическая регистрация плеера, но я бы вам посоветовал у себя на трекере записывать полученый код плеера в базу и производить проверку на его наличие при повторном использовании плеера. Так по крайней мере организовано у меня.

MisterSer

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 32
Re: TorrentTube for TbDEV
« Ответ #13 : 04 Июнь 2010, 14:24:32 »

Идея в следующем, если релиз подходит под определенные условия, то создается для этого релиза плеер автоматически (торрент файл берется пользователя, кто хочет смотреть этот релиз он лайн).

kosjak

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 11
Re: TorrentTube for TbDEV
« Ответ #14 : 04 Июнь 2010, 20:11:42 »

Идея в следующем, если релиз подходит под определенные условия, то создается для этого релиза плеер автоматически (торрент файл берется пользователя, кто хочет смотреть этот релиз он лайн).

Если судить по приведенному коду, то торрент файл берется не пользователя, а тот который лежит в папке torrents, минус в том, что в торрент файле, который лежит в папке не прописан пасскей, а анонсер без пасскея вас не пустит дальше(не учитываем случай если не используется пасскей). Поэтому я бы вам посоветовал отдавать .торрент файл через скрипт. Кстати .торрент файл забирает не пользователь, а сервер торентстрима, по этому не стоит надеяться на кукисы и сессии. Мой совет сделать для торрентстрима 1 маленькую переменную в скрипте и вписывать в торрент файл нужный вам пасскей :) Дальше далее все зависит от вас, вашей выдумки и навыков :)