예제 #1
0
 /**
  * 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();
                 }
             }
         }
     }
 }
예제 #2
0
 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));
     }
 }