Conditions | 12 |
Paths | 258 |
Total Lines | 96 |
Code Lines | 54 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
1 | <?php |
||
191 | public function getReportField($itemType = 'Pages') |
||
192 | { |
||
193 | $params = isset($_REQUEST['filters']) ? $_REQUEST['filters'] : array(); |
||
194 | $items = $this->sourceRecords($params, null, null); |
||
195 | |||
196 | $gridField = new GridFieldBasicContentReport('Report-'.$itemType, false, $items[$itemType]); |
||
197 | |||
198 | $gridFieldConfig = GridFieldConfig::create()->addComponents( |
||
199 | new GridFieldToolbarHeader(), |
||
200 | new GridFieldSortableHeader(), |
||
201 | new GridFieldDataColumns(), |
||
202 | new GridFieldPaginator(), |
||
203 | new GridFieldButtonRow('after'), |
||
204 | $printButton = new GridFieldPrintButton('buttons-after-left'), |
||
205 | $exportButton = new GridFieldExportButton('buttons-after-left') |
||
206 | ); |
||
207 | |||
208 | $gridField->setConfig($gridFieldConfig); |
||
209 | |||
210 | /* @var $columns GridFieldDataColumns */ |
||
211 | $columns = $gridField->getConfig()->getComponentByType(GridFieldDataColumns::class); |
||
212 | |||
213 | $exportFields = []; |
||
214 | $displayFields = []; |
||
215 | $fieldCasting = []; |
||
216 | $fieldFormatting = []; |
||
217 | $dataFields = []; |
||
218 | |||
219 | // Parse the column information |
||
220 | foreach ($this->columns($itemType) as $source => $info) { |
||
221 | if (is_string($info)) { |
||
222 | $info = ['title' => $info]; |
||
223 | } |
||
224 | |||
225 | if (isset($info['formatting'])) { |
||
226 | $fieldFormatting[$source] = $info['formatting']; |
||
227 | } |
||
228 | if (isset($info['casting'])) { |
||
229 | $fieldCasting[$source] = $info['casting']; |
||
230 | } |
||
231 | |||
232 | if (isset($info['link']) && $info['link']) { |
||
233 | $fieldFormatting[$source] = function ($value, &$item) { |
||
234 | if ($item instanceof Page) { |
||
235 | return sprintf( |
||
236 | "<a href='%s'>%s</a>", |
||
237 | Controller::join_links(singleton(CMSPageEditController::class)->Link('show'), $item->ID), |
||
238 | $value |
||
239 | ); |
||
240 | } |
||
241 | |||
242 | return sprintf( |
||
243 | "<a href='%s'>%s</a>", |
||
244 | Controller::join_links( |
||
245 | singleton(AssetAdmin::class)->Link('EditForm'), |
||
246 | 'field/File/item', |
||
247 | $item->ID, |
||
248 | 'edit' |
||
249 | ), |
||
250 | $value |
||
251 | ); |
||
252 | }; |
||
253 | } |
||
254 | |||
255 | // Set custom datasource |
||
256 | if (isset($info['datasource'])) { |
||
257 | $dataFields[$source] = $info['datasource']; |
||
258 | } |
||
259 | |||
260 | // Set field name for export |
||
261 | $fieldTitle = isset($info['title']) ? $info['title'] : $source; |
||
262 | |||
263 | // If not print-only, then add to display list |
||
264 | if (empty($info['printonly'])) { |
||
265 | $displayFields[$source] = $fieldTitle; |
||
266 | } |
||
267 | |||
268 | // Assume that all displayed fields are printed also |
||
269 | $exportFields[$source] = $fieldTitle; |
||
270 | } |
||
271 | |||
272 | // Set custom evaluated columns |
||
273 | $gridField->addDataFields($dataFields); |
||
274 | |||
275 | // Set visible fields |
||
276 | $columns->setDisplayFields($displayFields); |
||
277 | $columns->setFieldCasting($fieldCasting); |
||
278 | $columns->setFieldFormatting($fieldFormatting); |
||
279 | |||
280 | // Get print columns, and merge with print-only columns |
||
281 | $printExportColumns = $this->getPrintExportColumns($gridField, $itemType, $exportFields); |
||
282 | |||
283 | $printButton->setPrintColumns($printExportColumns); |
||
284 | $exportButton->setExportColumns($printExportColumns); |
||
285 | |||
286 | return $gridField; |
||
287 | } |
||
309 |
The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g.
excluded_paths: ["lib/*"]
, you can move it to the dependency path list as follows:For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths