[development] Blocks and page context
lists at zufelt.ca
Sat Apr 24 00:09:24 UTC 2010
Thanks for this.
I took a look at user_access() but wasn't sure that it would do what I needed. I have to admit to being a newbie as far as Drupal development goes. I normally work on cor accessibility.
As far as user_access() I see that it can accept a user object, but that it also needs me to pass a permission to check. What permission would I be checking to see if the current system path can be accessed? This is why menu_get_item() seemed more appropriate. It would be nice if there was a function like menu_get_item() that accepted the user object like user_access() does. Perhaps I'll ad an issue as a feature request for d8 if this doesn't already exist in some hidden corner of d6.
Follow me on Twitter
View my LinkedIn Profile
On 2010-04-23, at 7:23 PM, Sam Tresler wrote:
> user_access takes an optional account parameter.
> I think
> $account = user_load(0);
> user_access('perm', $account);
> Should work...
> "Jennifer Hodgdon" <yahgrp at poplarware.com> wrote:
>> Is this in a test? Then you can probably use $this->userLogout() and
>> then browse, I think?
>> E.J. Zufelt wrote:
>>> Good afternoon,
>>> I am planning on releasing as a contrib module, so if there is a better way to test to see if a menu item is available for anonymous access without a hack I'd happily implement it.
>>> On 2010-04-23, at 6:58 PM, Jennifer Hodgdon wrote:
>>>> That's the "hack" I was referring to. As far as acceptability goes, I don't know what to tell you. If it's in your own private module, no one can complain...
>>>> E.J. Zufelt wrote:
>>>>> 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?
>>>>> 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 Hodgdon * Poplar ProductivityWare
>> Drupal, WordPress, and custom Web programming
> Sent from my Android phone with K-9 Mail. Please excuse my brevity.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the development