随笔 - 46  文章 - 0  trackbacks - 0
<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

留言簿(2)

随笔分类

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

<?
/*
@string 构造函数中,$string="aa.php:7|tt.php:10|sad:28"
@列出/只读 1
@增加       2
@修改       4
@删除       8
@所有权限    16
*/
class yqrRight
{
var $RightString;
var $arrPageRight;
function yqrRight($string)
{
   $this->RightString=$string;
   $this->arrPageRight=$this->listPageAndRight($string);
}

/*
@pagename eg: order.php
return 28 number
*/
function getRightByPageName($pagename)
{
   return $this->getRightNumOfPage($pagename,$this->arrPageRight);
}
/*
@right_position 1,2,4,8,16
@myright_number 28
@return 返回是否具有相应的位权
*/
function can($right_position,$myright_number)
{
   $arr=$this->listRightToArray($myright_number);
   return $this->isHasRight($right_position,$arr);
}
function listRightToArray($myright)
{
   $right=array(1,2,4,8,16);
   $arr=array();
   $j=0;
   for($i=0;$i<count($right);$i++)
   {
    if($right[$i] & $myright)
    {
     $arr[$j]=$right[$i];
     $j++;
    }
   }
   return $arr;
}

function isHasRight($number_right,$arr_right)
{
   if(array_search($number_right,$arr_right)!==false)
   {
    return true;
   }else{
    return false;
   }
}

function listPageAndRight($str)
{
   $arr_result=array();
   $arr_page_right=explode("|",$str);
   foreach ($arr_page_right as $key=>$value)
   {
    list($pagename,$pageright)=explode(":",$value);
    $arr_result[$pagename]=$pageright;
   }
   return $arr_result;
}

function getRightNumOfPage($pageName,$arr_PageAndRight)
{
   foreach ($arr_PageAndRight as $key=>$value)
   {
    if($key==$pageName)
    {
     return $value;
    }
   }
   return false;
}
function isHasRightOfPage($pagename,$right_position)
{
   $num=$this->getRightByPageName($pagename);
   return $this->can($right_position,$num);
}

}

$str="order.php:7|add.php:28|sad.php:0|tt.php:15";
$myright=new yqrRight($str);

if($myright->isHasRightOfPage("tt.php",16))
{
echo "您具有本页面的权限!";
}else{
echo "对不起,您没有权限访问这个页面!";
}

?>

posted on 2008-08-08 23:32 hehuachina 阅读(1102) 评论(0)  编辑 收藏 引用 网摘 所属分类: PHP

只有注册用户登录后才能发表评论。
网站导航: