From 23c9413a3680bdc2c43374740b9a49c7367f09a4 Mon Sep 17 00:00:00 2001 From: mgross Date: Mon, 24 Aug 2020 11:32:17 +0200 Subject: [PATCH 01/10] Removed comma See https://github.com/kevinpapst/kimai2/issues/1909 --- Controller/EasyBackupController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Controller/EasyBackupController.php b/Controller/EasyBackupController.php index 5c93021..011ee45 100755 --- a/Controller/EasyBackupController.php +++ b/Controller/EasyBackupController.php @@ -156,7 +156,7 @@ public function createBackupAction(): Response $arrayOfPathsToBackup = array_merge( $arrayOfPathsToBackup, - $this->getParameter('kimai.invoice.documents'), + $this->getParameter('kimai.invoice.documents') ); foreach ($arrayOfPathsToBackup as $filename) { From ccfc763b9138d73999f7fc4a0e5173bb85955ce5 Mon Sep 17 00:00:00 2001 From: Mexx91 Date: Sat, 31 Oct 2020 09:11:17 +0100 Subject: [PATCH 02/10] Readme text added --- Readme.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 0aa15d5..c1dd86f 100755 --- a/Readme.md +++ b/Readme.md @@ -101,5 +101,10 @@ By default, this are assigned to all users with the role `ROLE_SUPER_ADMIN`. **Please adjust the permission settings in your user administration.** ## Restore -Currently the plugin has no automation to restore a backup. You have to do it by hand. Just copy the backuped directories and files into your Kimai2 installation. Some hints can be found here: [Official Kimai2 backup and restore docu](https://www.kimai.org/documentation/backups.html) +Currently the plugin has no automation to restore a backup per click. You have to do it by hand. Just copy the backuped directories and files into your Kimai2 installation. Some hints can be found here: [Official Kimai2 backup and restore docu](https://www.kimai.org/documentation/backups.html) +If you are using a mysql/mariadb database you can import the backuped .sql file with tools like phpMyAdmin or by the command +``` +mysql -u username -p database_name < file.sql +``` +For additional information please lookup the mysql commands documentation. \ No newline at end of file From c9d43bf6ab2d20edd020b02815835b12b5abc5cb Mon Sep 17 00:00:00 2001 From: Mexx91 Date: Sat, 31 Oct 2020 09:31:52 +0100 Subject: [PATCH 03/10] Began to make backuped dirs configurable --- Configuration/EasyBackupConfiguration.php | 5 +++++ DependencyInjection/Configuration.php | 15 +++++++++++++++ EventSubscriber/SystemConfigurationSubscriber.php | 7 +++++++ .../translations/system-configuration.de.xliff | 4 ++++ .../translations/system-configuration.en.xliff | 4 ++++ 5 files changed, 35 insertions(+) diff --git a/Configuration/EasyBackupConfiguration.php b/Configuration/EasyBackupConfiguration.php index f59ce11..4c717ee 100755 --- a/Configuration/EasyBackupConfiguration.php +++ b/Configuration/EasyBackupConfiguration.php @@ -30,4 +30,9 @@ public function getBackupDir(): string { return (string) $this->find('setting_backup_dir'); } + + public function getPathsToBeBackuped(): string + { + return (string) $this->find('setting_paths_to_be_backuped'); + } } diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index 51134de..e8ba606 100755 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -33,6 +33,21 @@ public function getConfigTreeBuilder() ->scalarNode('setting_backup_dir') ->defaultValue('var/easy_backup/') ->end() + ->scalarNode('setting_paths_to_be_backuped') + ->defaultValue( + '.env' + .PHP_EOL + .'config/packages/local.yaml' + .PHP_EOL + .'var/data/' + .PHP_EOL + .'var/plugins/' + .PHP_EOL + .'templates/invoice' + .PHP_EOL + .'kimai.invoice.documents' + ) + ->end() ->end() ->end(); diff --git a/EventSubscriber/SystemConfigurationSubscriber.php b/EventSubscriber/SystemConfigurationSubscriber.php index dbe0a78..b089767 100755 --- a/EventSubscriber/SystemConfigurationSubscriber.php +++ b/EventSubscriber/SystemConfigurationSubscriber.php @@ -13,6 +13,7 @@ use App\Form\Model\Configuration; use App\Form\Model\SystemConfiguration as SystemConfigurationModel; use Symfony\Component\EventDispatcher\EventSubscriberInterface; +use Symfony\Component\Form\Extension\Core\Type\TextareaType; use Symfony\Component\Form\Extension\Core\Type\TextType; class SystemConfigurationSubscriber implements EventSubscriberInterface @@ -42,6 +43,12 @@ public function onSystemConfiguration(SystemConfigurationEvent $event) ->setTranslationDomain('system-configuration') ->setRequired(false) ->setType(TextType::class), + (new Configuration()) + ->setName('easy_backup.setting_paths_to_be_backuped') + ->setLabel('easy_backup.setting_paths_to_be_backuped') + ->setTranslationDomain('system-configuration') + ->setRequired(false) + ->setType(TextareaType::class), ]) ); } diff --git a/Resources/translations/system-configuration.de.xliff b/Resources/translations/system-configuration.de.xliff index 287c5a5..d9ad2ce 100755 --- a/Resources/translations/system-configuration.de.xliff +++ b/Resources/translations/system-configuration.de.xliff @@ -14,6 +14,10 @@ label.easy_backup.setting_backup_dir Backup Verzeichnis + + label.easy_backup.setting_paths_to_be_backuped + Zu sichernde Dateien und Pfade + diff --git a/Resources/translations/system-configuration.en.xliff b/Resources/translations/system-configuration.en.xliff index 32f9251..49fbf1b 100755 --- a/Resources/translations/system-configuration.en.xliff +++ b/Resources/translations/system-configuration.en.xliff @@ -14,6 +14,10 @@ label.easy_backup.setting_backup_dir Backup directory + + label.easy_backup.setting_paths_to_be_backuped + Files and paths to be backed up + From 4690666fee218fe3a9bb8063b13b61a9f59485c9 Mon Sep 17 00:00:00 2001 From: Mexx91 Date: Sat, 31 Oct 2020 19:08:48 +0100 Subject: [PATCH 04/10] Made use of DIRECTORY_SEP . Made backuped files configurable --- Controller/EasyBackupController.php | 70 +++++++----------- DependencyInjection/Configuration.php | 26 +++---- Readme.md | 15 +++- ...enshot_files_and_paths_to_be_backed_up.JPG | Bin 0 -> 61228 bytes 4 files changed, 53 insertions(+), 58 deletions(-) create mode 100644 screenshot_files_and_paths_to_be_backed_up.JPG diff --git a/Controller/EasyBackupController.php b/Controller/EasyBackupController.php index 011ee45..a8fb1b2 100755 --- a/Controller/EasyBackupController.php +++ b/Controller/EasyBackupController.php @@ -55,7 +55,7 @@ final class EasyBackupController extends AbstractController public function __construct(string $dataDirectory, EasyBackupConfiguration $configuration) { - $this->kimaiRootPath = dirname(dirname($dataDirectory)) . '/'; + $this->kimaiRootPath = dirname(dirname($dataDirectory)).DIRECTORY_SEPARATOR; $this->configuration = $configuration; $this->dbUrl = $_ENV['DATABASE_URL']; $this->filesystem = new Filesystem(); @@ -63,7 +63,7 @@ public function __construct(string $dataDirectory, EasyBackupConfiguration $conf private function getBackupDirectory(): string { - return $this->kimaiRootPath . $this->configuration->getBackupDir(); + return $this->kimaiRootPath.$this->configuration->getBackupDir(); } /** @@ -83,8 +83,8 @@ public function indexAction(): Response $filesAndDirs = array_diff($files, ['.', '..', self::GITIGNORE_NAME]); foreach ($filesAndDirs as $fileOrDir) { - if (is_file($backupDir . $fileOrDir)) { - $filesizeInMb = round(filesize($backupDir . $fileOrDir) / 1048576, 2); + if (is_file($backupDir.$fileOrDir)) { + $filesizeInMb = round(filesize($backupDir.$fileOrDir) / 1048576, 2); $existingBackups[$fileOrDir] = $filesizeInMb; } } @@ -107,7 +107,7 @@ public function createBackupAction(): Response $backupName = date(self::BACKUP_NAME_DATE_FORMAT); $backupDir = $this->getBackupDirectory(); - $pluginBackupDir = $backupDir . $backupName . '/'; + $pluginBackupDir = $backupDir.$backupName.DIRECTORY_SEPARATOR; // Create the backup folder @@ -115,7 +115,7 @@ public function createBackupAction(): Response // If not yet existing, create a .gitignore to exclude the backup files. - $gitignoreFullPath = $backupDir . self::GITIGNORE_NAME; + $gitignoreFullPath = $backupDir.self::GITIGNORE_NAME; if (!$this->filesystem->exists($gitignoreFullPath)) { $this->filesystem->touch($gitignoreFullPath); @@ -124,7 +124,7 @@ public function createBackupAction(): Response // Save the specific kimai version and git head - $readMeFile = $pluginBackupDir . self::README_FILENAME; + $readMeFile = $pluginBackupDir.self::README_FILENAME; $this->filesystem->touch($readMeFile); $manifest = [ 'git' => 'not available', @@ -141,27 +141,11 @@ public function createBackupAction(): Response // Backing up files and directories - $arrayOfPathsToBackup = [ - '.env', - 'config/packages/local.yaml', - 'var/data/', - 'var/plugins/', - 'templates/invoice', - ]; - - // Per default %kimai.invoice.documents% is: - // var/plugins/DemoBundle/Resources/invoices/ - // var/invoices/ - // templates/invoice/renderer/ - - $arrayOfPathsToBackup = array_merge( - $arrayOfPathsToBackup, - $this->getParameter('kimai.invoice.documents') - ); + $arrayOfPathsToBackup = explode(PHP_EOL, $this->configuration->getPathsToBeBackuped()); foreach ($arrayOfPathsToBackup as $filename) { - $sourceFile = $this->kimaiRootPath . $filename; - $targetFile = $pluginBackupDir . $filename; + $sourceFile = $this->kimaiRootPath.$filename; + $targetFile = $pluginBackupDir.$filename; if ($this->filesystem->exists($sourceFile)) { if (is_dir($sourceFile)) { @@ -171,13 +155,15 @@ public function createBackupAction(): Response if (is_file($sourceFile)) { $this->filesystem->copy($sourceFile, $targetFile); } + + // Todo: Add error messages } } - $sqlDumpName = $pluginBackupDir . self::SQL_DUMP_FILENAME; + $sqlDumpName = $pluginBackupDir.self::SQL_DUMP_FILENAME; $this->backupDatabase($sqlDumpName); - $backupZipName = $backupDir . $backupName . '.zip'; + $backupZipName = $backupDir.$backupName.'.zip'; $this->zipData($pluginBackupDir, $backupZipName); @@ -194,7 +180,7 @@ public function createBackupAction(): Response /** * @Route(path="/download", name="download", methods={"GET"}) - * @param Request $request + * * @return Response */ public function downloadAction(Request $request): Response @@ -204,7 +190,7 @@ public function downloadAction(Request $request): Response // Validate the given user input (filename) if (preg_match(self::REGEX_BACKUP_ZIP_NAME, $backupName)) { - $zipNameAbsolute = $this->getBackupDirectory() . $backupName; + $zipNameAbsolute = $this->getBackupDirectory().$backupName; if ($this->filesystem->exists($zipNameAbsolute)) { $response = new Response(file_get_contents($zipNameAbsolute)); @@ -225,7 +211,7 @@ public function downloadAction(Request $request): Response /** * @Route(path="/delete", name="delete", methods={"GET"}) - * @param Request $request + * * @return \Symfony\Component\HttpFoundation\Response */ public function deleteAction(Request $request) @@ -235,7 +221,7 @@ public function deleteAction(Request $request) // Validate the given user input (filename) if (preg_match(self::REGEX_BACKUP_ZIP_NAME, $dirname)) { - $path = $this->getBackupDirectory() . $dirname; + $path = $this->getBackupDirectory().$dirname; if ($this->filesystem->exists($path)) { $this->filesystem->remove($path); @@ -285,7 +271,7 @@ private function backupDatabase(string $sqlDumpName) $this->filesystem->touch($sqlDumpName); foreach ($outputArr as $line) { - $this->filesystem->appendToFile($sqlDumpName, $line . "\n"); + $this->filesystem->appendToFile($sqlDumpName, $line."\n"); } } } @@ -302,17 +288,17 @@ private function zipData($source, $destination) $files = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($source), \RecursiveIteratorIterator::SELF_FIRST); foreach ($files as $file) { - // Ignore "." and ".." folders - if( in_array(substr($file, strrpos($file, '/')+1), array('.', '..')) ) + if (in_array(substr($file, strrpos($file, DIRECTORY_SEPARATOR) + 1), ['.', '..'])) { continue; + } $file = realpath($file); + if (is_dir($file) === true) { - $zip->addEmptyDir(str_replace($source . '/', '', $file . '/')); - + $zip->addEmptyDir(str_replace($source.DIRECTORY_SEPARATOR, '', $file.DIRECTORY_SEPARATOR)); } elseif (is_file($file) === true) { - $zip->addFromString(str_replace($source . '/', '', $file), file_get_contents($file)); + $zip->addFromString(str_replace($source.DIRECTORY_SEPARATOR, '', $file), file_get_contents($file)); } } } elseif (is_file($source) === true) { @@ -337,7 +323,7 @@ private function checkStatus() { $status = []; - $path = $this->kimaiRootPath . 'var'; + $path = $this->kimaiRootPath.'var'; $status["Path '$path' readable"] = is_readable($path); $status["Path '$path' writable"] = is_writable($path); $status["PHP extension 'zip' loaded"] = extension_loaded('zip'); @@ -347,7 +333,7 @@ private function checkStatus() $status[$cmd] = exec($cmd); $cmd = $this->configuration->getMysqlDumpCommand(); - $cmd = explode(' ', $cmd)[0] . ' --version'; + $cmd = explode(' ', $cmd)[0].' --version'; $status[$cmd] = exec($cmd); return $status; @@ -356,9 +342,9 @@ private function checkStatus() private function getKimaiVersion(bool $full = false): string { if ($full) { - return Constants::SOFTWARE . ' - ' . Constants::VERSION . ' ' . Constants::STATUS; + return Constants::SOFTWARE.' - '.Constants::VERSION.' '.Constants::STATUS; } - return Constants::VERSION . ' ' . Constants::STATUS; + return Constants::VERSION.' '.Constants::STATUS; } } diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index e8ba606..fd9a52a 100755 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -24,6 +24,16 @@ public function getConfigTreeBuilder() /** @var ArrayNodeDefinition $rootNode */ $rootNode = $treeBuilder->getRootNode(); + $arrayOfPathsToBackup = [ + '.env', + 'config/packages/local.yaml', + 'var/data/', + 'var/plugins/', + 'templates/invoice', + 'var/invoices/', + 'templates/invoice/renderer/', + ]; + $rootNode ->addDefaultsIfNotSet() ->children() @@ -34,20 +44,8 @@ public function getConfigTreeBuilder() ->defaultValue('var/easy_backup/') ->end() ->scalarNode('setting_paths_to_be_backuped') - ->defaultValue( - '.env' - .PHP_EOL - .'config/packages/local.yaml' - .PHP_EOL - .'var/data/' - .PHP_EOL - .'var/plugins/' - .PHP_EOL - .'templates/invoice' - .PHP_EOL - .'kimai.invoice.documents' - ) - ->end() + ->defaultValue(implode(PHP_EOL, $arrayOfPathsToBackup)) + ->end() ->end() ->end(); diff --git a/Readme.md b/Readme.md index c1dd86f..9ebfa15 100755 --- a/Readme.md +++ b/Readme.md @@ -57,15 +57,20 @@ Make sure its writable by your webserver! We don't use the recommended ### What files are backed up? -Currently backuped directories and files are: +Currently per default backuped directories and files are: ``` .env config/packages/local.yaml var/data/ var/plugins/ -%kimai.invoice.documents% +templates/invoice +var/invoices/ +templates/invoice/renderer/ ``` +You are free to edit this list via the Kimai settings page. Place each filename or paths in a seperate line. Make sure that there are no empty lines. Root path is your kimai installation path. + +![Update the paths to your needs](https://github.com/mxgross/EasyBackupBundle/blob/master/screenshot_files_and_paths_to_be_backed_up.jpg?raw=true) According to the [backup docu](https://www.kimai.org/documentation/backups.html) the Kimai version should be saved to. Also the current git head. @@ -83,6 +88,12 @@ Per default it is ``` /usr/bin/mysqldump --user={user} --password={password} --host={host} --port={port} --single-transaction --force {database} ``` + +On a windows system with XAMPP as webserver the command could look like this +``` +C:\xampp\mysql\bin\mysqldump --user={user} --password={password} --host={host} --port={port} --single-transaction --force {database} +``` + You can remove or add parameters here if you need to. The variables in the curly braces will be replaced during the execution of the backup. All information for these variables are gathered from the DATABASE_URL defined in the .env file. ``` # DATABASE_URL=mysql://user:password@host:port/database diff --git a/screenshot_files_and_paths_to_be_backed_up.JPG b/screenshot_files_and_paths_to_be_backed_up.JPG new file mode 100644 index 0000000000000000000000000000000000000000..0aaabdb7af0685e1ff47dfd8a654c87d956c3cf6 GIT binary patch literal 61228 zcmeFZ1wdTOvNk$6K?A`(xVvj0!9ob`Zo%Cx6Ck)lfB*^ZFgOevLU4Bo?(XixKiT`7 zv$OBp`~K&?cc1+4&w_@v*7S6DeO1+6tEzfEe1BL1Jbo!9D+PdofdLpoe*h25kM|@! zEZ+bC^6~&i004jtfQJzRz(UVZp%*WMEdlV*a~SBk`lru7{sZs;fX9P7BmgAnJv8XG zD6{}bcA$Tdf1Ld~ej)G+fnNyxLf{tyzYzG}5dnE44@+B18%rZQDD?<2aKBj-I8du0 zCkFms=XG(hzn#PJ@B#pFaetiuVOb!5{DIyt%i@1W8Tv)@F9d!e@C$)o2>e3e4+J>b zIoSm{*af*bC^!TJ**OH+`2c@)59-YT7y�mH=C5v4IvNzz<{OVHuUw!o|fwkd4jG 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
^TGPCnwoUqdZLa((MIdD$s9mWy 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 z YEPVwU2KEk76o?T3@Ku8sdNuL?0J%%@8~^|S literal 0 HcmV?d00001 From b4f5e6399853ad88345f671254ecac65145608db Mon Sep 17 00:00:00 2001 From: Mexx91 Date: Sat, 31 Oct 2020 19:34:43 +0100 Subject: [PATCH 05/10] #22 Dump Format invalid --- Controller/EasyBackupController.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Controller/EasyBackupController.php b/Controller/EasyBackupController.php index a8fb1b2..bb67084 100755 --- a/Controller/EasyBackupController.php +++ b/Controller/EasyBackupController.php @@ -83,7 +83,10 @@ public function indexAction(): Response $filesAndDirs = array_diff($files, ['.', '..', self::GITIGNORE_NAME]); foreach ($filesAndDirs as $fileOrDir) { - if (is_file($backupDir.$fileOrDir)) { + /* Make sure that only files are listet which match our wanted regex */ + + if (is_file($backupDir.$fileOrDir) + && preg_match(self::REGEX_BACKUP_ZIP_NAME, $fileOrDir) == 1) { $filesizeInMb = round(filesize($backupDir.$fileOrDir) / 1048576, 2); $existingBackups[$fileOrDir] = $filesizeInMb; } From 3d6d24d6026d681e67515e43cf38c525a9269024 Mon Sep 17 00:00:00 2001 From: Mexx91 Date: Sat, 31 Oct 2020 20:09:35 +0100 Subject: [PATCH 06/10] Added export dir --- DependencyInjection/Configuration.php | 5 +++-- Readme.md | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index fd9a52a..7124699 100755 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -29,9 +29,10 @@ public function getConfigTreeBuilder() 'config/packages/local.yaml', 'var/data/', 'var/plugins/', - 'templates/invoice', 'var/invoices/', - 'templates/invoice/renderer/', + 'templates/invoice/', + 'var/export/', + 'templates/export/', ]; $rootNode diff --git a/Readme.md b/Readme.md index 9ebfa15..f728045 100755 --- a/Readme.md +++ b/Readme.md @@ -57,16 +57,17 @@ Make sure its writable by your webserver! We don't use the recommended ### What files are backed up? -Currently per default backuped directories and files are: +Currently per default backuped directories (incl. sub directories) and files are: ``` .env config/packages/local.yaml var/data/ var/plugins/ -templates/invoice var/invoices/ -templates/invoice/renderer/ +'templates/invoice +'var/export/ +'templates/export/ ``` You are free to edit this list via the Kimai settings page. Place each filename or paths in a seperate line. Make sure that there are no empty lines. Root path is your kimai installation path. From 967cdba787b77a4334df5b6e3743447225818715 Mon Sep 17 00:00:00 2001 From: Mexx91 Date: Sat, 31 Oct 2020 20:13:26 +0100 Subject: [PATCH 07/10] Fixed readme --- Readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Readme.md b/Readme.md index f728045..b2424d4 100755 --- a/Readme.md +++ b/Readme.md @@ -65,9 +65,9 @@ config/packages/local.yaml var/data/ var/plugins/ var/invoices/ -'templates/invoice -'var/export/ -'templates/export/ +templates/invoice +var/export/ +templates/export/ ``` You are free to edit this list via the Kimai settings page. Place each filename or paths in a seperate line. Make sure that there are no empty lines. Root path is your kimai installation path. From 70de658e4115dddc17b94d7eaafaf31ea2554a85 Mon Sep 17 00:00:00 2001 From: Mexx91 Date: Sat, 31 Oct 2020 20:19:32 +0100 Subject: [PATCH 08/10] Fixed translations --- Configuration/EasyBackupConfiguration.php | 2 +- DependencyInjection/Configuration.php | 2 +- EventSubscriber/SystemConfigurationSubscriber.php | 4 ++-- Resources/translations/system-configuration.de.xliff | 4 ++-- Resources/translations/system-configuration.en.xliff | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Configuration/EasyBackupConfiguration.php b/Configuration/EasyBackupConfiguration.php index 4c717ee..872e4ef 100755 --- a/Configuration/EasyBackupConfiguration.php +++ b/Configuration/EasyBackupConfiguration.php @@ -33,6 +33,6 @@ public function getBackupDir(): string public function getPathsToBeBackuped(): string { - return (string) $this->find('setting_paths_to_be_backuped'); + return (string) $this->find('setting_paths_to_backup'); } } diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index 7124699..7dbf466 100755 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -44,7 +44,7 @@ public function getConfigTreeBuilder() ->scalarNode('setting_backup_dir') ->defaultValue('var/easy_backup/') ->end() - ->scalarNode('setting_paths_to_be_backuped') + ->scalarNode('setting_paths_to_backup') ->defaultValue(implode(PHP_EOL, $arrayOfPathsToBackup)) ->end() ->end() diff --git a/EventSubscriber/SystemConfigurationSubscriber.php b/EventSubscriber/SystemConfigurationSubscriber.php index b089767..2a6a4ed 100755 --- a/EventSubscriber/SystemConfigurationSubscriber.php +++ b/EventSubscriber/SystemConfigurationSubscriber.php @@ -44,8 +44,8 @@ public function onSystemConfiguration(SystemConfigurationEvent $event) ->setRequired(false) ->setType(TextType::class), (new Configuration()) - ->setName('easy_backup.setting_paths_to_be_backuped') - ->setLabel('easy_backup.setting_paths_to_be_backuped') + ->setName('easy_backup.setting_paths_to_backup') + ->setLabel('easy_backup.setting_paths_to_backup') ->setTranslationDomain('system-configuration') ->setRequired(false) ->setType(TextareaType::class), diff --git a/Resources/translations/system-configuration.de.xliff b/Resources/translations/system-configuration.de.xliff index d9ad2ce..bf581f0 100755 --- a/Resources/translations/system-configuration.de.xliff +++ b/Resources/translations/system-configuration.de.xliff @@ -14,8 +14,8 @@ label.easy_backup.setting_backup_dir Backup Verzeichnis - - label.easy_backup.setting_paths_to_be_backuped + + label.easy_backup.setting_paths_to_backup Zu sichernde Dateien und Pfade diff --git a/Resources/translations/system-configuration.en.xliff b/Resources/translations/system-configuration.en.xliff index 49fbf1b..6b67e64 100755 --- a/Resources/translations/system-configuration.en.xliff +++ b/Resources/translations/system-configuration.en.xliff @@ -14,9 +14,9 @@ label.easy_backup.setting_backup_dir Backup directory - - label.easy_backup.setting_paths_to_be_backuped - Files and paths to be backed up + + label.easy_backup.setting_paths_to_backup + Files and paths to backup From 20f9c9afea30415e3fe3a1686100fd8cff74581e Mon Sep 17 00:00:00 2001 From: mgross Date: Sat, 31 Oct 2020 21:54:07 +0100 Subject: [PATCH 09/10] Update Readme.md --- Readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Readme.md b/Readme.md index b2424d4..71605ee 100755 --- a/Readme.md +++ b/Readme.md @@ -71,7 +71,7 @@ templates/export/ ``` You are free to edit this list via the Kimai settings page. Place each filename or paths in a seperate line. Make sure that there are no empty lines. Root path is your kimai installation path. -![Update the paths to your needs](https://github.com/mxgross/EasyBackupBundle/blob/master/screenshot_files_and_paths_to_be_backed_up.jpg?raw=true) +![Update the paths to your needs](https://github.com/mxgross/EasyBackupBundle/blob/dev/screenshot_files_and_paths_to_be_backed_up.JPG?raw=true) According to the [backup docu](https://www.kimai.org/documentation/backups.html) the Kimai version should be saved to. Also the current git head. @@ -119,4 +119,4 @@ If you are using a mysql/mariadb database you can import the backuped .sql file ``` mysql -u username -p database_name < file.sql ``` -For additional information please lookup the mysql commands documentation. \ No newline at end of file +For additional information please lookup the mysql commands documentation. From 3885c98ad7c3f2a3253773237ed956e6dea2ca3a Mon Sep 17 00:00:00 2001 From: Mexx91 Date: Sat, 31 Oct 2020 21:56:27 +0100 Subject: [PATCH 10/10] Updated screenshot --- ...enshot_files_and_paths_to_be_backed_up.JPG | Bin 61228 -> 44642 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/screenshot_files_and_paths_to_be_backed_up.JPG b/screenshot_files_and_paths_to_be_backed_up.JPG index 0aaabdb7af0685e1ff47dfd8a654c87d956c3cf6..f5846e517009a09958257150ca5759c3f281a1e7 100644 GIT binary patch literal 44642 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 literal 61228 zcmeFZ1wdTOvNk$6K?A`(xVvj0!9ob`Zo%Cx6Ck)lfB*^ZFgOevLU4Bo?(XixKiT`7 zv$OBp`~K&?cc1+4&w_@v*7S6DeO1+6tEzfEe1BL1Jbo!9D+PdofdLpoe*h25kM|@! zEZ+bC^6~&i004jtfQJzRz(UVZp%*WMEdlV*a~SBk`lru7{sZs;fX9P7BmgAnJv8XG zD6{}bcA$Tdf1Ld~ej)G+fnNyxLf{tyzYzG}5dnE44@+B18%rZQDD?<2aKBj-I8du0 zCkFms=XG(hzn#PJ@B#pFaetiuVOb!5{DIyt%i@1W8Tv)@F9d!e@C$)o2>e3e4+J>b zIoSm{*af*bC^!TJ**OH+`2c@)59-YT7y�mH=C5v4IvNzz<{OVHuUw!o|fwkd4jG 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
^TGPCnwoUqdZLa((MIdD$s9mWy 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 z YEPVwU2KEk76o?T3@Ku8sdNuL?0J%%@8~^|S