You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cvm/frontend/interface.php

99 lines
3.0 KiB
PHP

<?php
$_CVM = true;
require("includes/include.base.php");
$settings['master_privkey'] = "/etc/cvm/key";
$settings['master_pubkey'] = "/etc/cvm/key.pub";
$settings['salt'] = "kAU0qM";
$sContainer = new Container(1);
$sError = "";
if($_GET['action'] == "start")
{
if($sContainer->GetStatus() != CVM_STATUS_STARTED)
{
try
{
$sContainer->Start();
$sContainer->sStatus = CVM_STATUS_STARTED;
$err = new CPHPErrorHandler(CPHP_ERRORHANDLER_TYPE_SUCCESS, "Container started", "Your container was successfully started.");
$sError .= $err->Render();
}
catch(ContainerStartException $e)
{
$err = new CPHPErrorHandler(CPHP_ERRORHANDLER_TYPE_ERROR, "Container failed to start", "Your container could not be started. If this error persists, please file a support ticket.");
$sError .= $err->Render();
}
}
else
{
$err = new CPHPErrorHandler(CPHP_ERRORHANDLER_TYPE_ERROR, "Container can't be started", "Your container cannot be started because it is already running.");
$sError .= $err->Render();
}
}
elseif($_GET['action'] == "stop")
{
if($sContainer->GetStatus() != CVM_STATUS_STOPPED)
{
try
{
$sContainer->Stop();
$sContainer->sStatus = CVM_STATUS_STOPPED;
$err = new CPHPErrorHandler(CPHP_ERRORHANDLER_TYPE_SUCCESS, "Container stopped", "Your container was successfully stopped.");
$sError .= $err->Render();
}
catch(ContainerStartException $e)
{
$err = new CPHPErrorHandler(CPHP_ERRORHANDLER_TYPE_ERROR, "Container failed to stop", "Your container could not be stopped. If this error persists, please file a support ticket.");
$sError .= $err->Render();
}
}
else
{
$err = new CPHPErrorHandler(CPHP_ERRORHANDLER_TYPE_ERROR, "Container can't be stopped", "Your container cannot be stopped because it is not running.");
$sError .= $err->Render();
}
}
elseif($_GET['action'] == "restart")
{
try
{
try
{
$sContainer->Stop();
}
catch(ContainerStopException $e)
{
// we can make this silently fail, as the only important thing is that it starts again
}
$sContainer->Start();
$sContainer->sStatus = CVM_STATUS_STARTED;
$err = new CPHPErrorHandler(CPHP_ERRORHANDLER_TYPE_SUCCESS, "Container restarted", "Your container was successfully restarted.");
$sError .= $err->Render();
}
catch(ContainerStartException $e)
{
$err = new CPHPErrorHandler(CPHP_ERRORHANDLER_TYPE_ERROR, "Container failed to start", "Your container could not be started. If this error persists, please file a support ticket.");
$sError .= $err->Render();
}
}
echo(Templater::InlineRender("main", $locale->strings, array(
'error' => $sError,
'server-location' => $sContainer->sNode->sPhysicalLocation,
'operating-system' => $sContainer->sTemplate->sName,
'guaranteed-ram' => "{$sContainer->sGuaranteedRam}MB",
'burstable-ram' => "{$sContainer->sBurstableRam}MB",
'disk-space' => "{$sContainer->sDiskSpace}MB",
'total-traffic-limit' => "{$sContainer->sTotalTrafficLimit} bytes",
'bandwidth-limit' => "100mbit",
'status' => Templater::InlineRender("status.{$sContainer->sStatusText}", $locale->strings)
)));
?>