Онлайн просмотр

ExPlayer

Пользователь
Всем доброго времени суток! Решил добавить на свой сайт онлайн просмотр. Так как данный мод уже не поддерживается современными браузерами, то нашел решение в использовании API от Moonwalk. Возможно, что кто-нибудь возьмется и доведет этот "мод" до ума.
Стоит так же отметить, что в моем варианте указано условие в каких именно топиках выводить плеер.

Минусы API:
1. Если плеера нет в базе Moonwalk - ничего не будет выведено;
2. Реклама

Плюсы API:
1. Легкая установка;
2. Нет запросов в базу;
3. Скрипт определяет по контенту страницы фильм/сериал, который нужно отобразить и выводит его на странице после этого.

Установка:
1. Открыть viewtopic_attach.tpl;
2. В самом верху (перед <!-- BEGIN attach -->) прописать:
2.1. с показом Трейлера фильма:

<!-- MoonWalk -->
<script type="text/javascript" async src="

Please Login or Register to view hidden text.

"></script>
<!-- MoonWalk -->

2.2. без показа Трейлера фильма:

<!-- MoonWalk -->
<script type="text/javascript" async src="

Please Login or Register to view hidden text.

"></script>
<!-- MoonWalk -->

3. В самый конец (перед <!-- END attach -->) прописать (ID топиков меняйте на свои или можете вообще удалить условие):
3.1. с показом трейлера фильма:

<!-- Начало Онлайн просмотр -->
<!-- IF FORUM_ID == 58 || FORUM_ID == 31 || FORUM_ID == 140 || FORUM_ID == 122 || FORUM_ID == 115 || FORUM_ID == 32 || FORUM_ID == 33 || FORUM_ID == 100 || FORUM_ID == 125 || FORUM_ID == 146 || FORUM_ID == 39 || FORUM_ID == 40 || FORUM_ID == 41 || FORUM_ID == 121 || FORUM_ID == 144 || FORUM_ID == 43 || FORUM_ID == 44 || FORUM_ID == 46 || FORUM_ID == 95 || FORUM_ID == 156 || FORUM_ID == 157 || FORUM_ID == 214 || FORUM_ID == 215 -->
<!-- спойлер начало -->
<center><div class="spoil">
<div class="smallfont"><input type="button" value="Онлайн просмотр"; class="input-button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Свернуть'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Онлайн просмотр'; }"/>
</div><div class="alt2"><div style="display: none; text-align:center;">
<div id="moonwalkPlayer"></div> <!-- Сюда будет выведен плеер !-->
<div id="trailerDiv"></div> <!-- Сюда будет выведен trailer !-->
</div>
</div>
</div>
</center>
<!-- спойлер конец -->
<!-- ENDIF -->
<!-- Конец онлайн просмотр -->

3.2. без показа трейлера фильма:

<!-- Начало Онлайн просмотр -->
<!-- IF FORUM_ID == 58 || FORUM_ID == 31 || FORUM_ID == 140 || FORUM_ID == 122 || FORUM_ID == 115 || FORUM_ID == 32 || FORUM_ID == 33 || FORUM_ID == 100 || FORUM_ID == 125 || FORUM_ID == 146 || FORUM_ID == 39 || FORUM_ID == 40 || FORUM_ID == 41 || FORUM_ID == 121 || FORUM_ID == 144 || FORUM_ID == 43 || FORUM_ID == 44 || FORUM_ID == 46 || FORUM_ID == 95 || FORUM_ID == 156 || FORUM_ID == 157 || FORUM_ID == 214 || FORUM_ID == 215 -->
<!-- спойлер начало -->
<center><div class="spoil">
<div class="smallfont"><input type="button" value="Онлайн просмотр"; class="input-button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Свернуть'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Онлайн просмотр'; }"/>
</div><div class="alt2"><div style="display: none; text-align:center;">
<div id="moonwalkPlayer"></div> <!-- Сюда будет выведен плеер !-->
</div>
</div>
</div>
</center>
<!-- спойлер конец -->
<!-- ENDIF -->
<!-- Конец онлайн просмотр -->

4. Сохранить изменения.

P.S. Если в установке что-то не правильно, то прошу знатоков поправить :)
P.P.S. сильно тапками не кидайтесь, пожалуйста :)
 

Вложения

  • Снимок1.PNG
    Снимок1.PNG
    258 KB · Просмотры: 172
  • Снимок2.PNG
    Снимок2.PNG
    642.2 KB · Просмотры: 174

zip

Пользователь
Тема интересная Я сделал вывод в модальном окне. Скрипт плеера от Moonwalk после подключения сайта к базе.
Открыть viewtopic_attach.tpl, найти
<div class="spacer_12"></div>
<!-- ENDIF -->
примерно строка 146 строка и после вставляем этот код, он без трейлера, ID форумов естественно свои.

