@@ -354,15 +354,16 @@ public function createService(Api $api, $serviceName)
354
354
* @param string $prefix To unwind nesting of fields
355
355
* @return array
356
356
*/
357
- private function mapFields ($ fields , $ prefix = '' )
357
+ private function mapFields (array $ fields , $ prefix = '' )
358
358
{
359
359
if (isset ($ fields ['name ' ])) {
360
360
/// detect usage of "name" as a field group name
361
- if (isset ($ fields ['name ' ]['name ' ])) {
361
+ if (is_array ( $ fields [ ' name ' ]) && isset ($ fields ['name ' ]['name ' ])) {
362
362
return $ this ->mapFields ($ fields ['name ' ], 'name ' );
363
363
}
364
+
364
365
if ($ prefix ) {
365
- $ fields ['name ' ] = " $ prefix/ { $ fields ['name ' ]}" ;
366
+ $ fields ['name ' ] = sprintf ( ' %s/%s ' , $ prefix, $ fields ['name ' ]) ;
366
367
}
367
368
return array ($ fields );
368
369
}
@@ -372,11 +373,12 @@ private function mapFields($fields, $prefix = '')
372
373
foreach ($ fields as $ idx => $ field ) {
373
374
if (isset ($ field ['type ' ]) && is_subclass_of ($ field ['type ' ], 'Zend\InputFilter\InputFilterInterface ' )) {
374
375
$ filteredFields = array_diff_key ($ field , array ('type ' => 0 ));
375
- $ fullindex = $ prefix ? " $ prefix/ $ idx" : $ idx ;
376
+ $ fullindex = $ prefix ? sprintf ( ' %s/%s ' , $ prefix, $ idx) : $ idx ;
376
377
$ flatFields = array_merge ($ flatFields , $ this ->mapFields ($ filteredFields , $ fullindex ));
377
- } else {
378
- $ flatFields = array_merge ($ flatFields , $ this ->mapFields ($ field , $ prefix ));
378
+ continue ;
379
379
}
380
+
381
+ $ flatFields = array_merge ($ flatFields , $ this ->mapFields ($ field , $ prefix ));
380
382
}
381
383
382
384
return $ flatFields ;
@@ -386,7 +388,7 @@ private function mapFields($fields, $prefix = '')
386
388
* @param array $fieldData
387
389
* @return Field
388
390
*/
389
- private function getField ($ fieldData )
391
+ private function getField (array $ fieldData )
390
392
{
391
393
$ field = new Field ();
392
394
@@ -401,6 +403,7 @@ private function getField($fieldData)
401
403
402
404
$ required = isset ($ fieldData ['required ' ]) ? (bool ) $ fieldData ['required ' ] : false ;
403
405
$ field ->setRequired ($ required );
406
+
404
407
return $ field ;
405
408
}
406
409
0 commit comments