popup_error(sprintf(_("Unknown server '%s'"), $_REQUEST['server'])); redirect(); } $_SESSION['service']->server_set_fqdn($_REQUEST['server'], $_REQUEST['fqdn']); popup_info(sprintf(_("Server '%s' successfully modified"), $server->fqdn)); redirect('servers.php?action=manage&id=' . $server->id); } } if ($_REQUEST['action'] == 'external_name') { if (!isset($_REQUEST['server'])) { redirect(); } if (!isset($_REQUEST['external_name']) || strlen($_REQUEST['external_name']) == 0) { $external_name = null; } else { if (!validate_ip($_REQUEST['external_name']) && !validate_fqdn($_REQUEST['external_name'])) { popup_error(sprintf(_("Redirection name \"%s\" is invalid"), $_REQUEST['external_name'])); redirect(); } $external_name = $_REQUEST['external_name']; } $server = $_SESSION['service']->server_info($_REQUEST['server']); if (!is_object($server)) { popup_error(sprintf(_("Unknown server '%s'"), $_REQUEST['server'])); redirect(); } if ($external_name !== null) { $_SESSION['service']->server_set_external_name($_REQUEST['server'], $external_name); } else { $_SESSION['service']->server_unset_external_name($_REQUEST['server']); }
public function server_set_external_name($server_id_, $external_name_) { $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; } if (!validate_ip($external_name_) && !validate_fqdn($external_name_)) { Logger::error('api', sprintf('Redirection name "%s" is invalid', $external_name_)); return false; } $external_name_old = $server->getAttribute('external_name'); if ($external_name_ == $external_name_old) { return true; } $server->setAttribute('external_name', $external_name_); Abstract_Server::save($server); $this->log_action('server_set_external_name', array('id' => $server->id, 'name' => $server->getDisplayName(), 'value' => array('old' => $external_name_old, 'new' => $external_name_))); return true; }