Skip to content
Snippets Groups Projects
wisp-user-delete.php 3.83 KiB
Newer Older
Nigel Kukard's avatar
Nigel Kukard committed
# WiSP User Delete
# Copyright (C) 2007-2009, AllWorldIT
# 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.



include_once("includes/header.php");
include_once("includes/footer.php");
include_once("includes/db.php");



$db = connect_db();



printHeader(array(
		"Tabs" => array(
			"Back to user list" => "wisp-user-list.php",
		),
));


# Display delete confirm screen
if (isset($_POST['frmaction']) && $_POST['frmaction'] == "delete") {
Nigel Kukard's avatar
Nigel Kukard committed

	# Check a user was selected
	if (isset($_POST['user_id'])) {
?>
		<p class="pageheader">Remove User</p>

		<form action="wisp-user-delete.php" method="post">
			<div>
				<input type="hidden" name="frmaction" value="delete2" />
				<input type="hidden" name="user_id" value="<?php echo $_POST['user_id']; ?>" />
			</div>
			<div class="textcenter">
				Are you very sure? <br />
				<input type="submit" name="confirm" value="yes" />
				<input type="submit" name="confirm" value="no" />
			</div>
		</form>
<?php

	} else {
?>
		<div class="warning">No user selected</div>
<?php
	}
Nigel Kukard's avatar
Nigel Kukard committed

} elseif (isset($_POST['frmaction']) && $_POST['frmaction'] == "delete2") {
?>
	<p class="pageheader">User Remove Results</p>
<?php
	if (isset($_POST['user_id'])) {
Nigel Kukard's avatar
Nigel Kukard committed

Robert Anderson's avatar
Robert Anderson committed
		if (isset($_POST['confirm']) && $_POST['confirm'] == "yes") {
Nigel Kukard's avatar
Nigel Kukard committed

Robert Anderson's avatar
Robert Anderson committed
			$res = $db->exec("DELETE FROM wisp_userdata WHERE UserID = ".$db->quote($_POST['user_id']));
			if ($res !== FALSE) {
				<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>
			}


			# 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="notice">Removed associated groups</div>
			} else {
				<div class="warning">Failed to remove associated groups</div>
				<div class="warning"><?php print_r($res->errorInfo()); ?></div>
			}


			# Delete from users
			$res = $db->exec("DELETE FROM users WHERE ID = ".$db->quote($_POST['user_id']));
			if ($res !== FALSE) {
				<div class="notice">Removed user</div>
				<div class="warning">Failed to remove user</div>
				<div class="warning"><?php print_r($res->errorInfo()); ?></div>
Nigel Kukard's avatar
Nigel Kukard committed

			# Check if all is ok, if so, we can commit, else must rollback
			if ($res !== FALSE) {
				$db->commit();
?>
				<div class="notice">Changes comitted.</div>
<?php
			} else {
				$db->rollback();
?>
				<div class="notice">Changes reverted.</div>
<?php
			}
		} else {
?>
			<div class="warning">Delete user aborted</div>
<?php
		}
	} else {
?>
		<div class="warning">No user selected</div>
	<div class="warning">Invocation error</div>