| 1 |
<?php |
<?php |
| 2 |
// $Id: masquerade.module,v 1.16.2.22 2009/08/31 17:28:39 deviantintegral Exp $ |
// $Id: masquerade.module,v 1.16.2.23 2009/08/31 17:51:28 deviantintegral Exp $ |
| 3 |
|
|
| 4 |
/** |
/** |
| 5 |
* @file masquerade.module |
* @file masquerade.module |
| 253 |
* Implementation of hook_user(). |
* Implementation of hook_user(). |
| 254 |
*/ |
*/ |
| 255 |
function masquerade_user($op, &$edit, &$edit_user, $category = NULL) { |
function masquerade_user($op, &$edit, &$edit_user, $category = NULL) { |
| 256 |
|
static $old_session_id; |
| 257 |
|
|
| 258 |
switch ($op) { |
switch ($op) { |
| 259 |
|
|
| 260 |
case 'logout': |
case 'logout': |
| 315 |
} |
} |
| 316 |
break; |
break; |
| 317 |
|
|
| 318 |
|
case 'submit': |
| 319 |
|
$old_session_id = session_id(); |
| 320 |
|
break; |
| 321 |
|
|
| 322 |
case 'update': |
case 'update': |
| 323 |
$users = drupal_explode_tags($edit['masquerade_users']); |
$users = drupal_explode_tags($edit['masquerade_users']); |
| 324 |
db_query("DELETE FROM {masquerade_users} WHERE uid_from = %d", $edit_user->uid); |
db_query("DELETE FROM {masquerade_users} WHERE uid_from = %d", $edit_user->uid); |
| 328 |
} |
} |
| 329 |
$edit['masquerade_users'] = NULL; |
$edit['masquerade_users'] = NULL; |
| 330 |
break; |
break; |
| 331 |
|
|
| 332 |
|
case 'after_update': |
| 333 |
|
if (isset($old_session_id) && session_id() != $old_session_id) { |
| 334 |
|
db_query("UPDATE {masquerade} SET sid = '%s' WHERE sid = '%s'", session_id(), $old_session_id); |
| 335 |
|
} |
| 336 |
|
break; |
| 337 |
} |
} |
| 338 |
} |
} |
| 339 |
|
|