From 31d9ce16045bf58c0e83ba103c20de9f1e35439e Mon Sep 17 00:00:00 2001 From: rub Date: Thu, 9 Mar 2006 22:46:28 +0000 Subject: Step 2 improvement issue 0000301: o Add and use Functions Check of status o Restricted Access for user generic git-svn-id: http://piwigo.org/svn/trunk@1072 68402e56-0260-453c-a942-63ccdbb3a9ee --- include/functions_user.inc.php | 65 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 61 insertions(+), 4 deletions(-) (limited to 'include/functions_user.inc.php') diff --git a/include/functions_user.inc.php b/include/functions_user.inc.php index 64b12dfab..aa60ab64c 100644 --- a/include/functions_user.inc.php +++ b/include/functions_user.inc.php @@ -537,14 +537,71 @@ function log_user($user_id, $remember_me) } /* - * Return if current is an administrator + * Return if current user have access to access_type definition + * Test does with user status * @return bool */ -function is_admin() +function is_autorize_status($access_type) { global $user; - - return ($user['status'] == 'webmaster' or $user['status'] == 'admin') ? true : false; + + $access_type_status = ACCESS_NONE; + if (isset($user['status'])) + { + switch ($user['status']) + { + case 'guest': + case 'generic': + { + $access_type_status = ACCESS_GUEST; + break; + } + case 'normal': + { + $access_type_status = ACCESS_CLASSIC; + break; + } + case 'admin': + { + $access_type_status = ACCESS_ADMINISTRATOR; + break; + } + case 'webmaster': + { + $access_type_status = ACCESS_WEBMASTER; + break; + } + } + } + + return ($access_type_status >= $access_type); +} + +/* + * Check if current user have access to access_type definition + * Stop action if there are not access + * Test does with user status + * @return none +*/ +function check_status($access_type) +{ + global $lang; + + if (!is_autorize_status($access_type)) + { + echo '
'.$lang['access_forbiden'].'
'; + echo ''.$lang['identification'].'
'; + exit(); + } +} + +/* + * Return if current user is an administrator + * @return bool +*/ +function is_admin() +{ + return is_autorize_status(ACCESS_ADMINISTRATOR); } ?> \ No newline at end of file -- cgit v1.2.3