From ed0ba504bcd792bf34b5ce2c909adfc6d28f7b48 Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Fri, 10 Mar 2017 05:50:18 -0500 Subject: [PATCH] Fix issue processwire/processwire-issues#199 add clarification notes to InputfieldFile "Inputfield Type" option, and prevent selection of "Image" type when in a FieldtypeFile --- wire/modules/Fieldtype/FieldtypeFile.module | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/wire/modules/Fieldtype/FieldtypeFile.module b/wire/modules/Fieldtype/FieldtypeFile.module index a43afce6..05168c94 100644 --- a/wire/modules/Fieldtype/FieldtypeFile.module +++ b/wire/modules/Fieldtype/FieldtypeFile.module @@ -680,13 +680,15 @@ class FieldtypeFile extends FieldtypeMulti { $f->attr('name', 'inputfieldClass'); $f->label = $this->_('Inputfield Type'); $f->description = $this->_('The type of field that will be used to collect input.'); + $f->notes = $this->_('Change this only if instructed to do so by 3rd party Inputfield module instructions.'); $f->required = true; $baseClass = $this->defaultInputfieldClass; - foreach($this->wire('modules') as $fm) { - if(strpos($fm->className(), 'Inputfield') !== 0) continue; - if("$fm" == $baseClass || is_subclass_of($fm->className(true), __NAMESPACE__ . "\\$baseClass")) + foreach($this->wire('modules')->findByPrefix('Inputfield') as $fm) { + if($baseClass == 'InputfieldFile' && strpos($fm, 'InputfieldImage') === 0) continue; + if("$fm" == $baseClass || is_subclass_of(__NAMESPACE__ . "\\$fm", __NAMESPACE__ . "\\$baseClass")) { $f->addOption("$fm", str_replace("Inputfield", '', "$fm")); + } } $inputfieldClass = $field->get('inputfieldClass');