diff --git a/admin/code/CMSBatchAction.php b/admin/code/CMSBatchAction.php index 39c7afdc0..b655a43fc 100644 --- a/admin/code/CMSBatchAction.php +++ b/admin/code/CMSBatchAction.php @@ -127,147 +127,4 @@ abstract class CMSBatchAction extends Object { function canView() { return true; } -} - -/** - * Publish items batch action. - * - * @package cms - * @subpackage batchaction - */ -class CMSBatchAction_Publish extends CMSBatchAction { - function getActionTitle() { - return _t('CMSBatchActions.PUBLISH_PAGES', 'Publish'); - } - function getDoingText() { - return _t('CMSBatchActions.PUBLISHING_PAGES', 'Publishing selected pages'); - } - - function run(DataObjectSet $pages) { - return $this->batchaction($pages, 'doPublish', - _t('CMSBatchActions.PUBLISHED_PAGES', 'Published %d pages, %d failures') - ); - } - - function applicablePages($ids) { - return $this->applicablePagesHelper($ids, 'canPublish', true, false); - } -} - -/** - * Un-publish items batch action. - * - * @package cms - * @subpackage batchaction - */ -class CMSBatchAction_Unpublish extends CMSBatchAction { - function getActionTitle() { - return _t('CMSBatchActions.UNPUBLISH_PAGES', 'Un-publish'); - } - function getDoingText() { - return _t('CMSBatchActions.UNPUBLISHING_PAGES', 'Un-publishing selected pages'); - } - - function run(DataObjectSet $pages) { - return $this->batchaction($pages, 'doUnpublish', - _t('CMSBatchActions.UNPUBLISHED_PAGES', 'Un-published %d pages') - ); - } -} - -/** - * Delete items batch action. - * - * @package cms - * @subpackage batchaction - */ -class CMSBatchAction_Delete extends CMSBatchAction { - function getActionTitle() { - return _t('CMSBatchActions.DELETE_DRAFT_PAGES', 'Delete from draft site'); - } - function getDoingText() { - return _t('CMSBatchActions.DELETING_DRAFT_PAGES', 'Deleting selected pages from the draft site'); - } - - function run(DataObjectSet $pages) { - $status = array( - 'modified'=>array(), - 'deleted'=>array(), - 'error'=>array() - ); - - foreach($pages as $page) { - $id = $page->ID; - - // Perform the action - if($page->canDelete()) $page->delete(); - else $status['error'][$page->ID] = true; - - // check to see if the record exists on the live site, - // if it doesn't remove the tree node - $liveRecord = Versioned::get_one_by_stage( 'SiteTree', 'Live', "\"SiteTree\".\"ID\"=$id"); - if($liveRecord) { - $liveRecord->IsDeletedFromStage = true; - $status['modified'][$liveRecord->ID] = array( - 'TreeTitle' => $liveRecord->TreeTitle, - ); - } else { - $status['deleted'][$id] = array(); - } - - } - - return Convert::raw2json($status); - } - - function applicablePages($ids) { - return $this->applicablePagesHelper($ids, 'canDelete', true, false); - } -} - -/** - * Unpublish (delete from live site) items batch action. - * - * @package cms - * @subpackage batchaction - */ -class CMSBatchAction_DeleteFromLive extends CMSBatchAction { - function getActionTitle() { - return _t('CMSBatchActions.DELETE_PAGES', 'Delete from published site'); - } - function getDoingText() { - return _t('CMSBatchActions.DELETING_PAGES', 'Deleting selected pages from the published site'); - } - - function run(DataObjectSet $pages) { - $status = array( - 'modified'=>array(), - 'deleted'=>array() - ); - - foreach($pages as $page) { - $id = $page->ID; - - // Perform the action - if($page->canDelete()) $page->doDeleteFromLive(); - - // check to see if the record exists on the stage site, if it doesn't remove the tree node - $stageRecord = Versioned::get_one_by_stage( 'SiteTree', 'Stage', "\"SiteTree\".\"ID\"=$id"); - if($stageRecord) { - $stageRecord->IsAddedToStage = true; - $status['modified'][$stageRecord->ID] = array( - 'TreeTitle' => $stageRecord->TreeTitle, - ); - } else { - $status['deleted'][$id] = array(); - } - - } - - return Convert::raw2json($status); - } - - function applicablePages($ids) { - return $this->applicablePagesHelper($ids, 'canDelete', false, true); - } } \ No newline at end of file