Exemplo n.º 1
0
<?php

$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"] = realpath(dirname(__FILE__) . '/../');
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);
set_time_limit(0);
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php";
echo date("H:i:s") . "\r\n";
$arProgsByRating = \Hawkart\Megatv\ProgTable::getProgsByRating();
$rsUsers = CUser::GetList($by = "id", $order = "asc", array("ACTIVE" => "Y"), array("FIELDS" => array("ID")));
while ($arUser = $rsUsers->GetNext()) {
    $arStatistic = \Hawkart\Megatv\CStat::getByUser($arUser["ID"]);
    $arRecommend = array("by_ganres" => \Hawkart\Megatv\CStat::getProgsByGanre($arProgsByRating, $arStatistic), "by_users" => \Hawkart\Megatv\CStat::getTopRateProg($arProgsByRating), "by_records" => \Hawkart\Megatv\CStat::getTopRateSerialByUser($arUser["ID"], $arStatistic));
    $json = json_encode($arRecommend);
    \Hawkart\Megatv\CStat::saveRecommend($arUser["ID"], $json);
}
echo date("H:i:s") . "\r\n";
die;
Exemplo n.º 2
0
                }
                unset($arRecommendSorted[$by_what][0]);
                $arRecommendSorted[$by_what] = array_values($arRecommendSorted[$by_what]);
                if (count($arRecommendSorted[$by_what]) == 0) {
                    $added = true;
                }
            }
        }
    }
} else {
    $arFilter["=UF_CHANNEL_ID"] = \Hawkart\Megatv\ChannelTable::getActiveIdByCity();
    $arResult["PROGS"] = getRecommendForAll($arFilter, $arSelect, $limit, $offset);
}
$arResult["CATEGORIES"] = array();
if ($USER->IsAuthorized()) {
    $arStat = \Hawkart\Megatv\CStat::getByUser($USER->GetID());
    foreach ($arStat["CATS"] as $category => $id) {
        $str = \CDev::translit($category, "ru", array("replace_space" => "-", "replace_other" => "-"));
        $arResult["CATEGORIES"][$category] = $str;
    }
} else {
    foreach ($arResult["PROGS"] as $key => $arProg) {
        $category = $arProg["UF_CATEGORY"];
        $str = \CDev::translit($category, "ru", array("replace_space" => "-", "replace_other" => "-"));
        $arResult["CATEGORIES"][$category] = $str;
    }
}
if ($_REQUEST["AJAX"] == "Y") {
    $APPLICATION->RestartBuffer();
    /**
     * Get records statuses by user
Exemplo n.º 3
0
    $date_confing = date('d.m.Y', strtotime("+" . $i . " day", strtotime($fisrt_date)));
    $arResult["CONFIG_DATES"][] = $date_confing;
}
//Get channel list
$arChannels = array();
$arResult["ITEMS"] = \Hawkart\Megatv\ChannelTable::getActiveByCity();
foreach ($arResult["ITEMS"] as $arChannel) {
    $arChannels[$arChannel["UF_CHANNEL_BASE_ID"]] = $arChannel;
}
$arResult["ITEMS"] = $arChannels;
/**
 * sort channels for user according statistics
 */
if ($USER->IsAuthorized()) {
    $arItems = array();
    $arStatistic = \Hawkart\Megatv\CStat::getByUser();
    //sort channels by raiting
    uasort($arStatistic["CHANNELS"], function ($a, $b) {
        return strcmp($b, $a);
    });
    foreach ($arStatistic["CHANNELS"] as $channel_id => $rating) {
        if (!empty($arResult["ITEMS"][$channel_id])) {
            $arItems[] = $arResult["ITEMS"][$channel_id];
            unset($arResult["ITEMS"][$channel_id]);
        }
    }
    if (count($arResult["ITEMS"]) > 0) {
        $arItems = array_merge($arItems, $arResult["ITEMS"]);
    }
    $arResult["ITEMS"] = $arItems;
    unset($arItems);