public function setAsset(Asset $asset) { $property = $this->getProperty(); $property->referencedAssetId = $asset->getId(); $property->referencedAssetPath = $asset->getPath(); $property->referencedAssetType = $asset->getType(); $asset = new \stdClass(); $asset->{$p = $this->getPropertyName()} = $property; // edit asset $service = $this->getService(); $service->edit($asset); if (!$service->isSuccessful()) { throw new e\EditingFailureException(S_SPAN . c\M::EDIT_ASSET_FAILURE . E_SPAN . $service->getMessage()); } return $this->reloadProperty(); }
private function getPath(Asset $parent = NULL, $name = "") { if ($parent == NULL || $parent->getPath() == "/") { $path = $name; } else { $path = $parent->getPath() . '/' . $name; } return $path; }
public static function setMetadataSet(Cascade $target_cascade, Site $source_site, Site $target_site, Asset $source_asset, Asset $target_asset, $exception_thrown = true) { // get metadata set $source_ms = $source_asset->getMetadataSet(); $source_ms_path = u\StringUtility::removeSiteNameFromPath($source_ms->getPath()); $source_ms_site = $source_ms->getSiteName(); $target_ms_site = $source_ms_site; if ($exception_thrown) { try { $ms = $target_cascade->getAsset(MetadataSet::TYPE, $source_ms_path, $target_ms_site); $target_asset->setMetadataSet($ms); } catch (\Exception $e) { $msg = "The metadata set {$source_ms_path} does not exist in {$target_ms_site}. "; throw new e\CascadeInstancesErrorException(S_SPAN . $msg . E_SPAN . $e); } } else { $ms = $target_cascade->getMetadataSet($source_ms_path, $target_ms_site); if (isset($ms)) { $target_asset->setMetadataSet($ms); } } // set metadata if (isset($ms)) { try { $m = $source_asset->getMetadata(); $target_asset->setMetadata($m); $source_metadata = $source_asset->getMetadata(); $target_metadata = $target_asset->getMetadata(); $target_metadata->setAuthor($source_metadata->getAuthor())->setDisplayName($source_metadata->getDisplayName())->setEndDate($source_metadata->getEndDate())->setKeywords($source_metadata->getKeywords())->setMetaDescription($source_metadata->getMetaDescription())->setReviewDate($source_metadata->getReviewDate())->setStartDate($source_metadata->getStartDate())->setSummary($source_metadata->getSummary())->setTeaser($source_metadata->getTeaser())->setTitle($source_metadata->getTitle()); $fields = $source_metadata->getDynamicFieldNames(); $count = count($fields); if ($count > 0) { foreach ($fields as $field) { $target_metadata->setDynamicField($field, $source_metadata->getDynamicFieldValues($field)); } } $target_asset->edit(); } catch (\Exception $e) { throw new e\CascadeInstancesErrorException($e . BR . S_SPAN . "Path: " . $source_asset->getPath() . E_SPAN); } } }
public function setBaseAsset(Asset $a = NULL) { if (isset($a)) { $type = $a->getType(); if (u\StringUtility::startsWith(strtolower($type), 'block')) { $type = 'block'; } else { if (u\StringUtility::startsWith(strtolower($type), 'format')) { $type = 'format'; } } $this->getProperty()->assetType = $type; $this->getProperty()->baseAssetId = $a->getId(); $this->getProperty()->baseAssetPath = $a->getPath(); } else { $this->getProperty()->assetType = File::TYPE; // dummpy type $this->getProperty()->baseAssetId = NULL; $this->getProperty()->baseAssetPath = NULL; } return $this; }