-1, 'permission' => 0); // level -1 equals "not exist" user if (is_numeric($user_level)) { krsort($GLOBALS['config']['user_level']); // Order levels from max to low foreach ($GLOBALS['config']['user_level'] as $level => $entry) { if ($user_level >= $level) { $user['level'] = $level; // Real (normalized) user level $user['permission'] = $entry['permission']; break; } } } // Convert permission flags to Boolean permissions $user['permission_admin'] = is_flag_set(OBS_PERMIT_ALL, $user['permission'], TRUE); // Administrator $user['permission_edit'] = is_flag_set(OBS_PERMIT_EDIT, $user['permission']); // Limited Edit $user['permission_secure'] = is_flag_set(OBS_PERMIT_SECURE, $user['permission']); // Secure Read $user['permission_read'] = is_flag_set(OBS_PERMIT_READ, $user['permission']); // Global Read $user['permission_access'] = is_flag_set(OBS_PERMIT_ACCESS, $user['permission']); // Access (logon) allowed // Set quick boolen flag that user limited $user['limited'] = !$user['permission_read'] && !$user['permission_secure'] && !$user['permission_edit'] && !$user['permission_admin']; return $user; } // DOCME needs phpdoc block function auth_user_id($username) { global $config; if (function_exists($config['auth_mechanism'] . '_auth_user_id')) { return call_user_func($config['auth_mechanism'] . '_auth_user_id', $username); } else { return call_user_func('mysql_auth_user_id', $username); } } // DOCME needs phpdoc block function auth_username_by_id($user_id) { global $config; if (function_exists($config['auth_mechanism'] . '_auth_username_by_id')) { return call_user_func($config['auth_mechanism'] . '_auth_username_by_id', $user_id); } else { return call_user_func('mysql_auth_username_by_id', $user_id); } } // DOCME needs phpdoc block function deluser($username) { global $config; if (function_exists($config['auth_mechanism'] . '_deluser')) { return call_user_func($config['auth_mechanism'] . '_deluser', $username); } else { return call_user_func('mysql_deluser', $username); } } // DOCME needs phpdoc block function auth_user_list() { global $config; if (function_exists($config['auth_mechanism'] . '_auth_user_list')) { $user_list_sort = call_user_func($config['auth_mechanism'] . '_auth_user_list'); } else { $user_list_sort = call_user_func('mysql_auth_user_list'); } // Process the user list here to provide all of the additional data used elsewhere in the UI // This prepares user_ids for LDAP to be used in AJAX and other places $user_list_sort = array_sort_by($user_list_sort, 'level', SORT_DESC, SORT_NUMERIC, 'username', SORT_ASC, SORT_STRING); $user_list = array(); foreach ($user_list_sort as $entry) { humanize_user($entry); /* if (isset($user_list[$entry['user_id']])) { r($user_list[$entry['user_id']]); r($entry); break; } */ $user_list[$entry['user_id']] = $entry; $user_list[$entry['user_id']]['name'] = escape_html($entry['username']); if ($entry['row_class']) { $user_list[$entry['user_id']]['class'] = 'bg-'.$entry['row_class']; } $user_list[$entry['user_id']]['group'] = $entry['level_label']; $user_list[$entry['user_id']]['subtext'] = $entry['realname']; } unset($user_list_sort); return $user_list; } // DOCME needs phpdoc block function auth_user_info($username) { if (function_exists($GLOBALS['config']['auth_mechanism'] . '_auth_user_info')) { return call_user_func($GLOBALS['config']['auth_mechanism'] . '_auth_user_info', $username); } else { return call_user_func('mysql_auth_user_info', $username); } } // EOF