public function addFlavoursToBarcode(RM_Barcode_Object $obBarcode, $flavour_names, $flavour_type, &$error) { $result = FALSE; if ($flavour_names) { if (!in_array($flavour_type, M('Gpc')->flavour_types())) { $error = 'gpc.wrong_flavour_type'; } else { foreach ($obBarcode->getFlavours() as $obFlavour) { $obFlavour->removeBarcode($obBarcode, $flavour_type); } foreach ($flavour_names as $flavour_name) { if (!trim($flavour_name)) { continue; } if (isNull($obFlavour = M('Gpc')->loadFlavourByName(trim($flavour_name)))) { $error = 'gpc.no_such_flavours'; } else { $obFlavour->addBarcode($obBarcode, $flavour_type); $result = TRUE; } } } } return $result; }