/** * Make cut images for imported progs */ public static function addCropFiles($prog_ids) { $arProgs = array(); $result = ProgTable::getList(array('filter' => array("=ID" => $prog_ids, ">UF_IMG_ID" => 0), 'select' => array('UF_IMG_PATH' => "UF_IMG.UF_PATH"))); while ($row = $result->fetch()) { $path_from = $row["UF_IMG_PATH"]; $path_parts = pathinfo($row["UF_IMG_PATH"]); $file_name = $path_parts["filename"]; if (!exif_imagetype($_SERVER["DOCUMENT_ROOT"] . $path_from)) { continue; } $arCropedSize = array(array(288, 144), array(288, 288), array(576, 288), array(300, 300), array(600, 600)); foreach ($arCropedSize as $arSize) { $path_to = self::$cut_dir . $file_name . "_" . $arSize[0] . "_" . $arSize[1] . ".jpg"; CFile::add(array("path_from" => $_SERVER["DOCUMENT_ROOT"] . $path_from, "path_to" => $_SERVER["DOCUMENT_ROOT"] . $path_to, "width" => $arSize[0], "height" => $arSize[1])); } } }
public static function create($arFields) { global $USER; if (!$USER_ID) { $USER_ID = $USER->GetID(); } $start = new \Bitrix\Main\Type\DateTime(date('Y-m-d H:i:s', strtotime($arFields["UF_DATE_START"])), 'Y-m-d H:i:s'); $end = new \Bitrix\Main\Type\DateTime(date('Y-m-d H:i:s', strtotime($arFields["UF_DATE_END"])), 'Y-m-d H:i:s'); $data = array('UF_USER_ID' => $USER_ID, 'UF_DATE_START' => $start, 'UF_DATE_END' => $end, 'UF_EPG_ID' => $arFields["UF_EPG_ID"], 'UF_CHANNEL_ID' => $arFields["UF_CHANNEL_ID"], 'UF_SCHEDULE_ID' => $arFields["ID"], 'UF_PROG_ID' => $arFields["UF_PROG_ID"], 'UF_DATETIME_ADD' => new \Bitrix\Main\Type\DateTime(date('Y-m-d H:i:s'), 'Y-m-d H:i:s')); $result = self::add($data); if ($result->isSuccess()) { /** * Create image croped for record * \Hawkart\Megatv\CFile::getCropedPath($arFields["UF_IMG_PATH"], array(300, 300), true) */ $path_from = $arFields["UF_IMG_PATH"]; $path_parts = pathinfo($arFields["UF_IMG_PATH"]); $file_name = $path_parts["filename"]; $path_to = self::$cut_dir . $file_name . "_300_300.jpg"; CFile::add(array("path_from" => $_SERVER["DOCUMENT_ROOT"] . $path_from, "path_to" => $_SERVER["DOCUMENT_ROOT"] . $path_to, "width" => 300, "height" => 300)); return true; } else { return implode(', ', $result->getErrors()); } }