diff options
author | Paul W. Frields <stickster@gmail.com> | 2010-07-16 02:13:03 -0400 |
---|---|---|
committer | Paul W. Frields <stickster@gmail.com> | 2010-07-16 02:13:03 -0400 |
commit | 0b9a47898a6bfa8ff6681d7dd04ab872833043aa (patch) | |
tree | 8f5c9b1fede2339c34676dfa5bd2d340df05f3ef | |
parent | e7763083162eef99801bff940a1025159b534dc2 (diff) | |
download | drupal-authfas-6x-0b9a47898a6bfa8ff6681d7dd04ab872833043aa.tar.gz drupal-authfas-6x-0b9a47898a6bfa8ff6681d7dd04ab872833043aa.tar.xz drupal-authfas-6x-0b9a47898a6bfa8ff6681d7dd04ab872833043aa.zip |
Add database queries for FAS group mapping
-rw-r--r-- | authfas.module | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/authfas.module b/authfas.module index f7f5c99..382c5cb 100644 --- a/authfas.module +++ b/authfas.module @@ -191,7 +191,35 @@ function authfas_form_user_admin_role_alter(&$form, $form_state) { // Next, add functions to update the database. function authfas_user_admin_role_submit($form, &$form_state) { - // FIXME: Add database queries here + $fasgroup = $form_state['values']['fasgroup']; + $rid = $form_state['values']['rid']; + $name = $form_state['values']['name']; + $op = $form_state['values']['op']; + $current = db_result(db_query("SELECT fasgroup FROM {authfas_ridmap} WHERE rid = %d;", $form_state['values']['rid'])); + + // If we're deleting a role or removing the FAS group, delete the row. + if (($op == t('Delete role')) or ($fasgroup == '')) { + $result = db_query("DELETE FROM {authfas_ridmap} WHERE rid = %d", $rid); + if ($result) { + drupal_set_message(t('The role has been removed from the FAS group map.')); + } else { + form_set_error("DB error"); + } + } // End delete + // If we're saving a role, update the row. + else if (($op == t('Save role')) and (isset($fasgroup))) { + if ($current == '') { // Wasn't mapped before + $result = db_query("INSERT INTO {authfas_ridmap} (rid, fasgroup) VALUES (%d, '%s')", $rid, $fasgroup); + if ($result) { + drupal_set_message('The role has been mapped to FAS group '.$fasgroup.'.'); + } else { form_set_error("DB error"); } + } else { // Was mapped before + $result = db_query("UPDATE {authfas_ridmap} SET fasgroup = '%s' WHERE rid = %d", $fasgroup, $rid); + if ($result) { + drupal_set_message('The role has been mapped to FAS group '.$fasgroup.'.'); + } else { form_set_error("DB error"); } + } // End mapped before + } // End insert/update } // Local variables: |