Exemple #1
0
 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);
 }