public static function getByPath($path)
{
$path = Element\Service::correctPath($path);
try {
$document = new Document();
// validate path
if (Tool::isValidPath($path)) {
$document->getDao()->getByPath($path);
}
return self::getById($document->getId());
} catch (\Exception $e) {
Logger::debug($e->getMessage());
}
return null;
}
protected function setValuesToDocument(Document\Link $link) { // data if ($this->getParam("data")) { $data = \Zend_Json::decode($this->getParam("data")); if (!empty($data["path"])) { if ($document = Document::getByPath($data["path"])) { $data["linktype"] = "internal"; $data["internalType"] = "document"; $data["internal"] = $document->getId(); } elseif ($asset = Asset::getByPath($data["path"])) { $data["linktype"] = "internal"; $data["internalType"] = "asset"; $data["internal"] = $asset->getId(); } else { $data["linktype"] = "direct"; $data["direct"] = $data["path"]; } } else { // clear content of link $data["linktype"] = "internal"; $data["direct"] = ""; $data["internalType"] = null; $data["internal"] = null; } unset($data["path"]); $link->setValues($data); } $this->addPropertiesToDocument($link); }