* [task#133126,doing,3h,1h] Add backup and deletion function.
This commit is contained in:
@@ -50,10 +50,16 @@ if(!isset($config->backup))
|
||||
|
||||
$config->backup->dtable->fieldList['actions']['type'] = 'actions';
|
||||
$config->backup->dtable->fieldList['actions']['width'] = '100';
|
||||
$config->backup->dtable->fieldList['actions']['menu'] = array('restore');
|
||||
$config->backup->dtable->fieldList['actions']['menu'] = array('restore', 'delete');
|
||||
|
||||
$config->backup->dtable->fieldList['actions']['list']['restore']['icon'] = 'icon-restart';
|
||||
$config->backup->dtable->fieldList['actions']['list']['restore']['hint'] = $lang->instance->restore->common;
|
||||
$config->backup->dtable->fieldList['actions']['list']['restore']['url'] = array('module' => 'instance', 'method' => 'ajaxRestore', 'params' => 'instanceID={instanceId}&backupName={name}');
|
||||
$config->backup->dtable->fieldList['actions']['list']['restore']['className'] = 'ajax-submit';
|
||||
|
||||
$config->backup->dtable->fieldList['actions']['list']['delete']['icon'] = 'icon-trash';
|
||||
$config->backup->dtable->fieldList['actions']['list']['delete']['hint'] = $lang->instance->backup->delete;
|
||||
$config->backup->dtable->fieldList['actions']['list']['delete']['url'] = array('module' => 'instance', 'method' => 'ajaxDeleteBackup', 'params' => 'instanceID={instanceId}&backupName={name}');
|
||||
$config->backup->dtable->fieldList['actions']['list']['delete']['className'] = 'ajax-submit';
|
||||
$config->backup->dtable->fieldList['actions']['list']['delete']['data-confirm'] = array('message' => $lang->instance->backup->confirmDeleteTip, 'icon' => 'icon-exclamation-sign', 'iconClass' => 'warning-pale rounded-full icon-2x');
|
||||
}
|
||||
|
||||
@@ -652,4 +652,24 @@ class instance extends control
|
||||
}
|
||||
return $this->send(array('result' => 'success', 'message' => zget($this->lang->instance->notices, 'backupSuccess')));
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete backup by ajax.
|
||||
* 删除备份。
|
||||
* @param int $backupID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function ajaxDeleteBackup(string $instanceID, string $backupName)
|
||||
{
|
||||
$instance = $this->instance->getByID((int)$instanceID);
|
||||
if(empty($instance)) $this->send(array('result' => 'success', 'message' => $this->lang->instance->instanceNotExists));
|
||||
|
||||
$success = $this->instance->deleteBackup($instance, $backupName);
|
||||
if(!$success) return $this->send(array('result' => 'fail', 'message' => zget($this->lang->instance->notices, 'deleteFail')));
|
||||
|
||||
$this->action->create('instance', $instance->id, 'manualdeletebackup', '', json_encode(array('result' => 'success')));
|
||||
$locate = $this->createLink('instance', 'view', 'id=' . $instanceID);
|
||||
return $this->send(array('result' => 'success', 'load' => array('alert' => zget($this->lang->instance->notices, 'deleteSuccess'), 'locate' => $locate, 'closeModal' => true)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1379,4 +1379,17 @@ class instanceModel extends model
|
||||
if(count($deleteData) > 0) $this->action->create('instance', $instance->id, 'deleteexpiredbackup', '', json_encode(array('result' => 'success', 'data' =>$deleteData)));
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete backup.
|
||||
* 删除备份。
|
||||
* @param object $instance
|
||||
* @param string $backupName
|
||||
* @access public
|
||||
* @return bool
|
||||
*/
|
||||
public function deleteBackup($instance, $backupName)
|
||||
{
|
||||
return $this->cne->deleteBackup($instance, $backupName);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ formPanel
|
||||
set::label($this->lang->instance->backup->keepDays),
|
||||
set::control('input'),
|
||||
set::value((int)$instance->backupKeepDays),
|
||||
span($this->lang->instance->backup->backupSettingsTips, set::className('text-warning inline-block mt-2'))
|
||||
span($this->lang->instance->backup->backupSettingsTip, set::className('text-warning inline-block mt-2'))
|
||||
),
|
||||
),
|
||||
formRow
|
||||
|
||||
Reference in New Issue
Block a user