Skip to content

Instantly share code, notes, and snippets.

@johnennewdeeson
Forked from angry-dan/drupal_run_as.php
Last active October 25, 2015 07:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save johnennewdeeson/bacd582a317687b67af7 to your computer and use it in GitHub Desktop.
Save johnennewdeeson/bacd582a317687b67af7 to your computer and use it in GitHub Desktop.
Safely run a function in Drupal as another user.
<?php
function drupal_run_as($user, $func) {
global $user;
$original_user = $user;
$old_state = drupal_save_session();
drupal_save_session(FALSE);
$args = func_get_args();
$user = array_shift($args);
$func = array_shift($args);
$r = call_user_func_array($func, $args);
$user = $original_user;
drupal_save_session($old_state);
return $r;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment