mirror of
https://github.com/JRGTH/xigmanas-bastille-extension.git
synced 2025-12-16 06:49:51 +01:00
Add new export/import features
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
======================
|
======================
|
||||||
Version Description
|
Version Description
|
||||||
|
|
||||||
|
1.0.95......Add new export/import features.
|
||||||
1.0.94......check for required variables for bastille 0.9.x.
|
1.0.94......check for required variables for bastille 0.9.x.
|
||||||
1.0.93......Quick update to support bastille 0.9.x.
|
1.0.93......Quick update to support bastille 0.9.x.
|
||||||
1.0.92......Set file permissions.
|
1.0.92......Set file permissions.
|
||||||
|
|||||||
@@ -329,7 +329,7 @@ $(document).ready(function(){
|
|||||||
html_checkbox2('zfs_activate',gtext('ZFS support activation'),'' ? true : false,gtext('Check this to activate ZFS support or leave unchecked to dismiss (requires ZFS support to be available), this is a one time option and this row will disappear after clicking Save button.'),'',false);
|
html_checkbox2('zfs_activate',gtext('ZFS support activation'),'' ? true : false,gtext('Check this to activate ZFS support or leave unchecked to dismiss (requires ZFS support to be available), this is a one time option and this row will disappear after clicking Save button.'),'',false);
|
||||||
endif;
|
endif;
|
||||||
?>
|
?>
|
||||||
<?php html_filechooser("backup_path", gtext("Backup directory"), $backup_path, gtext("Directory to store containers backup archives, use as file chooser for restoring from file."), $backup_path, true, 60);?>
|
<?php html_filechooser("backup_path", gtext("Backup directory"), $backup_path, gtext("Directory to store containers backup archives, use as file chooser for restoring from file, importable formats: .GZ/TGZ/TXZ/XZ or RAW(no extension on the jail name)."), $backup_path, true, 60);?>
|
||||||
</table>
|
</table>
|
||||||
<div id="submit">
|
<div id="submit">
|
||||||
<input id="save" name="save" type="submit" class="formbtn" title="<?=gtext("Save settings");?>" value="<?=gtext("Save");?>"/>
|
<input id="save" name="save" type="submit" class="formbtn" title="<?=gtext("Save settings");?>" value="<?=gtext("Save");?>"/>
|
||||||
|
|||||||
@@ -116,14 +116,57 @@ if($_POST):
|
|||||||
$bastille_version_min = "0920210714";
|
$bastille_version_min = "0920210714";
|
||||||
$bastille_version_format = str_replace(".", "", $bastille_version);
|
$bastille_version_format = str_replace(".", "", $bastille_version);
|
||||||
$bastille_bin_path = "/usr/local/bin";
|
$bastille_bin_path = "/usr/local/bin";
|
||||||
|
$export_option = "";
|
||||||
|
$skip_safemode = "";
|
||||||
|
|
||||||
|
if(isset($_POST['format'])):
|
||||||
|
$export_format = $_POST['format'];
|
||||||
|
endif;
|
||||||
|
switch($export_format):
|
||||||
|
case 'default':
|
||||||
|
break;
|
||||||
|
case 'gz':
|
||||||
|
$user_export_format = "--gz";
|
||||||
|
break;
|
||||||
|
case 'raw':
|
||||||
|
$user_export_format = "--raw";
|
||||||
|
break;
|
||||||
|
case 'tgz':
|
||||||
|
$user_export_format = "--tgz";
|
||||||
|
$skip_safemode = "yes";
|
||||||
|
break;
|
||||||
|
case 'txz':
|
||||||
|
$user_export_format = "--txz";
|
||||||
|
$skip_safemode = "yes";
|
||||||
|
break;
|
||||||
|
case 'xz':
|
||||||
|
$user_export_format = "--xz";
|
||||||
|
break;
|
||||||
|
endswitch;
|
||||||
|
|
||||||
|
if ($zfs_activated == "YES"):
|
||||||
|
if($pconfig['safemode']):
|
||||||
|
if(!$skip_safemode):
|
||||||
|
$export_option = "--safe";
|
||||||
|
endif;
|
||||||
|
endif;
|
||||||
|
endif;
|
||||||
|
|
||||||
if($bastille_version_format >= $bastille_version_min):
|
if($bastille_version_format >= $bastille_version_min):
|
||||||
if ($zfs_activated == "YES"):
|
if ($zfs_activated == "YES"):
|
||||||
$export_format = "--xz";
|
if ($pconfig['format'] == "default"):
|
||||||
$cmd = ("$bastille_bin_path/bastille export $export_format '{$item}'");
|
$export_format = "--xz";
|
||||||
|
$cmd = ("$bastille_bin_path/bastille export $export_option $export_format '{$item}'");
|
||||||
|
else:
|
||||||
|
$cmd = ("$bastille_bin_path/bastille export $export_option $user_export_format '{$item}'");
|
||||||
|
endif;
|
||||||
else:
|
else:
|
||||||
$export_format = "--txz";
|
if ($pconfig['format'] == "default"):
|
||||||
$cmd = ("$bastille_bin_path/bastille export $export_format '{$item}'");
|
$export_format = "--txz";
|
||||||
|
$cmd = ("$bastille_bin_path/bastille export $export_format '{$item}'");
|
||||||
|
else:
|
||||||
|
$cmd = ("$bastille_bin_path/bastille export $user_export_format '{$item}'");
|
||||||
|
endif;
|
||||||
endif;
|
endif;
|
||||||
else:
|
else:
|
||||||
$cmd = ("$bastille_bin_path/bastille export '{$item}'");
|
$cmd = ("$bastille_bin_path/bastille export '{$item}'");
|
||||||
@@ -399,12 +442,18 @@ function action_change() {
|
|||||||
showElementById('clonestop_tr', 'hide');
|
showElementById('clonestop_tr', 'hide');
|
||||||
showElementById('auto_boot_tr', 'hide');
|
showElementById('auto_boot_tr', 'hide');
|
||||||
showElementById('no_autoboot_tr', 'hide');
|
showElementById('no_autoboot_tr', 'hide');
|
||||||
|
showElementById('backup_tr', 'hide');
|
||||||
|
showElementById('format_tr', 'hide');
|
||||||
|
showElementById('safemode_tr', 'hide');
|
||||||
//showElementById('dateadd_tr','hide');
|
//showElementById('dateadd_tr','hide');
|
||||||
var action = document.iform.action.value;
|
var action = document.iform.action.value;
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case "backup":
|
case "backup":
|
||||||
showElementById('confirmname_tr','hide');
|
showElementById('confirmname_tr','hide');
|
||||||
showElementById('nowstop_tr','hide');
|
showElementById('nowstop_tr','hide');
|
||||||
|
showElementById('backup_tr', 'show');
|
||||||
|
showElementById('format_tr', 'show');
|
||||||
|
showElementById('safemode_tr', 'show');
|
||||||
break;
|
break;
|
||||||
case "clone":
|
case "clone":
|
||||||
showElementById('newname_tr','show');
|
showElementById('newname_tr','show');
|
||||||
@@ -523,7 +572,28 @@ $document->render();
|
|||||||
'advanced' => gettext('Advanced'),
|
'advanced' => gettext('Advanced'),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
if ($zfs_activated == "YES"):
|
||||||
|
$c_action = [
|
||||||
|
'default' => gettext('Default'),
|
||||||
|
'gz' => gettext('GZ'),
|
||||||
|
'raw' => gettext('RAW'),
|
||||||
|
'tgz' => gettext('TGZ'),
|
||||||
|
'txz' => gettext('TXZ'),
|
||||||
|
'xz' => gettext('XZ'),
|
||||||
|
];
|
||||||
|
else:
|
||||||
|
$c_action = [
|
||||||
|
'default' => gettext('Default'),
|
||||||
|
'tgz' => gettext('TGZ'),
|
||||||
|
'txz' => gettext('TXZ'),
|
||||||
|
];
|
||||||
|
endif;
|
||||||
|
|
||||||
html_combobox2('action',gettext('Action'),$pconfig['action'],$a_action,'',true,false,'action_change()');
|
html_combobox2('action',gettext('Action'),$pconfig['action'],$a_action,'',true,false,'action_change()');
|
||||||
|
html_combobox2('format',gettext('Archive format'),$pconfig['format'],$c_action,'',true,false);
|
||||||
|
if ($zfs_activated == "YES"):
|
||||||
|
html_checkbox2('safemode',gettext('Safe ZFS export'),!empty($pconfig['safemode']) ? true : false,gettext('Safely stop and start a ZFS jail before the exporting process, this has no effect on .TGZ/TXZ since the jail should be stopped regardless.'),'',false);
|
||||||
|
endif;
|
||||||
html_inputbox2('confirmname',gettext('Enter name for confirmation'),$pconfig['confirmname'],'',true,30);
|
html_inputbox2('confirmname',gettext('Enter name for confirmation'),$pconfig['confirmname'],'',true,30);
|
||||||
html_checkbox2('nowstop',gettext('Stop container'),!empty($pconfig['nowstop']) ? true : false,gettext('Stop the container if running before deletion.'),'',false);
|
html_checkbox2('nowstop',gettext('Stop container'),!empty($pconfig['nowstop']) ? true : false,gettext('Stop the container if running before deletion.'),'',false);
|
||||||
html_inputbox2('newname',gettext('Enter a name for the new container'),$pconfig['newname'],'',true,30);
|
html_inputbox2('newname',gettext('Enter a name for the new container'),$pconfig['newname'],'',true,30);
|
||||||
@@ -544,6 +614,8 @@ $document->render();
|
|||||||
html_text2('jail_release',gettext('Current base release:'),htmlspecialchars($current_release));
|
html_text2('jail_release',gettext('Current base release:'),htmlspecialchars($current_release));
|
||||||
html_text2('auto_boot',gettext('Enable container auto-startup'),htmlspecialchars("This will cause the container to automatically start each time the system restart."));
|
html_text2('auto_boot',gettext('Enable container auto-startup'),htmlspecialchars("This will cause the container to automatically start each time the system restart."));
|
||||||
html_text2('no_autoboot',gettext('Disable container auto-startup'),htmlspecialchars("This will disable the container automatic startup."));
|
html_text2('no_autoboot',gettext('Disable container auto-startup'),htmlspecialchars("This will disable the container automatic startup."));
|
||||||
|
html_text2('backup',gettext('Export container'),htmlspecialchars("This will export a container to a compressed file/image, please execute `bastille export` for more info in regards exporting formats, Default = .XZ on ZFS setups or .TXZ otherwise."));
|
||||||
|
|
||||||
if (!$disable_base_change):
|
if (!$disable_base_change):
|
||||||
html_combobox2('release',gettext('New base release'),$pconfig['release'],$b_action,gettext("Warning: this will change current base to the selected base on the thin container only, the user is responsible for package updates and/or general incompatibilities issues, or use the command line for native upgrade."),true,false,);
|
html_combobox2('release',gettext('New base release'),$pconfig['release'],$b_action,gettext("Warning: this will change current base to the selected base on the thin container only, the user is responsible for package updates and/or general incompatibilities issues, or use the command line for native upgrade."),true,false,);
|
||||||
endif;
|
endif;
|
||||||
|
|||||||
Reference in New Issue
Block a user