Delete backup and bug fixes

This commit is contained in:
Diego Najar 2018-02-26 17:44:39 +01:00
parent 31a83fa333
commit 8d10eb8824
6 changed files with 60 additions and 19 deletions

View File

@ -3,5 +3,9 @@
{ {
"name": "Backup", "name": "Backup",
"description": "Einfach Backups erstellen und wiederherstellen." "description": "Einfach Backups erstellen und wiederherstellen."
} },
"create-backup": "Create Backup",
"download": "Download",
"restore-backup": "Restore Backup",
"delete-backup": "Delete Backup"
} }

View File

@ -3,5 +3,9 @@
{ {
"name": "Backup", "name": "Backup",
"description": "Einfach Backups erstellen und wiederherstellen." "description": "Einfach Backups erstellen und wiederherstellen."
} },
"create-backup": "Create Backup",
"download": "Download",
"restore-backup": "Restore Backup",
"delete-backup": "Delete Backup"
} }

View File

@ -6,5 +6,6 @@
}, },
"create-backup": "Create Backup", "create-backup": "Create Backup",
"download": "Download", "download": "Download",
"restore-backup": "Restore Backup" "restore-backup": "Restore Backup",
"delete-backup": "Delete Backup"
} }

View File

@ -0,0 +1,11 @@
{
"plugin-data":
{
"name": "Backup",
"description": "La forma mas fácil de hacer un backup."
},
"create-backup": "Crear Backup",
"download": "Descargar",
"restore-backup": "Recuperar Backup",
"delete-backup": "Eliminar Backup"
}

View File

@ -6,5 +6,6 @@
}, },
"create-backup": "Yedek Al", "create-backup": "Yedek Al",
"download": "İndir", "download": "İndir",
"restore-backup": "Geri Yükle" "restore-backup": "Geri Yükle",
"delete-backup": "Delete Backup"
} }

View File

@ -47,10 +47,10 @@ class pluginBackup extends Plugin {
{ {
if (isset($_POST['createBackup'])) { if (isset($_POST['createBackup'])) {
return $this->createBackup(); return $this->createBackup();
} } elseif (isset($_POST['restoreBackup'])) {
if (isset($_POST['restoreBackup'])) {
return $this->restoreBackup($_POST['restoreBackup']); return $this->restoreBackup($_POST['restoreBackup']);
} elseif (isset($_POST['deleteBackup'])) {
return $this->deleteBackup($_POST['deleteBackup']);
} }
return false; return false;
@ -76,8 +76,12 @@ class pluginBackup extends Plugin {
$html .= '<div>'; $html .= '<div>';
$html .= '<h3>'.Date::format($filename, BACKUP_DATE_FORMAT, 'F j, Y, g:i a').'</h3>'; $html .= '<h3>'.Date::format($filename, BACKUP_DATE_FORMAT, 'F j, Y, g:i a').'</h3>';
$html .= '<a class="uk-button small left blue" href="'.DOMAIN_CONTENT.'backup/'.$basename.'"><i class="uk-icon-download"></i> '.$Language->get('download').'</a>'; // Allow download if a zip file
$html .= '<button name="restoreBackup" value="'.$basename.'" class="uk-button small left" type="submit"><i class="uk-icon-clock-o"></i> '.$Language->get('restore-backup').'</button>'; if ($this->zip) {
$html .= '<a class="uk-button small left blue" href="'.DOMAIN_CONTENT.'backup/'.$filename.'.zip"><i class="uk-icon-download"></i> '.$Language->get('download').'</a>';
}
$html .= '<button name="restoreBackup" value="'.$filename.'" class="uk-button small left" type="submit"><i class="uk-icon-clock-o"></i> '.$Language->get('restore-backup').'</button>';
$html .= '<button name="deleteBackup" value="'.$filename.'" class="uk-button small left" type="submit"><i class="uk-icon-trash-o"></i> '.$Language->get('delete-backup').'</button>';
$html .= '</div>'; $html .= '</div>';
$html .= '<hr>'; $html .= '<hr>';
} }
@ -107,7 +111,7 @@ class pluginBackup extends Plugin {
return true; return true;
} }
public function restoreBackup($backupFilename) public function restoreBackup($filename)
{ {
// Remove current files // Remove current files
foreach ($this->directoriesToBackup as $dir) { foreach ($this->directoriesToBackup as $dir) {
@ -115,11 +119,27 @@ class pluginBackup extends Plugin {
} }
// Recover backuped files // Recover backuped files
$tmp = $this->workspace().$backupFilename; // Zip format
if ($this->zip) { if ($this->zip) {
$tmp = $this->workspace().$filename.'.zip';
return Filesystem::unzip($tmp, PATH_CONTENT); return Filesystem::unzip($tmp, PATH_CONTENT);
} }
// Directory format
$tmp = $this->workspace().$filename;
return Filesystem::copyRecursive($tmp, PATH_CONTENT); return Filesystem::copyRecursive($tmp, PATH_CONTENT);
} }
public function deleteBackup($filename)
{
// Zip format
if ($this->zip) {
$tmp = $this->workspace().$filename.'.zip';
return Filesystem::rmfile($tmp);
}
// Directory format
$tmp = $this->workspace().$filename;
return Filesystem::deleteRecursive($tmp);
}
} }