<?php
abstract class Yetkiler
{
const Listele = 1 << 0;
const Ekle = 1 << 1;
const Duzenle = 1 << 2;
const Sil = 1 << 3;
}
function yetkisiVarMi($Yetki, $KullaniciYetki)
{
if( ($KullaniciYetki & $Yetki) == $Yetki)
{
return true;
}
return false;
}
$kullanici = Yetkiler::Listele | Yetkiler::Ekle | Yetkiler::Duzenle;
if(yetkisiVarMi(Yetkiler::Listele, $kullanici))
{
echo 'Listele yetkisi var.';
}
else
{
echo 'Listele yetkisi yok.';
}
if(yetkisiVarMi(Yetkiler::Sil, $kullanici))
{
echo 'Silme yetkisi var';
}
else
{
echo 'Silme yetkisi yok';
}
PD9waHAKCmFic3RyYWN0IGNsYXNzIFlldGtpbGVyCnsKCWNvbnN0IExpc3RlbGUgPSAxIDw8IDA7Cgljb25zdCBFa2xlID0gMSA8PCAxOwoJY29uc3QgRHV6ZW5sZSA9IDEgPDwgMjsKCWNvbnN0IFNpbCA9IDEgPDwgMzsKfQoKZnVuY3Rpb24geWV0a2lzaVZhck1pKCRZZXRraSwgJEt1bGxhbmljaVlldGtpKQp7CglpZiggKCRLdWxsYW5pY2lZZXRraSAmICRZZXRraSkgPT0gJFlldGtpKQkKCXsKCQlyZXR1cm4gdHJ1ZTsKCX0KCXJldHVybiBmYWxzZTsKfQoKJGt1bGxhbmljaSA9IFlldGtpbGVyOjpMaXN0ZWxlIHwgWWV0a2lsZXI6OkVrbGUgfCBZZXRraWxlcjo6RHV6ZW5sZTsKCmlmKHlldGtpc2lWYXJNaShZZXRraWxlcjo6TGlzdGVsZSwgJGt1bGxhbmljaSkpCnsKCWVjaG8gJ0xpc3RlbGUgeWV0a2lzaSB2YXIuJzsKfQplbHNlCnsKCWVjaG8gJ0xpc3RlbGUgeWV0a2lzaSB5b2suJzsKfQppZih5ZXRraXNpVmFyTWkoWWV0a2lsZXI6OlNpbCwgJGt1bGxhbmljaSkpCnsKCWVjaG8gJ1NpbG1lIHlldGtpc2kgdmFyJzsKfQplbHNlCnsKCWVjaG8gJ1NpbG1lIHlldGtpc2kgeW9rJzsKfQ==