Example #1
0
 /**
  * Completely removes a page and all of his children, including the
  * stored page objects.
  *
  * @param integer $pageId Page to be removed from the tree.
  */
 public function removePage($pageId)
 {
     // Before removing the page, let's remove its children.
     $children = $this->getPageChildren($pageId);
     if (count($children) > 0) {
         foreach ($children as $child) {
             $this->removePage($child);
         }
     }
     // Get page module and page type.
     $pageInfo = Page::getModulePageFromId($pageId);
     if ($pageInfo === false) {
         return false;
     }
     // Delete page from the database.
     $page = new Page($pageInfo['module'], $pageInfo['page'], $pageId);
     $deleted = $page->deleteContent(false);
     if (!$deleted) {
         return false;
     }
     // Delete page from the pages tree.
     return $this->dataAccess->execute('DELETE FROM innomedia_pages_tree ' . 'WHERE page_id=' . $pageId);
 }