From 17a811757e96860a6a093281ffa1392637ce3f75 Mon Sep 17 00:00:00 2001 From: Robert Anderson <randerson@lbsd.net> Date: Thu, 30 Apr 2009 11:56:35 +0000 Subject: [PATCH] Better SQL error handling --- webui/wisp-user-delete.php | 71 +++++++++++++++++++++----------------- 1 file changed, 39 insertions(+), 32 deletions(-) diff --git a/webui/wisp-user-delete.php b/webui/wisp-user-delete.php index 86d9036e..7f6ac40b 100644 --- a/webui/wisp-user-delete.php +++ b/webui/wisp-user-delete.php @@ -72,49 +72,60 @@ if (isset($_POST['frmaction']) && $_POST['frmaction'] == "delete") { if (isset($_POST['confirm']) && $_POST['confirm'] == "yes") { $db->beginTransaction(); + # Delete user data $res = $db->exec("DELETE FROM wisp_userdata WHERE UserID = ".$db->quote($_POST['user_id'])); if ($res !== FALSE) { - # Delete user attributes - $res = $db->exec("DELETE FROM user_attributes WHERE UserID = ".$db->quote($_POST['user_id'])); - if ($res !== FALSE) { - # Delete group associations - $res = $db->exec("DELETE FROM ${DB_TABLE_PREFIX}users_to_groups WHERE UserID = ".$db->quote($_POST['user_id'])); - if ($res !== FALSE) { - # Delete from users - $res = $db->exec("DELETE FROM users WHERE ID = ".$db->quote($_POST['user_id'])); - if ($res !== FALSE) { ?> - <div class="notice">User with ID: <?php print_r($_POST['user_id']); ?> deleted!</div> + <div class="notice">Removed user data</div> +<?php + } else { +?> + <div class="warning">Failed to delete user data</div> + <div class="warning"><?php print_r($res->errorInfo()); ?></div> +<?php + } + + + # Delete user attributes + $res = $db->exec("DELETE FROM user_attributes WHERE UserID = ".$db->quote($_POST['user_id'])); + if ($res !== FALSE) { +?> + <div class="notice">Removed user attributes</div> +<?php + } else { +?> + <div class="warning">Failed to remove user attributes</div> + <div class="warning"><?php print_r($res->errorInfo()); ?></div> <?php - $db->commit(); - } else { + } + + + # Delete group associations + $res = $db->exec("DELETE FROM ${DB_TABLE_PREFIX}users_to_groups WHERE UserID = ".$db->quote($_POST['user_id'])); + if ($res !== FALSE) { ?> - <div class="warning">Failed to delete user!</div> - <div class="warning"><?php print_r($res->errorInfo()); ?></div> + <div class="notice">Removed associated groups</div> <?php - $db->rollback(); - } - } else { + } else { ?> - <div class="warning">Failed to remove group associations</div> - <div class="warning"><?php print_r($res->errorInfo()); ?></div> + <div class="warning">Failed to remove associated groups</div> + <div class="warning"><?php print_r($res->errorInfo()); ?></div> <?php - $db->rollback(); - } - } else { + } + + + # Delete from users + $res = $db->exec("DELETE FROM users WHERE ID = ".$db->quote($_POST['user_id'])); + if ($res !== FALSE) { ?> - <div class="warning">Failed to delete user attributes</div> - <div class="warning"><?php print_r($res->errorInfo()); ?></div> + <div class="notice">Removed user</div> <?php - $db->rollback(); - } } else { ?> - <div class="warning">Failed to delete user data</div> + <div class="warning">Failed to remove user</div> <div class="warning"><?php print_r($res->errorInfo()); ?></div> <?php - $db->rollback(); } # Check if all is ok, if so, we can commit, else must rollback @@ -129,21 +140,17 @@ if (isset($_POST['frmaction']) && $_POST['frmaction'] == "delete") { <div class="notice">Changes reverted.</div> <?php } - } else { ?> <div class="warning">Delete user aborted</div> <?php } - } else { ?> <div class="warning">No user selected</div> <?php } - } else { - ?> <div class="warning">Invocation error</div> <?php -- GitLab