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