/** * Fill taxonomy autocomplete values. * * @param Form $formObject * Form object. * @param string $field_name * Field name. * @param array $values * An array of values. * * @return mixed * A path or an array of paths of images which are to be uploaded. */ public static function fillTaxonomyAutocompleteValues(Form $formObject, $field_name, $values) { if (!Field::hasFieldAccess($formObject, $field_name)) { return new Response(FALSE, "", "Field " . Utils::getLeaf($field_name) . " is not accessible."); } $formObject->emptyField($field_name); $vocabulary = NULL; if (method_exists($formObject, 'getEntityObject')) { // This is an entity form. list($field, $instance, $num) = $formObject->getFieldDetails($field_name); $vocabulary = $field['settings']['allowed_values'][0]['vocabulary']; } $field_class = get_called_class(); $names = $field_class::convertValues($values, $vocabulary, TRUE, FALSE); $field_value = is_array($names) ? implode(",", $names) : $names; $response = $formObject->fillValues($field_name, array(LANGUAGE_NONE => $field_value)); if (!$response->getSuccess()) { return $response; } $termObjects = TaxonomyTerm::createTermObjectsFromNames($names, $vocabulary, FALSE); $response->setVar(Utils::normalize($termObjects)); return $response; }