Hi China,

On Tue, Apr 5, 2011 at 16:38, China Sunrise <china.sunr...@gmail.com> wrote:

> Hi,
> I'm relatively new to xwiki. I have a few pages where dynamic tables had to
> be shown, and I'm using PHP quite heavily there. In a couple of pages, the
> content is supposed to be shown only if the user is in a specific group
> called 'XWikiEditorsGroup'. I didn't want to rely on xwiki's native
> single-page permissions as they looked a little cumbersome for what I
> needed, and preferred to control access via the page code itself. Up to
> xwiki 2.7, the following velocity section, which was the first section in
> the page, did the trick:
>
> {{velocity}}
> #set($user=$xwiki.getUser())
> #if(!$user.isUserInGroup("XWiki.XWikiEditorsGroup"))
>  {{warning}}You don't have permission to view this document{{/warning}}
>  #stop
> #end
> {{/velocity}}
>

Why do you need the #stop directive to begin with? Simply remove it and see
what happens.

Guillaume

However, after upgrading to xwiki 3.0, this code no longer works. From what
> I see, the issue appears to be related to velocity 1.7 and its different
> syntax for the #stop directive. I can't seem to find the right syntax
> though. As an alternative approach, I've also tried to relocate this access
> control logic into the PHP code that follows the above velocity section. To
> do that, I need to find a way to get the true/false value of
> "$user.isUserInGroup("XWiki.XWikiEditorsGroup")" in PHP, but so far haven't
> found a way to do that either and not sure how to pass the $user object and
> its isUserInGroup() method to the PHP part. I've even looked into doing
> this
> in groovy but no luck there either.
>
> Any advice will be appreciated...
>
> Thanks
> _______________________________________________
> users mailing list
> users@xwiki.org
> http://lists.xwiki.org/mailman/listinfo/users
_______________________________________________
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users

Reply via email to