⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 popedompoundary.class.php

📁 简单的权限管理系统
💻 PHP
字号:
<?php


	/*
	 * @(#)PopedomPoundary.class.php 1.0 05/05/18
	 *
	 * Copyright 2005 Garfield.Huang
	 */


	/**
	* <b>对权限进行界定</b><br>
	* @author	Garfield.Huang
	* @version	1.0 05/05/18
	* @since   	PHP 5.0.3
	*/
	
	
	class PopedomPoundary {
		
		
		/**
		* 界定用户权限是否在允许权限中
		* @param	$userPopedom	用户权限
		* @param	$allowedPopedom	允许的权限
		* @return	boolean			用户权限在被允许的权限中返回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 );
				
		}
		
		
		/**
		* 界定用户权限是否在排除权限中
		* @param	$userPopedom	用户权限
		* @param	$deniedPopedom	允许的权限
		* @return	boolean			用户权限在被排除的权限中返回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 );
			
		}
		

		/**
		* 界定用户权限是否在权限组中
		* @param	$userPopedom	用户权限
		* @param	$popedom		权限组
		* @return	boolean			用户权限在被排除的权限中返回true
		*/

		function poundary ( $userPopedom, $popedom )
		{
			
			$intersect = array_intersect ($userPopedom, $popedom);
			
			if( count( $intersect ) > 0 )
			{
				return true;
			}
			else{
				return false;
			}
		}
		
		
		/**
		* 得到完整的权限集合
		* @param	$popedom		权限组
		* @return	array			权限集合
		*/
		
		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;
		}

	}
?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -