public function deletePage() { if (!$this->hasPrivilege('admin.page.edit')) { return $this->noPrivilege('admin.page.edit'); } $json = []; $json['result'] = ResultType::ERROR; // check $id = Converter::int('id', 'post', 0); if (in_array($id, [1, 8, 9, 10, 11])) { $json['message'] = Lang::lang('pageProtected'); return json_encode($json); } // Check item $page = \Rebond\Cms\Page\Data::loadById($id); if (!isset($page)) { $json['message'] = 'invalid page of id: ' . $id; return json_encode($json); } // Find all children pages $pageChildren = \Rebond\Cms\Page\Data::getPagesIdToDelete($id); if ($pageChildren) { foreach ($pageChildren as $pageChild) { \Rebond\Cms\Page\Data::deleteById($pageChild); \Rebond\Cms\Gadget\Data::deleteByPageId($pageChild); } } $json['result'] = ResultType::SUCCESS; $json['message'] = Lang::lang('pageAndChildrenDeleted'); return json_encode($json); }