Fixes and reinstall

feature/node-rewrite
Sven Slootweg 13 years ago
parent 25b951dfd0
commit 5f8d9f8332

@ -249,6 +249,8 @@ class Container extends CPHPDatabaseRecordClass
$this->uRootPassword = $sRootPassword;
$this->InsertIntoDatabase();
var_dump($this->sTemplate->sTemplateName);
$command = shrink_command("vzctl create {$this->sInternalId}
--ostemplate {$this->sTemplate->sTemplateName}
");
@ -376,7 +378,7 @@ class Container extends CPHPDatabaseRecordClass
public function Destroy()
{
if($this->sCurrentStatus == CVM_STATUS_RUNNING)
if($this->sCurrentStatus == CVM_STATUS_STARTED)
{
$this->Stop();
}
@ -423,7 +425,7 @@ class Container extends CPHPDatabaseRecordClass
}
elseif($this->sStatus == CVM_STATUS_TERMINATED)
{
throw new ContainerSuspendedException("The container cannot be started as it is terminated.", 1, $this->sInternalId);
throw new ContainerTerminatedException("The container cannot be started as it is terminated.", 1, $this->sInternalId);
}
else
{

@ -13,22 +13,86 @@
if(!isset($_CVM)) { die("Unauthorized."); }
$result = mysql_query_cached("SELECT * FROM templates WHERE `Available` = '1'");
$display_form = true;
$sTemplateList = array();
foreach($result->data as $row)
if(isset($_POST['submit']))
{
$sTemplate = new Template($row);
$sTemplateList[] = array(
'id' => $sTemplate->sId,
'name' => $sTemplate->sName,
'description' => $sTemplate->sDescription
);
if(!empty($_POST['template']))
{
try
{
$sTemplate = new Template($_POST['template']);
if($sTemplate->sIsAvailable === true)
{
if(isset($_POST['confirm']))
{
if($sContainer->sStatus != CVM_STATUS_SUSPENDED)
{
try
{
$sContainer->uTemplateId = $sTemplate->sId;
$sContainer->InsertIntoDatabase();
$sContainer->Reinstall();
$err = new CPHPErrorHandler(CPHP_ERRORHANDLER_TYPE_SUCCESS, "Reinstallation succeeded!", "Your VPS was successfully reinstalled.");
$sPageContents .= $err->Render();
}
catch (ContainerReinstallException $e)
{
$err = new CPHPErrorHandler(CPHP_ERRORHANDLER_TYPE_ERROR, "Reinstallation failed", "Something went wrong during the reinstallation of your VPS. Please try again. If the reinstallation fails again, please contact support.");
$sPageContents .= $err->Render();
}
}
else
{
$err = new CPHPErrorHandler(CPHP_ERRORHANDLER_TYPE_ERROR, "Reinstallation aborted", "You can not reinstall this VPS, because it is suspended. If you believe this is in error, please contact support.");
$sPageContents .= $err->Render();
}
}
else
{
$err = new CPHPErrorHandler(CPHP_ERRORHANDLER_TYPE_ERROR, "Reinstallation aborted", "You did not tick the checkbox at the bottom of the page. Please carefully read the warning, tick the checkbox, and try again.");
$sPageContents .= $err->Render();
}
}
else
{
$err = new CPHPErrorHandler(CPHP_ERRORHANDLER_TYPE_ERROR, "Reinstallation aborted", "The template you selected is not available. Please select a different template.");
$sPageContents .= $err->Render();
}
}
catch (NotFoundException $e)
{
$err = new CPHPErrorHandler(CPHP_ERRORHANDLER_TYPE_ERROR, "Reinstallation aborted", "The template you selected does not exist (anymore). Please select a different template.");
$sPageContents .= $err->Render();
}
}
else
{
$err = new CPHPErrorHandler(CPHP_ERRORHANDLER_TYPE_ERROR, "No template selected", "You did not select a template from the list. Please select a template and try again.");
$sPageContents .= $err->Render();
}
}
$sPageContents = Templater::InlineRender("vps.reinstall", $locale->strings, array(
'templates' => $sTemplateList
));
if($display_form === true)
{
$result = mysql_query_cached("SELECT * FROM templates WHERE `Available` = '1'");
$sTemplateList = array();
foreach($result->data as $row)
{
$sTemplate = new Template($row);
$sTemplateList[] = array(
'id' => $sTemplate->sId,
'name' => $sTemplate->sName,
'description' => $sTemplate->sDescription
);
}
$sPageContents .= Templater::InlineRender("vps.reinstall", $locale->strings, array(
'templates' => $sTemplateList
));
}
?>

Loading…
Cancel
Save