if ($_REQUEST['name'] == 'Server') { if (!checkAuthorization('manageServers')) { redirect(); } if ($_REQUEST['action'] == 'del') { if (isset($_REQUEST['checked_servers']) && is_array($_REQUEST['checked_servers'])) { foreach ($_REQUEST['checked_servers'] as $fqdn) { $sessions = Abstract_Session::getByServer($fqdn); if (count($sessions) > 0) { popup_error(sprintf(_("Unable to delete the server '%s' because there are active sessions on it."), $fqdn)); continue; } $buf = Abstract_Server::load($fqdn); if (is_object($buf)) { $buf->orderDeletion(); Abstract_Server::delete($buf->fqdn); popup_info(sprintf(_("Server '%s' successfully deleted"), $buf->getAttribute('fqdn'))); } } $buf = count(Abstract_Server::load_registered(false)); if ($buf == 0) { redirect('servers.php'); } else { redirect('servers.php?view=unregistered'); } } } if ($_REQUEST['action'] == 'register') { if (isset($_REQUEST['checked_servers']) && is_array($_REQUEST['checked_servers'])) { foreach ($_REQUEST['checked_servers'] as $server) { $buf = Abstract_Server::load($server);
public function server_remove($server_id_) { $this->check_authorized('manageServers'); $server = Abstract_Server::load($server_id_); if (!is_object($server)) { Logger::error('api', sprintf('Unknown server "%s"', $server_id_)); return false; } $sessions = Abstract_Session::getByServer($server->id); if (count($sessions) > 0) { Logger::error('api', sprintf('Unable to delete the server "%s" because there are active sessions on it.', $server->getDisplayName())); return false; } $server->orderDeletion(); Abstract_Server::delete($server->id); $this->log_action('server_remove', array('id' => $server->id, 'name' => $server->getDisplayName())); return true; }