/** * Import all serials href from resource to db */ public static function importSerialsByWeek() { $arTableSerials = array(); $result = \Hawkart\Megatv\SerialTable::getList(array('filter' => array("!UF_EPG_ID" => false, "UF_EXTERNAL_URL" => "%rutube%"), 'select' => array("ID", "UF_TITLE", "UF_EXTERNAL_URL"))); while ($row = $result->fetch()) { $serial_id = preg_replace("/[^0-9]/", "", $row["UF_EXTERNAL_URL"]); $arTableSerials[$serial_id] = $row; } foreach ($arTableSerials as $serial_id => $arSerial) { $arTableItems = array(); $result = \Hawkart\Megatv\ProgExternalTable::getList(array('filter' => array("=UF_SERIAL_ID" => $arSerial["ID"]), 'select' => array("ID", "UF_SERIAL_ID", "UF_EXTERNAL_ID"))); while ($row = $result->fetch()) { $arTableItems[] = $row["UF_EXTERNAL_ID"]; } $arItems = self::search($arSerial["UF_TITLE"], "week", $serial_id); /** * Add items for serials in db table */ foreach ($arItems as $arItem) { if (!in_array($arItem["ID"], $arTableItems)) { $arFields = array("UF_TITLE" => $arItem["TITLE"], "UF_EXTERNAL_ID" => $arItem["ID"], "UF_SERIAL_ID" => $arSerial["ID"], "UF_THUMBNAIL_URL" => $arItem["THUMBNAIL_URL"], "UF_VIDEO_URL" => $arItem["VIDEO_URL"], "UF_JSON" => $arItem["JSON"]); $result = \Hawkart\Megatv\ProgExternalTable::add($arFields); if ($result->isSuccess()) { $arTableItems[] = $arItem["ID"]; } else { $errors = $result->getErrorMessages(); } } } } }
public static function importByExternalID($id, $serial_id = false) { $arVideos = self::getVideosByIds(array($id => " ")); $arItem = $arVideos[0]; print_r($arItem); if (!empty($arItem)) { $datetime = new \Bitrix\Main\Type\DateTime(date("Y-m-d H:i:s", strtotime($arItem["JSON"]["publishedAt"])), 'Y-m-d H:i:s'); $arFields = array("UF_TITLE" => $arItem["TITLE"], "UF_EXTERNAL_ID" => $arItem["ID"], "UF_SERIAL_ID" => $serial_id, "UF_THUMBNAIL_URL" => $arItem["THUMBNAIL_URL"], "UF_VIDEO_URL" => $arItem["VIDEO_URL"], "UF_JSON" => $arItem["JSON"], "UF_DATETIME" => $datetime); $result = \Hawkart\Megatv\ProgExternalTable::add($arFields); if ($result->isSuccess()) { $arTableItems[] = $arItem["ID"]; } else { $errors = $result->getErrorMessages(); } $arItems = array(); $file = $_SERVER['DOCUMENT_ROOT'] . "/upload/serials_50_60.txt"; $json = file_get_contents($file); $arProgs = json_decode($json, true); foreach ($arProgs as $arProg) { if ($arProg["EXTERNAL_ID"] != $id) { $arItems[] = $arProg; } } file_put_contents($file, json_encode($arItems)); } }