function getRoleMLOCATEPerms($for_role) { $layer_perms = array(); $default_perms = array(); $str_default_perms = getDefaultLayerPerms($for_role); if(strlen($str_default_perms) > 0) { $default_perms = explode(",", $str_default_perms); } $exception_perms = array(); $str_exception_perms = getExceptionLayerPerms($for_role); if(strlen($str_exception_perms) > 0) { $exception_perms = explode(",", $str_exception_perms); } if(sizeof($exception_perms) == 0) { $layer_perms = $default_perms; } else { $layer_perms = $exception_perms; } return $layer_perms; }
function saveLayerPermissions($Request,$for_role){ $arr_perms = ""; foreach($Request as $key => $value) { if(substr($key, 0, 5) == 'edit-') { $value = str_replace("'", "''", substr($key, 5)); $value = str_replace("_", " ", $value); $arr_perms[] = $value; } } $perms = implode(",", $arr_perms); $str_default_perms = getDefaultLayerPerms($for_role); $is_default = 0; if(strcmp($perms, $str_default_perms) == 0) { $is_default = 1; } if($is_default) { $query = "delete from mlocate_permission where role_name = '%s'"; $query_args = array($for_role); } else { $query = "insert into mlocate_permission(role_name, perm) values('%s','%s')"; $query_args = array($for_role, $perms); } $result = db_query($query, $query_args); if(!$result) { return "Error fetching data. Please try after some time or contact the admin."; } else { return "Permissions set."; } }