Formfilter
Formfilter provides tools and a user interface for doing common form altering tasks. Includes a UI for selecting which fields to hide (passing the elements as values, if possible). Also includes an optional filtering of node forms to promote two fields and then put fieldsets in an 'advanced options' fieldset, to declutter the form. As of Drupal 6, Formfilter is divided into two modules: Formfilter is a pure API module and Formfilter UI provides an administrator user interface for filtering forms.
Formfilter can also be used by module developers to fetch altered versions of forms.
I would welcome a co-maintainer or new maintainer for this module.
Using Formfilter UI
Formfilter UI allows admin users with 'administer form filters' permission to hide - for each specific form - selected input fields from users who don't have the 'view forms without filtering' permission.
Admins will see, at the foot of every input form (for example the Node Edit tab), a 'Filter this form' link. Following this link brings up a version of the form with a Form Filter checkbox adjacent to each field (eg 'Hide /Title/: [x]'). Selecting a checkbox will hide that field from unauthorised users, while allowing all the unselected fields to be used normally.
Because users with 'view forms without filtering' permission see the unfiltered version of each form, there is also a link to 'Preview a filtered version of this form' that appears once some formfiltering has been applied.
Developer usage
Formfilter provides a method, formfilter_filter_form(), that can be used by developers to produce a filtered version of a form, in which designated elements are passed as values rather than shown to users. By converting elements to values, we ensure their data are retained.
To use formfilter:
- Add formfilter as a dependency of your module.
- Use the
formfilter_filter_form()method.
formfilter_filter_form() takes three arguments:
$formThe form to be altered.$filtersAn array of elements to make invisible in the form, each element in turn being an array of form keys corresponding to the path of the element in the form structure. For example, to hide the element$form['comment_filter']['format']from $form, you could call this function as follows:formfilter_filter_form($form, array(array('comment_filter', 'format')));$inverseIf TRUE, all elements except the ones given in $filters will become invisible. This defaults to FALSE. The following call would produce a form with only the$form['comment_filter']['format']element:formfilter_filter_form($form, array(array('comment_filter', 'format')), TRUE);
Releases
| Official releases | Date | Size | Links | Status | |
|---|---|---|---|---|---|
| 5.x-1.0 | 2008-Mar-29 | 8.94 KB | Download · Release notes | Recommended for 5.x | |
| Development snapshots | Date | Size | Links | Status | |
|---|---|---|---|---|---|
| 6.x-1.x-dev | 2009-Sep-11 | 9.65 KB | Download · Release notes | Development snapshot | |
| 5.x-1.x-dev | 2008-Nov-03 | 9.16 KB | Download · Release notes | Development snapshot | |
