Completed
Push — master ( ae8931...2d50a9 )
by Leo
02:38
created
code/SHBlock.php 3 patches
Indentation   +182 added lines, -182 removed lines patch added patch discarded remove patch
@@ -1,204 +1,204 @@
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 class SHBlock extends DataObject {
4
-	protected static $db = array (
5
-		'SortOrder'			=>	'Int',
6
-		'Title'				=>	'Varchar(64)',
7
-		'TitleWrapper'		=>	'Enum("h2,h3,h4,h5,h6")',
8
-		'hideTitle'			=>	'Boolean',
9
-		'showBlockbyClass'	=>	'Boolean',
10
-		'Description'		=>	'Varchar(128)',
11
-		'MemberVisibility'	=>	'Varchar(255)',
12
-		'shownInClass'		=>	'Text',
13
-		'addMarginTop'		=>	'Boolean',
14
-		'addMarginBottom'	=>	'Boolean'
15
-	);
4
+    protected static $db = array (
5
+        'SortOrder'			=>	'Int',
6
+        'Title'				=>	'Varchar(64)',
7
+        'TitleWrapper'		=>	'Enum("h2,h3,h4,h5,h6")',
8
+        'hideTitle'			=>	'Boolean',
9
+        'showBlockbyClass'	=>	'Boolean',
10
+        'Description'		=>	'Varchar(128)',
11
+        'MemberVisibility'	=>	'Varchar(255)',
12
+        'shownInClass'		=>	'Text',
13
+        'addMarginTop'		=>	'Boolean',
14
+        'addMarginBottom'	=>	'Boolean'
15
+    );
16 16
 	
17
-	protected static $many_many = array (
18
-		'Pages'				=>	'Page'
19
-	);
17
+    protected static $many_many = array (
18
+        'Pages'				=>	'Page'
19
+    );
20 20
 		
21
-	protected static $create_table_options = array(
22
-		'MySQLDatabase'		=> 'ENGINE=MyISAM'
21
+    protected static $create_table_options = array(
22
+        'MySQLDatabase'		=> 'ENGINE=MyISAM'
23 23
     );
24 24
 	
25
-	protected static $extensions = array (
26
-		'StandardPermissions'
27
-	);
25
+    protected static $extensions = array (
26
+        'StandardPermissions'
27
+    );
28 28
 	
29
-	protected static $summary_fields = array(
30
-		'BlockType',
31
-		'Title', 
32
-		'Description',
33
-		'shownOn',
34
-		'VisibleTo'
35
-	);
29
+    protected static $summary_fields = array(
30
+        'BlockType',
31
+        'Title', 
32
+        'Description',
33
+        'shownOn',
34
+        'VisibleTo'
35
+    );
36 36
 	
37
-	protected static $field_labels = array(
38
-		'BlockType'			=>	'Block type',
39
-		'shownOn'			=>	'is shown on',
40
-		'VisibleTo'			=>	'Visible to'
41
-	);
37
+    protected static $field_labels = array(
38
+        'BlockType'			=>	'Block type',
39
+        'shownOn'			=>	'is shown on',
40
+        'VisibleTo'			=>	'Visible to'
41
+    );
42 42
 	
43
-	public function VisibleTo() {
44
-		if (strlen(trim($this->MemberVisibility)) > 0) {
45
-			$lists = 'Group: ' . str_replace(',','<br />Group: ', $this->MemberVisibility);
46
-		}else{
47
-			$lists = '<em>&lt;All&gt;</em>';
48
-		}
49
-		
50
-		return new LiteralField('VisibleTo',$lists);
51
-	}
43
+    public function VisibleTo() {
44
+        if (strlen(trim($this->MemberVisibility)) > 0) {
45
+            $lists = 'Group: ' . str_replace(',','<br />Group: ', $this->MemberVisibility);
46
+        }else{
47
+            $lists = '<em>&lt;All&gt;</em>';
48
+        }
49
+		
50
+        return new LiteralField('VisibleTo',$lists);
51
+    }
52 52
 	
53
-	public function BlockType() {
54
-		return $this->singular_name();
55
-	}
53
+    public function BlockType() {
54
+        return $this->singular_name();
55
+    }
56 56
 	
57
-	public function shownOn() {
58
-		if ($this->showBlockbyClass) {
59
-			if (strlen(trim($this->shownInClass)) > 0) {
60
-				$lists = 'Type: ' . str_replace(',','<br />Type: ', $this->shownInClass);
61
-			}else{
62
-				$lists = '<em>&lt;not assigned&gt;</em>';
63
-			}
64
-		}else{
65
-			if ($this->Pages()->count() > 0) {
66
-				$lists = 'Page: ' . implode('<br />Page: ', $this->Pages()->column('Title'));
67
-			}else{
68
-				$lists = '<em>&lt;not assigned&gt;</em>';
69
-			}
70
-		}
71
-		return new LiteralField('shownOn',$lists);
72
-	}
57
+    public function shownOn() {
58
+        if ($this->showBlockbyClass) {
59
+            if (strlen(trim($this->shownInClass)) > 0) {
60
+                $lists = 'Type: ' . str_replace(',','<br />Type: ', $this->shownInClass);
61
+            }else{
62
+                $lists = '<em>&lt;not assigned&gt;</em>';
63
+            }
64
+        }else{
65
+            if ($this->Pages()->count() > 0) {
66
+                $lists = 'Page: ' . implode('<br />Page: ', $this->Pages()->column('Title'));
67
+            }else{
68
+                $lists = '<em>&lt;not assigned&gt;</em>';
69
+            }
70
+        }
71
+        return new LiteralField('shownOn',$lists);
72
+    }
73 73
 	
74
-	public function getCMSFields() {
75
-		$fields = parent::getCMSFields();
76
-		$fields->removeFieldFromTab('Root', 'Pages');
77
-		$fields->removeFieldsFromTab('Root.Main', array(
78
-			'SortOrder',
79
-			'showBlockbyClass',
80
-			'shownInClass',
81
-			'MemberVisibility'
82
-		));
83
-		
84
-		$memberGroups = Group::get();
85
-		$sourcemap = $memberGroups->map('Code', 'Title');
86
-		$source = array(
87
-			'anonymous'		=>	'Anonymous visitors'
88
-		);
89
-		foreach ($sourcemap as $mapping => $key) {
90
-			$source[$mapping] = $key;
91
-		}
92
-		
93
-		$memberVisibility = new CheckboxSetField(
94
-			$name = "MemberVisibility",
95
-			$title = "Show block for specific groups",
96
-			$source
97
-		);
98
-		
99
-		$memberVisibility->setDescription('Show this block only for the selected group(s). If you select no groups, the block will be visible to all members.');
100
-		
101
-		$availabelClasses = $this->availableClasses();
102
-		$inClass = new CheckboxSetField(
103
-			$name = "shownInClass",
104
-			$title = "Show block for specific content types",
105
-			$availabelClasses
106
-		);
107
-		
108
-		$filterSelector = OptionsetField::create(
109
-			'showBlockbyClass',
110
-			'Choose filter set',
111
-			array(
112
-				'0'			=>	'by page',
113
-				'1'			=>	'by page/data type'
114
-			)
115
-		)->setDescription('<p><br /><strong>by page</strong>: block will be displayed in the selected page(s)<br /><strong>by page/data type</strong>: block will be displayed on the pages created with the particular page/data type. e.g. is <strong>"InternalPage"</strong> is picked, the block will be displayed, and will ONLY be displayed on all <strong>Internal Pages</strong></p>');
116
-		
117
-		$availablePages = Page::get()->exclude('ClassName', array(
118
-			'ErrorPage',
119
-			'RedirectorPage',
120
-			'VirtualPage'
121
-		));
122
-		$pageSelector = new CheckboxSetField(
123
-			$name = "Pages",
124
-			$title = "Show on Page(s)",
125
-			$availablePages->map('ID','Title')
126
-		);
127
-		
128
-		
129
-		if ($this->canConfigPageAndType(Member::currentUser())) {
130
-			$fields->addFieldsToTab('Root.VisibilitySettings', array(
131
-				$filterSelector,
132
-				$pageSelector,
133
-				$inClass
134
-			));
135
-		}
136
-		
137
-		if ($this->canConfigMemberVisibility(Member::currentUser())) {
138
-			$fields->addFieldToTab('Root.VisibilitySettings', $memberVisibility);
139
-		}
140
-		
141
-		if (!$fields->fieldByName('Options')) {
142
-			$fields->insertBefore($right = RightSidebar::create('Options'), 'Root');
143
-	    }
74
+    public function getCMSFields() {
75
+        $fields = parent::getCMSFields();
76
+        $fields->removeFieldFromTab('Root', 'Pages');
77
+        $fields->removeFieldsFromTab('Root.Main', array(
78
+            'SortOrder',
79
+            'showBlockbyClass',
80
+            'shownInClass',
81
+            'MemberVisibility'
82
+        ));
83
+		
84
+        $memberGroups = Group::get();
85
+        $sourcemap = $memberGroups->map('Code', 'Title');
86
+        $source = array(
87
+            'anonymous'		=>	'Anonymous visitors'
88
+        );
89
+        foreach ($sourcemap as $mapping => $key) {
90
+            $source[$mapping] = $key;
91
+        }
92
+		
93
+        $memberVisibility = new CheckboxSetField(
94
+            $name = "MemberVisibility",
95
+            $title = "Show block for specific groups",
96
+            $source
97
+        );
98
+		
99
+        $memberVisibility->setDescription('Show this block only for the selected group(s). If you select no groups, the block will be visible to all members.');
100
+		
101
+        $availabelClasses = $this->availableClasses();
102
+        $inClass = new CheckboxSetField(
103
+            $name = "shownInClass",
104
+            $title = "Show block for specific content types",
105
+            $availabelClasses
106
+        );
107
+		
108
+        $filterSelector = OptionsetField::create(
109
+            'showBlockbyClass',
110
+            'Choose filter set',
111
+            array(
112
+                '0'			=>	'by page',
113
+                '1'			=>	'by page/data type'
114
+            )
115
+        )->setDescription('<p><br /><strong>by page</strong>: block will be displayed in the selected page(s)<br /><strong>by page/data type</strong>: block will be displayed on the pages created with the particular page/data type. e.g. is <strong>"InternalPage"</strong> is picked, the block will be displayed, and will ONLY be displayed on all <strong>Internal Pages</strong></p>');
116
+		
117
+        $availablePages = Page::get()->exclude('ClassName', array(
118
+            'ErrorPage',
119
+            'RedirectorPage',
120
+            'VirtualPage'
121
+        ));
122
+        $pageSelector = new CheckboxSetField(
123
+            $name = "Pages",
124
+            $title = "Show on Page(s)",
125
+            $availablePages->map('ID','Title')
126
+        );
127
+		
128
+		
129
+        if ($this->canConfigPageAndType(Member::currentUser())) {
130
+            $fields->addFieldsToTab('Root.VisibilitySettings', array(
131
+                $filterSelector,
132
+                $pageSelector,
133
+                $inClass
134
+            ));
135
+        }
136
+		
137
+        if ($this->canConfigMemberVisibility(Member::currentUser())) {
138
+            $fields->addFieldToTab('Root.VisibilitySettings', $memberVisibility);
139
+        }
140
+		
141
+        if (!$fields->fieldByName('Options')) {
142
+            $fields->insertBefore($right = RightSidebar::create('Options'), 'Root');
143
+        }
144 144
 	
145
-	    $fields->addFieldsToTab('Options', array(
146
-			CheckboxField::create('addMarginTop', 'add "margin-top" class to block wrapper'),
147
-			CheckboxField::create('addMarginBottom', 'add "margin-bottom" class to block wrapper')
148
-	    ));
145
+        $fields->addFieldsToTab('Options', array(
146
+            CheckboxField::create('addMarginTop', 'add "margin-top" class to block wrapper'),
147
+            CheckboxField::create('addMarginBottom', 'add "margin-bottom" class to block wrapper')
148
+        ));
149 149
 
150
-		return $fields;
151
-	}
150
+        return $fields;
151
+    }
152 152
 	
153
-	public function availableClasses() {
154
-		$Classes = array_diff(
155
-			ClassInfo::subclassesFor('Page'),
156
-			ClassInfo::subclassesFor('RedirectorPage'),
157
-			ClassInfo::subclassesFor('VirtualPage')
158
-		);
159
-		return $Classes;
160
-	}
153
+    public function availableClasses() {
154
+        $Classes = array_diff(
155
+            ClassInfo::subclassesFor('Page'),
156
+            ClassInfo::subclassesFor('RedirectorPage'),
157
+            ClassInfo::subclassesFor('VirtualPage')
158
+        );
159
+        return $Classes;
160
+    }
161 161
 	
162
-	public function forTemplate() {
163
-		if ($this->canDisplayMemberCheck()) {
164
-			return $this->renderWith(array($this->getClassName(), 'BaseBlock'));
165
-		}
162
+    public function forTemplate() {
163
+        if ($this->canDisplayMemberCheck()) {
164
+            return $this->renderWith(array($this->getClassName(), 'BaseBlock'));
165
+        }
166 166
 		
167
-		return false;
168
-	}
167
+        return false;
168
+    }
169 169
 	
170
-	public function canDisplayMemberCheck() {
171
-		$rawVisibility = $this->MemberVisibility;
172
-		
173
-		if (empty($rawVisibility)) {
174
-			return true;
175
-		}
176
-		
177
-		$visibility = explode(',', $rawVisibility);
178
-		$member = Member::currentUser();
179
-		
180
-		if (!$member && in_array('anonymous', $visibility)) {
181
-			return true;
182
-		}
183
-		
184
-		if ($member) {
185
-			$memberGroups = $member->Groups()->column('Code');
186
-			foreach ($memberGroups as $memberGroup) {
187
-				if (in_array($memberGroup, $visibility)) {
188
-					return true;
189
-				}
190
-			}
191
-		}
192
-		
193
-		return false;
194
-	}
170
+    public function canDisplayMemberCheck() {
171
+        $rawVisibility = $this->MemberVisibility;
172
+		
173
+        if (empty($rawVisibility)) {
174
+            return true;
175
+        }
176
+		
177
+        $visibility = explode(',', $rawVisibility);
178
+        $member = Member::currentUser();
179
+		
180
+        if (!$member && in_array('anonymous', $visibility)) {
181
+            return true;
182
+        }
183
+		
184
+        if ($member) {
185
+            $memberGroups = $member->Groups()->column('Code');
186
+            foreach ($memberGroups as $memberGroup) {
187
+                if (in_array($memberGroup, $visibility)) {
188
+                    return true;
189
+                }
190
+            }
191
+        }
192
+		
193
+        return false;
194
+    }
195 195
 	
196
-	public function frontendEditable() {
197
-		$member = Member::currentUser();		
198
-		return $this->canEdit($member);
199
-	}
196
+    public function frontendEditable() {
197
+        $member = Member::currentUser();		
198
+        return $this->canEdit($member);
199
+    }
200 200
 	
201
-	public function Type2Class() {
202
-		return strtolower(str_replace(' ', '-', $this->singular_name()));
203
-	}
201
+    public function Type2Class() {
202
+        return strtolower(str_replace(' ', '-', $this->singular_name()));
203
+    }
204 204
 }
205 205
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 class Block extends DataObject {
4
-	protected static $db = array (
4
+	protected static $db = array(
5 5
 		'SortOrder'			=>	'Int',
6 6
 		'Title'				=>	'Varchar(64)',
7 7
 		'TitleWrapper'		=>	'Enum("h2,h3,h4,h5,h6")',
@@ -14,7 +14,7 @@  discard block
 block discarded – undo
14 14
 	
15 15
 	protected static $use_own_template = false;
16 16
 	
17
-	protected static $many_many = array (
17
+	protected static $many_many = array(
18 18
 		'Pages'				=>	'Page'
19 19
 	);
20 20
 		
@@ -22,7 +22,7 @@  discard block
 block discarded – undo
22 22
 		'MySQLDatabase'		=> 'ENGINE=MyISAM'
23 23
     );
24 24
 	
25
-	protected static $extensions = array (
25
+	protected static $extensions = array(
26 26
 		'StandardPermissions'
27 27
 	);
28 28
 	
@@ -42,12 +42,12 @@  discard block
 block discarded – undo
42 42
 	
43 43
 	public function VisibleTo() {
44 44
 		if (strlen(trim($this->MemberVisibility)) > 0) {
45
-			$lists = 'Group: ' . str_replace(',','<br />Group: ', $this->MemberVisibility);
46
-		}else{
45
+			$lists = 'Group: '.str_replace(',', '<br />Group: ', $this->MemberVisibility);
46
+		} else {
47 47
 			$lists = '<em>&lt;All&gt;</em>';
48 48
 		}
49 49
 		
50
-		return new LiteralField('VisibleTo',$lists);
50
+		return new LiteralField('VisibleTo', $lists);
51 51
 	}
52 52
 	
53 53
 	public function BlockType() {
@@ -57,18 +57,18 @@  discard block
 block discarded – undo
57 57
 	public function shownOn() {
58 58
 		if ($this->showBlockbyClass) {
59 59
 			if (strlen(trim($this->shownInClass)) > 0) {
60
-				$lists = 'Type: ' . str_replace(',','<br />Type: ', $this->shownInClass);
61
-			}else{
60
+				$lists = 'Type: '.str_replace(',', '<br />Type: ', $this->shownInClass);
61
+			} else {
62 62
 				$lists = '<em>&lt;not assigned&gt;</em>';
63 63
 			}
64
-		}else{
64
+		} else {
65 65
 			if ($this->Pages()->count() > 0) {
66
-				$lists = 'Page: ' . implode('<br />Page: ', $this->Pages()->column('Title'));
67
-			}else{
66
+				$lists = 'Page: '.implode('<br />Page: ', $this->Pages()->column('Title'));
67
+			} else {
68 68
 				$lists = '<em>&lt;not assigned&gt;</em>';
69 69
 			}
70 70
 		}
71
-		return new LiteralField('shownOn',$lists);
71
+		return new LiteralField('shownOn', $lists);
72 72
 	}
73 73
 	
74 74
 	public function getCMSFields() {
@@ -122,7 +122,7 @@  discard block
 block discarded – undo
122 122
 		$pageSelector = new CheckboxSetField(
123 123
 			$name = "Pages",
124 124
 			$title = "Show on Page(s)",
125
-			$availablePages->map('ID','Title')
125
+			$availablePages->map('ID', 'Title')
126 126
 		);
127 127
 		
128 128
 		
Please login to merge, or discard this patch.
Braces   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -41,7 +41,7 @@  discard block
 block discarded – undo
41 41
 	public function VisibleTo() {
42 42
 		if (strlen(trim($this->MemberVisibility)) > 0) {
43 43
 			$lists = 'Group: ' . str_replace(',','<br />Group: ', $this->MemberVisibility);
44
-		}else{
44
+		} else{
45 45
 			$lists = '<em>&lt;All&gt;</em>';
46 46
 		}
47 47
 		
@@ -56,13 +56,13 @@  discard block
 block discarded – undo
56 56
 		if ($this->showBlockbyClass) {
57 57
 			if (strlen(trim($this->shownInClass)) > 0) {
58 58
 				$lists = 'Type: ' . str_replace(',','<br />Type: ', $this->shownInClass);
59
-			}else{
59
+			} else{
60 60
 				$lists = '<em>&lt;not assigned&gt;</em>';
61 61
 			}
62
-		}else{
62
+		} else{
63 63
 			if ($this->Pages()->count() > 0) {
64 64
 				$lists = 'Page: ' . implode('<br />Page: ', $this->Pages()->column('Title'));
65
-			}else{
65
+			} else{
66 66
 				$lists = '<em>&lt;not assigned&gt;</em>';
67 67
 			}
68 68
 		}
Please login to merge, or discard this patch.
code/SHBlocksAdmin.php 1 patch
Indentation   +30 added lines, -30 removed lines patch added patch discarded remove patch
@@ -4,38 +4,38 @@
 block discarded – undo
4 4
  *
5 5
  * Left-hand-side tab : Admin Blocks
6 6
  * */
7
-	class SHBlocksAdmin extends ModelAdmin {
8
-		private static $managed_models = array('SHBlock');
9
-		private static $url_segment = 'sh-blocks';
10
-		private static $menu_title = 'SH Blocks';
11
-		private static $menu_priority = 10;
12
-		private static $menu_icon = 'silverstripe-block/images/icon-block.png';
7
+    class SHBlocksAdmin extends ModelAdmin {
8
+        private static $managed_models = array('SHBlock');
9
+        private static $url_segment = 'sh-blocks';
10
+        private static $menu_title = 'SH Blocks';
11
+        private static $menu_priority = 10;
12
+        private static $menu_icon = 'silverstripe-block/images/icon-block.png';
13 13
 			
14
-		public function getEditForm($id = null, $fields = null) {
15
-			$form = parent::getEditForm($id, $fields);
14
+        public function getEditForm($id = null, $fields = null) {
15
+            $form = parent::getEditForm($id, $fields);
16 16
 			
17
-			$grid = $form->Fields()->fieldByName($this->sanitiseClassName($this->modelClass));
17
+            $grid = $form->Fields()->fieldByName($this->sanitiseClassName($this->modelClass));
18 18
 			
19
-			$grid->getConfig()
20
-				->removeComponentsByType('GridFieldPaginator')
21
-				->removeComponentsByType('GridFieldAddNewButton')
22
-				->removeComponentsByType('GridFieldPrintButton')
23
-				->removeComponentsByType('GridFieldExportButton')
24
-				->addComponents(
25
-					new GridFieldPaginatorWithShowAll(30),
26
-					$multiClass = new MultiClassSelector(),
27
-					$sortable = new GridFieldOrderableRows('SortOrder')
28
-				);
19
+            $grid->getConfig()
20
+                ->removeComponentsByType('GridFieldPaginator')
21
+                ->removeComponentsByType('GridFieldAddNewButton')
22
+                ->removeComponentsByType('GridFieldPrintButton')
23
+                ->removeComponentsByType('GridFieldExportButton')
24
+                ->addComponents(
25
+                    new GridFieldPaginatorWithShowAll(30),
26
+                    $multiClass = new MultiClassSelector(),
27
+                    $sortable = new GridFieldOrderableRows('SortOrder')
28
+                );
29 29
 			
30
-			$subBlocks = ClassInfo::subclassesFor('SHBlock');
31
-			if (is_null($subBlocks)) {
32
-				$subBlocks = array('SHBlock');
33
-			}else{
34
-				unset($subBlocks['SHBlock']);
35
-			}
30
+            $subBlocks = ClassInfo::subclassesFor('SHBlock');
31
+            if (is_null($subBlocks)) {
32
+                $subBlocks = array('SHBlock');
33
+            }else{
34
+                unset($subBlocks['SHBlock']);
35
+            }
36 36
 			
37
-			$multiClass->setClasses($subBlocks);
38
-			$grid->setTitle('All Blcoks');
39
-			return $form;
40
-		}
41
-	}
42 37
\ No newline at end of file
38
+            $multiClass->setClasses($subBlocks);
39
+            $grid->setTitle('All Blcoks');
40
+            return $form;
41
+        }
42
+    }
43 43
\ No newline at end of file
Please login to merge, or discard this patch.
code/Extensions/PrintSHBlocks.php 1 patch
Indentation   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -1,27 +1,27 @@
 block discarded – undo
1 1
 <?php
2 2
 class PrintSHBlocks extends Extension {
3 3
 	
4
-	public function getAllBlocks() {
5
-		$blocks = new ArrayList();
6
-		$blocks->merge($this->getMyBlocks());
7
-		$blocks->merge($this->getDockedBlocks());
8
-		return $blocks;
9
-	}
4
+    public function getAllBlocks() {
5
+        $blocks = new ArrayList();
6
+        $blocks->merge($this->getMyBlocks());
7
+        $blocks->merge($this->getDockedBlocks());
8
+        return $blocks;
9
+    }
10 10
 		
11
-	public function getMyBlocks() {
12
-		return $this->owner->SHBlocks()->sort(array('SortOrder' => 'ASC', 'ID' => 'DESC'));
13
-	}
11
+    public function getMyBlocks() {
12
+        return $this->owner->SHBlocks()->sort(array('SortOrder' => 'ASC', 'ID' => 'DESC'));
13
+    }
14 14
 	
15
-	public function getDockedBlocks() {
16
-		$blocks = SHBlock::get()->filter('showBlockbyClass', true);
17
-		$blocks_map = $blocks->map('ID', 'shownInClass');
18
-		foreach ($blocks_map as $blockID => $Classes) {
19
-			$Classes = explode(',', $Classes);
20
-			if (!in_array($this->owner->ClassName, $Classes)) {
21
-				$blocks = $blocks->exclude('ID', $blockID);
22
-			}
23
-		}
15
+    public function getDockedBlocks() {
16
+        $blocks = SHBlock::get()->filter('showBlockbyClass', true);
17
+        $blocks_map = $blocks->map('ID', 'shownInClass');
18
+        foreach ($blocks_map as $blockID => $Classes) {
19
+            $Classes = explode(',', $Classes);
20
+            if (!in_array($this->owner->ClassName, $Classes)) {
21
+                $blocks = $blocks->exclude('ID', $blockID);
22
+            }
23
+        }
24 24
 		
25
-		return $blocks->sort('SortOrder', 'ASC');
26
-	}
25
+        return $blocks->sort('SortOrder', 'ASC');
26
+    }
27 27
 }
28 28
\ No newline at end of file
Please login to merge, or discard this patch.
code/Extensions/SHBlockinPage.php 2 patches
Indentation   +52 added lines, -52 removed lines patch added patch discarded remove patch
@@ -1,65 +1,65 @@
 block discarded – undo
1 1
 <?php
2 2
 class SHBlockinPage extends Extension {
3
-	protected static $belongs_many_many = array (
4
-		'SHBlocks'			=>	'SHBlock'
5
-	);
3
+    protected static $belongs_many_many = array (
4
+        'SHBlocks'			=>	'SHBlock'
5
+    );
6 6
 	
7
-	public function updateCMSFields( FieldList $fields ) {
8
-		$ancestry = ClassInfo::ancestry($this->owner->ClassName);
9
-		if (!in_array('RedirectorPage', $ancestry) && !in_array('VirtualPage', $ancestry)) {
10
-			$blocks = $this->owner->SHBlocks();
11
-			$blocks_grid = $this->gridBuilder('SHBlocks', $blocks, '', true,'GridFieldConfig_RelationEditor');
12
-			$docked_grid = $this->gridBuilder('DockedBlocks', $this->dockedBlocks(), '');
7
+    public function updateCMSFields( FieldList $fields ) {
8
+        $ancestry = ClassInfo::ancestry($this->owner->ClassName);
9
+        if (!in_array('RedirectorPage', $ancestry) && !in_array('VirtualPage', $ancestry)) {
10
+            $blocks = $this->owner->SHBlocks();
11
+            $blocks_grid = $this->gridBuilder('SHBlocks', $blocks, '', true,'GridFieldConfig_RelationEditor');
12
+            $docked_grid = $this->gridBuilder('DockedBlocks', $this->dockedBlocks(), '');
13 13
 			
14
-			$fields->addFieldToTab('Root.MyBlocks', $blocks_grid);
15
-			$fields->addFieldToTab('Root.DockedBlocks', $docked_grid);
16
-		}
17
-	}
14
+            $fields->addFieldToTab('Root.MyBlocks', $blocks_grid);
15
+            $fields->addFieldToTab('Root.DockedBlocks', $docked_grid);
16
+        }
17
+    }
18 18
 	
19
-	private function gridBuilder($name, $source, $label = '', $canAdd = false, $gridHeaderType = 'GridFieldConfig_RecordEditor') {
20
-		/*
19
+    private function gridBuilder($name, $source, $label = '', $canAdd = false, $gridHeaderType = 'GridFieldConfig_RecordEditor') {
20
+        /*
21 21
 		GridFieldConfig_Base
22 22
 		GridFieldConfig_RecordViewer
23 23
 		GridFieldConfig_RecordEditor
24 24
 		GridFieldConfig_RelationEditor
25 25
 		*/
26
-		if ($label == '') { $label = $name; }
27
-		$grid = new GridField($name, $label, $source);
28
-		$config = $gridHeaderType::create();
29
-		$config->removeComponentsByType('GridFieldAddNewButton');
30
-		if ( $canAdd ) {
31
-			$config->addComponents(
32
-				$multiClass = new MultiClassSelector(),
33
-				$sortable = new GridFieldOrderableRows('SortOrder')
34
-			);
35
-			$subBlocks = ClassInfo::subclassesFor('SHBlock');
36
-			if (is_null($subBlocks)) {
37
-				$subBlocks = array('SHBlock');
38
-			}else{
39
-				unset($subBlocks['SHBlock']);
26
+        if ($label == '') { $label = $name; }
27
+        $grid = new GridField($name, $label, $source);
28
+        $config = $gridHeaderType::create();
29
+        $config->removeComponentsByType('GridFieldAddNewButton');
30
+        if ( $canAdd ) {
31
+            $config->addComponents(
32
+                $multiClass = new MultiClassSelector(),
33
+                $sortable = new GridFieldOrderableRows('SortOrder')
34
+            );
35
+            $subBlocks = ClassInfo::subclassesFor('SHBlock');
36
+            if (is_null($subBlocks)) {
37
+                $subBlocks = array('SHBlock');
38
+            }else{
39
+                unset($subBlocks['SHBlock']);
40 40
 				
41
-				foreach ($subBlocks as $key => &$value) {
42
-					$value = empty($key::$singular_name) ? ucwords(trim(strtolower(preg_replace('/_?([A-Z])/', ' $1', $value)))) : $key::$singular_name;
43
-				}
44
-			}
45
-			$multiClass->setClasses($subBlocks);
46
-		}
47
-		$grid->setConfig($config);
48
-		return $grid;
49
-	}
41
+                foreach ($subBlocks as $key => &$value) {
42
+                    $value = empty($key::$singular_name) ? ucwords(trim(strtolower(preg_replace('/_?([A-Z])/', ' $1', $value)))) : $key::$singular_name;
43
+                }
44
+            }
45
+            $multiClass->setClasses($subBlocks);
46
+        }
47
+        $grid->setConfig($config);
48
+        return $grid;
49
+    }
50 50
 		
51
-	private function dockedBlocks() {
52
-		$blocks = SHBlock::get();
53
-		$IDs = array();
54
-		$ClassName = $this->owner->ClassName;
55
-		$Classes = $blocks->map('ID', 'shownInClass');
56
-		foreach ($Classes as $BlockID => $Class) {
57
-			$listedClasses = explode(',', $Class);
58
-			if (in_array($ClassName, $listedClasses)) {
59
-				$IDs[] = $BlockID;
60
-			}
61
-		}
62
-		$blocks = SHBlock::get()->filter('ID', $IDs)->sort('SortOrder','ASC');
63
-		return $blocks;
64
-	}
51
+    private function dockedBlocks() {
52
+        $blocks = SHBlock::get();
53
+        $IDs = array();
54
+        $ClassName = $this->owner->ClassName;
55
+        $Classes = $blocks->map('ID', 'shownInClass');
56
+        foreach ($Classes as $BlockID => $Class) {
57
+            $listedClasses = explode(',', $Class);
58
+            if (in_array($ClassName, $listedClasses)) {
59
+                $IDs[] = $BlockID;
60
+            }
61
+        }
62
+        $blocks = SHBlock::get()->filter('ID', $IDs)->sort('SortOrder','ASC');
63
+        return $blocks;
64
+    }
65 65
 }
66 66
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -1,14 +1,14 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 class SHBlockinPage extends Extension {
3
-	protected static $belongs_many_many = array (
3
+	protected static $belongs_many_many = array(
4 4
 		'SHBlocks'			=>	'SHBlock'
5 5
 	);
6 6
 	
7
-	public function updateCMSFields( FieldList $fields ) {
7
+	public function updateCMSFields(FieldList $fields) {
8 8
 		$ancestry = ClassInfo::ancestry($this->owner->ClassName);
9 9
 		if (!in_array('RedirectorPage', $ancestry) && !in_array('VirtualPage', $ancestry)) {
10 10
 			$blocks = $this->owner->SHBlocks();
11
-			$blocks_grid = $this->gridBuilder('SHBlocks', $blocks, '', true,'GridFieldConfig_RelationEditor');
11
+			$blocks_grid = $this->gridBuilder('SHBlocks', $blocks, '', true, 'GridFieldConfig_RelationEditor');
12 12
 			$docked_grid = $this->gridBuilder('DockedBlocks', $this->dockedBlocks(), '');
13 13
 			
14 14
 			$fields->addFieldToTab('Root.MyBlocks', $blocks_grid);
@@ -27,7 +27,7 @@  discard block
 block discarded – undo
27 27
 		$grid = new GridField($name, $label, $source);
28 28
 		$config = $gridHeaderType::create();
29 29
 		$config->removeComponentsByType('GridFieldAddNewButton');
30
-		if ( $canAdd ) {
30
+		if ($canAdd) {
31 31
 			$config->addComponents(
32 32
 				$multiClass = new MultiClassSelector(),
33 33
 				$sortable = new GridFieldOrderableRows('SortOrder')
@@ -35,7 +35,7 @@  discard block
 block discarded – undo
35 35
 			$subBlocks = ClassInfo::subclassesFor('SHBlock');
36 36
 			if (is_null($subBlocks)) {
37 37
 				$subBlocks = array('SHBlock');
38
-			}else{
38
+			} else {
39 39
 				unset($subBlocks['SHBlock']);
40 40
 				
41 41
 				foreach ($subBlocks as $key => &$value) {
@@ -59,7 +59,7 @@  discard block
 block discarded – undo
59 59
 				$IDs[] = $BlockID;
60 60
 			}
61 61
 		}
62
-		$blocks = SHBlock::get()->filter('ID', $IDs)->sort('SortOrder','ASC');
62
+		$blocks = SHBlock::get()->filter('ID', $IDs)->sort('SortOrder', 'ASC');
63 63
 		return $blocks;
64 64
 	}
65 65
 }
66 66
\ No newline at end of file
Please login to merge, or discard this patch.