Вывод запасного плеера (yohoho) в автоматическом режиме

Последнее время часто напрягает ситуация, когда плеер коллапсов загружается более 5-10 секунд, и не всегда все пользователи будут ждать пока загрузится плеер. Выход из ситуации решил сделать старым хаком, который когда-то выкладывали на зерокуле. Только вместо второго iframe из доп поля я заменил на вывод плееров yohoho. Подключение в место вывода плеера:
{include file="engine/modules/player.php?moonpl=*доп поле с основным плеером*&twopl=*доп поле с ID кинопоиска*"}
Код содержимого файла:
<?php
// {include file="engine/mods/player.php?moonpl=*доп поле с основным плеером*&twopl=*доп поле с ID кинопоиска*"}
//http://zerocoolpro.biz/forum/threads/vyvod-zapasnogo-pleera-v-avt-rezhime.16798/
if( ! defined( 'DATALIFEENGINE' ) ) { die( "Hacking attempt!" ); }
function isSiteAvailible($url) {
if(!filter_var($url, FILTER_VALIDATE_URL)){
return false;
}
$curlInit = curl_init($url);
curl_setopt($curlInit,CURLOPT_CONNECTTIMEOUT,10);
curl_setopt($curlInit,CURLOPT_HEADER,true);
curl_setopt($curlInit,CURLOPT_NOBODY,true);
curl_setopt($curlInit,CURLOPT_RETURNTRANSFER,true);
$response = curl_exec($curlInit);
curl_close($curlInit);
return $response ? true : false;
}
$cacheplayer = dle_cache("playerid_" . $player_nid, $config['skin']);
if(isSiteAvailible($moonpl)){
echo "<iframe style='border:0px;width: 100%;' data-src='{$moonpl}' allowfullscreen></iframe>";
}else{
echo "<div id='yohoho' data-kinopoisk='{$twopl}'></div><script src='//yohoho.cc/yo.js'></script>";
}
?>
или
<?php
// {include file="engine/mods/player.php?moonpl=*доп поле с основным плеером*&twopl=*доп поле с ID кинопоиска*"}
//http://zerocoolpro.biz/forum/threads/vyvod-zapasnogo-pleera-v-avt-rezhime.16798/
if( ! defined( 'DATALIFEENGINE' ) ) { die( "Hacking attempt!" ); }
function isSiteAvailible($moonpl) {
if(!filter_var($moonpl, FILTER_VALIDATE_moonpl)){
return false;
}
$cmoonplInit = cmoonpl_init($moonpl);
cmoonpl_setopt($cmoonplInit,CmoonplOPT_CONNECTTIMEOUT,10);
cmoonpl_setopt($cmoonplInit,CmoonplOPT_HEADER,true);
cmoonpl_setopt($cmoonplInit,CmoonplOPT_NOBODY,true);
cmoonpl_setopt($cmoonplInit,CmoonplOPT_RETURNTRANSFER,true);
$response = cmoonpl_exec($cmoonplInit);
cmoonpl_close($cmoonplInit);
return $response ? true : false;
}
$cacheplayer = dle_cache("playerid_" . $player_nid, $config['skin']);
if(isSiteAvailible($moonpl)){
echo "<iframe style='border:0px;width: 100%;' data-src='{$moonpl}' allowfullscreen></iframe>";
}else{
echo "<div id='yohoho' data-kinopoisk='{$twopl}'></div><script src='//yohoho.cc/yo.js'></script>";
}
?>
Источник информации
PS у меня iframe выводится через lazyload (который есть в DLE), поэтому в iframe прописано data-src. Если у вас iframe выводится стандартно - удалите data-, чтобы осталось только src=.
PS2 работает не со всеми балансерами.
Похожие статьи:
Комментарии: