function show_unregistered() { //FIX ME ? $u_servs = Abstract_Server::load_registered(false); if (!is_array($u_servs)) { $u_servs = array(); } usort($u_servs, "server_cmp"); $can_do_action = isAuthorized('manageServers'); page_header(); echo '<div id="servers_div">'; echo '<h1>' . _('Unregistered servers') . '</h1>'; if (count($u_servs) > 0) { echo '<div id="servers_list_div">'; echo '<table id="unregistered_servers_table" class="main_sub sortable" border="0" cellspacing="1" cellpadding="3">'; echo '<thead>'; echo '<tr class="title">'; if (count($u_servs) > 1) { echo '<th class="unsortable"></th>'; } echo '<th>' . _('FQDN') . '</th><th>' . _('Type') . '</th>'; echo '<th>' . _('Roles') . '</th>'; // echo '<th>'._('Version').'</th>'; echo '<th>' . _('Details') . '</th>'; echo '</tr>'; echo '</thead>'; echo '<tbody>'; $count = 0; foreach ($u_servs as $s) { $content = 'content' . ($count++ % 2 == 0 ? 1 : 2); echo '<tr class="' . $content . '">'; if (count($u_servs) > 1) { echo '<td><input class="input_checkbox" type="checkbox" name="checked_servers[]" value="' . $s->fqdn . '" />'; } if ($s->getAttribute('type') == '') { $s->isOK(); } if ($s->getAttribute('cpu_model') == '') { $s->getMonitoring(); } Abstract_Server::save($s); echo '<td>' . $s->fqdn . '</td>'; echo '<td style="text-align: center;"><img src="media/image/server-' . $s->stringType() . '.png" alt="' . $s->stringType() . '" title="' . $s->stringType() . '" /><br />' . $s->stringType() . '</td>'; // echo '<td>'.$s->stringVersion().'</td>'; echo '<td>'; echo '<ul>'; foreach ($s->roles as $a_role => $role_enabled) { if ($role_enabled) { echo "<li>{$a_role}</li>"; } } echo '</ul>'; echo '</td>'; echo '<td>'; echo _('CPU') . ': ' . $s->getAttribute('cpu_model') . ' (' . $s->getAttribute('cpu_nb_cores') . ' '; echo $s->getAttribute('cpu_nb_cores') > 1 ? _('cores') : _('core'); echo ')<br />'; echo _('RAM') . ': ' . round($s->getAttribute('ram_total') / 1024) . ' MB'; echo '</td>'; if ($can_do_action) { echo '<td>'; if ($s->isOK()) { echo '<form action="actions.php" method="post">'; echo '<input type="hidden" name="name" value="Server" />'; echo '<input type="hidden" name="action" value="register" />'; echo '<input type="hidden" name="checked_servers[]" value="' . $s->fqdn . '" />'; echo '<input style="background: #05a305; color: #fff; font-weight: bold;" type="submit" value="' . _('Register') . '" />'; echo '</form>'; } echo '</td>'; echo '<td>'; echo '<form action="actions.php" method="post" onsubmit="return confirm(\'' . _('Are you sure you want to delete this server?') . '\');">'; echo '<input type="hidden" name="name" value="Server" />'; echo '<input type="hidden" name="action" value="del" />'; echo '<input type="hidden" name="checked_servers[]" value="' . $s->fqdn . '" />'; echo '<input type="submit" value="' . _('Delete') . '" />'; echo '</form>'; echo '</td>'; } echo '</tr>'; } echo '</tbody>'; // Mass actions if (count($u_servs) > 1) { $content = 'content' . ($count++ % 2 == 0 ? 1 : 2); echo '<tfoot>'; echo '<tr class="' . $content . '">'; echo '<td colspan="5">'; echo '<a href="javascript:;" onclick="markAllRows(\'unregistered_servers_table\'); return false">' . _('Mark all') . '</a>'; echo ' / <a href="javascript:;" onclick="unMarkAllRows(\'unregistered_servers_table\'); return false">' . _('Unmark all') . '</a>'; echo '</td>'; echo '<td>'; echo '<form action="actions.php" method="post" onsubmit="return updateMassActionsForm(this, \'unregistered_servers_table\');">'; echo '<input type="hidden" name="name" value="Server" />'; echo '<input type="hidden" name="action" value="register" />'; echo '<input type="submit" name="mass_register" value="' . _('Register') . '"/><br />'; echo '</form>'; echo '</td>'; echo '<td>'; echo '<form action="actions.php" method="post" onsubmit="return updateMassActionsForm(this, \'unregistered_servers_table\');">'; echo '<input type="hidden" name="name" value="Server" />'; echo '<input type="hidden" name="action" value="del" />'; echo '<input type="submit" name="mass_delete_unregistered" value="' . _('Delete') . '"/><br />'; echo '</form>'; echo '</td>'; echo '</tr>'; echo '</tfoot>'; } echo '</table>'; echo '</div>'; echo '<br />'; } else { echo _('No unregistered server'); } echo '</div>'; echo '</div>'; page_footer(); die; }
} } 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); $res = $buf->register(); if ($res) { Abstract_Server::save($buf); popup_info(sprintf(_("Server '%s' successfully registered"), $buf->getAttribute('fqdn'))); } else { popup_error(sprintf(_("Failed to register Server '%s'"), $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'] == 'maintenance') { if (isset($_REQUEST['checked_servers']) && is_array($_REQUEST['checked_servers']) && (isset($_REQUEST['to_maintenance']) || isset($_REQUEST['to_production']))) { foreach ($_REQUEST['checked_servers'] as $server) { $a_server = Abstract_Server::load($server); if (isset($_REQUEST['to_maintenance'])) { $a_server->setAttribute('locked', true); } elseif (isset($_REQUEST['to_production']) && $a_server->isOnline()) { $a_server->setAttribute('locked', false); }
public function servers_group_info($id_) { $this->check_authorized('viewServers'); $group = Abstract_ServersGroup::load($id_); if (!is_object($group)) { return null; } $g = array('id' => $group->id, 'name' => $group->name, 'description' => $group->description, 'published' => $group->published); $servers = Abstract_Server::load_registered(true); $liaisons = Abstract_Liaison::load('ServersGroup', NULL, $id_); if (count($liaisons)) { foreach ($servers as $server) { if (!array_key_exists($server->id, $liaisons)) { continue; } $g['servers'][$server->id] = $server->getDisplayName(); } } $liaisons = Abstract_Liaison::load('UsersGroupServersGroup', NULL, $id_); if (count($liaisons)) { $userGroupDB = UserGroupDB::getInstance(); $g['usersgroups'] = array(); foreach ($liaisons as $liaison) { $obj = $userGroupDB->import($liaison->element); if (!$obj) { continue; } $g['usersgroups'][$liaison->element] = $obj->name; } } return $g; }