Код:
<!-- Просмотр онлайн -->
<!-- IF FORUM_ID == 363 || FORUM_ID == 362 || FORUM_ID == 365 || FORUM_ID == 366 || FORUM_ID == 6 || FORUM_ID == 7 || FORUM_ID == 8 || FORUM_ID == 11 || FORUM_ID == 12 || FORUM_ID == 13 || FORUM_ID == 9 || FORUM_ID == 10 || FORUM_ID == 19 || FORUM_ID == 21 || FORUM_ID == 20 || FORUM_ID == 271 || FORUM_ID == 22 || FORUM_ID == 23 || FORUM_ID == 387 || FORUM_ID == 266 || FORUM_ID == 267 || FORUM_ID == 27 || FORUM_ID == 26 || FORUM_ID == 386 || FORUM_ID == 25
|| FORUM_ID == 415 || FORUM_ID == 24 || FORUM_ID == 424 || FORUM_ID == 425 || FORUM_ID == 99 || FORUM_ID == 100 || FORUM_ID == 101 -->
<center>

<a href="#win1" class="button button-green"><img src="Ваша картинка" title="Смотреть онлайн"></a>
<a href="#win1" class="overlay" id="win1">Сейчас вы смотрите {TOPIC_TITLE},не забываем оставлять комментарии!</a>
   <div class="popup">
  
<div id="visearch"></div>

<script type="text/javascript">
  var moon_params = {
    width: 800,
    height: 460,
    on_dom_ready: true,
  
    replace_domains: ['vk.com', 'moonwalk.co']
  };

  !function(e,n,t,r,a){r=e.createElement(n),a=e.getElementsByTagName(n)
  [0],r.async=!0,r.src=t,a.parentNode.insertBefore(r,a)}
  (document,"script","//visearch.info/v2/find-player.min.js");
</script>
  
<a class="close"title="Закрыть" href="#close"></a>
    </div> 
<style>
/* Базовые стили слоя затемнения и модального окна  */
.overlay {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    display: none;
/* фон затемнения */
    background-color: rgba(0, 0, 0, 0.95);
    position: fixed; /* фиксированное поцизионирование */
    cursor: default; /* тип курсара */
}
/* активируем слой затемнения */
.overlay:target {
    display: block;
}
/* стили модального окна */
.popup {
    top: -100%;
    right: 0;
    left: 50%;
    font-size: 14px;
    z-index: 20;
    margin: 0;
    width: 85%;
    min-width: 460px;
    max-width: 800px;
/* фиксированное позиционирование, окно стабильно при прокрутке */
    position: fixed;
    padding: 15px;
    border: 1px solid #383838;
    background: #fefefe;
/* скругление углов */
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
    font: 14px/18px 'Tahoma', Arial, sans-serif;
/* внешняя тень */
    -webkit-box-shadow: 0 15px 20px rgba(0,0,0,.22),0 19px 60px rgba(0,0,0,.3);
    -moz-box-shadow: 0 15px 20px rgba(0,0,0,.22),0 19px 60px rgba(0,0,0,.3);
    -ms-box-shadow: 0 15px 20px rgba(0,0,0,.22),0 19px 60px rgba(0,0,0,.3);
    box-shadow: 0 15px 20px rgba(0,0,0,.22),0 19px 60px rgba(0,0,0,.3);
    -webkit-transform: translate(-50%, -500%);
    -ms-transform: translate(-50%, -500%);
    -o-transform: translate(-50%, -500%);
    transform: translate(-50%, -500%);
    -webkit-transition: -webkit-transform 0.6s ease-out;
    -moz-transition: -moz-transform 0.6s ease-out;
    -o-transition: -o-transform 0.6s ease-out;
    transition: transform 0.6s ease-out;
}
/* активируем модальный блок */
.overlay:target+.popup {
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    top: 20%;
}
/* формируем кнопку закрытия */
.close {
    top: -10px;
    right: -10px;
    width: 20px;
    height: 20px;
    position: absolute;
    padding: 0;
    border: 2px solid #ccc;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
    border-radius: 15px;
    background-color: rgba(61, 61, 61, 0.8);
    -webkit-box-shadow: 0px 0px 10px #000;
    -moz-box-shadow: 0px 0px 10px #000;
    box-shadow: 0px 0px 10px #000;
    text-align: center;
    text-decoration: none;
    font: 13px/20px 'Tahoma', Arial, sans-serif;
    font-weight: bold;
    -webkit-transition: all ease .8s;
    -moz-transition: all ease .8s;
    -ms-transition: all ease .8s;
    -o-transition: all ease .8s;
    transition: all ease .8s;
}
.close:before {
    color: rgba(255, 255, 255, 0.9);
    content: "X";
    text-shadow: 0 -1px rgba(0, 0, 0, 0.9);
    font-size: 12px;
}
.close:hover {
    background-color: rgba(252, 20, 0, 0.8);
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);   
}
/* изображения внутри окна */
.popup img {
    width: 100%;
    height: auto;
}
/* миниатюры слева/справа */
.pic-left,
.pic-right {
    width: 25%;
    height: auto;
}
.pic-left {
    float: left;
    margin: 5px 15px 5px 0;
}
.pic-right {
    float: right;
    margin: 5px 0 5px 15px;
}
/* элементы м-медиа, фреймы */
.popup embed,
.popup iframe {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display:block;
    margin: auto;
    min-width: 460px;
    max-width: 800px;
    width: 100%;
}
.popup h2 { /* заголовок 2 */
    margin: 0;
    color: #008000;
    padding: 5px 0px 10px;
    text-align: left;
    text-shadow: 1px 1px 3px #adadad;
    font-weight: 500;
    font-size: 1.4em;
    font-family: 'Tahoma', Arial, sans-serif;
    line-height: 1.3;
}
/* параграфы */
.popup p {margin: 0; padding: 5px 0}

