Implement VPS termination
parent
c0b1e519ae
commit
061197e72c
@ -0,0 +1,77 @@
|
|||||||
|
<?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($_APP)) { die("Unauthorized."); }
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$sUser->RequireAccessLevel(30);
|
||||||
|
|
||||||
|
$sVps = new Vps($router->uParameters[1]);
|
||||||
|
|
||||||
|
if(isset($_POST['submit']))
|
||||||
|
{
|
||||||
|
if($_POST['action'] == "terminate")
|
||||||
|
{
|
||||||
|
$sVps->Terminate();
|
||||||
|
|
||||||
|
$sMainContents .= NewTemplater::Render("{$sTheme}/shared/error/success", $locale->strings, array(
|
||||||
|
'title' => $locale->strings['error-terminate-success-title'],
|
||||||
|
'message' => $locale->strings['error-terminate-success-text']
|
||||||
|
));
|
||||||
|
}
|
||||||
|
elseif($_POST['action'] == "unterminate")
|
||||||
|
{
|
||||||
|
$sVps->Unterminate();
|
||||||
|
|
||||||
|
$sMainContents .= NewTemplater::Render("{$sTheme}/shared/error/success", $locale->strings, array(
|
||||||
|
'title' => $locale->strings['error-unterminate-success-title'],
|
||||||
|
'message' => $locale->strings['error-unterminate-success-text']
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
$sVps->RefreshData();
|
||||||
|
|
||||||
|
/* TODO: Flash message and redirect to VPS lookup page. */
|
||||||
|
}
|
||||||
|
|
||||||
|
$sTerminated = ($sVps->sStatus == CVM_STATUS_TERMINATED) ? true : false;
|
||||||
|
|
||||||
|
$sPageContents = NewTemplater::Render("{$sTheme}/admin/vps/terminate", $locale->strings, array(
|
||||||
|
'id' => $sVps->sId,
|
||||||
|
'terminated' => $sTerminated,
|
||||||
|
'can-unterminate' => !$sVps->IsTerminated
|
||||||
|
));
|
||||||
|
}
|
||||||
|
catch (NotFoundException $e)
|
||||||
|
{
|
||||||
|
$sMainContents .= NewTemplater::Render("{$sTheme}/shared/error/error", $locale->strings, array(
|
||||||
|
'title' => $locale->strings['error-notfound-title'],
|
||||||
|
'message' => $locale->strings['error-notfound-text']
|
||||||
|
));
|
||||||
|
}
|
||||||
|
catch (VpsTerminateException $e)
|
||||||
|
{
|
||||||
|
$sMainContents .= NewTemplater::Render("{$sTheme}/shared/error/error", $locale->strings, array(
|
||||||
|
'title' => $locale->strings['error-terminate-error-title'],
|
||||||
|
'message' => $locale->strings['error-terminate-error-text']
|
||||||
|
));
|
||||||
|
}
|
||||||
|
catch (VpsUnterminateException $e)
|
||||||
|
{
|
||||||
|
$sMainContents .= NewTemplater::Render("{$sTheme}/shared/error/error", $locale->strings, array(
|
||||||
|
'title' => $locale->strings['error-unterminate-error-title'],
|
||||||
|
'message' => $locale->strings['error-unterminate-error-text']
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
|||||||
|
<form method="post" action="/admin/vps/{%?id}/terminate/">
|
||||||
|
{%if terminated == false}
|
||||||
|
<h2>{%!title-admin-vps-terminate}</h2>
|
||||||
|
<p>{%!vps-admin-terminate-text}</p>
|
||||||
|
<input type="hidden" name="action" value="terminate">
|
||||||
|
<button type="submit" name="submit" class="padded">{%!button-admin-vps-terminate}</button>
|
||||||
|
{%else}
|
||||||
|
{%if can-unterminate == true}
|
||||||
|
<h2>{%!title-admin-vps-unterminate}</h2>
|
||||||
|
<p>{%!vps-admin-unterminate-text}</p>
|
||||||
|
<input type="hidden" name="action" value="unterminate">
|
||||||
|
<button type="submit" name="submit" class="padded">{%!button-admin-vps-unterminate}</button>
|
||||||
|
{%else}
|
||||||
|
Cannot unterminate
|
||||||
|
{%/if}
|
||||||
|
{%/if}
|
||||||
|
</form>
|
||||||
|
|
Loading…
Reference in New Issue