Ejemplo n.º 1
0
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);
Ejemplo n.º 2
0
 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;
 }