?? popedompoundary.class.php
字號:
<?php
/*
* @(#)PopedomPoundary.class.php 1.0 05/05/18
*
* Copyright 2005 Garfield.Huang
*/
/**
* <b>對權(quán)限進(jìn)行界定</b><br>
* @author Garfield.Huang
* @version 1.0 05/05/18
* @since PHP 5.0.3
*/
class PopedomPoundary {
/**
* 界定用戶權(quán)限是否在允許權(quán)限中
* @param $userPopedom 用戶權(quán)限
* @param $allowedPopedom 允許的權(quán)限
* @return boolean 用戶權(quán)限在被允許的權(quán)限中返回true
*/
function allowedPopedom ( $userPopedom, $allowedPopedom )
{
if( !is_array( $userPopedom ) )
{
$userPopedom = explode( ";", $userPopedom );
}
if( !is_array( $allowedPopedom ) )
{
$allowedPopedom = explode( ";", $allowedPopedom );
}
$allowedPopedom = $this->getPopedomAggregate( $allowedPopedom );
return $this->poundary( $userPopedom, $allowedPopedom );
}
/**
* 界定用戶權(quán)限是否在排除權(quán)限中
* @param $userPopedom 用戶權(quán)限
* @param $deniedPopedom 允許的權(quán)限
* @return boolean 用戶權(quán)限在被排除的權(quán)限中返回true
*/
function deniedPopedom ( $userPopedom, $deniedPopedom )
{
if( !is_array( $userPopedom ) )
{
$userPopedom = explode( ";", $userPopedom );
}
if( !is_array( $deniedPopedom ) )
{
$deniedPopedom = explode( ";", $deniedPopedom );
}
$userPopedom = $this->getPopedomAggregate( $userPopedom );
return $this->poundary( $userPopedom, $deniedPopedom );
}
/**
* 界定用戶權(quán)限是否在權(quán)限組中
* @param $userPopedom 用戶權(quán)限
* @param $popedom 權(quán)限組
* @return boolean 用戶權(quán)限在被排除的權(quán)限中返回true
*/
function poundary ( $userPopedom, $popedom )
{
$intersect = array_intersect ($userPopedom, $popedom);
if( count( $intersect ) > 0 )
{
return true;
}
else{
return false;
}
}
/**
* 得到完整的權(quán)限集合
* @param $popedom 權(quán)限組
* @return array 權(quán)限集合
*/
function getPopedomAggregate ( $popedom )
{
$temp;
$aggregate = array();
for( $i = 0; $i < sizeof( $popedom ); $i++ )
{
array_push ( $aggregate, $popedom[$i] );
$length = strlen( $popedom[$i] ) / 2 - 1;
$temp = $popedom[$i];
for( $j = 0; $j < $length ; $j++ )
{
$temp = substr( $temp, 0, strlen( $temp ) - 2 );
array_push ( $aggregate, $temp );
}
}
array_unique( $aggregate );
return $aggregate;
}
}
?>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -