示例#1
0
$arSelect = array("ID", "UF_TITLE", "UF_SUB_TITLE", "UF_IMG_PATH" => "UF_IMG.UF_PATH", "UF_RATING", "UF_DESC", "UF_SUB_DESC", "UF_GANRE", "UF_YEAR_LIMIT", "UF_COUNTRY", "UF_YEAR", "UF_DIRECTOR", "UF_PRESENTER", "UF_ACTOR", "UF_CATEGORY");
$obCache = new \CPHPCache();
if ($obCache->InitCache(86400, serialize($arFilter) . serialize($arSelect), "/prog-detail/")) {
    $arResult = $obCache->GetVars();
} elseif ($obCache->StartDataCache()) {
    $result = \Hawkart\Megatv\ProgTable::getList(array('filter' => $arFilter, 'select' => $arSelect, 'limit' => 1));
    if ($arResult = $result->fetch()) {
        $arResult["UF_PROG_ID"] = $arResult["ID"];
        $arResult["PICTURE"]["SRC"] = \Hawkart\Megatv\CFile::getCropedPath($arResult["UF_IMG_PATH"], array(600, 600));
        $arResult["KEYWORDS"] = array($arResult["UF_CATEGORY"], $arResult["UF_GANRE"]);
    }
    $obCache->EndDataCache($arResult);
}
//Get Shedule inform for prog
if (empty($_REQUEST["event"])) {
    $arDate = \CTimeEx::getDateTimeFilter($arParams["DATETIME"]["SERVER_DATETIME"]);
    $dateStart = date("Y-m-d H:i:s");
    $arFilter = array("=UF_PROG.UF_CODE" => $arParams["ELEMENT_CODE"], ">=UF_DATE_START" => new \Bitrix\Main\Type\DateTime($dateStart, 'Y-m-d H:i:s'));
} else {
    $arFilter = array("=UF_PROG.UF_CODE" => $arParams["ELEMENT_CODE"], "=ID" => $_REQUEST["event"]);
}
$arSelect = array("ID", "UF_DATE_START", "UF_DATE_END", "UF_DATE", "UF_CHANNEL_ID", "UF_ICON" => "UF_CHANNEL.UF_BASE.UF_ICON");
$obCache = new \CPHPCache();
if ($obCache->InitCache(86400, serialize($arFilter) . serialize($arSelect), "/shedule-detail/")) {
    $arResult = $obCache->GetVars();
} elseif ($obCache->StartDataCache()) {
    //get channel by code
    $result = \Hawkart\Megatv\ScheduleTable::getList(array('filter' => $arFilter, 'select' => $arSelect, 'limit' => 1));
    if ($arShedule = $result->fetch()) {
        $arResult["ID"] = $arShedule["ID"];
        $arResult["UF_ICON"] = $arShedule["UF_ICON"];
示例#2
0
//get channel by code
$arFilter = array("=UF_CODE" => $arParams["ELEMENT_CODE"]);
$arSelect = array("UF_CATEGORY", "UF_EPG_ID");
$result = \Hawkart\Megatv\ProgTable::getList(array('filter' => $arFilter, 'select' => $arSelect, 'limit' => 1));
if ($arResult = $result->fetch()) {
    $arResult["UF_SID"] = $arResult["UF_EPG_ID"];
}
//print_r($arResult);
//get channel by code
$arResult["PROGS"] = array();
$offset = 0;
if ($_REQUEST["AJAX"] == "Y") {
    $offset = $_REQUEST["offset"];
} else {
    $arChannelsActive = \Hawkart\Megatv\ChannelTable::getActiveIdByCityByUser();
    $arDate = \CTimeEx::getDateTimeFilter($arTime["SERVER_DATETIME"]);
    $dateStart = date("Y-m-d H:i:s");
    $dateEnd = date("Y-m-d H:i:s", strtotime($arDate["DATE_TO"]));
    $arFilter = array("=UF_PROG.UF_EPG_ID" => $arResult["UF_SID"], "=UF_CHANNEL_ID" => $arChannelsActive, ">=UF_DATE_START" => new \Bitrix\Main\Type\DateTime($dateStart, 'Y-m-d H:i:s'), "<UF_DATE_START" => new \Bitrix\Main\Type\DateTime($dateEnd, 'Y-m-d H:i:s'));
    if (!empty($_REQUEST["event"])) {
        $arFilter["!=ID"] = $_REQUEST["event"];
    }
    $arSelect = array("ID", "UF_DATE_START", "UF_DATE_END", "UF_DATE", "UF_CHANNEL_ID", "UF_PROG_ID", "UF_PROG_CODE" => "UF_PROG.UF_CODE", "UF_TITLE" => "UF_PROG.UF_TITLE", "UF_SUB_TITLE" => "UF_PROG.UF_SUB_TITLE", "UF_IMG_PATH" => "UF_PROG.UF_IMG.UF_PATH", "UF_CHANNEL_CODE" => "UF_CHANNEL.UF_BASE.UF_CODE", "UF_ID" => "UF_PROG.UF_EPG_ID", "UF_CATEGORY" => "UF_PROG.UF_CATEGORY");
    $result = \Hawkart\Megatv\ScheduleTable::getList(array('filter' => $arFilter, 'select' => $arSelect, 'limit' => 6));
    while ($arSchedule = $result->fetch()) {
        $arSchedule["UF_DATE_START"] = $arSchedule["DATE_START"] = \CTimeEx::dateOffset($arSchedule['UF_DATE_START']->toString());
        $arSchedule["UF_DATE_END"] = $arSchedule["DATE_END"] = \CTimeEx::dateOffset($arSchedule['UF_DATE_END']->toString());
        $arSchedule["UF_DATE"] = $arSchedule["DATE"] = substr($arSchedule["DATE_START"], 0, 10);
        $arSchedule["PROG_ID"] = $arSchedule["UF_PROG_ID"];
        $arSchedule["DETAIL_PAGE_URL"] = "/channels/" . $arSchedule["UF_CHANNEL_CODE"] . "/" . $arSchedule["UF_PROG_CODE"] . "/?event=" . $arSchedule["ID"];
        $arResult["PROGS"][] = $arSchedule;