1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-09 16:26:59 +02:00

Small adjustment to InputfieldSelector to prevent access control scenario that hides selectable options for FieldtypePage/InputfieldPage fields.

This commit is contained in:
Ryan Cramer
2017-01-22 08:10:48 -05:00
parent b50b3aa3c7
commit 279f65ec65

View File

@@ -1178,10 +1178,13 @@ class InputfieldSelector extends Inputfield implements ConfigurableModule {
if($inputfield instanceof InputfieldPage) { if($inputfield instanceof InputfieldPage) {
// get selectable options from InputfieldPage // get selectable options from InputfieldPage
$collapsed = $inputfield->getSetting('collapsed');
$inputfield->collapsed = Inputfield::collapsedNo;
foreach($inputfield->getSelectablePages($page) as $item) { foreach($inputfield->getSelectablePages($page) as $item) {
$options[$item->id] = $inputfield->getPageLabel($item); // $item->get('title|name'); $options[$item->id] = $inputfield->getPageLabel($item); // $item->get('title|name');
} }
$inputfield->collapsed = $collapsed;
if(count($options) < 2 if(count($options) < 2
&& ($field->get('parent_id') || $field->get('template_id')) && ($field->get('parent_id') || $field->get('template_id'))
&& ($field->get('findPagesCode') || $field->get('findPagesSelector'))) { && ($field->get('findPagesCode') || $field->get('findPagesSelector'))) {