summaryrefslogtreecommitdiff
path: root/action.php
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@gmail.com>2013-11-09 15:59:53 +0000
committerGreg Roach <fisharebest@gmail.com>2013-11-09 16:13:13 +0000
commit1feb6a7bd33175c7dbfb38abbd8d273f01367dfb (patch)
tree1e5609a39dbb4366ab61f83709ef88f754c1584e /action.php
parent595326da0cfe0f08d80baeefd57969cf4b5ed6f6 (diff)
downloadwebtrees-1feb6a7bd33175c7dbfb38abbd8d273f01367dfb.tar.gz
webtrees-1feb6a7bd33175c7dbfb38abbd8d273f01367dfb.tar.bz2
webtrees-1feb6a7bd33175c7dbfb38abbd8d273f01367dfb.zip
Move the masquerade function to the user list
Diffstat (limited to 'action.php')
-rw-r--r--action.php16
1 files changed, 15 insertions, 1 deletions
diff --git a/action.php b/action.php
index 15bcf5aa7c..4b845ffcf1 100644
--- a/action.php
+++ b/action.php
@@ -162,7 +162,7 @@ case 'delete-source':
break;
case 'delete-user':
- $user_id = WT_Filter::post('user_id');
+ $user_id = WT_Filter::postInteger('user_id');
if (WT_USER_IS_ADMIN && WT_USER_ID != $user_id) {
AddToLog('deleted user ->' . get_user_name($user_id) . '<-', 'auth');
@@ -170,6 +170,20 @@ case 'delete-user':
}
break;
+case 'masquerade':
+ $user_id = WT_Filter::postInteger('user_id');
+ $all_users = get_all_users('ASC', 'username');
+
+ if (WT_USER_IS_ADMIN && WT_USER_ID != $user_id && array_key_exists($user_id, $all_users)) {
+ AddToLog('masquerade as user ->' . get_user_name($user_id) . '<-', 'auth');
+ $WT_SESSION->wt_user = $user_id;
+ Zend_Session::regenerateId();
+ Zend_Session::writeClose();
+ } else {
+ header('HTTP/1.0 406 Not Acceptable');
+ }
+ break;
+
case 'reject-changes':
// Reject all the pending changes for a record
require WT_ROOT.'includes/functions/functions_edit.php';