$result = array(); $channelID = intval($_REQUEST["channelID"]); $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";
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); } } }