Exemple #1
0
//Получим инфу о сервисе
$result = \Hawkart\Megatv\ServiceTable::getById($ServiceID);
$arService = $result->fetch();
//get subcribe channel list
$result = \Hawkart\Megatv\SubscribeTable::getList(array('filter' => array("=UF_USER_ID" => $USER->GetID(), ">UF_SERVICE_ID" => 0), 'select' => array("UF_SERVICE_ID", "ID")));
while ($arSub = $result->fetch()) {
    $selectedServices[$arSub["UF_SERVICE_ID"]] = $arSub["ID"];
}
//Если гугл или яндекс-диск и включен, то ничего не делаем
if (isset($selectedServices[$ServiceID]) && $arService["UF_DISK_TYPE"]) {
    exit(json_encode(array("status" => "enable")));
}
$CSubscribe = new \Hawkart\Megatv\CSubscribe("SERVICE");
//Если нет подписки или есть и + 5 или +10 ГБ
if (!isset($selectedServices[$ServiceID]) || !$arService["UF_DISK_TYPE"]) {
    $result = $CSubscribe->setUserSubscribe($ServiceID);
} else {
    if ($status == "enable") {
        $active = 1;
    } else {
        $active = 0;
    }
    //Если стоит больше 0 руб, то не выключаем подписку
    if (intval($arService["UF_PRICE"]) > 0) {
        $status == "enable";
    } else {
        $subscribeID = $selectedServices[$ServiceID];
        $result = $CSubscribe->updateUserSubscribe($subscribeID, array("UF_ACTIVE" => $active));
    }
}
//Если не вышло добавить/обновить подписку
Exemple #2
0
$status = htmlspecialcharsbx($_REQUEST["status"]);
//get subcribe channel list
$selectedChannels = array();
$result = \Hawkart\Megatv\SubscribeTable::getList(array('filter' => array("=UF_USER_ID" => $USER->GetID(), ">UF_CHANNEL_ID" => 0), 'select' => array("UF_CHANNEL_ID", "ID")));
while ($arSub = $result->fetch()) {
    $selectedChannels[$arSub["UF_CHANNEL_ID"]] = $arSub["ID"];
}
//check disable sub
$result = \Hawkart\Megatv\ChannelBaseTable::getList(array('filter' => array("=UF_FORBID_REC" => 1, "=ID" => $channelID), 'select' => array("ID")));
if ($arChannel = $result->fetch()) {
    exit(json_encode(array("status" => "disable", "error" => "Нельзя подписаться на канал")));
}
//update subsribes
$CSubscribe = new \Hawkart\Megatv\CSubscribe("CHANNEL");
if (!isset($selectedChannels[$channelID])) {
    $result = $CSubscribe->setUserSubscribe($channelID);
} else {
    if ($status == "enable") {
        $active = 1;
    } else {
        $active = 0;
    }
    $subscribeID = $selectedChannels[$channelID];
    $result = $CSubscribe->updateUserSubscribe($subscribeID, array("UF_ACTIVE" => $active));
}
if (!$result) {
    $error = "Ошибка";
    if ($status == "enable") {
        $status = "disable";
    } else {
        $status = "enable";
Exemple #3
0
 public function subcribeOnFreeChannels($user_id = false)
 {
     global $USER;
     if (!$user_id && $USER->IsAuthorized()) {
         $user_id = $USER->GetID();
     }
     if (intval($user_id) > 0) {
         $result = \Hawkart\Megatv\ChannelBaseTable::getList(array('filter' => array("UF_ACTIVE" => 1, "!UF_PRICE_H24" => true, "!UF_FORBID_REC" => 1), 'select' => array("ID")));
         while ($arChannel = $result->fetch()) {
             $CSubscribe = new \Hawkart\Megatv\CSubscribe("CHANNEL");
             $CSubscribe->setUserSubscribe($arChannel["ID"], $user_id);
         }
     }
 }