Additional access control related ui helpers added: check_edit_access, access_post...
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Fri, 20 Feb 2015 14:26:50 +0000 (15:26 +0100)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Sat, 28 Feb 2015 17:04:10 +0000 (18:04 +0100)
includes/access_levels.inc

index c54f02edddee4906c1330fe0af5e3f489355745c..fc3d48df8e4e4b87d3ef9521e7301e749c9cb823 100644 (file)
@@ -314,3 +314,39 @@ function get_access_extensions($id) {
        return array($security_areas, $security_sections);
 }
 */
+
+function check_edit_access($name)
+{
+       global $input_security;
+
+       $access = @$input_security[$name];
+
+       if (!$access)
+               $access = @$input_security['']; // default access level
+
+       if (!$access)
+               return true; // if constraint is not defined edit access is allowed
+
+       return  user_check_access($access);
+}
+/*
+       Returns POST value or null if edit access to $name control is forbidden.
+*/
+function access_post($name, $dflt=null)
+{
+       if (!check_edit_access($name))
+               return $dflt;
+       else
+               return get_post($name, $dflt);
+}
+
+/*
+       Returns numeric input value or null if edit access to $name control is forbidden.
+*/
+function access_num($name, $dflt=null)
+{
+       if (!check_edit_access($name))
+               return $dflt;
+       else
+               return input_num($name, $dflt);
+}