Les variables Smarty sont actives dans ce champ.';
$lang['add_options'] = 'Ajouter plus d'options';
$lang['delete_options'] = 'Supprimer les options sélectionnées';
$lang['add_checkboxes'] = 'Ajouter d'autres boîtes de vérification';
$lang['delete_checkboxes'] = 'Supprimer les boîtes de vérification sélectionnées';
$lang['add_address'] = 'Ajouter d'autres adresses mail';
$lang['delete_address'] = 'Supprimer les adresses mail sélectionnées';
$lang['add_destination'] = 'Ajouter d'autres destinations';
$lang['delete_destination'] = 'Supprimer les destinations sélectionnées';
$lang['suspected_spam'] = 'Trop de mails sont générées à partir de votre adresse IP ! Le système anti-spam a été activé et les administrateurs du site en ont été informés.';
$lang['suspected_spam_log'] = 'De possibles spams provenant de l'IP %s ont été stoppés.';
$lang['reorder'] = 'Réorganiser les champs';
$lang['cancel'] = 'Annulé';
$lang['value_set'] = 'Valeur donnée : %s';
$lang['help_cataloger_attribute_fields'] = 'Below is a list of the attributes available from the Cataloger module.
You can optionally specify valid ranges, values, or numerous values to be used in filtering the list of items that is displayed to the user.
Ranges:
Ranges can be specified by signifying a minimum and maximum value using this syntax: "range: minvalue to maxvalue"
Multiple Values:
To specify multiple values for an attribute use the syntax "multi: value1|value2|value3"
Values from hidden fields
To specify a value from a hidden field use the syntax {$fld_id}
';
$lang['help_name_regex'] = 'Une expression regulière pour filtrer par nom les items de Cataloger';
$lang['help_field_height'] = 'La hauteur du champ multiple';
$lang['title_name_regex'] = 'Nom de l'expression regulière pour Cataloger';
$lang['title_field_height'] = 'Hauteur du champ';
$lang['title_file_path'] = 'Dossier de destination pour les fichiers crées ';
$lang['title_udt_name'] = 'Tag utilisateur ';
$lang['title_uploads_destpage'] = 'Page de retour pour les liens d'uploads (envois)';
$lang['title_uploadmodule_summary'] = 'Envoyé avec formbuilder';
$lang['title_uploads_category'] = 'Catégorie d'Uploads (envois)';
$lang['title_sendto_uploads'] = 'Envoyer ce fichier au module d'upload';
$lang['title_legend'] = 'Légende ';
$lang['title_maximum_length'] = 'Longueur maximum ';
$lang['title_checkbox_label'] = 'Intitulé de la boite ';
$lang['title_radio_label'] = 'Intitulé du bouton radio';
$lang['title_checked_value'] = 'Valeur vérifiée ';
$lang['title_unchecked_value'] = 'Valeur non-vérifiée ';
$lang['title_checkbox_details'] = 'Détails des groupes des boites de vérifications ';
$lang['title_delete'] = 'Supprimer ?';
$lang['title_select_one_message'] = 'Texte personnalisable "sélection" ';
$lang['title_selection_value'] = 'Valeur sélectionnée';
$lang['title_selection_displayname'] = 'Nom d'affichage sélectionné ';
$lang['title_selection_subject'] = 'Sujet sélectionné';
$lang['title_select_default_country'] = 'Sélection par défaut ';
$lang['title_select_default_state'] = 'Sélection par défaut ';
$lang['title_select_default_province'] = 'Sélection par défaut ';
$lang['title_option_name'] = 'Nom de l'Option';
$lang['title_option_value'] = 'Valeur soumise';
$lang['title_pulldown_details'] = 'Options par menu déroulant ';
$lang['title_multiselect_details'] = 'Options de Sélection multiple ';
$lang['title_destination_address'] = 'Adresse mail de destination ';
$lang['title_destination_filename'] = 'Nom du fichier de destination ';
$lang['title_email_from_name'] = '"From Nom" pour le mail ';
$lang['title_relaxed_email_regex'] = 'Validation adresse mail plus souple ';
$lang['title_relaxed_regex_long'] = 'Autoriser les adresses mail sans extension (c.a.d : accepter "nom@domaine" à la place de "nom@domaine.com" requis par défaut)';
$lang['title_email_from_address'] = '"From Adresse" pour Mail de l'expéditeur ';
$lang['title_email_encoding'] = 'Encodage des caractères du mail ';
$lang['title_director_details'] = 'Menu déroulant basé sur les détails de l'email ';
$lang['title_file_name'] = 'Nom du fichier ';
$lang['title_email_subject'] = 'Ligne du sujet dans le mail ';
$lang['title_form_name'] = 'Nom du Formulaire ';
$lang['title_form_status'] = 'Status du Formulaire ';
$lang['title_ready_for_deployment'] = 'Prêt à être déployé';
$lang['title_not_ready1'] = 'Pas prêt';
$lang['title_redirect_page'] = 'Page de redirection après l'envoi du formulaire ';
$lang['title_not_ready2'] = 'Ajouter un champ au formulaire pour pouvoir modifier les contributions des utilisateurs.';
$lang['title_not_ready_link'] = 'Utiliser ce raccourci';
$lang['title_form_alias'] = 'Alias du Formulaire ';
$lang['title_form_fields'] = 'Champs du Formulaire ';
$lang['title_field_id'] = 'ID du champ ';
$lang['title_show_fieldaliases'] = 'Montrer les champs Alias ';
$lang['title_show_fieldaliases_long'] = 'Cocher cette case montrera les champs Alias lors de l'édition de ce formulaire';
$lang['title_field_name'] = 'Nom de champ ';
$lang['title_field_alias'] = 'Alias du champ ';
$lang['title_radiogroup_details'] = 'Détails des groupes des boutons radio ';
$lang['title_field_type'] = 'Type de champ ';
$lang['title_not_ready3'] = 'pour créer un formulaire rapidement.';
$lang['title_add_new_form'] = 'Ajouter un nouveau formulaire';
$lang['title_show_version'] = 'Montrer la version de Form Builder ? ';
$lang['title_show_version_long'] = 'Cela indiquera dans un commentaire la version installée du module Form Builder. parfois utile pour debugger';
$lang['title_add_new_field'] = 'Ajouter un nouveau champ';
$lang['title_form_submit_button'] = 'Texte du bouton d'envoi du formulaire ';
$lang['title_submit_button_safety'] = 'Ajouter du Javascript au bouton d'envoi final pour aider à la prévention des envois multiples (spam) ?';
$lang['title_submit_button_safety_help'] = 'Ajouter un script sécurisé ';
$lang['title_form_next_button'] = 'Texte du bouton "suivant" du formulaire (utilisé pour les formulaires comprenant plusieurs pages) ';
$lang['title_form_prev_button'] = 'Texte du bouton "précédent" du formulaire (utilisé pour les formulaires comprenant plusieurs pages) ';
$lang['title_field_validation'] = 'Validation du champ ';
$lang['title_form_css_class'] = 'Classe CSS de ce Formulaire ';
$lang['title_field_css_class'] = 'Classe CSS de ce champ ';
$lang['title_form_required_symbol'] = 'Symbole indiquant un champ obligatoire ';
$lang['title_field_required'] = 'Requis ';
$lang['title_field_required_long'] = 'Ce champ exige une réponse obligatoire ';
$lang['title_hide_label'] = 'Intutilé caché ';
$lang['title_hide_label_long'] = 'Masquer le nom de ce champ dans le formulaire';
$lang['title_text'] = 'Texte statique à afficher ';
$lang['title_field_regex'] = 'Validation Regex ';
$lang['title_lines_to_show'] = 'Nombre de lignes à afficher ';
$lang['no_default'] = 'Pas de sélection par défaut ';
$lang['redirect_after_approval'] = 'Page de redirection après acceptation ';
$lang['title_regex_help'] = 'Cette expression régulière sera seulement utilisée si "type de validation" est mis sur une option apparentèe regex. Inclus un style Perl regex complet, incluant les slashes de début et fin ainsi que les flags (exemple : "/image\.(\d+)/i")';
$lang['title_field_required_abbrev'] = 'Actif';
$lang['title_hide_errors'] = 'Cacher les erreurs ';
$lang['title_form_displaytype'] = 'Type d'affichage du formulaire';
$lang['title_hide_errors_long'] = 'Cacher aux utilisateurs l'affichage des messages d'erreur ou de debugage.';
$lang['title_email_template'] = 'Gabarit du mail ';
$lang['title_maximum_size'] = 'Taille Maximum pour l'envoi de fichier (kilobytes) ';
$lang['title_maximum_size_long'] = 'Cette limitation est prioritaire sur les limites php ou sur celles de la configuration du serveur web';
$lang['title_permitted_extensions'] = 'Extensions autorisées ';
$lang['title_permitted_extensions_long'] = 'Entrer une liste séparée par un caractère autre que le point, (exemple : "jpg, gif, jpeg"). Les espaces seront ignorés. Laisser vierge signifie "aucune restriction"';
$lang['title_show_limitations'] = 'Afficher les restrictions ? ';
$lang['title_show_limitations_long'] = 'Afficher les restrictions de tailles et d'extensions pour le champ d'upload ?';
$lang['title_form_template'] = 'Gabarit à utiliser pour afficher le formulaire ';
$lang['title_page_x_of_y'] = 'Page %s à %s';
$lang['title_no_advanced_options'] = 'Champ sans option avancée.';
$lang['title_form_unspecified'] = 'Texte renvoyé pour les valeurs de champ non spécifié ';
$lang['title_enable_fastadd_long'] = 'Autoriser l'ajout rapide des champs de formulaire à l'aide d'un menu déroulant ?';
$lang['title_enable_fastadd'] = 'Accès rapide au formulaire ? ';
$lang['title_fastadd'] = 'Ajout rapide du champ';
$lang['title_enable_antispam_long'] = 'Cocher cette case limitera à 10 mails par heure la transmission des formulaires pour une même adresse IP.';
$lang['title_enable_antispam'] = 'Opter pour des restrictions anti-spam ? ';
$lang['title_show_fieldids'] = 'Montrer les ID des champs ';
$lang['title_show_fieldids_long'] = 'Cocher cette case autorisera l'affichage des ID des champs pendant l'ajout ou l'édition du formulaire';
$lang['title_xml_to_upload'] = 'Importer un formulaire à partir d'un fichier XML ';
$lang['title_xml_upload_formname'] = 'Utiliser ce nom de formulaire ';
$lang['title_import_legend'] = 'Importer un formulaire de format XML ';
$lang['title_xml_upload_formalias'] = 'Utiliser cet alias ';
$lang['title_html_email'] = 'Générer un mail en HTML ? ';
$lang['title_link_autopopulate'] = 'Remplir automatiquement ? ';
$lang['title_link_autopopulate_help'] = 'Remplir automatiquement avec l'URL de la page contant le formulaire ? (Ceci réécrira le lien de la page ci-dessous)';
$lang['title_default_link'] = 'Lien URL par défaut ';
$lang['title_default_link_title'] = 'Texte par défaut du lien ';
$lang['title_link_to_sitepage'] = 'Lien pour la page du site ';
$lang['title_captcha_not_installed'] = 'Vous pouvez utiliser"Captcha" pour protéger l'envoi de vos formulaires en installant le module Captcha. Pour plus d'informations, suivez le projet du Captcha.';
$lang['title_use_captcha'] = 'Utiliser Captcha pour protéger l'envoi de vos formulaires ? ';
$lang['title_use_captcha_help'] = 'Vérifier ici comment protéger vos formulaires avec "Captcha".';
$lang['title_user_captcha'] = 'Veuillez confirmer que vous n'êtes pas automate en recopiant les caractères presents sur l'image.';
$lang['title_user_captcha_error'] = 'Echec de la vérification Captcha ';
$lang['wrong_captcha'] = 'Image et texte different !';
$lang['title_title_user_captcha'] = 'Texte d'aide concernant Captcha ';
$lang['title_dont_submit_unchecked'] = 'Ne pas envoyer les valeurs non-cochées ';
$lang['title_dont_submit_unchecked_help'] = 'Vérifier seulement si les cases cochées retournent des valeurs.';
$lang['link_label'] = 'Label du lien ';
$lang['link_destination'] = 'URL de destination du lien ';
$lang['title_default_set'] = 'Sélectionné par défaut ? ';
$lang['title_24_hour'] = 'Heures de 0 à 24 ? ';
$lang['title_before_noon'] = 'AM avant midi';
$lang['title_after_noon'] = 'PM après midi';
$lang['title_smarty_eval'] = 'Avec des tags Smarty dans les champs ? ';
$lang['title_textarea_rows'] = 'Lignes (note : peut être modifié via CSS) ';
$lang['title_textarea_cols'] = 'Colonnes (note : peut être modifié via CSS) ';
$lang['title_form_main'] = 'Accueil - Détails du Formulaire ';
$lang['title_show_username'] = 'Affichage login utilisateur ? ';
$lang['title_show_userfirstname'] = 'Affichage prénom utilisateur ? ';
$lang['title_show_userlastname'] = 'Affichage nom utilisateur ? ';
$lang['title_restrict_to_group'] = 'Liste des utilisateurs pour le groupe spécifié ';
$lang['restricted_to_group'] = 'Seulement pour le groupe %s ';
$lang['title_show_to_user'] = 'Affichage utilisateur ? ';
$lang['help_leaveempty'] = 'Ce champ peut être laissé vide ';
$lang['help_variables_for_template'] = 'Variables pour gabarit';
$lang['help_variables_for_computation'] = 'Variables autorisées';
$lang['help_php_variable_name'] = 'Variable PHP ';
$lang['help_submission_date'] = 'Date d'envoi';
$lang['help_server_name'] = 'Votre serveur';
$lang['help_sub_source_ip'] = 'Adresse IP de la personne utilisant le formulaire';
$lang['help_sub_url'] = 'URL de la page contenant le formulaire';
$lang['help_fb_version'] = 'Version de FormBuilder';
$lang['help_tab'] = 'Tabulation';
$lang['help_other_fields'] = 'Les autres noms de champs peuvent être utilisés de façon interchangeable (particulièrement utile si Smarty bloqué sur les caractères ASCII en dehors de 32-126).
les autres champs seront disponibles si vous les ajouter au formulaire.';
$lang['help_array_fields'] = 'Yet another way of accessing field values is via $fieldname_obj, $alias_obj, or $fld_#_obj, where each field is an object containging:
| name | Field Name |
| type | Field Type |
| id | Internal Field ID |
| value | Human-readable Value |
| valueArray | Array of field value(s) |
Evénement déclenché lorsqu'un formulaire FormBuilder est envoyé.
Evénement déclenché s'il y a une erreur lorsqu'un formulaire FormBuilder est envoyé
Evénement déclenché lorsqu'un formulaire FormBuilder est affiché
You can edit it to make your form layout look any way you'd like. To make the form work, you'll need to always include the {$fb_hidden} and {$submit} tags.
You can access your form fields either using the $fields array or by directly accessing fields by their names (e.g., {$myfield->input} )
Voici les différentes valeurs applicables aux champs :
| Champ | Valeur |
|---|---|
| champ->display | 1 pour afficher le champ, sinon 0 |
| champ->required | 1 si le champ est requis, sinon 0 |
| champ->required_symbol | Le symbole signalant les champs obligatoires |
| champ->css_class | La classe CSS de ce champ |
| champ->valid | 1 si le champ été valide, sinon 0 |
| champ->error | Texte pour les problèmes de validation, au cas où le champ ne serait pas validé |
| champ->hide_name | 1 si le nom du champs doit rester caché, sinon 0 |
| champ->has_label | 1 si le type de champ a un label |
| champ->needs_div | 1 si le champ doit être intégre dans un DIV (ou dans une ligne de tableau, si c'est votre choix) |
| champ->name | Le nom du champ |
| champ->input | La valeur de contrôle du champ (ex. : la valeur du champ) |
| champ->op | un bouton de controle associé au champ si c'est possible (ex. : le bouton supprimer pour un champ texte) |
| champ->input_id | l' ID du champ (utile pour utiliser |
| champ->type | le yype de données du champ |
| champ->multiple_parts | 1 si le champ->input est une collection de contrôles |
| champ->label_parts | 1 si la collection de contrôles a des labels séparés pour chaque contrôle |
In certain cases, field->input is actually an array of objects rather than an input. This happens, for example, in CheckBoxGroups or RadioButtonGroups. For them, you can iterate through field->input->name and field->input->inputs.
Voici les variables smarty complémentaires que vous pouvez utiliser :
| Variable | Valeur |
|---|---|
| total_pages | nombre de pages pour un formulaire multi-pages |
| this_page | numéro de la page courrante pour un formulaire multi-pages |
| title_page_x_of_y | affiche "page x de y" pour un formulaire multi-pages |
| css_class | La classe CSS pour le formulaire |
| form_name | Nom du formulaire |
| form_id | ID de la base de données du formulaire |
| prev | Bouton "Reculer" pour un formulaire multiple |
| submit | Bouton "Suivant" or "Envoyer" pour un formulaire multiple, adjuster automatiquement |
Dunno why you'd want some of those, but there you go...
'; $lang['post_install'] = 'Make sure to set the "Modify Forms" permissions on users who will be administering feedback forms. Also, if you'll be emailing form results, be sure to update the Configuration appropriately.
Please be aware that a feedback form should not be active (e.g., usable by the public) while you are still editing the form. You should create the form, and place the tag into an active content page only when you have finished editing. Otherwise, erroneous results could be returned.
Additionally, this version does not support parallel editing of forms. Please take care that only one admin is editing a given form at a given time.
'; $lang['help'] = 'The Form Builder Module allows you to create feedback forms (in fact, it's a replacement of the original Feedback Form module), with the added power of database storage. With its companion module Form Browser, you can use it to create simple database applications.
The forms created using the Form Builder may be inserted into templates and/or content pages. Forms may contain many kinds of inputs, and may have validation applied to these inputs. The results of these forms may be handled in a variety of ways.
Install it, and poke around the menus. Play with it. Try creating forms, and adding them to your content. If you get stuck, chat with me on the #cms IRC channel, post to the forum, send me email, or, if you're really desperate, try reading the instructions on the rest of this page.
In the CMS Admin Menu, you should get a new menu item called FormBuilder. Click on this. On the page that gets shown, there are options (at the bottom of the list of Forms) to Add a New Form or Modify Configuration.
In the main FormBuilder admin page, you can see an example of the tag used to display each form. It looks something like {cms_module module='FormBuilder' form='sample_form'}
By copying this tag into the content of a page, or into a template, will cause that form to be displayed. In theory, you can have multiple forms on a page if you really want to. Be careful when pasting the tag into a page's content if you use a WYSIWYG editor such as TinyMCE, FCKEdit, or HTMLArea. These editors may stealthily change the quote marks (") into HTML entities ("), and the forms will not show up. Try using single quotes (') or editing the HTML directly.
By clicking on a Form's name, you enter the Form Edit page. There are several tabs, which are described below:
This is the main place you'll work on your form. Here, you give it a name, an alias (which is used to identify it for placing it in a page or template), and, optionally, a CSS class with which to wrap the whole thing.
Below this, if you have it enabled, is the "fast field adder" pulldown, that lets you quickly add a field to the end of your form by selecting the field type.
Below this is the list of fields that make up your form. More detail on this is described below.
When the form is submitted, you can either redirect the user to another page of your site, or you can present the user some message (which can contain any of the user's form entries, or just static text). In this tab, you select which of these approaches you wish to use, and, if you chose redirection, it allows you to pick the page to redirect users to after a successful form submission.
Also on this page, you can specify the labels of various submission buttons ("Previous", "next", "submit"). You can also opt to have some Javascript added to the last page of a form that will prevent multiple submissions (useful on slow servers).
This tab allows for other form customizations, like the symbol to show for required fields.
If you have installed the Captcha module, this tab lets you configure the Captcha settings for your form.
This is where you do your customization work of your form's Smarty Template. See the section called Form Template Variables below.
The form should default to a Custom template that documents the Smarty tags available to you.
Unless you're a Smarty expert, you probably don't want to mess around with this. If you are a Smarty expert, this is where you can unleash your magic.
If, in the Form Submission tab, you selected 'Display "Submission Template", this is where you can create that template. There is a display of which smarty variables are available to you, and a button to generate a sample template.
If you're a Smarty expert, you can do all manner of creative and powerful things here. If you're not a Smarty expert, you might just want to use the default.
The types of fields that are currently supported fit into four groups: standard input fields, display control fields, email-specific fields, and form result handling fields (also called Form Dispositions in places):
Form fields are assigned names. These names identify the field, not only on the screen as labels for the user, but in the data when it's submitted so you know what the user is responding to. Phrasing the name like a question is a handy way of making it clear to the user what is expected. Similarly, many fields have both Names and Values. The Names are what gets shown to the user; the Value is what gets saved or transmitted when the user submits the form. The Values are never seen by the user, nor are they visible in the HTML, so it's safe to use for email addresses and such.
Some fields can have multiple values, or multiple name/value pairs. When you first create such a field, there may not be sufficient inputs for you to specify all the values you want. To get more space for inputting these values, use the buttons at the bottom of the page for adding options.
Fields can be assigned validation rules, which vary according to the type of the field. These rules help ensure that the user enters valid data. They may also be separately marked "Required", which will force the user to enter a response.
Fields also may be assigned a CSS class. This simply wraps the input in a div with that class, so as to allow customized layouts. To use this effectively, you may need to "view source" on the generated form, and then write your CSS.
Calguy added a nice feature, which is that you can pass default field values to your form via the module tag. This allows you to have the same form in multiple places, but with different default values. It may not work for more exotic field types, but for fields that have a single value, you can specify like:
{cms_module module='FormBuilder' form='my_form' value_FIELDNAME='default_value'}
This will set the field with FIELDNAME to 'default_value'.
This can be problematic, as sometimes field names are unweildy or contain characters that don't work well with Smarty. So there is an alternative like this:
{cms_module module='FormBuilder' form='my_form' value_fldNUMBER='default_value'}
That uses field NUMBER, where NUMBER is the internal FormBuilder field id. You might wonder how you know what that id is. Simply go into the FormBuilder configuration tab, and check "Show Field IDs"
Many disposition types allow you to create a template for the email that is generated, or for the way the results are written to a file. If you opt not to create a template, the FormBuilder will use it's own best guess, which may or may not work out to your liking. You can always click on the "Create Sample Template" and then customize the results.
To the right, you'll find a legend which lists all of the variables that are available to you to use in your template. As of version 0.3, variables have two names, one based on the field name, the other based on the field ID. If you use field names that have characters outside of the ASCII 32-126 range, it will be safer to use the ID-based variables.
Note that once you've changed a template, it will no longer automatically add new fields. For this reason, it's usually best to create your templates as the last step of creating your form.
As of version 0.2.4, you can opt to send any of these emails as HTML email. There should be a checkbox at the top of the template page for this. There is also a "Create Sample HTML Template" button over in the legend area. For HTML email, the email body will also provide the default text-only values.
There are some global configuration options for FormBuilder:
Paul Noone graciously provides us all with a pretty good standard CSS that you can use for forms:
/* Sample FormBuilder CSS base */
form {margin-top:0}
form, td, th, li { font-size: 100%}
form div {margin-bottom:0}
fieldset div {
margin-bottom:0.5em;
margin-left:1em;
}
fieldset div div {
margin-top:0.5em;
margin-left:1em
}
fieldset {
margin-bottom:1em;
border:1px solid #F60;
padding:0.5em
}
fieldset label {
width:auto;
}
legend {
color:#FFF;
background:#F60;
font-style:italic;
font-size:1.2em;
margin-bottom:0.5em;
padding:0.2em;
width:auto;
border:1px solid #CCC
}
textarea {
margin: 0.5em 0;
width:98%;
height: 6em
}
/* Apply this class to text/select input fields with shorter labels
to help alignment */
.short-label label {float:left; width:10em}
.short-label fieldset div input,
.short-label fieldset div select {width:16em}
/* Pretty up your Captcha image output */
.captcha {
margin:0.5em 0;
width:200px;
text-align:center
}
.captcha img {border:1px solid #F60; margin-bottom:0.5em}
.captcha input {width:196px; margin-top:0.5em}
/* Just a bit more room for the Submit button */
.submit {margin-top:0.5em}
You can edit it to make your form layout look any way you'd like. To make the form work, you'll need to always include the {$fb_hidden} and {$submit} tags.
You can access your form fields either using the $fields array or by directly accessing fields by their names (e.g., {$myfield->input} )
Each field has the following attributes:
| Field | Value |
|---|---|
| field->display | 1 if the field should be displayed, 0 otherwise |
| field->required | 1 if the field is required, 0 otherwise |
| field->required_symbol | the symbol for required fields |
| field->css_class | the CSS class specified for this field |
| field->valid | 1 if this field has passed validation, 0 otherwise |
| field->error | Text of the validation problem, in the event that this field did not validate |
| field->hide_name | 1 if the field name should be hidden, 0 otherwise |
| field->has_label | 1 if the field type has a label |
| field->needs_div | 1 if the field needs to be wrapped in a DIV (or table row, if that's the way you swing) |
| field->name | the field's name |
| field->input | the field's input control (e.g., the input field itself) |
| field->op | a control button associated with the field if applicable (e.g., the delete button for expandable text input) |
| field->input_id | the ID of the field's input (useful for |
| field->type | the field's data type |
| field->multiple_parts | 1 if the field->input is actually a collection of controls |
| field->label_parts | 1 if the collection of controls has separate labels for each control |
In certain cases, field->input is actually an array of objects rather than an input. This happens, for example, in CheckBoxGroups or RadioButtonGroups. For them, you can iterate through field->input->name and field->input->inputs.
Additional smarty variables that you can use include:
| Variable | Value |
|---|---|
| total_pages | number of pages for multi-page forms |
| this_page | number fo the current page for multi-page forms |
| title_page_x_of_y | displays "page x of y" for multi-page forms |
| css_class | CSS Class for the form |
| form_name | Form name |
| form_id | Form database ID |
| prev | "Back" button for multipart forms |
| submit | "Continue" or "Submit" button for multipart forms, adjusts automatically |
Dunno why you'd want some of those, but there you go...
This is no longer a particularly early version, but it is probably still buggy. While I've done all I can to make sure no egregious bugs have crept in, I have to admit that during early testing, this program revealed seven cockroaches, two earwigs, a small family of aphids, and a walking-stick insect. It also ate the neighbor's nasty little yap dog, for which I was inappropriately grateful.
The final release will include bug fixes, documentation, and unconditional love.
This module does not include commercial support. However, there are a number of resources available to help you with it:
Keep in mind that the author has put hundreds of hours into the development of this module. Please take the time to read the documentation before sending questions. Either that, or write your questions on financially negotiable instruments (i.e., cash).
As per the GPL, this software is provided as-is. Please read the text of the license for the full disclaimer.
Copyright © 2008, Samuel Goldstein
This module has been released under the GNU Public License. You must agree to this license before using the module.
'; $lang['changelog'] = 'Big release:
Add the ability to call a selectable user defined tag upon disposition of the form.
Many thanks to Utter Design for sponsoring some changes and bugfixes, which include:
These field types allow you to create fieldsets in your form, and organise your fields logically for the user. You can even nest fieldsets, and associate a style with them appropriately. The default template was changed to prevent it from wrapping a div around these types of fields.
This solves a problem when on install the response table would sometimes not get created when using adodb lite