Страница 1 из 1

ТВ на своем форуме

Добавлено: 11.02.2019 10:33
dotez
Ребята, есть идея реализации тематического ТВ на форуме, что помогло бы большее время удерживать людей на сайте.
Смысл в чем, есть у меня скрипт-

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

<p><strong>Видосы про БМВ</strong>

<script>
document.write(b[Math.floor(Math.random() * b.length)])
</script>
</p>

<?PHP
function youtube_search($apikey, $search, $limit){
	$search =  urlencode($search);
	$url = "https://www.googleapis.com/youtube/v3/search?part=snippet&q=$search&type=video&maxResults=$limit&regionCode=RU&key=$apikey";
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_USERAGENT,             "Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1");
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,        FALSE);
	curl_setopt($ch, CURLOPT_HEADER,                false);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION,        true); //если выпадает ошибка на эту строку - попробуйте закомментировать её
	curl_setopt($ch, CURLOPT_URL,                   $url);
	curl_setopt($ch, CURLOPT_REFERER,               $url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER,        TRUE);
	$out = curl_exec($ch);
	curl_close($ch);
	return $out;
}
$search = "бмв"; //  Поисковый запрос


$limit = 50; // Количество результатов
$rand_num = rand(0, 49);
$apikey = "AIzaSyDpNjYn2YrUq-Xch1G2sBfqXLDx11Fu140"; // Ваш ключ к api youtube v3
$res_json = youtube_search($apikey, $search, $limit) ;
$res = json_decode( $res_json );
$videoId = $res->items[$rand_num]->id->videoId;






?>
<!DOCTYPE html>
<html lang="ru">

<body>
<iframe width="560" height="315" src="https://www.youtube.com/embed/<?=$videoId?>" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</body>
</html>
Работоспособность можно лицезреть-
http://www.testiki.ml/tv/youtuberandom.php

суть его в том что он по ключевому слову вашего фоурма начинает проигрывать все подряд видосы с ютуба по теме.

НО когда я хочу интегрировать его на форум через расширение Страницы, то на выходе получаю вот что-
http://www.testiki.ml/phpBB3/app.php/tv ... bf6b947503

давайте подумаем вместе как его все же запустить.
Код как видите открытый, все можете пользоваться.

Отправлено спустя 16 минут 5 секунд:
можно конечно вставить ФРЕЙМ но это как то несерьезно будет.
хотелось бы чтобы скрипт запускался на странице..

Re: ТВ на своем форуме

Добавлено: 11.02.2019 12:53
Dbonz
И что вы хотели увидеть при такой вставке?
 
e54697856e8e4d7d738b9691ec361aa2.jpg

Re: ТВ на своем форуме

Добавлено: 11.02.2019 14:18
dotez
есть предложения как вставить этот код в расширение "Страницы" ?

Re: ТВ на своем форуме

Добавлено: 11.02.2019 16:43
Татьяна5
Через pages выйдет сложно, придётся создавать новый тип страниц
Проще отдельным расширением Создание страниц в стиле конференции

Re: ТВ на своем форуме

Добавлено: 12.02.2019 10:12
dotez
Татьяна5 писал(а): 11.02.2019 16:43
Понял вас, тогда другйо вопрос, второй день пытаюсь дописать рандомность запроса в код. ну чтобы помимо слова БМВ еще использовалось к примеру АУДИ, МЕРС.
вот такой вариант работает-

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

$search = array("БМВ", "Мерседес", "Ауди");

Re: ТВ на своем форуме

Добавлено: 12.02.2019 11:00
Pazh
dotez, array_rand

Re: ТВ на своем форуме

Добавлено: 12.02.2019 11:01
dotez
Pazh писал(а): 12.02.2019 11:00array_rand

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

<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>
можно на моем примере?)))

Re: ТВ на своем форуме

Добавлено: 12.02.2019 11:02
Pazh
dotez, с русским языком проблемы? Там все до невозможности понятно написано

Re: ТВ на своем форуме

Добавлено: 12.02.2019 11:40
dotez
Pazh писал(а): 12.02.2019 11:02 с русским языком проблемы? Там все до невозможности понятно написано
прописал так-

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

// $search = "бмв"; //  Поисковый запрос


$input = array("БМВ", "ВАЗ", "МЕРСЕДЕС", "АУДИ", "ЛЕКСУС");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
$search = $input;
на экран выводится но для видео не присваивается(

Re: ТВ на своем форуме

Добавлено: 12.02.2019 11:43
Pazh
dotez, не надо смотреть примеры, читайте внимательно описание функции, ее параметров и что она возвращает. Написанный вами код (содранный из примера) делает именно то что Вы написали:
dotez писал(а): 12.02.2019 11:40 на экран выводится но для видео не присваивается(

Re: ТВ на своем форуме

Добавлено: 12.02.2019 11:51
dotez
ничего непонятно, ладно подожду пока кто-нибудь поправит синтаксис у примера)))

Отправлено спустя 38 минут 10 секунд:
Pazh писал(а): 12.02.2019 11:43 dotez, не надо смотреть примеры, читайте внимательно описание функции, ее параметров и что она возвращает. Написанный вами код (содранный из примера) делает именно то что Вы написали:
dotez писал(а): 12.02.2019 11:40 на экран выводится но для видео не присваивается(

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

//$search = "бмв"; //  Поисковый запрос
 
$cars = array_map('mb_strtolower', ["БМВ", "Мерседес", "Ауди"]);
 
if (array_search($search, $cars) !== false) {
    echo $search;
}
так тоже не пашет(

Re: ТВ на своем форуме

Добавлено: 12.02.2019 12:37
Pazh
dotez, тебе явно нужно подучить базовые функции php... или научиться читать техническую документацию

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

$input = array("БМВ", "ВАЗ", "МЕРСЕДЕС", "АУДИ", "ЛЕКСУС");
$search = $input[array_rand($input)];

Re: ТВ на своем форуме

Добавлено: 12.02.2019 12:45
dotez
Pazh писал(а): 12.02.2019 12:37 $input = array("БМВ", "ВАЗ", "МЕРСЕДЕС", "АУДИ", "ЛЕКСУС");
$search = $input[array_rand($input)];
Вот теперь все четко! спасибо.
ребята, пользуйтесь тоже скриптом, не жалко)

Re: ТВ на своем форуме

Добавлено: 14.02.2019 0:48
Perfecthus
dotez писал(а): 12.02.2019 12:45 пользуйтесь тоже скриптом, не жалко)
:)