public function delete($cID = false, $token = false) { if (Loader::helper('validation/token')->validate('delete', $token)) { $s = Stack::getByID($cID); if (is_object($s)) { $sps = new Permissions($s); if ($sps->canDeletePage()) { $u = new User(); $pkr = new DeletePagePageWorkflowRequest(); $pkr->setRequestedPage($s); $pkr->setRequesterUserID($u->getUserID()); $response = $pkr->trigger(); if ($response instanceof WorkflowProgressResponse) { // we only get this response if we have skipped workflows and jumped straight in to an approve() step. $this->redirect('/dashboard/blocks/stacks', 'stack_deleted'); } else { $this->redirect('/dashboard/blocks/stacks', 'view_details', $cID, 'delete_saved'); } } else { $this->error->add(t('You do not have access to delete this stack.')); } } else { $this->error->add(t('Invalid stack')); } } else { $this->error->add(Loader::helper('validation/token')->getErrorMessage()); } }
$u = new User(); if ($_POST['task'] == 'delete_pages') { $q = Queue::get('delete_page_request'); if ($_POST['process']) { $obj = new stdClass; $js = Loader::helper('json'); $messages = $q->receive(DELETE_PAGES_LIMIT); foreach($messages as $key => $p) { // delete the page here $page = unserialize($p->body); $c = Page::getByID($page['cID']); if ($c->getCollectionID() > 1) { $pkr = new DeletePagePageWorkflowRequest(); $pkr->setRequestedPage($c); $pkr->setRequesterUserID($u->getUserID()); $u->unloadCollectionEdit($c); $pkr->trigger(); } $q->deleteMessage($p); } $obj->totalItems = $q->count(); if ($q->count() == 0) { $q->deleteQueue('delete_page_request'); } print $js->encode($obj); exit; } else if ($q->count() == 0) { if (is_array($_POST['cID'])) {
if ($_POST['task'] == 'delete_pages') { $json['error'] = false; if (is_array($_POST['cID'])) { foreach ($_POST['cID'] as $cID) { $c = Page::getByID($cID); $cp = new Permissions($c); $children = $c->getNumChildren(); if ($children == 0 || $cp->canDeletePage()) { if ($cp->canApprovePageVersions()) { if (ENABLE_TRASH_CAN) { $c->moveToTrash(); } else { $c->delete(); } } else { $pkr = new DeletePagePageWorkflowRequest(); $pkr->setRequestedPage($c); $pkr->trigger(); } } else { $json['error'] = t('Unable to delete one or more pages.'); } } } $js = Loader::helper('json'); print $js->encode($json); exit; } $form = Loader::helper('form'); $pages = array(); if (is_array($_REQUEST['cID'])) {