acl_edit_form($acl_id, $label = NULL)acl_edit_form($acl_id, $label = NULL, $new_acl = FALSE)Provide a form to edit the ACL that can be embedded in other forms.
contributions/acl/acl.module, line 64
<?php
function acl_edit_form($acl_id, $label = NULL) {
// Ensure the ACL in question even exists.
if (!$acl_name = db_result(db_query("SELECT name FROM {acl} WHERE acl_id = %d", $acl_id))) {
return array();
}
if (!$label) {
$label = $acl_name;
}
$form = array(
'#type' => 'fieldset',
'#collapsible' => true,
'#title' => $label,
'#tree' => true);
$result = db_query("SELECT u.uid, u.name FROM {users} u LEFT JOIN {acl_user} aclu ON aclu.uid = u.uid WHERE acl_id = %d", $acl_id);
$users = array();
while ($user = db_fetch_object($result)) {
$users[$user->uid] = $user->name;
}
$form['acl_id'] = array('#type' => 'value', '#value' => $acl_id);
$form['deletions'] = array('#type' => 'checkboxes'); // placeholder
$form['delete_button'] = array(
'#type' => 'acl_button',
'#label' => t('Remove Checked')
);
$form['add'] = array(
'#type' => 'textfield',
'#title' => t('Add user'),
'#maxlength' => 60,
'#size' => 40,
'#autocomplete_path' => 'user/autocomplete',
);
$form['add_button'] = array(
'#type' => 'acl_button',
'#label' => t('Add User'),
);
$form['user_list'] = array(
'#type' => 'hidden',
'#default_value' => serialize($users),
);
$form['#after_build'] = array('acl_edit_form_after_build');
return $form;
}
?>