/** * @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; }
/** * @param ElementInterface $element * @return array */ public static function gridElementData(ElementInterface $element) { $data = array("id" => $element->getId(), "fullpath" => $element->getFullPath(), "type" => self::getType($element), "subtype" => $element->getType(), "filename" => self::getFilename($element), "creationDate" => $element->getCreationDate(), "modificationDate" => $element->getModificationDate()); if (method_exists($element, "isPublished")) { $data["published"] = $element->isPublished(); } else { $data["published"] = true; } return $data; }