summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul W. Frields <stickster@gmail.com>2010-07-16 02:13:03 -0400
committerPaul W. Frields <stickster@gmail.com>2010-07-16 02:13:03 -0400
commit0b9a47898a6bfa8ff6681d7dd04ab872833043aa (patch)
tree8f5c9b1fede2339c34676dfa5bd2d340df05f3ef
parente7763083162eef99801bff940a1025159b534dc2 (diff)
downloaddrupal-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.module30
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: