diff options
| author | Greg Roach <fisharebest@gmail.com> | 2013-11-09 15:59:53 +0000 |
|---|---|---|
| committer | Greg Roach <fisharebest@gmail.com> | 2013-11-09 16:13:13 +0000 |
| commit | 1feb6a7bd33175c7dbfb38abbd8d273f01367dfb (patch) | |
| tree | 1e5609a39dbb4366ab61f83709ef88f754c1584e /action.php | |
| parent | 595326da0cfe0f08d80baeefd57969cf4b5ed6f6 (diff) | |
| download | webtrees-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.php | 16 |
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'; |
