Your IP : 216.73.216.201


Current Path : /home/balossw/www/temp/common/cms/includes/
Upload File :
Current File : /home/balossw/www/temp/common/cms/includes/rights.inc.php

<?php
/*---------------------------------------------------------------------------
		File name ............ includes/rights.inc.php
		Project .............. Owebia CMS
		Author ............... Antoine Lemoine
		Creation date ........ 31.01.2008
		Modification date .... 10.09.2009
---------------------------------------------------------------------------*/


function parseRights($rights_str)
{
	$output = array();
	$array = explode(' ',$rights_str);
	foreach ($array as $right)
	{
		if (preg_match('#^([+-])([a-zA-Z0-9_-]+|\*)(?::([a-zA-Z0-9_-]+|\*))?(?:/([a-zA-Z0-9_-]+|\*))?$#',$right,$result))
		{
			if (count($result)<5 && $result[count($result)-1]!='*') { $result[count($result)] = '*'; }
			if (count($result)==5) { $output[$result[1]][$result[2]][$result[3]][$result[4]] = true; }
			else if (count($result)==4) { $output[$result[1]][$result[2]][$result[3]] = true; }
			else if (count($result)==3) { $output[$result[1]][$result[2]] = true; }
		}
	}
	return $output;
}

function checkRight($param1, $param2='*', $param3='*')
{
	global $global;

	$data = &$global->data['cms'];

	if (isset($data['user_rights']['-'][$param1][$param2][$param3])) return false;
	else if (isset($data['user_rights']['+'][$param1][$param2][$param3])) return true;
	else if (isset($data['user_rights']['-'][$param1][$param2]['*'])) return false;
	else if (isset($data['user_rights']['+'][$param1][$param2]['*'])) return true;
	else if (isset($data['user_rights']['-'][$param1]['*'])) return false;
	else if (isset($data['user_rights']['+'][$param1]['*'])) return true;
	else if (isset($data['user_rights']['-']['*'])) return false;
	else if (isset($data['user_rights']['+']['*'])) return true;
	else return false;
}


?>