Passed
Pull Request — 2.2 (#180)
by Robbie
02:00
created
src/PageTypes/BasePage.php 1 patch
Indentation   +139 added lines, -139 removed lines patch added patch discarded remove patch
@@ -31,143 +31,143 @@
 block discarded – undo
31 31
 
32 32
 class BasePage extends SiteTree
33 33
 {
34
-    private static $icon = 'cwp/cwp:images/icons/sitetree_images/page.png';
35
-
36
-    /**
37
-     * Hide this page type from the CMS. hide_ancestor is slightly misnamed, should really be just "hide"
38
-     *
39
-     * {@inheritDoc}
40
-     */
41
-    private static $hide_ancestor = BasePage::class;
42
-
43
-    private static $api_access = [
44
-        'view' => [
45
-            'Locale', 'URLSegment', 'Title', 'MenuTitle', 'Content', 'MetaDescription',
46
-            'ExtraMenu', 'Sort', 'Version', 'ParentID', 'ID'
47
-        ],
48
-        'edit' => [
49
-            'Locale', 'URLSegment', 'Title', 'MenuTitle', 'Content', 'MetaDescription',
50
-            'ExtraMenu', 'Sort', 'Version', 'ParentID', 'ID'
51
-        ],
52
-    ];
53
-
54
-    private static $table_name = 'BasePage';
55
-
56
-    /**
57
-     * @config
58
-     * @var string
59
-     */
60
-    private static $related_pages_title = 'Related pages';
61
-
62
-    private static $many_many = [
63
-        'Terms' => TaxonomyTerm::class,
64
-        'RelatedPagesThrough' => [
65
-            'through' => RelatedPageLink::class,
66
-            'from' => 'BasePage',
67
-            'to' => 'Child',
68
-        ]
69
-    ];
70
-
71
-    private static $belongs_many_many = [
72
-        'SimilarPages' => BasePage::class
73
-    ];
74
-
75
-    /**
76
-     * @var array
77
-     * @config
78
-     */
79
-    private static $many_many_extraFields = [
80
-        'RelatedPages' => [
81
-            'SortOrder' => 'Int',
82
-        ],
83
-    ];
84
-
85
-    private static $plural_name = 'Base Pages';
86
-
87
-    /**
88
-     * Get the footer holder.
89
-     */
90
-    public function getFooter()
91
-    {
92
-        return FooterHolder::get_one(FooterHolder::class);
93
-    }
94
-
95
-    /**
96
-     * @deprecated 2.2.0:3.0.0 Please use RelatedPagesThrough() instead
97
-     */
98
-    public function RelatedPages()
99
-    {
100
-        return $this->getManyManyComponents('RelatedPagesThrough');
101
-    }
102
-
103
-    public function RelatedPagesTitle()
104
-    {
105
-        return $this->config()->get('related_pages_title');
106
-    }
107
-
108
-    public function getCMSFields()
109
-    {
110
-        $this->beforeUpdateCMSFields(function (FieldList $fields) {
111
-            // Related Pages
112
-            $components = GridFieldConfig_RelationEditor::create();
113
-            $components->removeComponentsByType(GridFieldAddNewButton::class);
114
-            $components->removeComponentsByType(GridFieldEditButton::class);
115
-            $components->removeComponentsByType(GridFieldFilterHeader::class);
116
-            $components->addComponent(new GridFieldOrderableRows('SortOrder'));
117
-
118
-            /** @var GridFieldDataColumns $dataColumns */
119
-            $dataColumns = $components->getComponentByType(GridFieldDataColumns::class);
120
-            $dataColumns->setDisplayFields([
121
-                'Title' => _t(__CLASS__ . '.ColumnTitle', 'Title'),
122
-                'ClassName' => _t(__CLASS__ . '.ColumnPageType', 'Page Type')
123
-            ]);
124
-
125
-            $fields->findOrMakeTab(
126
-                'Root.RelatedPages',
127
-                _t(__CLASS__ . '.RelatedPages', 'Related pages')
128
-            );
129
-            $fields->addFieldToTab(
130
-                'Root.RelatedPages',
131
-                GridField::create(
132
-                    'RelatedPages',
133
-                    _t(__CLASS__ . '.RelatedPages', 'Related pages'),
134
-                    $this->RelatedPagesThrough(),
135
-                    $components
136
-                )
137
-            );
138
-
139
-            // Taxonomies - Unless they have their own 'Tags' field (such as in Blog, etc)
140
-            $hasMany = $this->hasMany();
141
-            $manyMany = $this->manyMany();
142
-            if (!isset($hasMany['Tags']) && !isset($manyMany['Tags'])) {
143
-                $fields->findOrMakeTab('Root.Tags', _t(__CLASS__ . '.TagsTabTitle', 'Tags'));
144
-                $fields->addFieldToTab(
145
-                    'Root.Tags',
146
-                    TreeMultiselectField::create(
147
-                        'Terms',
148
-                        _t(__CLASS__ . '.Terms', 'Terms'),
149
-                        TaxonomyTerm::class
150
-                    )->setDescription(_t(__CLASS__ . '.TermsDescription', 'Click to search for additional terms'))
151
-                );
152
-            }
153
-        });
154
-        return parent::getCMSFields();
155
-    }
156
-
157
-    /**
158
-     * Returns the native language name for the selected locale/language, empty string if Fluent is not available
159
-     *
160
-     * @return string
161
-     */
162
-    public function getSelectedLanguage()
163
-    {
164
-        if (!class_exists(Locale::class) || !$this->hasMethod('Locales')) {
165
-            return '';
166
-        }
167
-
168
-        /** @var ArrayData $information */
169
-        $information = $this->LocaleInformation(FluentState::singleton()->getLocale());
170
-
171
-        return $information->LanguageNative;
172
-    }
34
+	private static $icon = 'cwp/cwp:images/icons/sitetree_images/page.png';
35
+
36
+	/**
37
+	 * Hide this page type from the CMS. hide_ancestor is slightly misnamed, should really be just "hide"
38
+	 *
39
+	 * {@inheritDoc}
40
+	 */
41
+	private static $hide_ancestor = BasePage::class;
42
+
43
+	private static $api_access = [
44
+		'view' => [
45
+			'Locale', 'URLSegment', 'Title', 'MenuTitle', 'Content', 'MetaDescription',
46
+			'ExtraMenu', 'Sort', 'Version', 'ParentID', 'ID'
47
+		],
48
+		'edit' => [
49
+			'Locale', 'URLSegment', 'Title', 'MenuTitle', 'Content', 'MetaDescription',
50
+			'ExtraMenu', 'Sort', 'Version', 'ParentID', 'ID'
51
+		],
52
+	];
53
+
54
+	private static $table_name = 'BasePage';
55
+
56
+	/**
57
+	 * @config
58
+	 * @var string
59
+	 */
60
+	private static $related_pages_title = 'Related pages';
61
+
62
+	private static $many_many = [
63
+		'Terms' => TaxonomyTerm::class,
64
+		'RelatedPagesThrough' => [
65
+			'through' => RelatedPageLink::class,
66
+			'from' => 'BasePage',
67
+			'to' => 'Child',
68
+		]
69
+	];
70
+
71
+	private static $belongs_many_many = [
72
+		'SimilarPages' => BasePage::class
73
+	];
74
+
75
+	/**
76
+	 * @var array
77
+	 * @config
78
+	 */
79
+	private static $many_many_extraFields = [
80
+		'RelatedPages' => [
81
+			'SortOrder' => 'Int',
82
+		],
83
+	];
84
+
85
+	private static $plural_name = 'Base Pages';
86
+
87
+	/**
88
+	 * Get the footer holder.
89
+	 */
90
+	public function getFooter()
91
+	{
92
+		return FooterHolder::get_one(FooterHolder::class);
93
+	}
94
+
95
+	/**
96
+	 * @deprecated 2.2.0:3.0.0 Please use RelatedPagesThrough() instead
97
+	 */
98
+	public function RelatedPages()
99
+	{
100
+		return $this->getManyManyComponents('RelatedPagesThrough');
101
+	}
102
+
103
+	public function RelatedPagesTitle()
104
+	{
105
+		return $this->config()->get('related_pages_title');
106
+	}
107
+
108
+	public function getCMSFields()
109
+	{
110
+		$this->beforeUpdateCMSFields(function (FieldList $fields) {
111
+			// Related Pages
112
+			$components = GridFieldConfig_RelationEditor::create();
113
+			$components->removeComponentsByType(GridFieldAddNewButton::class);
114
+			$components->removeComponentsByType(GridFieldEditButton::class);
115
+			$components->removeComponentsByType(GridFieldFilterHeader::class);
116
+			$components->addComponent(new GridFieldOrderableRows('SortOrder'));
117
+
118
+			/** @var GridFieldDataColumns $dataColumns */
119
+			$dataColumns = $components->getComponentByType(GridFieldDataColumns::class);
120
+			$dataColumns->setDisplayFields([
121
+				'Title' => _t(__CLASS__ . '.ColumnTitle', 'Title'),
122
+				'ClassName' => _t(__CLASS__ . '.ColumnPageType', 'Page Type')
123
+			]);
124
+
125
+			$fields->findOrMakeTab(
126
+				'Root.RelatedPages',
127
+				_t(__CLASS__ . '.RelatedPages', 'Related pages')
128
+			);
129
+			$fields->addFieldToTab(
130
+				'Root.RelatedPages',
131
+				GridField::create(
132
+					'RelatedPages',
133
+					_t(__CLASS__ . '.RelatedPages', 'Related pages'),
134
+					$this->RelatedPagesThrough(),
135
+					$components
136
+				)
137
+			);
138
+
139
+			// Taxonomies - Unless they have their own 'Tags' field (such as in Blog, etc)
140
+			$hasMany = $this->hasMany();
141
+			$manyMany = $this->manyMany();
142
+			if (!isset($hasMany['Tags']) && !isset($manyMany['Tags'])) {
143
+				$fields->findOrMakeTab('Root.Tags', _t(__CLASS__ . '.TagsTabTitle', 'Tags'));
144
+				$fields->addFieldToTab(
145
+					'Root.Tags',
146
+					TreeMultiselectField::create(
147
+						'Terms',
148
+						_t(__CLASS__ . '.Terms', 'Terms'),
149
+						TaxonomyTerm::class
150
+					)->setDescription(_t(__CLASS__ . '.TermsDescription', 'Click to search for additional terms'))
151
+				);
152
+			}
153
+		});
154
+		return parent::getCMSFields();
155
+	}
156
+
157
+	/**
158
+	 * Returns the native language name for the selected locale/language, empty string if Fluent is not available
159
+	 *
160
+	 * @return string
161
+	 */
162
+	public function getSelectedLanguage()
163
+	{
164
+		if (!class_exists(Locale::class) || !$this->hasMethod('Locales')) {
165
+			return '';
166
+		}
167
+
168
+		/** @var ArrayData $information */
169
+		$information = $this->LocaleInformation(FluentState::singleton()->getLocale());
170
+
171
+		return $information->LanguageNative;
172
+	}
173 173
 }
Please login to merge, or discard this patch.