I would use array
$user_perm ( 1 => false,  // for admin
2 => true // for news
4 => true // news_create
8 => false // news_delete
.
.
.
)

as you can see there are gaps that you can use for other permissions, and this way all you need is to rewrite

if($user_perm & $perm == $perm )

to

if($user_perm[$perm])

You can even write a php script that will change it for you

Torsten Rosenberger wrote:

Hello

        I have some trouble with user permission.
I build the system like the permission in the phplib.

admin       = 1
news        = 2
news_create = 4
news_delete = 8
.
.
.

then ich can check ($user_perm & $perm == $perm )

But the problem ist that the permissions now over BIGINT.
So i cann't store it in mysql (possible are varchar)
But to compare the perms they must have the type integer
settype ($perm,interger) brings a wrong value  in case that the number
is greater as the BIGINT.

Someone have a better solution ? or a way out.

BR/Torsten Rosenberger






--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to