--- acl.admin.inc 2010-06-24 15:22:21.000000000 -0400 +++ /Library/WebServer/Documents/touchnoc/sites/all/modules/acl/acl.admin.inc 2010-06-27 23:14:41.000000000 -0400 @@ -85,14 +85,20 @@ function _acl_edit_form_after_build($for $user_list = unserialize($form['user_list']['#value']); $button_name = 'acl_' . $form['acl_id']['#value']; - if (isset($form['#post'][$button_name]) && $form['#post'][$button_name] == $form['delete_button']['#value']) { +// if (isset($form['#post'][$button_name]) && $form['#post'][$button_name] == $form['delete_button']['#value']) { + if( isset( $form_state[ 'triggering_element' ] ) && $form_state[ 'triggering_element' ]['#value'] == $form['delete_button']['#value'] ) { $deletions = $form['deletions']['#value']; foreach ($deletions as $uid) { unset($user_list[$uid]); unset($form['deletions']['#value'][$uid]); } } - elseif (isset($form['#post'][$button_name]) && $form['#post'][$button_name] == $form['add_button']['#value']) { + //elseif (isset($form['#post'][$button_name]) && $form['#post'][$button_name] == $form['add_button']['#value']) { + elseif( + isset( $form_state[ 'triggering_element' ] ) && + $form_state[ 'triggering_element' ]['#value'] == $form['add_button']['#value'] && + $form['add']['#value'] != '' + ) { $user = db_query("SELECT uid, name FROM {users} WHERE name = :name", array( 'name' => $form['add']['#value'], @@ -127,12 +133,14 @@ function _acl_edit_form_after_build($for * The module that embedded our form must call this function! */ function acl_save_form($form, $priority = NULL) { + $users = unserialize($form['user_list']); + db_delete('acl_user') ->condition('acl_id', $form['acl_id']) ->execute(); foreach ($users as $uid => $name) { - db_insert('') + db_insert('acl_user') ->fields(array( 'acl_id' => $form['acl_id'], 'uid' => $uid,