/** * @param Element\ElementInterface $element * @return void */ public function getApiElement($element) { $service = new Webservice\Service(); if ($element instanceof Object\Folder) { return $service->getObjectFolderById($element->getId()); } else { if ($element instanceof Object\Concrete) { return $service->getObjectConcreteById($element->getId()); } else { if ($element instanceof Asset\Folder) { return $service->getAssetFolderById($element->getId()); } else { if ($element instanceof Asset) { return $service->getAssetFileById($element->getId()); } else { if ($element instanceof Document\Folder) { return $service->getDocumentFolderById($element->getId()); } else { if ($element instanceof Document\Snippet) { return $service->getDocumentSnippetById($element->getId()); } else { if ($element instanceof Document\Page) { return $service->getDocumentPageById($element->getId()); } else { if ($element instanceof Document\Link) { return $service->getDocumentLinkById($element->getId()); } } } } } } } } }
/** * Clear all relations in the database * @param Element\ElementInterface $element */ public function cleanAllForElement($element) { try { $id = $element->getId(); $type = Element\Service::getElementType($element); //schedule for sanity check $data = $this->db->fetchAll("SELECT * FROM dependencies WHERE targetid = ? AND targettype = ?", array($id, $type)); if (is_array($data)) { foreach ($data as $row) { $sanityCheck = new Element\Sanitycheck(); $sanityCheck->setId($row['sourceid']); $sanityCheck->setType($row['sourcetype']); $sanityCheck->save(); } } $this->db->delete("dependencies", $this->db->quoteInto("sourceid = ?", $id) . " AND " . $this->db->quoteInto("sourcetype = ?", $type)); $this->db->delete("dependencies", $this->db->quoteInto("targetid = ?", $id) . " AND " . $this->db->quoteInto("targettype = ?", $type)); } catch (\Exception $e) { \Logger::error($e); } }
/** * @param ElementInterface $element * @return $this */ public function setElement(ElementInterface $element) { $this->setCid($element->getId()); $this->setCtype(Service::getType($element)); return $this; }
/** * @static * @param Element\ElementInterface $element * @return Element\ElementInterface */ public static function loadAllFields(Element\ElementInterface $element) { $element->getProperties(); return $element; }
/** * @param ElementInterface $element * @return string */ public static function getFilename(ElementInterface $element) { if ($element instanceof Document || $element instanceof Object\AbstractObject) { return $element->getKey(); } else { if ($element instanceof Asset) { return $element->getFilename(); } } }