'500', 'statusText' => __('Not Logged In'), 'responseText' => __('You must be logged in to access this area of Cacti.') ) ); } elseif (isset($auth_text) && $auth_text == true) { /* handle graph_image.php to respond with text. */ print __('FATAL: You must be logged in to access this area of Cacti.'); } else { require_once($config['base_path'] . '/auth_login.php'); } exit; } else { $realm_id = 0; if (isset($user_auth_realm_filenames[get_current_page()])) { $realm_id = $user_auth_realm_filenames[get_current_page()]; } /* Are we upgrading from a version before 1.2 which has the Install/Upgrade realm 26 */ if ($realm_id == 26) { /* See if we can find any users that are allowed to upgrade */ $install_sql_query = ' SELECT COUNT(*) FROM ( SELECT realm_id FROM user_auth_realm AS uar WHERE uar.realm_id = ?'; $install_sql_params = array($realm_id); /* See if the group realms exist and if so, check if permission exists there too */ if (db_table_exists('user_auth_group_realm') && db_table_exists('user_auth_group') && db_table_exists('user_auth_group_members')) { $install_sql_query .= ' UNION SELECT realm_id FROM user_auth_group_realm AS uagr INNER JOIN user_auth_group_members AS uagm ON uagr.group_id=uagm.group_id INNER JOIN user_auth_group AS uag ON uag.id=uagr.group_id WHERE uag.enabled="on" AND uagr.realm_id = ?'; $install_sql_params = array_merge($install_sql_params, array($realm_id)); } $install_sql_query .= ' ) AS authorized'; $has_install_user = db_fetch_cell_prepared($install_sql_query, $install_sql_params); if (!$has_install_user) { /* We did not find any existing users who can upgrade/install so add any admin * * who has access to the system settings (realm 15) by default */ db_execute('INSERT INTO `user_auth_realm` (realm_id, user_id) SELECT 26 as realm_id, ua.id FROM user_auth ua INNER JOIN user_auth_realm uar ON uar.user_id=ua.id LEFT JOIN user_auth_realm uar2 ON uar2.user_id=ua.id AND uar2.realm_id=26 WHERE uar.realm_id=15 AND uar2.user_id IS NULL'); } } if ($realm_id > 0) { $auth_sql_query = ' SELECT COUNT(*) FROM ( SELECT realm_id FROM user_auth_realm AS uar WHERE uar.user_id = ? AND uar.realm_id = ?'; $auth_sql_params = array($_SESSION['sess_user_id'], $realm_id); /* Because we now expect installation to be done by authorized users, check the group_realm * * exists before using it as this may not be present if upgrading from pre-1.x */ if (db_table_exists('user_auth_group_realm') && db_table_exists('user_auth_group') && db_table_exists('user_auth_group_members')) { $auth_sql_query .= ' UNION SELECT realm_id FROM user_auth_group_realm AS uagr INNER JOIN user_auth_group_members AS uagm ON uagr.group_id = uagm.group_id INNER JOIN user_auth_group AS uag ON uag.id = uagr.group_id WHERE uag.enabled = "on" AND uagm.user_id = ? AND uagr.realm_id = ?'; $auth_sql_params = array_merge($auth_sql_params, array($_SESSION['sess_user_id'], $realm_id)); } $auth_sql_query .= ' ) AS authorized'; $authorized = db_fetch_cell_prepared($auth_sql_query, $auth_sql_params); } else { $authorized = false; } if ($realm_id != -1 && !$authorized) { if (api_plugin_hook_function('custom_denied', OPER_MODE_NATIVE) == OPER_MODE_RESKIN) { exit; } if (isset($_SERVER['HTTP_REFERER'])) { $goBack = "
' . __('You are not permitted to access this section of Cacti.') . '
' . __('If you feel that this is an error. Please contact your Cacti Administrator.'); if ($realm_id == 26) { $title_header = __('Installation In Progress'); $title_body = '
' . __('There is an Installation or Upgrade in progress.') . '
' . __('Only Cacti Administrators with Install/Upgrade privilege may login at this time') . '
'; } print "\n"; print "\n"; print "\n"; html_common_header($title_header); print "\n"; print "