Code Duplication    Length = 15-17 lines in 3 locations

code/batchactions/CMSBatchActions.php 3 locations

@@ 8-22 (lines=15) @@
5
 * @package cms
6
 * @subpackage batchaction
7
 */
8
class CMSBatchAction_Publish extends CMSBatchAction {
9
	public function getActionTitle() {
10
		return _t('CMSBatchActions.PUBLISH_PAGES', 'Publish');
11
	}
12
13
	public function run(SS_List $pages) {
14
		return $this->batchaction($pages, 'doPublish',
15
			_t('CMSBatchActions.PUBLISHED_PAGES', 'Published %d pages, %d failures')
16
		);
17
	}
18
19
	public function applicablePages($ids) {
20
		return $this->applicablePagesHelper($ids, 'canPublish', true, false);
21
	}
22
}
23
24
/**
25
 * Unpublish items batch action.
@@ 30-44 (lines=15) @@
27
 * @package cms
28
 * @subpackage batchaction
29
 */
30
class CMSBatchAction_Unpublish extends CMSBatchAction {
31
	public function getActionTitle() {
32
		return _t('CMSBatchActions.UNPUBLISH_PAGES', 'Unpublish');
33
	}
34
35
	public function run(SS_List $pages) {
36
		return $this->batchaction($pages, 'doUnpublish',
37
			_t('CMSBatchActions.UNPUBLISHED_PAGES', 'Unpublished %d pages')
38
		);
39
	}
40
41
	public function applicablePages($ids) {
42
		return $this->applicablePagesHelper($ids, 'canUnpublish', false, true);
43
	}
44
}
45
46
/**
47
 * Archives a page, removing it from both live and stage
@@ 52-68 (lines=17) @@
49
 * @package cms
50
 * @subpackage batchaction
51
 */
52
class CMSBatchAction_Archive extends CMSBatchAction {
53
54
	public function getActionTitle() {
55
		return _t('CMSBatchActions.ARCHIVE', 'Archive');
56
	}
57
58
	public function run(SS_List $pages) {
59
		return $this->batchaction($pages, 'doArchive',
60
			_t('CMSBatchActions.ARCHIVED_PAGES', 'Archived %d pages')
61
		);
62
	}
63
64
	public function applicablePages($ids) {
65
		return $this->applicablePagesHelper($ids, 'canArchive', true, true);
66
	}
67
68
}
69
70
/**
71
 * Batch restore of pages