public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); //validation of flavor format $flavorAsset = null; $flavorAssets = assetPeer::retrieveByIds(explode(',', $entryDistribution->getFlavorAssetIds())); // if we have specific flavor assets for this distribution, grab the first one if (count($flavorAssets)) { $flavorAsset = reset($flavorAssets); $fileExt = $flavorAsset->getFileExt(); $allowedExts = explode(',', self::FLAVOR_VALID_FORMATS); if (!in_array($fileExt, $allowedExts)) { KalturaLog::debug('flavor asset id [' . $flavorAsset->getId() . '] does not have a valid extension [' . $fileExt . ']'); $errorMsg = 'Flavor format must be one of [' . self::FLAVOR_VALID_FORMATS . ']'; $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA); $validationError->setValidationErrorType(DistributionValidationErrorType::CUSTOM_ERROR); $validationError->setValidationErrorParam($errorMsg); $validationError->setDescription($errorMsg); $validationErrors[] = $validationError; } } $inListOrNullFields = array(IdeticDistributionField::GENRE => explode(',', self::GENRE_VALID_VALUES)); $allFieldValues = $this->getAllFieldValues($entryDistribution); if (!$allFieldValues || !is_array($allFieldValues)) { KalturaLog::err('Error getting field values from entry distribution id [' . $entryDistribution->getId() . '] profile id [' . $this->getId() . ']'); return $validationErrors; } $validationErrors = array_merge($validationErrors, $this->validateInListOrNull($inListOrNullFields, $allFieldValues, $action)); //validating Slot is a whole number $validationErrors = array_merge($validationErrors, $this->validateIsWholeNumber(IdeticDistributionField::SLOT, $allFieldValues, $action)); return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); $maxLengthFields = array(YouTubeDistributionField::MEDIA_DESCRIPTION => self::MEDIA_DESCRIPTION_MAXIMUM_LENGTH, YouTubeDistributionField::MEDIA_TITLE => self::MEDIA_TITLE_MAXIMUM_LENGTH, YouTubeDistributionField::WEB_METADATA_CUSTOM_ID => self::METADATA_CUSTOM_ID_MAXIMUM_LENGTH, YouTubeDistributionField::MOVIE_METADATA_CUSTOM_ID => self::METADATA_CUSTOM_ID_MAXIMUM_LENGTH, YouTubeDistributionField::TV_METADATA_CUSTOM_ID => self::METADATA_CUSTOM_ID_MAXIMUM_LENGTH, YouTubeDistributionField::TV_METADATA_EPISODE => self::TV_METADATA_EPISODE_MAXIMUM_LENGTH, YouTubeDistributionField::TV_METADATA_EPISODE_TITLE => self::TV_METADATA_EPISODE_TITLE_MAXIMUM_LENGTH, YouTubeDistributionField::TV_METADATA_SEASON => self::TV_METADATA_SEASON_MAXIMUM_LENGTH, YouTubeDistributionField::TV_METADATA_SHOW_TITLE => self::TV_METADATA_SHOW_TITLE_MAXIMUM_LENGTH, YouTubeDistributionField::TV_METADATA_TMS_ID => self::TV_METADATA_TMS_ID_MAXIMUM_LENGTH, YouTubeDistributionField::MOVIE_METADATA_TITLE => self::MOVIE_METADATA_TITLE_MAXIMUM_LENGTH, YouTubeDistributionField::MOVIE_METADATA_TMS_ID => self::MOVIE_METADATA_TMS_ID_MAXIMUM_LENGTH); $inListOrNullFields = array(YouTubeDistributionField::MEDIA_RATING => explode(',', self::MEDIA_RATING_VALID_VALUES), YouTubeDistributionField::ALLOW_COMMENTS => explode(',', self::ALLOW_COMMENTS_VALID_VALUES), YouTubeDistributionField::ALLOW_EMBEDDING => explode(',', self::ALLOW_EMBEDDING_VALID_VALUES), YouTubeDistributionField::ALLOW_RATINGS => explode(',', self::ALLOW_RATINGS_VALID_VALUES), YouTubeDistributionField::ALLOW_RESPONSES => explode(',', self::ALLOW_RESPONSES_VALID_VALUES), YouTubeDistributionField::ADVERTISING_INVIDEO => explode(',', self::ADVERTISING_INVIDEO_VALID_VALUES), YouTubeDistributionField::ADVERTISING_ADSENSE_FOR_VIDEO => explode(',', self::ADVERTISING_ADSENSE_FOR_VIDEO_VALUES), YouTubeDistributionField::DISTRIBUTION_RESTRICTION_DISTRIBUTION_RULE => explode(',', self::DISTRIBUTION_RESTRICTION_DISTRIBUTION_RULE_VALUES), YouTubeDistributionField::URGENT_REFERENCE_FILE => explode(',', self::URGENT_REFERENCE_FILE_VALUES), YouTubeDistributionField::KEEP_FINGERPRINT => explode(',', self::KEEP_FINGERPRINT_VALUES)); $allFieldValues = $this->getAllFieldValues($entryDistribution); if (!$allFieldValues || !is_array($allFieldValues)) { KalturaLog::err('Error getting field values from entry distribution id [' . $entryDistribution->getId() . '] profile id [' . $this->getId() . ']'); return $validationErrors; } $validationErrors = array_merge($validationErrors, $this->validateMaxLength($maxLengthFields, $allFieldValues, $action)); $validationErrors = array_merge($validationErrors, $this->validateInListOrNull($inListOrNullFields, $allFieldValues, $action)); $fieldName = YouTubeDistributionField::NOTIFICATION_EMAIL; $value = $allFieldValues[$fieldName]; //multiple email support $values = explode(' ', $value); foreach ($values as $val) { if (!is_null($val) && !kString::isEmailString($val)) { $errorMsg = $this->getUserFriendlyFieldName($fieldName) . ' value must be an email string [value:' . $val . ']'; $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, $this->getUserFriendlyFieldName($fieldName)); $validationError->setValidationErrorType(DistributionValidationErrorType::CUSTOM_ERROR); $validationError->setValidationErrorParam($errorMsg); $validationErrors[] = $validationError; } } //TODO: check if MEDIA_CATEGORY is a valid YouTube category according to YouTube's XML. return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); $inListOrNullFields = array(FacebookDistributionField::CALL_TO_ACTION_TYPE_VALID_VALUES => explode(',', self::CALL_TO_ACTION_TYPE_VALID_VALUES)); if (count($entryDistribution->getFlavorAssetIds())) { $flavorAssets = assetPeer::retrieveByIds(explode(',', $entryDistribution->getFlavorAssetIds())); } else { $flavorAssets = assetPeer::retrieveReadyFlavorsByEntryId($entryDistribution->getEntryId()); } $validVideo = false; foreach ($flavorAssets as $flavorAsset) { $validVideo = $this->validateVideo($flavorAsset); if ($validVideo) { // even one valid video is enough break; } } if (!$validVideo) { KalturaLog::err("No valid video found for entry [" . $entryDistribution->getEntryId() . "]"); $validationErrors[] = $this->createCustomValidationError($action, DistributionErrorType::INVALID_DATA, 'flavorAsset', ' No valid flavor found'); } $allFieldValues = $this->getAllFieldValues($entryDistribution); if (!$allFieldValues || !is_array($allFieldValues)) { KalturaLog::err('Error getting field values from entry distribution id [' . $entryDistribution->getId() . '] profile id [' . $this->getId() . ']'); return $validationErrors; } if ($allFieldValues[FacebookDistributionField::SCHEDULE_PUBLISHING_TIME] && $allFieldValues[FacebookDistributionField::SCHEDULE_PUBLISHING_TIME] > time() && !dateUtils::isWithinTimeFrame($allFieldValues[FacebookDistributionField::SCHEDULE_PUBLISHING_TIME], FacebookConstants::FACEBOOK_MIN_POSTPONE_POST_IN_SECONDS, FacebookConstants::FACEBOOK_MAX_POSTPONE_POST_IN_SECONDS)) { KalturaLog::err("Scheduled time to publish defies the facebook restriction of six minute to six months from now got" . $allFieldValues[FacebookDistributionField::SCHEDULE_PUBLISHING_TIME]); $validationErrors[] = $this->createCustomValidationError($action, DistributionErrorType::INVALID_DATA, 'sunrise', 'Distribution sunrise is invalid (should be 6 minutes to 6 months from now)'); } $validationErrors = array_merge($validationErrors, $this->validateInListOrNull($inListOrNullFields, $allFieldValues, $action)); return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); $allFieldValues = $this->getAllFieldValues($entryDistribution); if (!$allFieldValues || !is_array($allFieldValues)) { KalturaLog::err('Error getting field values from entry distribution id [' . $entryDistribution->getId() . '] profile id [' . $this->getId() . ']'); return $validationErrors; } return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); $allFieldValues = $this->getAllFieldValues($entryDistribution); if (!is_array($allFieldValues)) { $allFieldValues = array(); } $validationErrors = array_merge($validationErrors, $this->validateMaxLength($this->maxLengthValidation, $allFieldValues, $action)); $validationErrors = array_merge($validationErrors, $this->validateInListOrNull($this->inListOrNullValidation, $allFieldValues, $action)); return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); $maxLengthFields = array(UnicornDistributionField::TITLE => self::ITEM_TITLE_MAXIMUM_LENGTH); $allFieldValues = $this->getAllFieldValues($entryDistribution); if (!$allFieldValues || !is_array($allFieldValues)) { KalturaLog::err('Error getting field values from entry distribution id [' . $entryDistribution->getId() . '] profile id [' . $this->getId() . ']'); return $validationErrors; } $validationErrors = array_merge($validationErrors, $this->validateMaxLength($maxLengthFields, $allFieldValues, $action)); return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); $maxLengthFields = array(AttUverseDistributionField::ITEM_TITLE => self::ITEM_TITLE_MAXIMUM_LENGTH, AttUverseDistributionField::ITEM_METADATA_TUNEIN => self::ITEM_METADATA_TUNEIN_MAXIMUM_LENGTH, AttUverseDistributionField::ITEM_DESCRIPTION => self::ITEM_DESCRIPTION_MAXIMUM_LENGTH, AttUverseDistributionField::ITEM_METADATA_LEGAL_DISCLAIMER => self::ITEM_METADATA_LEGAL_DISCLAIMER_MAXIMUM_LENGTH); $allFieldValues = $this->getAllFieldValues($entryDistribution); if (!$allFieldValues || !is_array($allFieldValues)) { KalturaLog::err('Error getting field values from entry distribution id [' . $entryDistribution->getId() . '] profile id [' . $this->getId() . ']'); return $validationErrors; } $validationErrors = array_merge($validationErrors, $this->validateMaxLength($maxLengthFields, $allFieldValues, $action)); //$validationErrors = array_merge($validationErrors, $this->validateThumbnailExist($entryDistribution, $action)); return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); $maxLengthFields = array(YouTubeApiDistributionField::MEDIA_TITLE => self::MEDIA_TITLE_MAXIMUM_LENGTH, YouTubeApiDistributionField::MEDIA_DESCRIPTION => self::MEDIA_DESCRIPTION_MAXIMUM_LENGTH, YouTubeApiDistributionField::MEDIA_KEYWORDS => self::MEDIA_KEYWORDS_MAXIMUM_LENGTH); $inListOrNullFields = array(YouTubeApiDistributionField::ALLOW_COMMENTS => explode(',', self::ALLOW_COMMENTS_VALID_VALUES), YouTubeApiDistributionField::ALLOW_EMBEDDING => explode(',', self::ALLOW_EMBEDDING_VALID_VALUES), YouTubeApiDistributionField::ALLOW_RATINGS => explode(',', self::ALLOW_RATINGS_VALID_VALUES), YouTubeApiDistributionField::ALLOW_RESPONSES => explode(',', self::ALLOW_RESPONSES_VALID_VALUES)); $allFieldValues = $this->getAllFieldValues($entryDistribution); if (!$allFieldValues || !is_array($allFieldValues)) { KalturaLog::err('Error getting field values from entry distribution id [' . $entryDistribution->getId() . '] profile id [' . $this->getId() . ']'); return $validationErrors; } $validationErrors = array_merge($validationErrors, $this->validateMaxLength($maxLengthFields, $allFieldValues, $action)); $validationErrors = array_merge($validationErrors, $this->validateInListOrNull($inListOrNullFields, $allFieldValues, $action)); $videoTagsValue = isset($allFieldValues[YouTubeApiDistributionField::MEDIA_KEYWORDS]) ? $allFieldValues[YouTubeApiDistributionField::MEDIA_KEYWORDS] : null; $validationErrors = array_merge($validationErrors, $this->validateTags($videoTagsValue, $action)); return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); $maxLengthFields = array(DailymotionDistributionField::VIDEO_TITLE => self::VIDEO_TITLE_MAXIMUM_LENGTH, DailymotionDistributionField::VIDEO_DESCRIPTION => self::VIDEO_DESCRIPTION_MAXIMUM_LENGTH); $inListOrNullFields = array(DailymotionDistributionField::VIDEO_TYPE => explode(',', self::VIDEO_TYPE_ALLOWED_VALUES), DailymotionDistributionField::VIDEO_GEO_BLOCKING_OPERATION => explode(',', self::VIDEO_GEO_BLOCKING_OPERATION_ALLOWED_VALUES)); $allFieldValues = $this->getAllFieldValues($entryDistribution); if (!$allFieldValues || !is_array($allFieldValues)) { KalturaLog::err('Error getting field values from entry distribution id [' . $entryDistribution->getId() . '] profile id [' . $this->getId() . ']'); return $validationErrors; } $validationErrors = array_merge($validationErrors, $this->validateMaxLength($maxLengthFields, $allFieldValues, $action)); $validationErrors = array_merge($validationErrors, $this->validateInListOrNull($inListOrNullFields, $allFieldValues, $action)); $videoTagsValue = isset($allFieldValues[DailymotionDistributionField::VIDEO_TAGS]) ? $allFieldValues[DailymotionDistributionField::VIDEO_TAGS] : null; $validationErrors = array_merge($validationErrors, $this->validateTags($videoTagsValue, $action)); return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); $profile = DistributionProfilePeer::retrieveByPK($entryDistribution->getDistributionProfileId()); if (!$profile) { KalturaLog::err("Distribution profile [" . $entryDistribution->getDistributionProfileId() . "] not found"); $validationErrors[] = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, 'profile', 'distribution profile not found'); return $validationErrors; } if (strlen($profile->getFeedTitle()) <= 0) { $newError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, 'Feed title'); $newError->setValidationErrorType(DistributionValidationErrorType::STRING_EMPTY); $validationErrors[] = $newError; } if (strlen($profile->getFeedLink()) <= 0) { $newError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, 'Feed link'); $newError->setValidationErrorType(DistributionValidationErrorType::STRING_EMPTY); $validationErrors[] = $newError; } return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); $maxLengthFields = array(YahooDistributionField::VIDEO_DESCRIPTION => self::VIDEO_DESCRIPTION_MAXIMUM_LENGTH, YahooDistributionField::VIDEO_FEEDITEM_ID => self::FEED_ITEM_ID_MAXIMUM_LENGTH); $inListOrNullFields = array(); $allFieldValues = $this->getAllFieldValues($entryDistribution); if (!$allFieldValues || !is_array($allFieldValues)) { KalturaLog::err('Error getting field values from entry distribution id [' . $entryDistribution->getId() . '] profile id [' . $this->getId() . ']'); return $validationErrors; } $validationErrors = array_merge($validationErrors, $this->validateMaxLength($maxLengthFields, $allFieldValues, $action)); $validationErrors = array_merge($validationErrors, $this->validateInListOrNull($inListOrNullFields, $allFieldValues, $action)); $validationErrors = array_merge($validationErrors, $this->validateTwoThumbnailsExist($entryDistribution, $action)); //$validationErrors = array_merge($validationErrors, $this->validateVideoStreamFormatAndBitrate($entryDistribution, $action)); //$validationErrors = array_merge($validationErrors, $this->validateThumbnailsDimensions($entryDistribution, $action)); //TODO: validate only video stream formats and remove bitrate and thumb dimensions $emailField = YahooDistributionField::CONTACT_EMAIL; $emailValue = $allFieldValues[$emailField]; if ($emailValue && !kString::isEmailString($emailValue)) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, $this->getUserFriendlyFieldName($emailField)); $validationError->setValidationErrorType(DistributionValidationErrorType::INVALID_FORMAT); $validationError->setValidationErrorParam('email'); $validationError->setDescription('Not an email string'); $validationErrors[] = $validationError; } //TODO: validate that if contact_email is given, contact_telephone is given $telephoneField = YahooDistributionField::CONTACT_TELEPHONE; $telephoneValue = $allFieldValues[$telephoneField]; //if Email is given than telephone must be given too if ($emailValue && !$telephoneValue) { $validationError = $this->createValidationError($action, DistributionErrorType::MISSING_METADATA, $this->getUserFriendlyFieldName($telephoneField)); $validationError->setValidationErrorType(DistributionValidationErrorType::CUSTOM_ERROR); $validationError->setValidationErrorParam('Telephone is missing'); $validationError->setDescription('Telephone is required'); $validationErrors[] = $validationError; } return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); $allFieldValues = $this->getAllFieldValues($entryDistribution); if (!$allFieldValues || !is_array($allFieldValues)) { KalturaLog::err('Error getting field values from entry distribution id [' . $entryDistribution->getId() . '] profile id [' . $this->getId() . ']'); return $validationErrors; } $validationErrors = array_merge($validationErrors, $this->validateMaxLength($this->maxLengthValidation, $allFieldValues, $action)); $validationErrors = array_merge($validationErrors, $this->validateInListOrNull($this->inListOrNullValidation, $allFieldValues, $action)); $validationErrors = array_merge($validationErrors, $this->validateMaxLengthCategoryName($allFieldValues[UverseClickToOrderDistributionField::CATEGORY_ENTRY_ID], $action)); return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $allFieldValues = $this->getAllFieldValues($entryDistribution); // check if this entry is main menu or thank you screen and override the thumbnail validation if (isset($allFieldValues[AvnDistributionField::CATEGORY])) { if (in_array(strtolower($allFieldValues[AvnDistributionField::CATEGORY]), array('main menu', 'thank you'))) { $this->overrideRequiredThumbs = new kDistributionThumbDimensions(); $this->overrideRequiredThumbs->setWidth(self::SPECIAL_THUMBNAIL_WIDTH); $this->overrideRequiredThumbs->setHeight(self::SPECIAL_THUMBNAIL_HEIGHT); } } $validationErrors = parent::validateForSubmission($entryDistribution, $action); if (!$allFieldValues || !is_array($allFieldValues)) { KalturaLog::err('Error getting field values from entry distribution id [' . $entryDistribution->getId() . '] profile id [' . $this->getId() . ']'); return $validationErrors; } $validationErrors = array_merge($validationErrors, $this->validateMaxLength($this->maxLengthValidation, $allFieldValues, $action)); $validationErrors = array_merge($validationErrors, $this->validateInListOrNull($this->inListOrNullValidation, $allFieldValues, $action)); return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); // make sure that all flavor assets marked for distribution have a flavor params id assigned to them $flavorAssetIds = explode(',', $entryDistribution->getFlavorAssetIds()); if (count($flavorAssetIds)) { $c = new Criteria(); $c->addAnd(assetPeer::ID, $flavorAssetIds, Criteria::IN); $flavorTypes = assetPeer::retrieveAllFlavorsTypes(); $c->add(assetPeer::TYPE, $flavorTypes, Criteria::IN); $flavorAssets = assetPeer::doSelect($c); foreach ($flavorAssets as $asset) { /* @var $asset flavorAsset */ if (strlen($asset->getFlavorParamsId()) <= 0) { $validationErrors[] = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, 'flavor asset', 'flavor asset must be assigned to a flavor params id'); } } } return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); $allFieldValues = $this->getAllFieldValues($entryDistribution); if (!$allFieldValues || !is_array($allFieldValues)) { KalturaLog::err('Error getting field values from entry distribution id [' . $entryDistribution->getId() . '] profile id [' . $this->getId() . ']'); return $validationErrors; } $validationErrors = array_merge($validationErrors, $this->validateMaxLength($this->maxLengthValidation, $allFieldValues, $action)); $validationErrors = array_merge($validationErrors, $this->validateInListOrNull($this->inListOrNullValidation, $allFieldValues, $action)); $validationErrors = array_merge($validationErrors, $this->validateEndDateNotPrecedesStartDatet($allFieldValues, $entryDistribution, $action)); return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); $allFieldValues = $this->getAllFieldValues($entryDistribution); if (!$allFieldValues || !is_array($allFieldValues)) { KalturaLog::err('Error getting field values from entry distribution id [' . $entryDistribution->getId() . '] profile id [' . $this->getId() . ']'); return $validationErrors; } $validationErrors = array_merge($validationErrors, $this->validateMaxLength($this->maxLengthValidation, $allFieldValues, $action)); $validationErrors = array_merge($validationErrors, $this->validateInListOrNull($this->inListOrNullValidation, $allFieldValues, $action)); if ($this->getDisableEpisodeNumberCustomValidation() !== true) { $validationErrors = array_merge($validationErrors, $this->validateEpisodeNumber($allFieldValues, $action)); } $validationErrors = array_merge($validationErrors, $this->validateContentRatingReason($allFieldValues, $action)); return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); $allFieldValues = $this->getAllFieldValues($entryDistribution); if (!$allFieldValues || !is_array($allFieldValues)) { KalturaLog::err('Error getting field values from entry distribution id [' . $entryDistribution->getId() . '] profile id [' . $this->getId() . ']'); return $validationErrors; } $validationErrors = array_merge($validationErrors, $this->validateMaxLength($this->maxLengthValidation, $allFieldValues, $action)); //validate required channel fields $channelTitleValue = $this->getChannelTitle(); if (empty($channelTitleValue)) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, 'Channel title profile configuration'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_EMPTY); $validationErrors[] = $validationError; } $channelLinkValue = $this->getChannelLink(); if (empty($channelLinkValue)) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, 'Channel link profile configuration'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_EMPTY); $validationErrors[] = $validationError; } $channelDescriptionValue = $this->getChannelDescription(); if (empty($channelDescriptionValue)) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, 'Channel description profile configuration'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_EMPTY); $validationErrors[] = $validationError; } //verify channel image title exist if channel image url exists and vice versa $channelImageTitleValue = $this->getChannelImageTitle(); $channelImageUrlValue = $this->getChannelImageUrl(); if (!empty($channelImageTitleValue) && empty($channelImageUrlValue)) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, 'Channel image url profile configuration'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_EMPTY); $validationErrors[] = $validationError; } if (!empty($channelImageUrlValue) && empty($channelImageTitleValue)) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, 'Channel image title profile configuration'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_EMPTY); $validationErrors[] = $validationError; } // validate thumbnail assets $requiredThumbAssetDim = $this->getRequiredThumbDimensions(); if (empty($requiredThumbAssetDim)) { $errorMsg = 'no thumbnail was configured'; $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA); $validationError->setValidationErrorType(DistributionValidationErrorType::CUSTOM_ERROR); $validationError->setValidationErrorParam($errorMsg); $validationError->setDescription($errorMsg); $validationErrors[] = $validationError; } return $validationErrors; }