function get_public_access_permission_r() { $query = "SELECT srp.permission_name\n\tFROM \ts_role_permission srp\n\tWHERE \tsrp.role_name = '" . get_public_access_rolename() . "'"; $children = array(); $result = db_query($query); if ($result && db_num_rows($result) > 0) { while ($perm_r = db_fetch_assoc($result)) { // for public access, remember me is not applicable $children[$perm_r['permission_name']] = 'Y'; } db_free_result($result); } return $children; }
function build_roles_select($attribute_type_r) { $user_roles = array(); $result = fetch_user_role_rs(); $public = fetch_role_r(get_public_access_rolename()); $user_roles[] = array('role_name' => $public['role_name'], 'description' => $public['description']); while ($role = db_fetch_assoc($result)) { $user_roles[] = $role; } $select = format_field("View Permission", custom_select('view_perm', $user_roles, '%description%', 1, $attribute_type_r['view_perm'], 'role_name')); db_free_result($result); return $select; }
function has_role_permission($role_name) { $user_r = fetch_user_r(get_opendb_session_var('user_id')); if ($user_r['user_role'] == null) { // Explicitly set role name to public access by default. $user_r['user_role'] = get_public_access_rolename(); } $role_r = fetch_role_r($role_name); if ($role_r['priority'] == null || $role_r['priority'] == '') { // Explicitly set permission to lowest value by default. $role_r['priority'] = 0; } $user_role_r = fetch_role_r($user_r['user_role']); if ($role_r['priority'] <= $user_role_r['priority']) { return true; } else { return false; } }