public function delete($permanent = false) { $db = new PHPWS_DB('ps_page'); $db->addWhere('id', $this->id); if ($permanent) { $result = $db->delete(); if (PHPWS_Error::logIfError($result)) { return false; } Key::drop($this->key_id); $db = new PHPWS_DB('ps_text'); $db->addWhere('pid', $this->id); $result = $db->delete(); $db = new PHPWS_DB('ps_block'); $db->addWhere('pid', $this->id); $db->delete(); } else { $db->addValue('deleted', 1); $db->addValue('last_updated', time()); $result = $db->update(); if (PHPWS_Error::logIfError($result)) { return false; } $key = new \Key($this->key_id); $key->active = 0; $key->save(); $key->unregister(); } $this->removeShortcuts(); if ($this->parent_page) { $db = new PHPWS_DB('ps_page'); $db->addWhere('parent_page', $this->parent_page); $db->addWhere('page_order', $this->page_order, '>'); PHPWS_Error::logIfError($db->reduceColumn('page_order')); } return true; }