Hi Everett, If you do go down the path of changing the global $user object, then you will want to use session_save_session to make your code look something like this: // Don't save the session if the next block of code fails: session_save_session(FALSE); // Save the old user account someplace. $user = user_load(0); // Some computation.... // Something like this: $user = $the_old_user // Its now safe to start saving the session again: session_save_session(TRUE); </code> If your 'Computation' in the middle there fails, then the users session will be saved with the $user object you loaded up, i.e. they'll get logged out. Annoying at the moment, but if you ever change it to assign other users to the $user object then you might end up with people being logged in as other people if the 'computation' fails for some reason. Regards Steven Jones ComputerMinds ltd - Perfect Drupal Websites Phone : 024 7666 7277 Mobile : 07702 131 576 Twitter : darthsteven http://www.computerminds.co.uk On 23 April 2010 23:17, E.J. Zufelt <lists@zufelt.ca> wrote:
Good afternoon, Thanks for the response. Would it be acceptable in the Drupal community for me to solve this problem by creating a user0 object, switching it with the global $user, perform the test, and then switch back? By acceptable I mean are there any significant problems I shoud be aware of if using this approach? Thanks again, Everett Zufelt http://zufelt.ca Follow me on Twitter http://twitter.com/ezufelt
View my LinkedIn Profile http://www.linkedin.com/in/ezufelt
On 2010-04-23, at 6:12 PM, Jennifer Hodgdon wrote:
E.J. Zufelt wrote:
I notice that menu_get_item() will tell me if the current user can access the current menu item. Is there a simple method to test if user0 can access the current menu item? That is, regardless who the current user is, I would like to see if there is a function to let me know if user0 can access the current page, essentially a test to see if the current page is available to anonymous users or not.
I don't think there's an easy way. The access checking for menu_get_item() is done in _menu_check_access(). This figures out and calls the access callback for the particular menu item. For the most general case of a menu item with a custom access callback, it would probably not be possible to modify the function to check a specific $account instead of the current global $user, without some sort of hack.
--Jennifer
-- Jennifer Hodgdon * Poplar ProductivityWare www.poplarware.com Drupal, WordPress, and custom Web programming