public function getParent($id = 0) { if ($id == 0 && parent::getParent() !== null) { return parent::getParent(); } elseif ($id > 0) { $pageDiv = new PagstructurePagdivs(); $rowsetPageDiv = $pageDiv->fetchAll($pageDiv->select()->where("pagdivs_id = " . $id)); if (count($rowsetPageDiv) > 0) { $page = new Pagstructure(); $page->set($rowsetPageDiv->current()->pagstructure_id); if ($page->get()) { return $page; } else { return null; } } else { return null; } } else { return null; } }
/** * * delete all contents of page $pageid * @param $pageId id of the pagstructure * @param $rollback determine if the content are deleted or restored */ public function deleteContentFromPage($pageId, $rollback = false) { // search all content from page $PageDiv = new PagstructurePagdivs(); $selector = $PageDiv->select()->from(Sydney_Tools::getTableName($PageDiv), 'pagdivs_id')->where('pagstructure_id = ' . $pageId); $rowset = $PageDiv->fetchAll($selector)->toArray(); $listContentId = Sydney_Tools::implode(',', $rowset); // delete content if (!empty($listContentId)) { if ($this->isLogicalDelete()) { return $this->update(array('isDeleted' => !$rollback), 'id IN (' . $listContentId . ')'); } else { return $this->delete('id IN (' . $listContentId . ')'); } } return false; }