Add node lookup page

feature/node-rewrite
Sven Slootweg 12 years ago
parent ee3fbcf781
commit cfc52b4d37

@ -93,6 +93,11 @@ table.userinfo th
width: 180px;
}
table.nodeinfo th
{
width: 180px;
}
table.userlist td
{
padding-bottom: 4px;

@ -32,6 +32,7 @@ title-admin-userlist; User overview
title-admin-containerlist; Container overview
title-admin-nodelist; Node overview
title-admin-userinfo; User lookup
title-admin-nodeinfo; Node lookup
title-admin-overview; Administrative overview
title-admin-vps-suspend; Suspend container
title-admin-vps-unsuspend; Unsuspend container
@ -39,6 +40,7 @@ title-admin-vps-transfer; Transfer container ownership
title-admin-vps-terminate; Terminate container
header-admin-user-containers; Containers owned by this user
header-admin-node-containers; Containers on this node
header-vps-admin; Administrative tasks
button-login; Login
@ -106,6 +108,7 @@ list-column-disk; Disk space
list-column-ram; RAM
list-column-template; Template
list-column-location; Physical location
list-column-nodeid; Node ID
list-status-running; Running
list-status-stopped; Stopped
list-status-suspended; Suspended

@ -0,0 +1,54 @@
<?php
/*
* CVM is more free software. It is licensed under the WTFPL, which
* allows you to do pretty much anything with it, without having to
* ask permission. Commercial use is allowed, and no attribution is
* required. We do politely request that you share your modifications
* to benefit other developers, but you are under no enforced
* obligation to do so :)
*
* Please read the accompanying LICENSE document for the full WTFPL
* licensing text.
*/
if(!isset($_CVM)) { die("Unauthorized."); }
try
{
$sNode = new Node($router->uParameters[1]);
if($result = mysql_query_cached("SELECT * FROM containers WHERE `NodeId` = '{$sNode->sId}'"))
{
foreach($result->data as $row)
{
$sContainer = new Container($row);
$sContainerList[] = array(
'id' => $sContainer->sId,
'hostname' => $sContainer->sHostname,
'node' => $sContainer->sNode->sName,
'node-hostname' => $sContainer->sNode->sHostname,
'template' => $sContainer->sTemplate->sName,
'diskspace' => number_format($sContainer->sDiskSpace / 1024),
'diskspace-unit' => "GB",
'guaranteed-ram' => $sContainer->sGuaranteedRam,
'guaranteed-ram-unit' => "MB",
'status' => $sContainer->sStatusText,
'virtualization-type' => $sContainer->sVirtualizationType
);
}
}
$sPageContents = Templater::AdvancedParse("admin.node", $locale->strings, array(
'id' => $sNode->sId,
'hostname' => $sNode->sHostname,
'location' => $sNode->sPhysicalLocation,
'containers' => $sContainerList
));
}
catch (NotFoundException $e)
{
$err = new CPHPErrorHandler(CPHP_ERRORHANDLER_TYPE_ERROR, $locale->strings['error-admin-node-title'], $locale->strings['error-admin-node-text']);
$sPageContents .= $err->Render();
}

@ -129,6 +129,12 @@ try
'auth_error' => "error.access.php",
'_menu' => "admin"
),
'^/admin/node/([0-9]+)/?$' => array(
'target' => "module.admin.node.php",
'authenticator' => "authenticator.admin.php",
'auth_error' => "error.access.php",
'_menu' => "admin"
),
'^/admin/container/([0-9]+)/suspend/?$' => array(
'target' => "module.admin.container.suspend.php",
'authenticator' => "authenticator.admin.php",

@ -0,0 +1,68 @@
<h2>{%!title-admin-nodeinfo}</h2>
<table class="nodeinfo vertical">
<tr>
<th>{%!list-column-nodeid}</th>
<td>{%?id}</td>
</tr>
<tr>
<th>{%!list-column-hostname}</th>
<td>{%?hostname}</td>
</tr>
<tr>
<th>{%!list-column-location}</th>
<td>{%?location}</td>
</tr>
</table>
<h3>{%!header-admin-node-containers}</h3>
<table class="vpslist">
<tr>
<th></th>
<th>{%!list-column-hostname}</th>
<th>{%!list-column-platform}</th>
<th>{%!list-column-disk}</th>
<th>{%!list-column-ram}</th>
<th>{%!list-column-template}</th>
</tr>
{%foreach container in containers}
<tr class="clickable" data-url="/{%?container[id]}/">
<td class="container-status">
{%if container[status] == running}
<img src="/images/icon_online.png" alt="{%!list-status-running}">
{%/if}{%if container[status] == stopped}
<img src="/images/icon_offline.png" alt="{%!list-status-stopped}">
{%/if}{%if container[status] == suspended}
<img src="/images/icon_suspended.png" alt="{%!list-status-suspended}">
{%/if}
</td>
<td>
<a href="/{%?container[id]}/">
{%?container[hostname]}
</a>
</td>
<td>
<a href="/{%?container[id]}/">
{%if container[virtualization-type] == 1}
OpenVZ
{%/if}{%if container[virtualization-type] == 2}
Xen PV
{%/if}{%if container[virtualization-type] == 3}
Xen HVM
{%/if}{%if container[virtualization-type] == 4}
KVM
{%/if}
</a>
</td>
<td>
{%?container[diskspace]}
<span class="unit">{%?container[diskspace-unit]}</span>
</td>
<td>
{%?container[guaranteed-ram]}
<span class="unit">{%?container[guaranteed-ram-unit]}</span>
</td>
<td>{%?container[template]}</td>
</tr>
{%/foreach}
</table>
Loading…
Cancel
Save