</style></center>
<!-- ENDIF -->
<!-- конец просмотр онлайн -->
 

Вложения

  • 2017-08-10_185939.png
    2017-08-10_185939.png
    409.7 KB · Просмотры: 83
Последнее редактирование модератором:

ExPlayer

Пользователь
Добавил BB-код онлайн просмотра (возможно у кого-то получится переделать его, что бы плеер автоматически выводился, а не вручную прописывать для каждой раздачи с фильмом/сериалом и т.д., я лично не придумал как это сделать), в который вставляется только ID фильма с кинопоиска. При желании можно сделать вывод плеера в модальном окне (на примере кода от zip выше).

Я делал на версии 2.1.4 (кому надо, адаптирует под новые версии)

Установка: легко
Требования: учетная запись у какого-нибудь видеобалансера (в примере ниже используется videocdn)
Файлы к редактированию:
bbcode.php;
posting_editor.tpl;
main.php

Установка:
открыть bbcode.php и НАЙТИ:
PHP:
// HR
$bbcode_tpl['hr'] = <<<HTML
    <span class="post-hr">-</span>
HTML;

ПОСЛЕ ВСТАВИТЬ:
PHP:
// OnlineMovie
$bbcode_tpl['WatchOnline'] = <<<HTML
<object width="640" height="480">    
    <iframe src="//<ссылка из личного кабинета videocdn>/<здесь должен быть Ваш API ключ от videocdn>?kp_id=\\1" width="640" height="480" frameborder="0" allowfullscreen></iframe>
</object>
HTML;

НАЙТИ:
PHP:
"#\[email\]($email_exp)\[/email\]#isu"                   => '<a href="mailto:$1">$1</a>',

ПОСЛЕ ВСТАВИТЬ:
PHP:
//Кнопка ОнлайнПросмотр           
            "#\[WatchOnline\]([a-zA-Z0-9_]+)\[/WatchOnline\]#is" => $tpl['WatchOnline'],

открыть posting_editor.tpl и НАЙТИ:
HTML:
<span class="buttons">

ПОСЛЕ ВСТАВИТЬ:
HTML:
<input type="button" value="{L_WATCH_ONLINE}" name="codeWatchOnline" title="{L_WATCH_ONLINE_TITLE}" style="width: 120px;"/> <!-- онлайн просмотр -->

НАЙТИ:
HTML:
bbcode.addTag("codeSpoiler", function(e) { var v=e.value; e.selectedIndex=0; return "spoiler=\""+v+"\"" }, "/spoiler");

ПОСЛЕ ВСТАВИТЬ:
HTML:
bbcode.addTag("codeWatchOnline", "WatchOnline", "/WatchOnline", "O", ctrl);

открыть main.php и В КОНЕЦ ВСТАВИТЬ:
PHP:
//WatchOnline
$lang['WATCH_ONLINE'] = 'Смотреть онлайн';
$lang['WATCH_ONLINE_TITLE'] = 'Вставить видео с видеобалансера (Ctrl+O)';

Сохранить все файлы.

Результат:
1587727949948.png

1587728006880.png
 

Dr_Brown

Пользователь
По моему у них был скрипт который из титла страницы берет название, и подбирает нужный видеопоток.
 

ExPlayer

Пользователь
По моему у них был скрипт который из титла страницы берет название, и подбирает нужный видеопоток.
в коде фрейма есть параметр названия на русском и названия на английском, но это хорошо, когда в раздаче используется только русское или английское название, а не как у меня: "<Название на русском> / <Название на английском> <Качество> <год выпуска> | <перевод>".
Можно конечно и через replace сделать, но у меня не получилось.
Должно получится что-то вроде:
Код:
<iframe src="<ссылка из профиля VideoCDN>/<Api ключ>?name={TOPIC_TITLE}" width="640" height="480" frameborder="0" allowfullscreen></iframe>
name=название на русском
name_eng=название на английском
 
Сверху