19 Октябрь 2017, 08:40:50Последний пользователь: Macfleg
Ace Stream Forum » Для разработчиков  » TBDev »  (Модератор: ARiS)TorrentTube for TbDEV
Страниц: [1] 2   Вниз
  Отправить эту тему  |  Печать  
Автор Тема: TorrentTube for TbDEV  (Прочитано 17721 раз)
0 Пользователей и 1 Гость смотрят эту тему.
lEx0
Newbie
*
Оффлайн Оффлайн
Сообщений: 24

Email
« : 21 Апрель 2010, 14:29:37 »

Мод для TbDEV в процессе разработки
Сообщить модератору   Записан
ARiS
Еxpert
Newbie
*****
Оффлайн Оффлайн
Сообщений: 9

Email
« Ответ #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


* bg_player.png (12.11 кБ, 720x304 - просмотрено 886 раз.)
« Последнее редактирование: 12 Ноябрь 2010, 21:19:38 от ARiS » Сообщить модератору   Записан
lEx0
Newbie
*
Оффлайн Оффлайн
Сообщений: 24

Email
« Ответ #2 : 27 Апрель 2010, 08:10:11 »

спс за внимание, в течении этой недели будет докончена Платная и Бесплатная версия TorrentTube
Сообщить модератору   Записан
MisterSer
Newbie
*
Оффлайн Оффлайн
Сообщений: 32

Email
« Ответ #3 : 07 Май 2010, 22:13:14 »

Извините, читал форум но так и не нашел, как стать партнером. Укажите на то место, пожалуйста.
Сообщить модератору   Записан
lEx0
Newbie
*
Оффлайн Оффлайн
Сообщений: 24

Email
« Ответ #4 : 07 Май 2010, 23:19:35 »

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

надо зайти на http://torrentstream.net и зарегистрироваться там как Партнер
Сообщить модератору   Записан
grunya404
Newbie
*
Оффлайн Оффлайн
Сообщений: 2

Email
« Ответ #5 : 19 Май 2010, 19:10:48 »

а что будет в платной версии ?
как обстоит дело с воспроизведением раздач сериалов к примеру, в котрых в одном торренте лежит много файлов?
Сообщить модератору   Записан
Constantin
Administrator
Hero Member
*****
Оффлайн Оффлайн
Сообщений: 1738

WWW Email
« Ответ #6 : 19 Май 2010, 20:18:20 »

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

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

P.S. В следующей версии плагина такая возможность будет!
Сообщить модератору   Записан

Подписывайтесь на наш   Twitter, чтобы первыми узнать что у нас есть новенького и интересного.
MisterSer
Newbie
*
Оффлайн Оффлайн
Сообщений: 32

Email
« Ответ #7 : 19 Май 2010, 20:21:15 »

Когда планируете выпуск следующей версии плагина? Это важно!
Сообщить модератору   Записан
Constantin
Administrator
Hero Member
*****
Оффлайн Оффлайн
Сообщений: 1738

WWW Email
« Ответ #8 : 19 Май 2010, 21:49:18 »

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

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

Подписывайтесь на наш   Twitter, чтобы первыми узнать что у нас есть новенького и интересного.
MisterSer
Newbie
*
Оффлайн Оффлайн
Сообщений: 32

Email
« Ответ #9 : 22 Май 2010, 00:19:26 »

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

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

Или как в этом коде реализовать создание плееров из торрент файла пользователя? То есть плеер создаеться для каждого пользователя.
Сообщить модератору   Записан
denzel519
Newbie
*
Оффлайн Оффлайн
Сообщений: 4

Email
« Ответ #10 : 04 Июнь 2010, 04:19:19 »

Не пашет, не появляется плеер!
Сообщить модератору   Записан
kosjak
Newbie
*
Оффлайн Оффлайн
Сообщений: 11

Email
« Ответ #11 : 04 Июнь 2010, 13:06:16 »

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

Может потому, что руки растут от туда же откуда и у PHPDoga?  ;D И зачем такому г.... двиглу примочка в виде TorrentStream? :D исправьте сначала миллион багов в движке, а потом уже думайте о сторонних приложениях :)
Сообщить модератору   Записан
kosjak
Newbie
*
Оффлайн Оффлайн
Сообщений: 11

Email
« Ответ #12 : 04 Июнь 2010, 13:16:52 »

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

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

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

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

Email
« Ответ #13 : 04 Июнь 2010, 14:24:32 »

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

Email
« Ответ #14 : 04 Июнь 2010, 20:11:42 »

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

Если судить по приведенному коду, то торрент файл берется не пользователя, а тот который лежит в папке torrents, минус в том, что в торрент файле, который лежит в папке не прописан пасскей, а анонсер без пасскея вас не пустит дальше(не учитываем случай если не используется пасскей). Поэтому я бы вам посоветовал отдавать .торрент файл через скрипт. Кстати .торрент файл забирает не пользователь, а сервер торентстрима, по этому не стоит надеяться на кукисы и сессии. Мой совет сделать для торрентстрима 1 маленькую переменную в скрипте и вписывать в торрент файл нужный вам пасскей :) Дальше далее все зависит от вас, вашей выдумки и навыков :)
Сообщить модератору   Записан
Страниц: [1] 2   Вверх
  Отправить эту тему  |  Печать