/** * Get a flexible interface to generate new ProfileTemplateField * * @param string $user_prefix A identifier provided by the programmer * to recognise it's generated HTML form * @return string HTML markup */ public static function getCreateFieldUI($user_prefix, $title = null) { $db = AbstractDb::getObject(); // Init values $html = ""; $html .= "<fieldset class='admin_container Content'>\n"; if (!empty($title)) { $html .= "<legend>{$title}</legend>\n"; } $availableContentTypeFilters = ContentTypeFilter::getAllContentTypeFilters(); $name = "get_new_profile_template_field_{$user_prefix}_content_type_filter"; $i = 0; $tab = array(); foreach ($availableContentTypeFilters as $filter) { $tab[$i][0] = $filter->getId(); $tab[$i][1] = $filter->getLabel() == null ? "[" . _("No label") . "] - " . $filter->getId() : $filter->getLabel(); $i++; } if (count($tab) > 1) { $label = _("Add new profile template field filtered by") . ": "; $html .= "<div class='admin_element_data content_add'>"; $html .= $label; $html .= FormSelectGenerator::generateFromArray($tab, null, $name, null, false); $html .= "</div>"; } else { if (count($tab) == 1) { $html .= '<input type="hidden" name="' . $name . '" value="' . $tab[0][0] . '">'; } else { $html .= "<div class='errormsg'>" . _("Sorry, no content type filter exists.") . "</div>\n"; } } $name = "get_new_profile_template_field_{$user_prefix}_add"; if (count($tab) >= 1) { $value = _("Add"); $html .= "<div class='admin_element_tools'>"; $html .= '<input type="submit" class="submit" name="' . $name . '" value="' . $value . '">'; $html .= "</div>"; } $html .= "</fieldset>\n"; return $html; }