/** * @param $paletteBuilder * @param $fields * @return array */ protected function palettesCollector($paletteBuilder, $fields = array()) { $palettes = array(); $paletteBuilder = $paletteBuilder ? deserialize($paletteBuilder) : array(); $palettes[] = 'generalPalette'; $defaultPalettes = array('sourcePalette', 'protectedPalette', 'expertPalette', 'publishPalette'); // add palettes from builder into $palettes var if (!empty($paletteBuilder)) { foreach ($paletteBuilder as $palette) { $palettes[] = $palette; } } // set custom fields if (!empty($fields)) { if (DCAHelper::isLegend($fields)) { foreach ($fields as $field) { if ($field['type'] != 'legend_start') { continue; } $palettes[] = $field['fieldID']; } } if (!DCAHelper::isLegend($fields)) { $palettes[] = 'metaPalette'; } } $palettes = array_merge($palettes, $defaultPalettes); return $palettes; }