diff --git a/.htaccess b/.htaccess
index ab13927..198faaa 100644
--- a/.htaccess
+++ b/.htaccess
@@ -29,3 +29,7 @@ Deny from all
Order allow,deny
Deny from all
+
+ Order allow,deny
+ Deny from all
+
\ No newline at end of file
diff --git a/composer.json b/composer.json
index a011999..419711d 100755
--- a/composer.json
+++ b/composer.json
@@ -6,12 +6,14 @@
"license": "GPL-3.0-or-later",
"require": {
"php": "^7.3|^8.0",
+ "codedge/laravel-selfupdater": "^3.4",
"fideloper/proxy": "^4.4",
"fruitcake/laravel-cors": "^2.0",
"geo-sot/laravel-env-editor": "^1.1",
"guzzlehttp/guzzle": "^7.4",
"laravel/framework": "^8.12",
- "laravel/tinker": "^2.5"
+ "laravel/tinker": "^2.5",
+ "spatie/laravel-backup": "^6.16"
},
"require-dev": {
"facade/ignition": "^2.5",
@@ -54,7 +56,10 @@
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
- "sort-packages": true
+ "sort-packages": true,
+ "allow-plugins": {
+ "phpstan/extension-installer": true
+ }
},
"minimum-stability": "dev",
"prefer-stable": true
diff --git a/composer.lock b/composer.lock
index c66018c..4f90866 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "610c5aef52fecb32c898536316a4dbd7",
+ "content-hash": "b58534a63ebf96d8d66b784eaf5ed8ab",
"packages": [
{
"name": "asm89/stack-cors",
@@ -122,6 +122,166 @@
],
"time": "2021-08-15T20:50:18+00:00"
},
+ {
+ "name": "codedge/laravel-selfupdater",
+ "version": "3.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/codedge/laravel-selfupdater.git",
+ "reference": "45f8ed72e8a2df57595340c5515ecbfed351df7e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/codedge/laravel-selfupdater/zipball/45f8ed72e8a2df57595340c5515ecbfed351df7e",
+ "reference": "45f8ed72e8a2df57595340c5515ecbfed351df7e",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "ext-zip": "*",
+ "guzzlehttp/guzzle": "^7.4",
+ "laravel/framework": "^8.83.10",
+ "league/uri": "^6.5",
+ "php": "^7.4 || ^8.0 || ^8.1",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan-phpunit": "^1.1"
+ },
+ "require-dev": {
+ "dg/bypass-finals": "^1.3",
+ "mikey179/vfsstream": "^1.6",
+ "mockery/mockery": "^1.5",
+ "orchestra/testbench": "^6.24.1",
+ "phpunit/phpunit": "^9.5.20"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "aliases": {
+ "Updater": "Codedge\\Updater\\UpdaterFacade"
+ },
+ "providers": [
+ "Codedge\\Updater\\UpdaterServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/helpers.php"
+ ],
+ "psr-4": {
+ "Codedge\\Updater\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Holger Lösken",
+ "email": "holger.loesken@codedge.de",
+ "homepage": "https://codedge.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Providing an auto-updating functionality for your self-hosted Laravel application.",
+ "keywords": [
+ "auto update",
+ "auto-update",
+ "laravel",
+ "laravel application",
+ "self update",
+ "self-hosted laravel application",
+ "self-update",
+ "update"
+ ],
+ "support": {
+ "issues": "https://github.com/codedge/laravel-selfupdater/issues",
+ "source": "https://github.com/codedge/laravel-selfupdater"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/codedge",
+ "type": "github"
+ }
+ ],
+ "time": "2022-05-01T16:00:55+00:00"
+ },
+ {
+ "name": "dflydev/dot-access-data",
+ "version": "v3.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/dflydev/dflydev-dot-access-data.git",
+ "reference": "0992cc19268b259a39e86f296da5f0677841f42c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/0992cc19268b259a39e86f296da5f0677841f42c",
+ "reference": "0992cc19268b259a39e86f296da5f0677841f42c",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^0.12.42",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3",
+ "scrutinizer/ocular": "1.6.0",
+ "squizlabs/php_codesniffer": "^3.5",
+ "vimeo/psalm": "^3.14"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Dflydev\\DotAccessData\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Dragonfly Development Inc.",
+ "email": "info@dflydev.com",
+ "homepage": "http://dflydev.com"
+ },
+ {
+ "name": "Beau Simensen",
+ "email": "beau@dflydev.com",
+ "homepage": "http://beausimensen.com"
+ },
+ {
+ "name": "Carlos Frutos",
+ "email": "carlos@kiwing.it",
+ "homepage": "https://github.com/cfrutos"
+ },
+ {
+ "name": "Colin O'Dell",
+ "email": "colinodell@gmail.com",
+ "homepage": "https://www.colinodell.com"
+ }
+ ],
+ "description": "Given a deep data structure, access data by dot notation.",
+ "homepage": "https://github.com/dflydev/dflydev-dot-access-data",
+ "keywords": [
+ "access",
+ "data",
+ "dot",
+ "notation"
+ ],
+ "support": {
+ "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues",
+ "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.1"
+ },
+ "time": "2021-08-13T13:06:58+00:00"
+ },
{
"name": "doctrine/inflector",
"version": "2.0.4",
@@ -681,16 +841,16 @@
},
{
"name": "guzzlehttp/guzzle",
- "version": "7.4.2",
+ "version": "7.4.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
- "reference": "ac1ec1cd9b5624694c3a40be801d94137afb12b4"
+ "reference": "74a8602c6faec9ef74b7a9391ac82c5e65b1cdab"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ac1ec1cd9b5624694c3a40be801d94137afb12b4",
- "reference": "ac1ec1cd9b5624694c3a40be801d94137afb12b4",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/74a8602c6faec9ef74b7a9391ac82c5e65b1cdab",
+ "reference": "74a8602c6faec9ef74b7a9391ac82c5e65b1cdab",
"shasum": ""
},
"require": {
@@ -785,7 +945,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
- "source": "https://github.com/guzzle/guzzle/tree/7.4.2"
+ "source": "https://github.com/guzzle/guzzle/tree/7.4.3"
},
"funding": [
{
@@ -801,7 +961,7 @@
"type": "tidelift"
}
],
- "time": "2022-03-20T14:16:28+00:00"
+ "time": "2022-05-25T13:24:33+00:00"
},
{
"name": "guzzlehttp/promises",
@@ -1004,16 +1164,16 @@
},
{
"name": "laravel/framework",
- "version": "v8.83.13",
+ "version": "v8.83.14",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "1eed68ec70c98d1a7a6f0fcedbea10cb6dd69a20"
+ "reference": "141cf126f1746c7264f59aa78c923a84eaab501e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/1eed68ec70c98d1a7a6f0fcedbea10cb6dd69a20",
- "reference": "1eed68ec70c98d1a7a6f0fcedbea10cb6dd69a20",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/141cf126f1746c7264f59aa78c923a84eaab501e",
+ "reference": "141cf126f1746c7264f59aa78c923a84eaab501e",
"shasum": ""
},
"require": {
@@ -1173,7 +1333,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2022-05-17T14:08:01+00:00"
+ "time": "2022-05-24T14:04:02+00:00"
},
{
"name": "laravel/serializable-closure",
@@ -1304,42 +1464,54 @@
},
{
"name": "league/commonmark",
- "version": "1.6.7",
+ "version": "2.3.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
- "reference": "2b8185c13bc9578367a5bf901881d1c1b5bbd09b"
+ "reference": "cb36fee279f7fca01d5d9399ddd1b37e48e2eca1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2b8185c13bc9578367a5bf901881d1c1b5bbd09b",
- "reference": "2b8185c13bc9578367a5bf901881d1c1b5bbd09b",
+ "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/cb36fee279f7fca01d5d9399ddd1b37e48e2eca1",
+ "reference": "cb36fee279f7fca01d5d9399ddd1b37e48e2eca1",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
- "php": "^7.1 || ^8.0"
- },
- "conflict": {
- "scrutinizer/ocular": "1.7.*"
+ "league/config": "^1.1.1",
+ "php": "^7.4 || ^8.0",
+ "psr/event-dispatcher": "^1.0",
+ "symfony/deprecation-contracts": "^2.1 || ^3.0",
+ "symfony/polyfill-php80": "^1.16"
},
"require-dev": {
- "cebe/markdown": "~1.0",
- "commonmark/commonmark.js": "0.29.2",
- "erusev/parsedown": "~1.0",
+ "cebe/markdown": "^1.0",
+ "commonmark/cmark": "0.30.0",
+ "commonmark/commonmark.js": "0.30.0",
+ "composer/package-versions-deprecated": "^1.8",
+ "embed/embed": "^4.4",
+ "erusev/parsedown": "^1.0",
"ext-json": "*",
"github/gfm": "0.29.0",
- "michelf/php-markdown": "~1.4",
- "mikehaertl/php-shellcommand": "^1.4",
- "phpstan/phpstan": "^0.12.90",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.2",
- "scrutinizer/ocular": "^1.5",
- "symfony/finder": "^4.2"
+ "michelf/php-markdown": "^1.4",
+ "nyholm/psr7": "^1.5",
+ "phpstan/phpstan": "^0.12.88 || ^1.0.0",
+ "phpunit/phpunit": "^9.5.5",
+ "scrutinizer/ocular": "^1.8.1",
+ "symfony/finder": "^5.3",
+ "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0",
+ "unleashedtech/php-coding-standard": "^3.1",
+ "vimeo/psalm": "^4.7.3"
+ },
+ "suggest": {
+ "symfony/yaml": "v2.3+ required if using the Front Matter extension"
},
- "bin": [
- "bin/commonmark"
- ],
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.4-dev"
+ }
+ },
"autoload": {
"psr-4": {
"League\\CommonMark\\": "src"
@@ -1357,7 +1529,7 @@
"role": "Lead Developer"
}
],
- "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)",
+ "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)",
"homepage": "https://commonmark.thephpleague.com",
"keywords": [
"commonmark",
@@ -1371,6 +1543,7 @@
],
"support": {
"docs": "https://commonmark.thephpleague.com/",
+ "forum": "https://github.com/thephpleague/commonmark/discussions",
"issues": "https://github.com/thephpleague/commonmark/issues",
"rss": "https://github.com/thephpleague/commonmark/releases.atom",
"source": "https://github.com/thephpleague/commonmark"
@@ -1393,7 +1566,89 @@
"type": "tidelift"
}
],
- "time": "2022-01-13T17:18:13+00:00"
+ "time": "2022-05-14T15:37:39+00:00"
+ },
+ {
+ "name": "league/config",
+ "version": "v1.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/config.git",
+ "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/config/zipball/a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e",
+ "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e",
+ "shasum": ""
+ },
+ "require": {
+ "dflydev/dot-access-data": "^3.0.1",
+ "nette/schema": "^1.2",
+ "php": "^7.4 || ^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^0.12.90",
+ "phpunit/phpunit": "^9.5.5",
+ "scrutinizer/ocular": "^1.8.1",
+ "unleashedtech/php-coding-standard": "^3.1",
+ "vimeo/psalm": "^4.7.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.2-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "League\\Config\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Colin O'Dell",
+ "email": "colinodell@gmail.com",
+ "homepage": "https://www.colinodell.com",
+ "role": "Lead Developer"
+ }
+ ],
+ "description": "Define configuration arrays with strict schemas and access values with dot notation",
+ "homepage": "https://config.thephpleague.com",
+ "keywords": [
+ "array",
+ "config",
+ "configuration",
+ "dot",
+ "dot-access",
+ "nested",
+ "schema"
+ ],
+ "support": {
+ "docs": "https://config.thephpleague.com/",
+ "issues": "https://github.com/thephpleague/config/issues",
+ "rss": "https://github.com/thephpleague/config/releases.atom",
+ "source": "https://github.com/thephpleague/config"
+ },
+ "funding": [
+ {
+ "url": "https://www.colinodell.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.paypal.me/colinpodell/10.00",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/colinodell",
+ "type": "github"
+ }
+ ],
+ "time": "2021-08-14T12:15:32+00:00"
},
{
"name": "league/flysystem",
@@ -1545,6 +1800,173 @@
],
"time": "2022-04-17T13:12:02+00:00"
},
+ {
+ "name": "league/uri",
+ "version": "6.5.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/uri.git",
+ "reference": "c68ca445abb04817d740ddd6d0b3551826ef0c5a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/uri/zipball/c68ca445abb04817d740ddd6d0b3551826ef0c5a",
+ "reference": "c68ca445abb04817d740ddd6d0b3551826ef0c5a",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "league/uri-interfaces": "^2.3",
+ "php": "^7.3 || ^8.0",
+ "psr/http-message": "^1.0"
+ },
+ "conflict": {
+ "league/uri-schemes": "^1.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^2.19 || ^3.0",
+ "phpstan/phpstan": "^0.12.90",
+ "phpstan/phpstan-phpunit": "^0.12.22",
+ "phpstan/phpstan-strict-rules": "^0.12.11",
+ "phpunit/phpunit": "^8.0 || ^9.0",
+ "psr/http-factory": "^1.0"
+ },
+ "suggest": {
+ "ext-fileinfo": "Needed to create Data URI from a filepath",
+ "ext-intl": "Needed to improve host validation",
+ "league/uri-components": "Needed to easily manipulate URI objects",
+ "psr/http-factory": "Needed to use the URI factory"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "6.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "League\\Uri\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Ignace Nyamagana Butera",
+ "email": "nyamsprod@gmail.com",
+ "homepage": "https://nyamsprod.com"
+ }
+ ],
+ "description": "URI manipulation library",
+ "homepage": "http://uri.thephpleague.com",
+ "keywords": [
+ "data-uri",
+ "file-uri",
+ "ftp",
+ "hostname",
+ "http",
+ "https",
+ "middleware",
+ "parse_str",
+ "parse_url",
+ "psr-7",
+ "query-string",
+ "querystring",
+ "rfc3986",
+ "rfc3987",
+ "rfc6570",
+ "uri",
+ "uri-template",
+ "url",
+ "ws"
+ ],
+ "support": {
+ "docs": "https://uri.thephpleague.com",
+ "forum": "https://thephpleague.slack.com",
+ "issues": "https://github.com/thephpleague/uri/issues",
+ "source": "https://github.com/thephpleague/uri/tree/6.5.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/nyamsprod",
+ "type": "github"
+ }
+ ],
+ "time": "2021-08-27T09:54:07+00:00"
+ },
+ {
+ "name": "league/uri-interfaces",
+ "version": "2.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/uri-interfaces.git",
+ "reference": "00e7e2943f76d8cb50c7dfdc2f6dee356e15e383"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/00e7e2943f76d8cb50c7dfdc2f6dee356e15e383",
+ "reference": "00e7e2943f76d8cb50c7dfdc2f6dee356e15e383",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^2.19",
+ "phpstan/phpstan": "^0.12.90",
+ "phpstan/phpstan-phpunit": "^0.12.19",
+ "phpstan/phpstan-strict-rules": "^0.12.9",
+ "phpunit/phpunit": "^8.5.15 || ^9.5"
+ },
+ "suggest": {
+ "ext-intl": "to use the IDNA feature",
+ "symfony/intl": "to use the IDNA feature via Symfony Polyfill"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "League\\Uri\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Ignace Nyamagana Butera",
+ "email": "nyamsprod@gmail.com",
+ "homepage": "https://nyamsprod.com"
+ }
+ ],
+ "description": "Common interface for URI representation",
+ "homepage": "http://github.com/thephpleague/uri-interfaces",
+ "keywords": [
+ "rfc3986",
+ "rfc3987",
+ "uri",
+ "url"
+ ],
+ "support": {
+ "issues": "https://github.com/thephpleague/uri-interfaces/issues",
+ "source": "https://github.com/thephpleague/uri-interfaces/tree/2.3.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/nyamsprod",
+ "type": "github"
+ }
+ ],
+ "time": "2021-06-28T04:27:21+00:00"
+ },
{
"name": "monolog/monolog",
"version": "2.6.0",
@@ -1746,6 +2168,153 @@
],
"time": "2022-04-25T19:31:17+00:00"
},
+ {
+ "name": "nette/schema",
+ "version": "v1.2.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nette/schema.git",
+ "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nette/schema/zipball/9a39cef03a5b34c7de64f551538cbba05c2be5df",
+ "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df",
+ "shasum": ""
+ },
+ "require": {
+ "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0",
+ "php": ">=7.1 <8.2"
+ },
+ "require-dev": {
+ "nette/tester": "^2.3 || ^2.4",
+ "phpstan/phpstan-nette": "^0.12",
+ "tracy/tracy": "^2.7"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.2-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause",
+ "GPL-2.0-only",
+ "GPL-3.0-only"
+ ],
+ "authors": [
+ {
+ "name": "David Grudl",
+ "homepage": "https://davidgrudl.com"
+ },
+ {
+ "name": "Nette Community",
+ "homepage": "https://nette.org/contributors"
+ }
+ ],
+ "description": "📐 Nette Schema: validating data structures against a given Schema.",
+ "homepage": "https://nette.org",
+ "keywords": [
+ "config",
+ "nette"
+ ],
+ "support": {
+ "issues": "https://github.com/nette/schema/issues",
+ "source": "https://github.com/nette/schema/tree/v1.2.2"
+ },
+ "time": "2021-10-15T11:40:02+00:00"
+ },
+ {
+ "name": "nette/utils",
+ "version": "v3.2.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nette/utils.git",
+ "reference": "0af4e3de4df9f1543534beab255ccf459e7a2c99"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nette/utils/zipball/0af4e3de4df9f1543534beab255ccf459e7a2c99",
+ "reference": "0af4e3de4df9f1543534beab255ccf459e7a2c99",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2 <8.2"
+ },
+ "conflict": {
+ "nette/di": "<3.0.6"
+ },
+ "require-dev": {
+ "nette/tester": "~2.0",
+ "phpstan/phpstan": "^1.0",
+ "tracy/tracy": "^2.3"
+ },
+ "suggest": {
+ "ext-gd": "to use Image",
+ "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()",
+ "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()",
+ "ext-json": "to use Nette\\Utils\\Json",
+ "ext-mbstring": "to use Strings::lower() etc...",
+ "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()",
+ "ext-xml": "to use Strings::length() etc. when mbstring is not available"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.2-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause",
+ "GPL-2.0-only",
+ "GPL-3.0-only"
+ ],
+ "authors": [
+ {
+ "name": "David Grudl",
+ "homepage": "https://davidgrudl.com"
+ },
+ {
+ "name": "Nette Community",
+ "homepage": "https://nette.org/contributors"
+ }
+ ],
+ "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.",
+ "homepage": "https://nette.org",
+ "keywords": [
+ "array",
+ "core",
+ "datetime",
+ "images",
+ "json",
+ "nette",
+ "paginator",
+ "password",
+ "slugify",
+ "string",
+ "unicode",
+ "utf-8",
+ "utility",
+ "validation"
+ ],
+ "support": {
+ "issues": "https://github.com/nette/utils/issues",
+ "source": "https://github.com/nette/utils/tree/v3.2.7"
+ },
+ "time": "2022-01-24T11:29:14+00:00"
+ },
{
"name": "nikic/php-parser",
"version": "v4.13.2",
@@ -1939,21 +2508,177 @@
"time": "2021-12-04T23:24:31+00:00"
},
{
- "name": "psr/container",
- "version": "1.1.1",
+ "name": "phpstan/extension-installer",
+ "version": "1.1.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/container.git",
- "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf"
+ "url": "https://github.com/phpstan/extension-installer.git",
+ "reference": "66c7adc9dfa38b6b5838a9fb728b68a7d8348051"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
- "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf",
+ "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/66c7adc9dfa38b6b5838a9fb728b68a7d8348051",
+ "reference": "66c7adc9dfa38b6b5838a9fb728b68a7d8348051",
"shasum": ""
},
"require": {
- "php": ">=7.2.0"
+ "composer-plugin-api": "^1.1 || ^2.0",
+ "php": "^7.1 || ^8.0",
+ "phpstan/phpstan": ">=0.11.6"
+ },
+ "require-dev": {
+ "composer/composer": "^1.8",
+ "phing/phing": "^2.16.3",
+ "php-parallel-lint/php-parallel-lint": "^1.2.0",
+ "phpstan/phpstan-strict-rules": "^0.11 || ^0.12"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "PHPStan\\ExtensionInstaller\\Plugin"
+ },
+ "autoload": {
+ "psr-4": {
+ "PHPStan\\ExtensionInstaller\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Composer plugin for automatic installation of PHPStan extensions",
+ "support": {
+ "issues": "https://github.com/phpstan/extension-installer/issues",
+ "source": "https://github.com/phpstan/extension-installer/tree/1.1.0"
+ },
+ "time": "2020-12-13T13:06:13+00:00"
+ },
+ {
+ "name": "phpstan/phpstan",
+ "version": "1.7.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpstan/phpstan.git",
+ "reference": "e3baed2ee2ef322e0f9b8fe8f87fdbe024c7c719"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e3baed2ee2ef322e0f9b8fe8f87fdbe024c7c719",
+ "reference": "e3baed2ee2ef322e0f9b8fe8f87fdbe024c7c719",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2|^8.0"
+ },
+ "conflict": {
+ "phpstan/phpstan-shim": "*"
+ },
+ "bin": [
+ "phpstan",
+ "phpstan.phar"
+ ],
+ "type": "library",
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "PHPStan - PHP Static Analysis Tool",
+ "support": {
+ "issues": "https://github.com/phpstan/phpstan/issues",
+ "source": "https://github.com/phpstan/phpstan/tree/1.7.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/ondrejmirtes",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/phpstan",
+ "type": "github"
+ },
+ {
+ "url": "https://www.patreon.com/phpstan",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-05-24T09:05:09+00:00"
+ },
+ {
+ "name": "phpstan/phpstan-phpunit",
+ "version": "1.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpstan/phpstan-phpunit.git",
+ "reference": "4a3c437c09075736285d1cabb5c75bf27ed0bc84"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/4a3c437c09075736285d1cabb5c75bf27ed0bc84",
+ "reference": "4a3c437c09075736285d1cabb5c75bf27ed0bc84",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0",
+ "phpstan/phpstan": "^1.5.0"
+ },
+ "conflict": {
+ "phpunit/phpunit": "<7.0"
+ },
+ "require-dev": {
+ "nikic/php-parser": "^4.13.0",
+ "php-parallel-lint/php-parallel-lint": "^1.2",
+ "phpstan/phpstan-strict-rules": "^1.0",
+ "phpunit/phpunit": "^9.5"
+ },
+ "type": "phpstan-extension",
+ "extra": {
+ "phpstan": {
+ "includes": [
+ "extension.neon",
+ "rules.neon"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PHPStan\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "PHPUnit extensions and rules for PHPStan",
+ "support": {
+ "issues": "https://github.com/phpstan/phpstan-phpunit/issues",
+ "source": "https://github.com/phpstan/phpstan-phpunit/tree/1.1.1"
+ },
+ "time": "2022-04-20T15:24:25+00:00"
+ },
+ {
+ "name": "psr/container",
+ "version": "1.1.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.4.0"
},
"type": "library",
"autoload": {
@@ -1982,9 +2707,9 @@
],
"support": {
"issues": "https://github.com/php-fig/container/issues",
- "source": "https://github.com/php-fig/container/tree/1.1.1"
+ "source": "https://github.com/php-fig/container/tree/1.1.2"
},
- "time": "2021-03-05T17:36:06+00:00"
+ "time": "2021-11-05T16:50:12+00:00"
},
{
"name": "psr/event-dispatcher",
@@ -2299,16 +3024,16 @@
},
{
"name": "psy/psysh",
- "version": "v0.11.2",
+ "version": "v0.11.4",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
- "reference": "7f7da640d68b9c9fec819caae7c744a213df6514"
+ "reference": "05c544b339b112226ad14803e1e5b09a61957454"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/bobthecow/psysh/zipball/7f7da640d68b9c9fec819caae7c744a213df6514",
- "reference": "7f7da640d68b9c9fec819caae7c744a213df6514",
+ "url": "https://api.github.com/repos/bobthecow/psysh/zipball/05c544b339b112226ad14803e1e5b09a61957454",
+ "reference": "05c544b339b112226ad14803e1e5b09a61957454",
"shasum": ""
},
"require": {
@@ -2323,15 +3048,13 @@
"symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4"
},
"require-dev": {
- "bamarni/composer-bin-plugin": "^1.2",
- "hoa/console": "3.17.05.02"
+ "bamarni/composer-bin-plugin": "^1.2"
},
"suggest": {
"ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)",
"ext-pdo-sqlite": "The doc command requires SQLite to work.",
"ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.",
- "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.",
- "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit."
+ "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history."
},
"bin": [
"bin/psysh"
@@ -2371,9 +3094,9 @@
],
"support": {
"issues": "https://github.com/bobthecow/psysh/issues",
- "source": "https://github.com/bobthecow/psysh/tree/v0.11.2"
+ "source": "https://github.com/bobthecow/psysh/tree/v0.11.4"
},
- "time": "2022-02-28T15:28:54+00:00"
+ "time": "2022-05-06T12:49:14+00:00"
},
{
"name": "ralouphie/getallheaders",
@@ -2596,6 +3319,207 @@
],
"time": "2021-09-25T23:10:38+00:00"
},
+ {
+ "name": "spatie/db-dumper",
+ "version": "2.21.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/db-dumper.git",
+ "reference": "05e5955fb882008a8947c5a45146d86cfafa10d1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/db-dumper/zipball/05e5955fb882008a8947c5a45146d86cfafa10d1",
+ "reference": "05e5955fb882008a8947c5a45146d86cfafa10d1",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2|^8.0",
+ "symfony/process": "^4.2|^5.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.0|^8.0|^9.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Spatie\\DbDumper\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Freek Van der Herten",
+ "email": "freek@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "Dump databases",
+ "homepage": "https://github.com/spatie/db-dumper",
+ "keywords": [
+ "database",
+ "db-dumper",
+ "dump",
+ "mysqldump",
+ "spatie"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/db-dumper/issues",
+ "source": "https://github.com/spatie/db-dumper/tree/2.21.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2021-02-24T14:56:42+00:00"
+ },
+ {
+ "name": "spatie/laravel-backup",
+ "version": "6.16.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/laravel-backup.git",
+ "reference": "332fae80b12cacb9e4161824ba195d984b28c8fb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/332fae80b12cacb9e4161824ba195d984b28c8fb",
+ "reference": "332fae80b12cacb9e4161824ba195d984b28c8fb",
+ "shasum": ""
+ },
+ "require": {
+ "ext-zip": "^1.14.0",
+ "illuminate/console": "^6.0|^7.0|^8.0",
+ "illuminate/contracts": "^6.0|^7.0|^8.0",
+ "illuminate/events": "^6.0|^7.0|^8.0",
+ "illuminate/filesystem": "^6.0|^7.0|^8.0",
+ "illuminate/notifications": "^6.0|^7.0|^8.0",
+ "illuminate/support": "^6.0|^7.0|^8.0",
+ "league/flysystem": "^1.0.49",
+ "php": "^7.3|^8.0",
+ "spatie/db-dumper": "^2.12",
+ "spatie/temporary-directory": "^1.1",
+ "symfony/finder": "^4.2|^5.0"
+ },
+ "require-dev": {
+ "laravel/slack-notification-channel": "^2.3",
+ "league/flysystem-aws-s3-v3": "^1.0",
+ "mockery/mockery": "^1.4.2",
+ "orchestra/testbench": "4.*|5.*|6.*",
+ "phpunit/phpunit": "^8.4|^9.0"
+ },
+ "suggest": {
+ "laravel/slack-notification-channel": "Required for sending notifications via Slack"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Spatie\\Backup\\BackupServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/Helpers/functions.php"
+ ],
+ "psr-4": {
+ "Spatie\\Backup\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Freek Van der Herten",
+ "email": "freek@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "A Laravel package to backup your application",
+ "homepage": "https://github.com/spatie/laravel-backup",
+ "keywords": [
+ "backup",
+ "database",
+ "laravel-backup",
+ "spatie"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/laravel-backup/issues",
+ "source": "https://github.com/spatie/laravel-backup/tree/6.16.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/spatie",
+ "type": "github"
+ },
+ {
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "other"
+ }
+ ],
+ "time": "2021-09-12T10:04:18+00:00"
+ },
+ {
+ "name": "spatie/temporary-directory",
+ "version": "1.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/temporary-directory.git",
+ "reference": "f517729b3793bca58f847c5fd383ec16f03ffec6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/f517729b3793bca58f847c5fd383ec16f03ffec6",
+ "reference": "f517729b3793bca58f847c5fd383ec16f03ffec6",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2|^8.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.0|^9.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Spatie\\TemporaryDirectory\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Alex Vanderbist",
+ "email": "alex@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "Easily create, use and destroy temporary directories",
+ "homepage": "https://github.com/spatie/temporary-directory",
+ "keywords": [
+ "php",
+ "spatie",
+ "temporary-directory"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/temporary-directory/issues",
+ "source": "https://github.com/spatie/temporary-directory/tree/1.3.0"
+ },
+ "time": "2020-11-09T15:54:21+00:00"
+ },
{
"name": "swiftmailer/swiftmailer",
"version": "v6.3.0",
@@ -5653,16 +6577,16 @@
},
{
"name": "laravel/sail",
- "version": "v1.14.6",
+ "version": "v1.14.7",
"source": {
"type": "git",
"url": "https://github.com/laravel/sail.git",
- "reference": "f00f3a8f83e71436d473cda7700ae7b4b68d26cc"
+ "reference": "c049316f9bcb02598607307f18b514b66202b639"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/sail/zipball/f00f3a8f83e71436d473cda7700ae7b4b68d26cc",
- "reference": "f00f3a8f83e71436d473cda7700ae7b4b68d26cc",
+ "url": "https://api.github.com/repos/laravel/sail/zipball/c049316f9bcb02598607307f18b514b66202b639",
+ "reference": "c049316f9bcb02598607307f18b514b66202b639",
"shasum": ""
},
"require": {
@@ -5709,7 +6633,7 @@
"issues": "https://github.com/laravel/sail/issues",
"source": "https://github.com/laravel/sail"
},
- "time": "2022-05-18T15:56:59+00:00"
+ "time": "2022-05-21T17:14:14+00:00"
},
{
"name": "mockery/mockery",
@@ -7712,5 +8636,5 @@
"php": "^7.3|^8.0"
},
"platform-dev": [],
- "plugin-api-version": "2.3.0"
+ "plugin-api-version": "2.2.0"
}
diff --git a/config/backup.php b/config/backup.php
new file mode 100644
index 0000000..13056a8
--- /dev/null
+++ b/config/backup.php
@@ -0,0 +1,243 @@
+ [
+
+ /*
+ * The name of this application. You can use this name to monitor
+ * the backups.
+ */
+ 'name' => 'updater-backups',
+
+ 'source' => [
+
+ 'files' => [
+
+ /*
+ * The list of directories and files that will be included in the backup.
+ */
+ 'include' => [
+ base_path(),
+ ],
+
+ /*
+ * These directories and files will be excluded from the backup.
+ *
+ * Directories used by the backup process will automatically be excluded.
+ */
+ 'exclude' => [
+ base_path('backups'),
+ ],
+
+ /*
+ * Determines if symlinks should be followed.
+ */
+ 'follow_links' => false,
+
+ /*
+ * Determines if it should avoid unreadable folders.
+ */
+ 'ignore_unreadable_directories' => false,
+
+ /*
+ * This path is used to make directories in resulting zip-file relative
+ * Set to `null` to include complete absolute path
+ * Example: base_path()
+ */
+ 'relative_path' => null,
+ ],
+
+ /*
+ * The names of the connections to the databases that should be backed up
+ * MySQL, PostgreSQL, SQLite and Mongo databases are supported.
+ *
+ * The content of the database dump may be customized for each connection
+ * by adding a 'dump' key to the connection settings in config/database.php.
+ * E.g.
+ * 'mysql' => [
+ * ...
+ * 'dump' => [
+ * 'excludeTables' => [
+ * 'table_to_exclude_from_backup',
+ * 'another_table_to_exclude'
+ * ]
+ * ],
+ * ],
+ *
+ * If you are using only InnoDB tables on a MySQL server, you can
+ * also supply the useSingleTransaction option to avoid table locking.
+ *
+ * E.g.
+ * 'mysql' => [
+ * ...
+ * 'dump' => [
+ * 'useSingleTransaction' => true,
+ * ],
+ * ],
+ *
+ * For a complete list of available customization options, see https://github.com/spatie/db-dumper
+ */
+ 'databases' => [
+ 'sqlite',
+ ],
+ ],
+
+ /*
+ * The database dump can be compressed to decrease diskspace usage.
+ *
+ * Out of the box Laravel-backup supplies
+ * Spatie\DbDumper\Compressors\GzipCompressor::class.
+ *
+ * You can also create custom compressor. More info on that here:
+ * https://github.com/spatie/db-dumper#using-compression
+ *
+ * If you do not want any compressor at all, set it to null.
+ */
+ 'database_dump_compressor' => null,
+
+ /*
+ * The file extension used for the database dump files.
+ *
+ * If not specified, the file extension will be .archive for MongoDB and .sql for all other databases
+ * The file extension should be specified without a leading .
+ */
+ 'database_dump_file_extension' => '',
+
+ 'destination' => [
+
+ /*
+ * The filename prefix used for the backup zip file.
+ */
+ 'filename_prefix' => '',
+
+ /*
+ * The disk names on which the backups will be stored.
+ */
+ 'disks' => [
+ 'backups',
+ ],
+ ],
+
+ /*
+ * The directory where the temporary files will be stored.
+ */
+ 'temporary_directory' => base_path('backups'),
+
+ /*
+ * The password to be used for archive encryption.
+ * Set to `null` to disable encryption.
+ */
+ 'password' => env('BACKUP_ARCHIVE_PASSWORD'),
+
+ /*
+ * The encryption algorithm to be used for archive encryption.
+ * You can set it to `null` or `false` to disable encryption.
+ *
+ * When set to 'default', we'll use ZipArchive::EM_AES_256 if it is
+ * available on your system.
+ */
+ 'encryption' => null,
+ ],
+
+ /*
+ * You can get notified when specific events occur. Out of the box you can use 'mail' and 'slack'.
+ * For Slack you need to install laravel/slack-notification-channel.
+ *
+ * You can also use your own notification classes, just make sure the class is named after one of
+ * the `Spatie\Backup\Events` classes.
+ */
+ 'notifications' => [
+
+ 'notifications' => [
+ \Spatie\Backup\Notifications\Notifications\BackupHasFailed::class => ['mail'],
+ \Spatie\Backup\Notifications\Notifications\UnhealthyBackupWasFound::class => ['mail'],
+ \Spatie\Backup\Notifications\Notifications\CleanupHasFailed::class => ['mail'],
+ \Spatie\Backup\Notifications\Notifications\BackupWasSuccessful::class => ['mail'],
+ \Spatie\Backup\Notifications\Notifications\HealthyBackupWasFound::class => ['mail'],
+ \Spatie\Backup\Notifications\Notifications\CleanupWasSuccessful::class => ['mail'],
+ ],
+
+ /*
+ * Here you can specify the notifiable to which the notifications should be sent. The default
+ * notifiable will use the variables specified in this config file.
+ */
+ 'notifiable' => \Spatie\Backup\Notifications\Notifiable::class,
+
+ ],
+
+ /*
+ * Here you can specify which backups should be monitored.
+ * If a backup does not meet the specified requirements the
+ * UnHealthyBackupWasFound event will be fired.
+ */
+ 'monitor_backups' => [
+ [
+ 'name' => env('APP_NAME', 'laravel-backup'),
+ 'disks' => ['local'],
+ 'health_checks' => [
+ \Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumAgeInDays::class => 1,
+ \Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumStorageInMegabytes::class => 5000,
+ ],
+ ],
+
+ /*
+ [
+ 'name' => 'name of the second app',
+ 'disks' => ['local', 's3'],
+ 'health_checks' => [
+ \Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumAgeInDays::class => 1,
+ \Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumStorageInMegabytes::class => 5000,
+ ],
+ ],
+ */
+ ],
+
+ 'cleanup' => [
+ /*
+ * The strategy that will be used to cleanup old backups. The default strategy
+ * will keep all backups for a certain amount of days. After that period only
+ * a daily backup will be kept. After that period only weekly backups will
+ * be kept and so on.
+ *
+ * No matter how you configure it the default strategy will never
+ * delete the newest backup.
+ */
+ 'strategy' => \Spatie\Backup\Tasks\Cleanup\Strategies\DefaultStrategy::class,
+
+ 'default_strategy' => [
+
+ /*
+ * The number of days for which backups must be kept.
+ */
+ 'keep_all_backups_for_days' => 0,
+
+ /*
+ * The number of days for which daily backups must be kept.
+ */
+ 'keep_daily_backups_for_days' => 0,
+
+ /*
+ * The number of weeks for which one weekly backup must be kept.
+ */
+ 'keep_weekly_backups_for_weeks' => 0,
+
+ /*
+ * The number of months for which one monthly backup must be kept.
+ */
+ 'keep_monthly_backups_for_months' => 0,
+
+ /*
+ * The number of years for which one yearly backup must be kept.
+ */
+ 'keep_yearly_backups_for_years' => 0,
+
+ /*
+ * After cleaning up the backups remove the oldest backup until
+ * this amount of megabytes has been reached.
+ */
+ 'delete_oldest_backups_when_using_more_megabytes_than' => 0,
+ ],
+ ],
+
+];
diff --git a/config/filesystems.php b/config/filesystems.php
index 6895c44..2cf77dc 100755
--- a/config/filesystems.php
+++ b/config/filesystems.php
@@ -35,6 +35,11 @@ return [
'root' => storage_path('app'),
],
+ 'backups' => [
+ 'driver' => 'local',
+ 'root' => base_path('backups'),
+ ],
+
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
diff --git a/config/self-update.php b/config/self-update.php
new file mode 100644
index 0000000..a867c11
--- /dev/null
+++ b/config/self-update.php
@@ -0,0 +1,155 @@
+ env('SELF_UPDATER_SOURCE', 'http'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Version installed
+ |--------------------------------------------------------------------------
+ |
+ | Set this to the version of your software installed on your system.
+ |
+ */
+
+ 'version_installed' => file_get_contents(base_path("version.json")),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Repository types
+ |--------------------------------------------------------------------------
+ |
+ | A repository can be of different types, which can be specified here.
+ | Current options:
+ | - github
+ | - gitlab
+ | - http
+ |
+ */
+
+ 'repository_types' => [
+ 'github' => [
+ 'type' => 'github',
+ 'repository_vendor' => env('SELF_UPDATER_REPO_VENDOR', ''),
+ 'repository_name' => env('SELF_UPDATER_REPO_NAME', ''),
+ 'repository_url' => '',
+ 'download_path' => env('SELF_UPDATER_DOWNLOAD_PATH', '/tmp'),
+ 'private_access_token' => env('SELF_UPDATER_GITHUB_PRIVATE_ACCESS_TOKEN', ''),
+ 'use_branch' => env('SELF_UPDATER_USE_BRANCH', ''),
+ ],
+ 'gitlab' => [
+ 'type' => 'gitlab',
+ 'repository_id' => env('SELF_UPDATER_REPO_URL', ''),
+ 'download_path' => env('SELF_UPDATER_DOWNLOAD_PATH', '/tmp'),
+ 'private_access_token' => env('SELF_UPDATER_GITLAB_PRIVATE_ACCESS_TOKEN', ''),
+ ],
+ 'http' => [
+ 'type' => 'http',
+ 'repository_url' => env('SELF_UPDATER_REPO_URL', 'https://update.littlelink-custom.com/'),
+ 'pkg_filename_format' => env('SELF_UPDATER_PKG_FILENAME_FORMAT', '_VERSION_'),
+ 'download_path' => env('SELF_UPDATER_DOWNLOAD_PATH', '/tmp'),
+ 'private_access_token' => env('SELF_UPDATER_HTTP_PRIVATE_ACCESS_TOKEN', ''),
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Exclude folders from update
+ |--------------------------------------------------------------------------
+ |
+ | Specific folders which should not be updated and will be skipped during the
+ | update process.
+ |
+ | Here's already a list of good examples to skip. You may want to keep those.
+ |
+ */
+
+ 'exclude_folders' => [
+ '__MACOSX',
+ 'node_modules',
+ 'bootstrap/cache',
+ 'bower',
+ 'storage/app',
+ 'storage/framework',
+ 'storage/logs',
+ 'storage/self-update',
+ 'vendor',
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Event Logging
+ |--------------------------------------------------------------------------
+ |
+ | Configure if fired events should be logged
+ |
+ */
+
+ 'log_events' => env('SELF_UPDATER_LOG_EVENTS', true),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Notifications
+ |--------------------------------------------------------------------------
+ |
+ | Specify for which events you want to get notifications. Out of the box you can use 'mail'.
+ |
+ */
+
+ 'notifications' => [
+ 'notifications' => [
+ \Codedge\Updater\Notifications\Notifications\UpdateSucceeded::class => ['mail'],
+ \Codedge\Updater\Notifications\Notifications\UpdateFailed::class => ['mail'],
+ \Codedge\Updater\Notifications\Notifications\UpdateAvailable::class => ['mail'],
+ ],
+
+ /*
+ * Here you can specify the notifiable to which the notifications should be sent. The default
+ * notifiable will use the variables specified in this config file.
+ */
+ 'notifiable' => \Codedge\Updater\Notifications\Notifiable::class,
+
+ 'mail' => [
+ 'to' => [
+ 'address' => env('SELF_UPDATER_MAILTO_ADDRESS', 'notifications@example.com'),
+ 'name' => env('SELF_UPDATER_MAILTO_NAME', ''),
+ ],
+
+ 'from' => [
+ 'address' => env('SELF_UPDATER_MAIL_FROM_ADDRESS', 'updater@example.com'),
+ 'name' => env('SELF_UPDATER_MAIL_FROM_NAME', 'Update'),
+ ],
+ ],
+ ],
+
+ /*
+ |---------------------------------------------------------------------------
+ | Register custom artisan commands
+ |---------------------------------------------------------------------------
+ */
+
+ 'artisan_commands' => [
+ 'pre_update' => [
+ //'command:signature' => [
+ // 'class' => Command class
+ // 'params' => []
+ //]
+ ],
+ 'post_update' => [
+
+ ],
+ ],
+
+];
diff --git a/resources/lang/vendor/backup/ar/notifications.php b/resources/lang/vendor/backup/ar/notifications.php
new file mode 100644
index 0000000..f84de9c
--- /dev/null
+++ b/resources/lang/vendor/backup/ar/notifications.php
@@ -0,0 +1,35 @@
+ 'رسالة استثناء: :message',
+ 'exception_trace' => 'تتبع الإستثناء: :trace',
+ 'exception_message_title' => 'رسالة استثناء',
+ 'exception_trace_title' => 'تتبع الإستثناء',
+
+ 'backup_failed_subject' => 'أخفق النسخ الاحتياطي لل :application_name',
+ 'backup_failed_body' => 'مهم: حدث خطأ أثناء النسخ الاحتياطي :application_name',
+
+ 'backup_successful_subject' => 'نسخ احتياطي جديد ناجح ل :application_name',
+ 'backup_successful_subject_title' => 'نجاح النسخ الاحتياطي الجديد!',
+ 'backup_successful_body' => 'أخبار عظيمة، نسخة احتياطية جديدة ل :application_name تم إنشاؤها بنجاح على القرص المسمى :disk_name.',
+
+ 'cleanup_failed_subject' => 'فشل تنظيف النسخ الاحتياطي للتطبيق :application_name .',
+ 'cleanup_failed_body' => 'حدث خطأ أثناء تنظيف النسخ الاحتياطية ل :application_name',
+
+ 'cleanup_successful_subject' => 'تنظيف النسخ الاحتياطية ل :application_name تمت بنجاح',
+ 'cleanup_successful_subject_title' => 'تنظيف النسخ الاحتياطية تم بنجاح!',
+ 'cleanup_successful_body' => 'تنظيف النسخ الاحتياطية ل :application_name على القرص المسمى :disk_name تم بنجاح.',
+
+ 'healthy_backup_found_subject' => 'النسخ الاحتياطية ل :application_name على القرص :disk_name صحية',
+ 'healthy_backup_found_subject_title' => 'النسخ الاحتياطية ل :application_name صحية',
+ 'healthy_backup_found_body' => 'تعتبر النسخ الاحتياطية ل :application_name صحية. عمل جيد!',
+
+ 'unhealthy_backup_found_subject' => 'مهم: النسخ الاحتياطية ل :application_name غير صحية',
+ 'unhealthy_backup_found_subject_title' => 'مهم: النسخ الاحتياطية ل :application_name غير صحية. :problem',
+ 'unhealthy_backup_found_body' => 'النسخ الاحتياطية ل :application_name على القرص :disk_name غير صحية.',
+ 'unhealthy_backup_found_not_reachable' => 'لا يمكن الوصول إلى وجهة النسخ الاحتياطي. :error',
+ 'unhealthy_backup_found_empty' => 'لا توجد نسخ احتياطية لهذا التطبيق على الإطلاق.',
+ 'unhealthy_backup_found_old' => 'تم إنشاء أحدث النسخ الاحتياطية في :date وتعتبر قديمة جدا.',
+ 'unhealthy_backup_found_unknown' => 'عذرا، لا يمكن تحديد سبب دقيق.',
+ 'unhealthy_backup_found_full' => 'النسخ الاحتياطية تستخدم الكثير من التخزين. الاستخدام الحالي هو :disk_usage وهو أعلى من الحد المسموح به من :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/cs/notifications.php b/resources/lang/vendor/backup/cs/notifications.php
new file mode 100644
index 0000000..947eb43
--- /dev/null
+++ b/resources/lang/vendor/backup/cs/notifications.php
@@ -0,0 +1,35 @@
+ 'Zpráva výjimky: :message',
+ 'exception_trace' => 'Stopa výjimky: :trace',
+ 'exception_message_title' => 'Zpráva výjimky',
+ 'exception_trace_title' => 'Stopa výjimky',
+
+ 'backup_failed_subject' => 'Záloha :application_name neuspěla',
+ 'backup_failed_body' => 'Důležité: Při záloze :application_name se vyskytla chyba',
+
+ 'backup_successful_subject' => 'Úspěšná nová záloha :application_name',
+ 'backup_successful_subject_title' => 'Úspěšná nová záloha!',
+ 'backup_successful_body' => 'Dobrá zpráva, na disku jménem :disk_name byla úspěšně vytvořena nová záloha :application_name.',
+
+ 'cleanup_failed_subject' => 'Vyčištění záloh :application_name neuspělo.',
+ 'cleanup_failed_body' => 'Při vyčištění záloh :application_name se vyskytla chyba',
+
+ 'cleanup_successful_subject' => 'Vyčištění záloh :application_name úspěšné',
+ 'cleanup_successful_subject_title' => 'Vyčištění záloh bylo úspěšné!',
+ 'cleanup_successful_body' => 'Vyčištění záloh :application_name na disku jménem :disk_name bylo úspěšné.',
+
+ 'healthy_backup_found_subject' => 'Zálohy pro :application_name na disku :disk_name jsou zdravé',
+ 'healthy_backup_found_subject_title' => 'Zálohy pro :application_name jsou zdravé',
+ 'healthy_backup_found_body' => 'Zálohy pro :application_name jsou považovány za zdravé. Dobrá práce!',
+
+ 'unhealthy_backup_found_subject' => 'Důležité: Zálohy pro :application_name jsou nezdravé',
+ 'unhealthy_backup_found_subject_title' => 'Důležité: Zálohy pro :application_name jsou nezdravé. :problem',
+ 'unhealthy_backup_found_body' => 'Zálohy pro :application_name na disku :disk_name Jsou nezdravé.',
+ 'unhealthy_backup_found_not_reachable' => 'Nelze se dostat k cíli zálohy. :error',
+ 'unhealthy_backup_found_empty' => 'Tato aplikace nemá vůbec žádné zálohy.',
+ 'unhealthy_backup_found_old' => 'Poslední záloha vytvořená dne :date je považována za příliš starou.',
+ 'unhealthy_backup_found_unknown' => 'Omlouváme se, nemůžeme určit přesný důvod.',
+ 'unhealthy_backup_found_full' => 'Zálohy zabírají příliš mnoho místa na disku. Aktuální využití disku je :disk_usage, což je vyšší než povolený limit :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/da/notifications.php b/resources/lang/vendor/backup/da/notifications.php
new file mode 100644
index 0000000..e7b95fc
--- /dev/null
+++ b/resources/lang/vendor/backup/da/notifications.php
@@ -0,0 +1,35 @@
+ 'Fejlbesked: :message',
+ 'exception_trace' => 'Fejl trace: :trace',
+ 'exception_message_title' => 'Fejlbesked',
+ 'exception_trace_title' => 'Fejl trace',
+
+ 'backup_failed_subject' => 'Backup af :application_name fejlede',
+ 'backup_failed_body' => 'Vigtigt: Der skete en fejl under backup af :application_name',
+
+ 'backup_successful_subject' => 'Ny backup af :application_name oprettet',
+ 'backup_successful_subject_title' => 'Ny backup!',
+ 'backup_successful_body' => 'Gode nyheder - der blev oprettet en ny backup af :application_name på disken :disk_name.',
+
+ 'cleanup_failed_subject' => 'Oprydning af backups for :application_name fejlede.',
+ 'cleanup_failed_body' => 'Der skete en fejl under oprydning af backups for :application_name',
+
+ 'cleanup_successful_subject' => 'Oprydning af backups for :application_name gennemført',
+ 'cleanup_successful_subject_title' => 'Backup oprydning gennemført!',
+ 'cleanup_successful_body' => 'Oprydningen af backups for :application_name på disken :disk_name er gennemført.',
+
+ 'healthy_backup_found_subject' => 'Alle backups for :application_name på disken :disk_name er OK',
+ 'healthy_backup_found_subject_title' => 'Alle backups for :application_name er OK',
+ 'healthy_backup_found_body' => 'Alle backups for :application_name er ok. Godt gået!',
+
+ 'unhealthy_backup_found_subject' => 'Vigtigt: Backups for :application_name fejlbehæftede',
+ 'unhealthy_backup_found_subject_title' => 'Vigtigt: Backups for :application_name er fejlbehæftede. :problem',
+ 'unhealthy_backup_found_body' => 'Backups for :application_name på disken :disk_name er fejlbehæftede.',
+ 'unhealthy_backup_found_not_reachable' => 'Backup destinationen kunne ikke findes. :error',
+ 'unhealthy_backup_found_empty' => 'Denne applikation har ingen backups overhovedet.',
+ 'unhealthy_backup_found_old' => 'Den seneste backup fra :date er for gammel.',
+ 'unhealthy_backup_found_unknown' => 'Beklager, en præcis årsag kunne ikke findes.',
+ 'unhealthy_backup_found_full' => 'Backups bruger for meget plads. Nuværende disk forbrug er :disk_usage, hvilket er mere end den tilladte grænse på :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/de/notifications.php b/resources/lang/vendor/backup/de/notifications.php
new file mode 100644
index 0000000..2d87d8f
--- /dev/null
+++ b/resources/lang/vendor/backup/de/notifications.php
@@ -0,0 +1,35 @@
+ 'Fehlermeldung: :message',
+ 'exception_trace' => 'Fehlerverfolgung: :trace',
+ 'exception_message_title' => 'Fehlermeldung',
+ 'exception_trace_title' => 'Fehlerverfolgung',
+
+ 'backup_failed_subject' => 'Backup von :application_name konnte nicht erstellt werden',
+ 'backup_failed_body' => 'Wichtig: Beim Backup von :application_name ist ein Fehler aufgetreten',
+
+ 'backup_successful_subject' => 'Erfolgreiches neues Backup von :application_name',
+ 'backup_successful_subject_title' => 'Erfolgreiches neues Backup!',
+ 'backup_successful_body' => 'Gute Nachrichten, ein neues Backup von :application_name wurde erfolgreich erstellt und in :disk_name gepeichert.',
+
+ 'cleanup_failed_subject' => 'Aufräumen der Backups von :application_name schlug fehl.',
+ 'cleanup_failed_body' => 'Beim aufräumen der Backups von :application_name ist ein Fehler aufgetreten',
+
+ 'cleanup_successful_subject' => 'Aufräumen der Backups von :application_name backups erfolgreich',
+ 'cleanup_successful_subject_title' => 'Aufräumen der Backups erfolgreich!',
+ 'cleanup_successful_body' => 'Aufräumen der Backups von :application_name in :disk_name war erfolgreich.',
+
+ 'healthy_backup_found_subject' => 'Die Backups von :application_name in :disk_name sind gesund',
+ 'healthy_backup_found_subject_title' => 'Die Backups von :application_name sind Gesund',
+ 'healthy_backup_found_body' => 'Die Backups von :application_name wurden als gesund eingestuft. Gute Arbeit!',
+
+ 'unhealthy_backup_found_subject' => 'Wichtig: Die Backups für :application_name sind nicht gesund',
+ 'unhealthy_backup_found_subject_title' => 'Wichtig: Die Backups für :application_name sind ungesund. :problem',
+ 'unhealthy_backup_found_body' => 'Die Backups für :application_name in :disk_name sind ungesund.',
+ 'unhealthy_backup_found_not_reachable' => 'Das Backup Ziel konnte nicht erreicht werden. :error',
+ 'unhealthy_backup_found_empty' => 'Es gibt für die Anwendung noch gar keine Backups.',
+ 'unhealthy_backup_found_old' => 'Das letzte Backup am :date ist zu lange her.',
+ 'unhealthy_backup_found_unknown' => 'Sorry, ein genauer Grund konnte nicht gefunden werden.',
+ 'unhealthy_backup_found_full' => 'Die Backups verbrauchen zu viel Platz. Aktuell wird :disk_usage belegt, dass ist höher als das erlaubte Limit von :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/en/notifications.php b/resources/lang/vendor/backup/en/notifications.php
new file mode 100644
index 0000000..d7a1128
--- /dev/null
+++ b/resources/lang/vendor/backup/en/notifications.php
@@ -0,0 +1,35 @@
+ 'Exception message: :message',
+ 'exception_trace' => 'Exception trace: :trace',
+ 'exception_message_title' => 'Exception message',
+ 'exception_trace_title' => 'Exception trace',
+
+ 'backup_failed_subject' => 'Failed backup of :application_name',
+ 'backup_failed_body' => 'Important: An error occurred while backing up :application_name',
+
+ 'backup_successful_subject' => 'Successful new backup of :application_name',
+ 'backup_successful_subject_title' => 'Successful new backup!',
+ 'backup_successful_body' => 'Great news, a new backup of :application_name was successfully created on the disk named :disk_name.',
+
+ 'cleanup_failed_subject' => 'Cleaning up the backups of :application_name failed.',
+ 'cleanup_failed_body' => 'An error occurred while cleaning up the backups of :application_name',
+
+ 'cleanup_successful_subject' => 'Clean up of :application_name backups successful',
+ 'cleanup_successful_subject_title' => 'Clean up of backups successful!',
+ 'cleanup_successful_body' => 'The clean up of the :application_name backups on the disk named :disk_name was successful.',
+
+ 'healthy_backup_found_subject' => 'The backups for :application_name on disk :disk_name are healthy',
+ 'healthy_backup_found_subject_title' => 'The backups for :application_name are healthy',
+ 'healthy_backup_found_body' => 'The backups for :application_name are considered healthy. Good job!',
+
+ 'unhealthy_backup_found_subject' => 'Important: The backups for :application_name are unhealthy',
+ 'unhealthy_backup_found_subject_title' => 'Important: The backups for :application_name are unhealthy. :problem',
+ 'unhealthy_backup_found_body' => 'The backups for :application_name on disk :disk_name are unhealthy.',
+ 'unhealthy_backup_found_not_reachable' => 'The backup destination cannot be reached. :error',
+ 'unhealthy_backup_found_empty' => 'There are no backups of this application at all.',
+ 'unhealthy_backup_found_old' => 'The latest backup made on :date is considered too old.',
+ 'unhealthy_backup_found_unknown' => 'Sorry, an exact reason cannot be determined.',
+ 'unhealthy_backup_found_full' => 'The backups are using too much storage. Current usage is :disk_usage which is higher than the allowed limit of :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/es/notifications.php b/resources/lang/vendor/backup/es/notifications.php
new file mode 100644
index 0000000..4f4900f
--- /dev/null
+++ b/resources/lang/vendor/backup/es/notifications.php
@@ -0,0 +1,35 @@
+ 'Mensaje de la excepción: :message',
+ 'exception_trace' => 'Traza de la excepción: :trace',
+ 'exception_message_title' => 'Mensaje de la excepción',
+ 'exception_trace_title' => 'Traza de la excepción',
+
+ 'backup_failed_subject' => 'Copia de seguridad de :application_name fallida',
+ 'backup_failed_body' => 'Importante: Ocurrió un error al realizar la copia de seguridad de :application_name',
+
+ 'backup_successful_subject' => 'Se completó con éxito la copia de seguridad de :application_name',
+ 'backup_successful_subject_title' => '¡Nueva copia de seguridad creada con éxito!',
+ 'backup_successful_body' => 'Buenas noticias, una nueva copia de seguridad de :application_name fue creada con éxito en el disco llamado :disk_name.',
+
+ 'cleanup_failed_subject' => 'La limpieza de copias de seguridad de :application_name falló.',
+ 'cleanup_failed_body' => 'Ocurrió un error mientras se realizaba la limpieza de copias de seguridad de :application_name',
+
+ 'cleanup_successful_subject' => 'La limpieza de copias de seguridad de :application_name se completó con éxito',
+ 'cleanup_successful_subject_title' => '!Limpieza de copias de seguridad completada con éxito!',
+ 'cleanup_successful_body' => 'La limpieza de copias de seguridad de :application_name en el disco llamado :disk_name se completo con éxito.',
+
+ 'healthy_backup_found_subject' => 'Las copias de seguridad de :application_name en el disco :disk_name están en buen estado',
+ 'healthy_backup_found_subject_title' => 'Las copias de seguridad de :application_name están en buen estado',
+ 'healthy_backup_found_body' => 'Las copias de seguridad de :application_name se consideran en buen estado. ¡Buen trabajo!',
+
+ 'unhealthy_backup_found_subject' => 'Importante: Las copias de seguridad de :application_name están en mal estado',
+ 'unhealthy_backup_found_subject_title' => 'Importante: Las copias de seguridad de :application_name están en mal estado. :problem',
+ 'unhealthy_backup_found_body' => 'Las copias de seguridad de :application_name en el disco :disk_name están en mal estado.',
+ 'unhealthy_backup_found_not_reachable' => 'No se puede acceder al destino de la copia de seguridad. :error',
+ 'unhealthy_backup_found_empty' => 'No existe ninguna copia de seguridad de esta aplicación.',
+ 'unhealthy_backup_found_old' => 'La última copia de seguriad hecha en :date es demasiado antigua.',
+ 'unhealthy_backup_found_unknown' => 'Lo siento, no es posible determinar la razón exacta.',
+ 'unhealthy_backup_found_full' => 'Las copias de seguridad están ocupando demasiado espacio. El espacio utilizado actualmente es :disk_usage el cual es mayor que el límite permitido de :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/fa/notifications.php b/resources/lang/vendor/backup/fa/notifications.php
new file mode 100644
index 0000000..33cbe33
--- /dev/null
+++ b/resources/lang/vendor/backup/fa/notifications.php
@@ -0,0 +1,35 @@
+ 'پیغام خطا: :message',
+ 'exception_trace' => 'جزییات خطا: :trace',
+ 'exception_message_title' => 'پیغام خطا',
+ 'exception_trace_title' => 'جزییات خطا',
+
+ 'backup_failed_subject' => 'پشتیبانگیری :application_name با خطا مواجه شد.',
+ 'backup_failed_body' => 'پیغام مهم: هنگام پشتیبانگیری از :application_name خطایی رخ داده است. ',
+
+ 'backup_successful_subject' => 'نسخه پشتیبان جدید :application_name با موفقیت ساخته شد.',
+ 'backup_successful_subject_title' => 'پشتیبانگیری موفق!',
+ 'backup_successful_body' => 'خبر خوب, به تازگی نسخه پشتیبان :application_name بر روی دیسک :disk_name با موفقیت ساخته شد. ',
+
+ 'cleanup_failed_subject' => 'پاکسازی نسخه پشتیبان :application_name انجام نشد.',
+ 'cleanup_failed_body' => 'هنگام پاکسازی نسخه پشتیبان :application_name خطایی رخ داده است.',
+
+ 'cleanup_successful_subject' => 'پاکسازی نسخه پشتیبان :application_name با موفقیت انجام شد.',
+ 'cleanup_successful_subject_title' => 'پاکسازی نسخه پشتیبان!',
+ 'cleanup_successful_body' => 'پاکسازی نسخه پشتیبان :application_name بر روی دیسک :disk_name با موفقیت انجام شد.',
+
+ 'healthy_backup_found_subject' => 'نسخه پشتیبان :application_name بر روی دیسک :disk_name سالم بود.',
+ 'healthy_backup_found_subject_title' => 'نسخه پشتیبان :application_name سالم بود.',
+ 'healthy_backup_found_body' => 'نسخه پشتیبان :application_name به نظر سالم میاد. دمت گرم!',
+
+ 'unhealthy_backup_found_subject' => 'خبر مهم: نسخه پشتیبان :application_name سالم نبود.',
+ 'unhealthy_backup_found_subject_title' => 'خبر مهم: نسخه پشتیبان :application_name سالم نبود. :problem',
+ 'unhealthy_backup_found_body' => 'نسخه پشتیبان :application_name بر روی دیسک :disk_name سالم نبود.',
+ 'unhealthy_backup_found_not_reachable' => 'مقصد پشتیبانگیری در دسترس نبود. :error',
+ 'unhealthy_backup_found_empty' => 'برای این برنامه هیچ نسخه پشتیبانی وجود ندارد.',
+ 'unhealthy_backup_found_old' => 'آخرین نسخه پشتیبان برای تاریخ :date است. که به نظر خیلی قدیمی میاد. ',
+ 'unhealthy_backup_found_unknown' => 'متاسفانه دلیل دقیق مشخص نشده است.',
+ 'unhealthy_backup_found_full' => 'نسخههای پشتیبانی که تهیه کرده اید حجم زیادی اشغال کرده اند. میزان دیسک استفاده شده :disk_usage است که از میزان مجاز :disk_limit فراتر رفته است. ',
+];
diff --git a/resources/lang/vendor/backup/fi/notifications.php b/resources/lang/vendor/backup/fi/notifications.php
new file mode 100644
index 0000000..85e3607
--- /dev/null
+++ b/resources/lang/vendor/backup/fi/notifications.php
@@ -0,0 +1,35 @@
+ 'Virheilmoitus: :message',
+ 'exception_trace' => 'Virhe, jäljitys: :trace',
+ 'exception_message_title' => 'Virheilmoitus',
+ 'exception_trace_title' => 'Virheen jäljitys',
+
+ 'backup_failed_subject' => ':application_name varmuuskopiointi epäonnistui',
+ 'backup_failed_body' => 'HUOM!: :application_name varmuuskoipionnissa tapahtui virhe',
+
+ 'backup_successful_subject' => ':application_name varmuuskopioitu onnistuneesti',
+ 'backup_successful_subject_title' => 'Uusi varmuuskopio!',
+ 'backup_successful_body' => 'Hyviä uutisia! :application_name on varmuuskopioitu levylle :disk_name.',
+
+ 'cleanup_failed_subject' => ':application_name varmuuskopioiden poistaminen epäonnistui.',
+ 'cleanup_failed_body' => ':application_name varmuuskopioiden poistamisessa tapahtui virhe.',
+
+ 'cleanup_successful_subject' => ':application_name varmuuskopiot poistettu onnistuneesti',
+ 'cleanup_successful_subject_title' => 'Varmuuskopiot poistettu onnistuneesti!',
+ 'cleanup_successful_body' => ':application_name varmuuskopiot poistettu onnistuneesti levyltä :disk_name.',
+
+ 'healthy_backup_found_subject' => ':application_name varmuuskopiot levyllä :disk_name ovat kunnossa',
+ 'healthy_backup_found_subject_title' => ':application_name varmuuskopiot ovat kunnossa',
+ 'healthy_backup_found_body' => ':application_name varmuuskopiot ovat kunnossa. Hieno homma!',
+
+ 'unhealthy_backup_found_subject' => 'HUOM!: :application_name varmuuskopiot ovat vialliset',
+ 'unhealthy_backup_found_subject_title' => 'HUOM!: :application_name varmuuskopiot ovat vialliset. :problem',
+ 'unhealthy_backup_found_body' => ':application_name varmuuskopiot levyllä :disk_name ovat vialliset.',
+ 'unhealthy_backup_found_not_reachable' => 'Varmuuskopioiden kohdekansio ei ole saatavilla. :error',
+ 'unhealthy_backup_found_empty' => 'Tästä sovelluksesta ei ole varmuuskopioita.',
+ 'unhealthy_backup_found_old' => 'Viimeisin varmuuskopio, luotu :date, on liian vanha.',
+ 'unhealthy_backup_found_unknown' => 'Virhe, tarkempaa tietoa syystä ei valitettavasti ole saatavilla.',
+ 'unhealthy_backup_found_full' => 'Varmuuskopiot vievät liikaa levytilaa. Tällä hetkellä käytössä :disk_usage, mikä on suurempi kuin sallittu tilavuus (:disk_limit).',
+];
diff --git a/resources/lang/vendor/backup/fr/notifications.php b/resources/lang/vendor/backup/fr/notifications.php
new file mode 100644
index 0000000..57a98c2
--- /dev/null
+++ b/resources/lang/vendor/backup/fr/notifications.php
@@ -0,0 +1,35 @@
+ 'Message de l\'exception : :message',
+ 'exception_trace' => 'Trace de l\'exception : :trace',
+ 'exception_message_title' => 'Message de l\'exception',
+ 'exception_trace_title' => 'Trace de l\'exception',
+
+ 'backup_failed_subject' => 'Échec de la sauvegarde de :application_name',
+ 'backup_failed_body' => 'Important : Une erreur est survenue lors de la sauvegarde de :application_name',
+
+ 'backup_successful_subject' => 'Succès de la sauvegarde de :application_name',
+ 'backup_successful_subject_title' => 'Sauvegarde créée avec succès !',
+ 'backup_successful_body' => 'Bonne nouvelle, une nouvelle sauvegarde de :application_name a été créée avec succès sur le disque nommé :disk_name.',
+
+ 'cleanup_failed_subject' => 'Le nettoyage des sauvegardes de :application_name a echoué.',
+ 'cleanup_failed_body' => 'Une erreur est survenue lors du nettoyage des sauvegardes de :application_name',
+
+ 'cleanup_successful_subject' => 'Succès du nettoyage des sauvegardes de :application_name',
+ 'cleanup_successful_subject_title' => 'Sauvegardes nettoyées avec succès !',
+ 'cleanup_successful_body' => 'Le nettoyage des sauvegardes de :application_name sur le disque nommé :disk_name a été effectué avec succès.',
+
+ 'healthy_backup_found_subject' => 'Les sauvegardes pour :application_name sur le disque :disk_name sont saines',
+ 'healthy_backup_found_subject_title' => 'Les sauvegardes pour :application_name sont saines',
+ 'healthy_backup_found_body' => 'Les sauvegardes pour :application_name sont considérées saines. Bon travail !',
+
+ 'unhealthy_backup_found_subject' => 'Important : Les sauvegardes pour :application_name sont corrompues',
+ 'unhealthy_backup_found_subject_title' => 'Important : Les sauvegardes pour :application_name sont corrompues. :problem',
+ 'unhealthy_backup_found_body' => 'Les sauvegardes pour :application_name sur le disque :disk_name sont corrompues.',
+ 'unhealthy_backup_found_not_reachable' => 'La destination de la sauvegarde n\'est pas accessible. :error',
+ 'unhealthy_backup_found_empty' => 'Il n\'y a aucune sauvegarde pour cette application.',
+ 'unhealthy_backup_found_old' => 'La dernière sauvegarde du :date est considérée trop vieille.',
+ 'unhealthy_backup_found_unknown' => 'Désolé, une raison exacte ne peut être déterminée.',
+ 'unhealthy_backup_found_full' => 'Les sauvegardes utilisent trop d\'espace disque. L\'utilisation actuelle est de :disk_usage alors que la limite autorisée est de :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/hi/notifications.php b/resources/lang/vendor/backup/hi/notifications.php
new file mode 100644
index 0000000..74a188d
--- /dev/null
+++ b/resources/lang/vendor/backup/hi/notifications.php
@@ -0,0 +1,35 @@
+ 'गलती संदेश: :message',
+ 'exception_trace' => 'गलती निशान: :trace',
+ 'exception_message_title' => 'गलती संदेश',
+ 'exception_trace_title' => 'गलती निशान',
+
+ 'backup_failed_subject' => ':application_name का बैकअप असफल रहा',
+ 'backup_failed_body' => 'जरूरी सुचना: :application_name का बैकअप लेते समय असफल रहे',
+
+ 'backup_successful_subject' => ':application_name का बैकअप सफल रहा',
+ 'backup_successful_subject_title' => 'बैकअप सफल रहा!',
+ 'backup_successful_body' => 'खुशखबरी, :application_name का बैकअप :disk_name पर संग्रहित करने मे सफल रहे.',
+
+ 'cleanup_failed_subject' => ':application_name के बैकअप की सफाई असफल रही.',
+ 'cleanup_failed_body' => ':application_name के बैकअप की सफाई करते समय कुछ बाधा आयी है.',
+
+ 'cleanup_successful_subject' => ':application_name के बैकअप की सफाई सफल रही',
+ 'cleanup_successful_subject_title' => 'बैकअप की सफाई सफल रही!',
+ 'cleanup_successful_body' => ':application_name का बैकअप जो :disk_name नाम की डिस्क पर संग्रहित है, उसकी सफाई सफल रही.',
+
+ 'healthy_backup_found_subject' => ':disk_name नाम की डिस्क पर संग्रहित :application_name के बैकअप स्वस्थ है',
+ 'healthy_backup_found_subject_title' => ':application_name के सभी बैकअप स्वस्थ है',
+ 'healthy_backup_found_body' => 'बहुत बढ़िया! :application_name के सभी बैकअप स्वस्थ है.',
+
+ 'unhealthy_backup_found_subject' => 'जरूरी सुचना : :application_name के बैकअप अस्वस्थ है',
+ 'unhealthy_backup_found_subject_title' => 'जरूरी सुचना : :application_name के बैकअप :problem के बजेसे अस्वस्थ है',
+ 'unhealthy_backup_found_body' => ':disk_name नाम की डिस्क पर संग्रहित :application_name के बैकअप अस्वस्थ है',
+ 'unhealthy_backup_found_not_reachable' => ':error के बजेसे बैकअप की मंजिल तक पोहोच नहीं सकते.',
+ 'unhealthy_backup_found_empty' => 'इस एप्लीकेशन का कोई भी बैकअप नहीं है.',
+ 'unhealthy_backup_found_old' => 'हालहीमें :date को लिया हुआ बैकअप बहुत पुराना है.',
+ 'unhealthy_backup_found_unknown' => 'माफ़ कीजिये, सही कारण निर्धारित नहीं कर सकते.',
+ 'unhealthy_backup_found_full' => 'सभी बैकअप बहुत ज्यादा जगह का उपयोग कर रहे है. फ़िलहाल सभी बैकअप :disk_usage जगह का उपयोग कर रहे है, जो की :disk_limit अनुमति सीमा से अधिक का है.',
+];
diff --git a/resources/lang/vendor/backup/id/notifications.php b/resources/lang/vendor/backup/id/notifications.php
new file mode 100644
index 0000000..971322a
--- /dev/null
+++ b/resources/lang/vendor/backup/id/notifications.php
@@ -0,0 +1,35 @@
+ 'Pesan pengecualian: :message',
+ 'exception_trace' => 'Jejak pengecualian: :trace',
+ 'exception_message_title' => 'Pesan pengecualian',
+ 'exception_trace_title' => 'Jejak pengecualian',
+
+ 'backup_failed_subject' => 'Gagal backup :application_name',
+ 'backup_failed_body' => 'Penting: Sebuah error terjadi ketika membackup :application_name',
+
+ 'backup_successful_subject' => 'Backup baru sukses dari :application_name',
+ 'backup_successful_subject_title' => 'Backup baru sukses!',
+ 'backup_successful_body' => 'Kabar baik, sebuah backup baru dari :application_name sukses dibuat pada disk bernama :disk_name.',
+
+ 'cleanup_failed_subject' => 'Membersihkan backup dari :application_name yang gagal.',
+ 'cleanup_failed_body' => 'Sebuah error teradi ketika membersihkan backup dari :application_name',
+
+ 'cleanup_successful_subject' => 'Sukses membersihkan backup :application_name',
+ 'cleanup_successful_subject_title' => 'Sukses membersihkan backup!',
+ 'cleanup_successful_body' => 'Pembersihan backup :application_name pada disk bernama :disk_name telah sukses.',
+
+ 'healthy_backup_found_subject' => 'Backup untuk :application_name pada disk :disk_name sehat',
+ 'healthy_backup_found_subject_title' => 'Backup untuk :application_name sehat',
+ 'healthy_backup_found_body' => 'Backup untuk :application_name dipertimbangkan sehat. Kerja bagus!',
+
+ 'unhealthy_backup_found_subject' => 'Penting: Backup untuk :application_name tidak sehat',
+ 'unhealthy_backup_found_subject_title' => 'Penting: Backup untuk :application_name tidak sehat. :problem',
+ 'unhealthy_backup_found_body' => 'Backup untuk :application_name pada disk :disk_name tidak sehat.',
+ 'unhealthy_backup_found_not_reachable' => 'Tujuan backup tidak dapat terjangkau. :error',
+ 'unhealthy_backup_found_empty' => 'Tidak ada backup pada aplikasi ini sama sekali.',
+ 'unhealthy_backup_found_old' => 'Backup terakhir dibuat pada :date dimana dipertimbahkan sudah sangat lama.',
+ 'unhealthy_backup_found_unknown' => 'Maaf, sebuah alasan persisnya tidak dapat ditentukan.',
+ 'unhealthy_backup_found_full' => 'Backup menggunakan terlalu banyak kapasitas penyimpanan. Penggunaan terkini adalah :disk_usage dimana lebih besar dari batas yang diperbolehkan yaitu :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/it/notifications.php b/resources/lang/vendor/backup/it/notifications.php
new file mode 100644
index 0000000..43ad38e
--- /dev/null
+++ b/resources/lang/vendor/backup/it/notifications.php
@@ -0,0 +1,35 @@
+ 'Messaggio dell\'eccezione: :message',
+ 'exception_trace' => 'Traccia dell\'eccezione: :trace',
+ 'exception_message_title' => 'Messaggio dell\'eccezione',
+ 'exception_trace_title' => 'Traccia dell\'eccezione',
+
+ 'backup_failed_subject' => 'Fallito il backup di :application_name',
+ 'backup_failed_body' => 'Importante: Si è verificato un errore durante il backup di :application_name',
+
+ 'backup_successful_subject' => 'Creato nuovo backup di :application_name',
+ 'backup_successful_subject_title' => 'Nuovo backup creato!',
+ 'backup_successful_body' => 'Grande notizia, un nuovo backup di :application_name è stato creato con successo sul disco :disk_name.',
+
+ 'cleanup_failed_subject' => 'Pulizia dei backup di :application_name fallita.',
+ 'cleanup_failed_body' => 'Si è verificato un errore durante la pulizia dei backup di :application_name',
+
+ 'cleanup_successful_subject' => 'Pulizia dei backup di :application_name avvenuta con successo',
+ 'cleanup_successful_subject_title' => 'Pulizia dei backup avvenuta con successo!',
+ 'cleanup_successful_body' => 'La pulizia dei backup di :application_name sul disco :disk_name è avvenuta con successo.',
+
+ 'healthy_backup_found_subject' => 'I backup per :application_name sul disco :disk_name sono sani',
+ 'healthy_backup_found_subject_title' => 'I backup per :application_name sono sani',
+ 'healthy_backup_found_body' => 'I backup per :application_name sono considerati sani. Bel Lavoro!',
+
+ 'unhealthy_backup_found_subject' => 'Importante: i backup per :application_name sono corrotti',
+ 'unhealthy_backup_found_subject_title' => 'Importante: i backup per :application_name sono corrotti. :problem',
+ 'unhealthy_backup_found_body' => 'I backup per :application_name sul disco :disk_name sono corrotti.',
+ 'unhealthy_backup_found_not_reachable' => 'Impossibile raggiungere la destinazione di backup. :error',
+ 'unhealthy_backup_found_empty' => 'Non esiste alcun backup di questa applicazione.',
+ 'unhealthy_backup_found_old' => 'L\'ultimo backup fatto il :date è considerato troppo vecchio.',
+ 'unhealthy_backup_found_unknown' => 'Spiacenti, non è possibile determinare una ragione esatta.',
+ 'unhealthy_backup_found_full' => 'I backup utilizzano troppa memoria. L\'utilizzo corrente è :disk_usage che è superiore al limite consentito di :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/ja/notifications.php b/resources/lang/vendor/backup/ja/notifications.php
new file mode 100644
index 0000000..f272e55
--- /dev/null
+++ b/resources/lang/vendor/backup/ja/notifications.php
@@ -0,0 +1,35 @@
+ '例外のメッセージ: :message',
+ 'exception_trace' => '例外の追跡: :trace',
+ 'exception_message_title' => '例外のメッセージ',
+ 'exception_trace_title' => '例外の追跡',
+
+ 'backup_failed_subject' => ':application_name のバックアップに失敗しました。',
+ 'backup_failed_body' => '重要: :application_name のバックアップ中にエラーが発生しました。',
+
+ 'backup_successful_subject' => ':application_name のバックアップに成功しました。',
+ 'backup_successful_subject_title' => 'バックアップに成功しました!',
+ 'backup_successful_body' => '朗報です。ディスク :disk_name へ :application_name のバックアップが成功しました。',
+
+ 'cleanup_failed_subject' => ':application_name のバックアップ削除に失敗しました。',
+ 'cleanup_failed_body' => ':application_name のバックアップ削除中にエラーが発生しました。',
+
+ 'cleanup_successful_subject' => ':application_name のバックアップ削除に成功しました。',
+ 'cleanup_successful_subject_title' => 'バックアップ削除に成功しました!',
+ 'cleanup_successful_body' => 'ディスク :disk_name に保存された :application_name のバックアップ削除に成功しました。',
+
+ 'healthy_backup_found_subject' => 'ディスク :disk_name への :application_name のバックアップは正常です。',
+ 'healthy_backup_found_subject_title' => ':application_name のバックアップは正常です。',
+ 'healthy_backup_found_body' => ':application_name へのバックアップは正常です。いい仕事してますね!',
+
+ 'unhealthy_backup_found_subject' => '重要: :application_name のバックアップに異常があります。',
+ 'unhealthy_backup_found_subject_title' => '重要: :application_name のバックアップに異常があります。 :problem',
+ 'unhealthy_backup_found_body' => ':disk_name への :application_name のバックアップに異常があります。',
+ 'unhealthy_backup_found_not_reachable' => 'バックアップ先にアクセスできませんでした。 :error',
+ 'unhealthy_backup_found_empty' => 'このアプリケーションのバックアップは見つかりませんでした。',
+ 'unhealthy_backup_found_old' => ':date に保存された直近のバックアップが古すぎます。',
+ 'unhealthy_backup_found_unknown' => '申し訳ございません。予期せぬエラーです。',
+ 'unhealthy_backup_found_full' => 'バックアップがディスク容量を圧迫しています。現在の使用量 :disk_usage は、許可された限界値 :disk_limit を超えています。',
+];
diff --git a/resources/lang/vendor/backup/nl/notifications.php b/resources/lang/vendor/backup/nl/notifications.php
new file mode 100644
index 0000000..5dbc65e
--- /dev/null
+++ b/resources/lang/vendor/backup/nl/notifications.php
@@ -0,0 +1,35 @@
+ 'Fout bericht: :message',
+ 'exception_trace' => 'Fout trace: :trace',
+ 'exception_message_title' => 'Fout bericht',
+ 'exception_trace_title' => 'Fout trace',
+
+ 'backup_failed_subject' => 'Back-up van :application_name mislukt',
+ 'backup_failed_body' => 'Belangrijk: Er ging iets fout tijdens het maken van een back-up van :application_name',
+
+ 'backup_successful_subject' => 'Succesvolle nieuwe back-up van :application_name',
+ 'backup_successful_subject_title' => 'Succesvolle nieuwe back-up!',
+ 'backup_successful_body' => 'Goed nieuws, een nieuwe back-up van :application_name was succesvol aangemaakt op de schijf genaamd :disk_name.',
+
+ 'cleanup_failed_subject' => 'Het opschonen van de back-ups van :application_name is mislukt.',
+ 'cleanup_failed_body' => 'Er ging iets fout tijdens het opschonen van de back-ups van :application_name',
+
+ 'cleanup_successful_subject' => 'Opschonen van :application_name back-ups was succesvol.',
+ 'cleanup_successful_subject_title' => 'Opschonen van back-ups was succesvol!',
+ 'cleanup_successful_body' => 'Het opschonen van de :application_name back-ups op de schijf genaamd :disk_name was succesvol.',
+
+ 'healthy_backup_found_subject' => 'De back-ups voor :application_name op schijf :disk_name zijn gezond',
+ 'healthy_backup_found_subject_title' => 'De back-ups voor :application_name zijn gezond',
+ 'healthy_backup_found_body' => 'De back-ups voor :application_name worden als gezond beschouwd. Goed gedaan!',
+
+ 'unhealthy_backup_found_subject' => 'Belangrijk: De back-ups voor :application_name zijn niet meer gezond',
+ 'unhealthy_backup_found_subject_title' => 'Belangrijk: De back-ups voor :application_name zijn niet gezond. :problem',
+ 'unhealthy_backup_found_body' => 'De back-ups voor :application_name op schijf :disk_name zijn niet gezond.',
+ 'unhealthy_backup_found_not_reachable' => 'De back-upbestemming kon niet worden bereikt. :error',
+ 'unhealthy_backup_found_empty' => 'Er zijn geen back-ups van deze applicatie beschikbaar.',
+ 'unhealthy_backup_found_old' => 'De laatste back-up gemaakt op :date is te oud.',
+ 'unhealthy_backup_found_unknown' => 'Sorry, een exacte reden kon niet worden bepaald.',
+ 'unhealthy_backup_found_full' => 'De back-ups gebruiken te veel opslagruimte. Momenteel wordt er :disk_usage gebruikt wat hoger is dan de toegestane limiet van :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/no/notifications.php b/resources/lang/vendor/backup/no/notifications.php
new file mode 100644
index 0000000..e60bc1c
--- /dev/null
+++ b/resources/lang/vendor/backup/no/notifications.php
@@ -0,0 +1,35 @@
+ 'Exception: :message',
+ 'exception_trace' => 'Exception trace: :trace',
+ 'exception_message_title' => 'Exception',
+ 'exception_trace_title' => 'Exception trace',
+
+ 'backup_failed_subject' => 'Backup feilet for :application_name',
+ 'backup_failed_body' => 'Viktg: En feil oppstod under backing av :application_name',
+
+ 'backup_successful_subject' => 'Gjennomført backup av :application_name',
+ 'backup_successful_subject_title' => 'Gjennomført backup!',
+ 'backup_successful_body' => 'Gode nyheter, en ny backup av :application_name ble opprettet på disken :disk_name.',
+
+ 'cleanup_failed_subject' => 'Opprydding av backup for :application_name feilet.',
+ 'cleanup_failed_body' => 'En feil oppstod under opprydding av backups for :application_name',
+
+ 'cleanup_successful_subject' => 'Opprydding av backup for :application_name gjennomført',
+ 'cleanup_successful_subject_title' => 'Opprydding av backup gjennomført!',
+ 'cleanup_successful_body' => 'Oppryddingen av backup for :application_name på disken :disk_name har blitt gjennomført.',
+
+ 'healthy_backup_found_subject' => 'Alle backups for :application_name på disken :disk_name er OK',
+ 'healthy_backup_found_subject_title' => 'Alle backups for :application_name er OK',
+ 'healthy_backup_found_body' => 'Alle backups for :application_name er ok. Godt jobba!',
+
+ 'unhealthy_backup_found_subject' => 'Viktig: Backups for :application_name ikke OK',
+ 'unhealthy_backup_found_subject_title' => 'Viktig: Backups for :application_name er ikke OK. :problem',
+ 'unhealthy_backup_found_body' => 'Backups for :application_name på disken :disk_name er ikke OK.',
+ 'unhealthy_backup_found_not_reachable' => 'Kunne ikke finne backup-destinasjonen. :error',
+ 'unhealthy_backup_found_empty' => 'Denne applikasjonen mangler backups.',
+ 'unhealthy_backup_found_old' => 'Den siste backupem fra :date er for gammel.',
+ 'unhealthy_backup_found_unknown' => 'Beklager, kunne ikke finne nøyaktig årsak.',
+ 'unhealthy_backup_found_full' => 'Backups bruker for mye lagringsplass. Nåværende diskbruk er :disk_usage, som er mer enn den tillatte grensen på :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/pl/notifications.php b/resources/lang/vendor/backup/pl/notifications.php
new file mode 100644
index 0000000..7b267ac
--- /dev/null
+++ b/resources/lang/vendor/backup/pl/notifications.php
@@ -0,0 +1,35 @@
+ 'Błąd: :message',
+ 'exception_trace' => 'Zrzut błędu: :trace',
+ 'exception_message_title' => 'Błąd',
+ 'exception_trace_title' => 'Zrzut błędu',
+
+ 'backup_failed_subject' => 'Tworzenie kopii zapasowej aplikacji :application_name nie powiodło się',
+ 'backup_failed_body' => 'Ważne: Wystąpił błąd podczas tworzenia kopii zapasowej aplikacji :application_name',
+
+ 'backup_successful_subject' => 'Pomyślnie utworzono kopię zapasową aplikacji :application_name',
+ 'backup_successful_subject_title' => 'Nowa kopia zapasowa!',
+ 'backup_successful_body' => 'Wspaniała wiadomość, nowa kopia zapasowa aplikacji :application_name została pomyślnie utworzona na dysku o nazwie :disk_name.',
+
+ 'cleanup_failed_subject' => 'Czyszczenie kopii zapasowych aplikacji :application_name nie powiodło się.',
+ 'cleanup_failed_body' => 'Wystąpił błąd podczas czyszczenia kopii zapasowej aplikacji :application_name',
+
+ 'cleanup_successful_subject' => 'Kopie zapasowe aplikacji :application_name zostały pomyślnie wyczyszczone',
+ 'cleanup_successful_subject_title' => 'Kopie zapasowe zostały pomyślnie wyczyszczone!',
+ 'cleanup_successful_body' => 'Czyszczenie kopii zapasowych aplikacji :application_name na dysku :disk_name zakończone sukcesem.',
+
+ 'healthy_backup_found_subject' => 'Kopie zapasowe aplikacji :application_name na dysku :disk_name są poprawne',
+ 'healthy_backup_found_subject_title' => 'Kopie zapasowe aplikacji :application_name są poprawne',
+ 'healthy_backup_found_body' => 'Kopie zapasowe aplikacji :application_name są poprawne. Dobra robota!',
+
+ 'unhealthy_backup_found_subject' => 'Ważne: Kopie zapasowe aplikacji :application_name są niepoprawne',
+ 'unhealthy_backup_found_subject_title' => 'Ważne: Kopie zapasowe aplikacji :application_name są niepoprawne. :problem',
+ 'unhealthy_backup_found_body' => 'Kopie zapasowe aplikacji :application_name na dysku :disk_name są niepoprawne.',
+ 'unhealthy_backup_found_not_reachable' => 'Miejsce docelowe kopii zapasowej nie jest osiągalne. :error',
+ 'unhealthy_backup_found_empty' => 'W aplikacji nie ma żadnej kopii zapasowych tej aplikacji.',
+ 'unhealthy_backup_found_old' => 'Ostatnia kopia zapasowa wykonania dnia :date jest zbyt stara.',
+ 'unhealthy_backup_found_unknown' => 'Niestety, nie można ustalić dokładnego błędu.',
+ 'unhealthy_backup_found_full' => 'Kopie zapasowe zajmują zbyt dużo miejsca. Obecne użycie dysku :disk_usage jest większe od ustalonego limitu :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/pt-BR/notifications.php b/resources/lang/vendor/backup/pt-BR/notifications.php
new file mode 100644
index 0000000..d22ebf4
--- /dev/null
+++ b/resources/lang/vendor/backup/pt-BR/notifications.php
@@ -0,0 +1,35 @@
+ 'Exception message: :message',
+ 'exception_trace' => 'Exception trace: :trace',
+ 'exception_message_title' => 'Exception message',
+ 'exception_trace_title' => 'Exception trace',
+
+ 'backup_failed_subject' => 'Falha no backup da aplicação :application_name',
+ 'backup_failed_body' => 'Importante: Ocorreu um erro ao fazer o backup da aplicação :application_name',
+
+ 'backup_successful_subject' => 'Backup realizado com sucesso: :application_name',
+ 'backup_successful_subject_title' => 'Backup Realizado com sucesso!',
+ 'backup_successful_body' => 'Boas notícias, um novo backup da aplicação :application_name foi criado no disco :disk_name.',
+
+ 'cleanup_failed_subject' => 'Falha na limpeza dos backups da aplicação :application_name.',
+ 'cleanup_failed_body' => 'Um erro ocorreu ao fazer a limpeza dos backups da aplicação :application_name',
+
+ 'cleanup_successful_subject' => 'Limpeza dos backups da aplicação :application_name concluída!',
+ 'cleanup_successful_subject_title' => 'Limpeza dos backups concluída!',
+ 'cleanup_successful_body' => 'A limpeza dos backups da aplicação :application_name no disco :disk_name foi concluída.',
+
+ 'healthy_backup_found_subject' => 'Os backups da aplicação :application_name no disco :disk_name estão em dia',
+ 'healthy_backup_found_subject_title' => 'Os backups da aplicação :application_name estão em dia',
+ 'healthy_backup_found_body' => 'Os backups da aplicação :application_name estão em dia. Bom trabalho!',
+
+ 'unhealthy_backup_found_subject' => 'Importante: Os backups da aplicação :application_name não estão em dia',
+ 'unhealthy_backup_found_subject_title' => 'Importante: Os backups da aplicação :application_name não estão em dia. :problem',
+ 'unhealthy_backup_found_body' => 'Os backups da aplicação :application_name no disco :disk_name não estão em dia.',
+ 'unhealthy_backup_found_not_reachable' => 'O destino dos backups não pode ser alcançado. :error',
+ 'unhealthy_backup_found_empty' => 'Não existem backups para essa aplicação.',
+ 'unhealthy_backup_found_old' => 'O último backup realizado em :date é considerado muito antigo.',
+ 'unhealthy_backup_found_unknown' => 'Desculpe, a exata razão não pode ser encontrada.',
+ 'unhealthy_backup_found_full' => 'Os backups estão usando muito espaço de armazenamento. A utilização atual é de :disk_usage, o que é maior que o limite permitido de :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/pt/notifications.php b/resources/lang/vendor/backup/pt/notifications.php
new file mode 100644
index 0000000..1656b93
--- /dev/null
+++ b/resources/lang/vendor/backup/pt/notifications.php
@@ -0,0 +1,35 @@
+ 'Exception message: :message',
+ 'exception_trace' => 'Exception trace: :trace',
+ 'exception_message_title' => 'Exception message',
+ 'exception_trace_title' => 'Exception trace',
+
+ 'backup_failed_subject' => 'Falha no backup da aplicação :application_name',
+ 'backup_failed_body' => 'Importante: Ocorreu um erro ao executar o backup da aplicação :application_name',
+
+ 'backup_successful_subject' => 'Backup realizado com sucesso: :application_name',
+ 'backup_successful_subject_title' => 'Backup Realizado com Sucesso!',
+ 'backup_successful_body' => 'Boas notícias, foi criado um novo backup no disco :disk_name referente à aplicação :application_name.',
+
+ 'cleanup_failed_subject' => 'Falha na limpeza dos backups da aplicação :application_name.',
+ 'cleanup_failed_body' => 'Ocorreu um erro ao executar a limpeza dos backups da aplicação :application_name',
+
+ 'cleanup_successful_subject' => 'Limpeza dos backups da aplicação :application_name concluída!',
+ 'cleanup_successful_subject_title' => 'Limpeza dos backups concluída!',
+ 'cleanup_successful_body' => 'Concluída a limpeza dos backups da aplicação :application_name no disco :disk_name.',
+
+ 'healthy_backup_found_subject' => 'Os backups da aplicação :application_name no disco :disk_name estão em dia',
+ 'healthy_backup_found_subject_title' => 'Os backups da aplicação :application_name estão em dia',
+ 'healthy_backup_found_body' => 'Os backups da aplicação :application_name estão em dia. Bom trabalho!',
+
+ 'unhealthy_backup_found_subject' => 'Importante: Os backups da aplicação :application_name não estão em dia',
+ 'unhealthy_backup_found_subject_title' => 'Importante: Os backups da aplicação :application_name não estão em dia. :problem',
+ 'unhealthy_backup_found_body' => 'Os backups da aplicação :application_name no disco :disk_name não estão em dia.',
+ 'unhealthy_backup_found_not_reachable' => 'O destino dos backups não pode ser alcançado. :error',
+ 'unhealthy_backup_found_empty' => 'Não existem backups para essa aplicação.',
+ 'unhealthy_backup_found_old' => 'O último backup realizado em :date é demasiado antigo.',
+ 'unhealthy_backup_found_unknown' => 'Desculpe, impossível determinar a razão exata.',
+ 'unhealthy_backup_found_full' => 'Os backups estão a utilizar demasiado espaço de armazenamento. A utilização atual é de :disk_usage, o que é maior que o limite permitido de :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/ro/notifications.php b/resources/lang/vendor/backup/ro/notifications.php
new file mode 100644
index 0000000..cc0322d
--- /dev/null
+++ b/resources/lang/vendor/backup/ro/notifications.php
@@ -0,0 +1,35 @@
+ 'Cu excepția mesajului: :message',
+ 'exception_trace' => 'Urmă excepţie: :trace',
+ 'exception_message_title' => 'Mesaj de excepție',
+ 'exception_trace_title' => 'Urmă excepţie',
+
+ 'backup_failed_subject' => 'Nu s-a putut face copie de rezervă pentru :application_name',
+ 'backup_failed_body' => 'Important: A apărut o eroare în timpul generării copiei de rezervă pentru :application_name',
+
+ 'backup_successful_subject' => 'Copie de rezervă efectuată cu succes pentru :application_name',
+ 'backup_successful_subject_title' => 'O nouă copie de rezervă a fost efectuată cu succes!',
+ 'backup_successful_body' => 'Vești bune, o nouă copie de rezervă pentru :application_name a fost creată cu succes pe discul cu numele :disk_name.',
+
+ 'cleanup_failed_subject' => 'Curățarea copiilor de rezervă pentru :application_name nu a reușit.',
+ 'cleanup_failed_body' => 'A apărut o eroare în timpul curățirii copiilor de rezervă pentru :application_name',
+
+ 'cleanup_successful_subject' => 'Curățarea copiilor de rezervă pentru :application_name a fost făcută cu succes',
+ 'cleanup_successful_subject_title' => 'Curățarea copiilor de rezervă a fost făcută cu succes!',
+ 'cleanup_successful_body' => 'Curățarea copiilor de rezervă pentru :application_name de pe discul cu numele :disk_name a fost făcută cu succes.',
+
+ 'healthy_backup_found_subject' => 'Copiile de rezervă pentru :application_name de pe discul :disk_name sunt în regulă',
+ 'healthy_backup_found_subject_title' => 'Copiile de rezervă pentru :application_name sunt în regulă',
+ 'healthy_backup_found_body' => 'Copiile de rezervă pentru :application_name sunt considerate în regulă. Bună treabă!',
+
+ 'unhealthy_backup_found_subject' => 'Important: Copiile de rezervă pentru :application_name nu sunt în regulă',
+ 'unhealthy_backup_found_subject_title' => 'Important: Copiile de rezervă pentru :application_name nu sunt în regulă. :problem',
+ 'unhealthy_backup_found_body' => 'Copiile de rezervă pentru :application_name de pe discul :disk_name nu sunt în regulă.',
+ 'unhealthy_backup_found_not_reachable' => 'Nu se poate ajunge la destinația copiilor de rezervă. :error',
+ 'unhealthy_backup_found_empty' => 'Nu există copii de rezervă ale acestei aplicații.',
+ 'unhealthy_backup_found_old' => 'Cea mai recentă copie de rezervă făcută la :date este considerată prea veche.',
+ 'unhealthy_backup_found_unknown' => 'Ne pare rău, un motiv exact nu poate fi determinat.',
+ 'unhealthy_backup_found_full' => 'Copiile de rezervă folosesc prea mult spațiu de stocare. Utilizarea curentă este de :disk_usage care este mai mare decât limita permisă de :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/ru/notifications.php b/resources/lang/vendor/backup/ru/notifications.php
new file mode 100644
index 0000000..875633c
--- /dev/null
+++ b/resources/lang/vendor/backup/ru/notifications.php
@@ -0,0 +1,35 @@
+ 'Сообщение об ошибке: :message',
+ 'exception_trace' => 'Сведения об ошибке: :trace',
+ 'exception_message_title' => 'Сообщение об ошибке',
+ 'exception_trace_title' => 'Сведения об ошибке',
+
+ 'backup_failed_subject' => 'Не удалось сделать резервную копию :application_name',
+ 'backup_failed_body' => 'Внимание: Произошла ошибка во время резервного копирования :application_name',
+
+ 'backup_successful_subject' => 'Успешно создана новая резервная копия :application_name',
+ 'backup_successful_subject_title' => 'Успешно создана новая резервная копия!',
+ 'backup_successful_body' => 'Отличная новость, новая резервная копия :application_name успешно создана и сохранена на диск :disk_name.',
+
+ 'cleanup_failed_subject' => 'Не удалось очистить резервные копии :application_name',
+ 'cleanup_failed_body' => 'Произошла ошибка при очистке резервных копий :application_name',
+
+ 'cleanup_successful_subject' => 'Очистка от резервных копий :application_name прошла успешно',
+ 'cleanup_successful_subject_title' => 'Очистка резервных копий прошла удачно!',
+ 'cleanup_successful_body' => 'Очистка от старых резервных копий :application_name на диске :disk_name прошла удачно.',
+
+ 'healthy_backup_found_subject' => 'Резервная копия :application_name с диска :disk_name установлена',
+ 'healthy_backup_found_subject_title' => 'Резервная копия :application_name установлена',
+ 'healthy_backup_found_body' => 'Резервная копия :application_name успешно установлена. Хорошая работа!',
+
+ 'unhealthy_backup_found_subject' => 'Внимание: резервная копия :application_name не установилась',
+ 'unhealthy_backup_found_subject_title' => 'Внимание: резервная копия для :application_name не установилась. :problem',
+ 'unhealthy_backup_found_body' => 'Резервная копия для :application_name на диске :disk_name не установилась.',
+ 'unhealthy_backup_found_not_reachable' => 'Резервная копия не смогла установиться. :error',
+ 'unhealthy_backup_found_empty' => 'Резервные копии для этого приложения отсутствуют.',
+ 'unhealthy_backup_found_old' => 'Последнее резервное копирование создано :date является устаревшим.',
+ 'unhealthy_backup_found_unknown' => 'Извините, точная причина не может быть определена.',
+ 'unhealthy_backup_found_full' => 'Резервные копии используют слишком много памяти. Используется :disk_usage что выше допустимого предела: :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/tr/notifications.php b/resources/lang/vendor/backup/tr/notifications.php
new file mode 100644
index 0000000..298b0ec
--- /dev/null
+++ b/resources/lang/vendor/backup/tr/notifications.php
@@ -0,0 +1,35 @@
+ 'Hata mesajı: :message',
+ 'exception_trace' => 'Hata izleri: :trace',
+ 'exception_message_title' => 'Hata mesajı',
+ 'exception_trace_title' => 'Hata izleri',
+
+ 'backup_failed_subject' => 'Yedeklenemedi :application_name',
+ 'backup_failed_body' => 'Önemli: Yedeklenirken bir hata oluştu :application_name',
+
+ 'backup_successful_subject' => 'Başarılı :application_name yeni yedeklemesi',
+ 'backup_successful_subject_title' => 'Başarılı bir yeni yedekleme!',
+ 'backup_successful_body' => 'Harika bir haber, :application_name âit yeni bir yedekleme :disk_name adlı diskte başarıyla oluşturuldu.',
+
+ 'cleanup_failed_subject' => ':application_name yedeklemeleri temizlenmesi başarısız.',
+ 'cleanup_failed_body' => ':application_name yedeklerini temizlerken bir hata oluştu ',
+
+ 'cleanup_successful_subject' => ':application_name yedeklemeleri temizlenmesi başarılı.',
+ 'cleanup_successful_subject_title' => 'Yedeklerin temizlenmesi başarılı!',
+ 'cleanup_successful_body' => ':application_name yedeklemeleri temizlenmesi ,:disk_name diskinden silindi',
+
+ 'healthy_backup_found_subject' => ':application_name yedeklenmesi ,:disk_name adlı diskte sağlıklı',
+ 'healthy_backup_found_subject_title' => ':application_name yedeklenmesi sağlıklı',
+ 'healthy_backup_found_body' => ':application_name için yapılan yedeklemeler sağlıklı sayılır. Aferin!',
+
+ 'unhealthy_backup_found_subject' => 'Önemli: :application_name için yedeklemeler sağlıksız',
+ 'unhealthy_backup_found_subject_title' => 'Önemli: :application_name için yedeklemeler sağlıksız. :problem',
+ 'unhealthy_backup_found_body' => 'Yedeklemeler: :application_name disk: :disk_name sağlıksız.',
+ 'unhealthy_backup_found_not_reachable' => 'Yedekleme hedefine ulaşılamıyor. :error',
+ 'unhealthy_backup_found_empty' => 'Bu uygulamanın yedekleri yok.',
+ 'unhealthy_backup_found_old' => ':date tarihinde yapılan en son yedekleme çok eski kabul ediliyor.',
+ 'unhealthy_backup_found_unknown' => 'Üzgünüm, kesin bir sebep belirlenemiyor.',
+ 'unhealthy_backup_found_full' => 'Yedeklemeler çok fazla depolama alanı kullanıyor. Şu anki kullanım: :disk_usage, izin verilen sınırdan yüksek: :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/uk/notifications.php b/resources/lang/vendor/backup/uk/notifications.php
new file mode 100644
index 0000000..a39c90a
--- /dev/null
+++ b/resources/lang/vendor/backup/uk/notifications.php
@@ -0,0 +1,35 @@
+ 'Повідомлення про помилку: :message',
+ 'exception_trace' => 'Деталі помилки: :trace',
+ 'exception_message_title' => 'Повідомлення помилки',
+ 'exception_trace_title' => 'Деталі помилки',
+
+ 'backup_failed_subject' => 'Не вдалось зробити резервну копію :application_name',
+ 'backup_failed_body' => 'Увага: Трапилась помилка під час резервного копіювання :application_name',
+
+ 'backup_successful_subject' => 'Успішне резервне копіювання :application_name',
+ 'backup_successful_subject_title' => 'Успішно створена резервна копія!',
+ 'backup_successful_body' => 'Чудова новина, нова резервна копія :application_name успішно створена і збережена на диск :disk_name.',
+
+ 'cleanup_failed_subject' => 'Не вдалось очистити резервні копії :application_name',
+ 'cleanup_failed_body' => 'Сталася помилка під час очищення резервних копій :application_name',
+
+ 'cleanup_successful_subject' => 'Успішне очищення від резервних копій :application_name',
+ 'cleanup_successful_subject_title' => 'Очищення резервних копій пройшло вдало!',
+ 'cleanup_successful_body' => 'Очищенно від старих резервних копій :application_name на диску :disk_name пойшло успішно.',
+
+ 'healthy_backup_found_subject' => 'Резервна копія :application_name з диску :disk_name установлена',
+ 'healthy_backup_found_subject_title' => 'Резервна копія :application_name установлена',
+ 'healthy_backup_found_body' => 'Резервна копія :application_name успішно установлена. Хороша робота!',
+
+ 'unhealthy_backup_found_subject' => 'Увага: резервна копія :application_name не установилась',
+ 'unhealthy_backup_found_subject_title' => 'Увага: резервна копія для :application_name не установилась. :problem',
+ 'unhealthy_backup_found_body' => 'Резервна копія для :application_name на диску :disk_name не установилась.',
+ 'unhealthy_backup_found_not_reachable' => 'Резервна копія не змогла установитись. :error',
+ 'unhealthy_backup_found_empty' => 'Резервні копії для цього додатку відсутні.',
+ 'unhealthy_backup_found_old' => 'Останнє резервне копіювання створено :date є застарілим.',
+ 'unhealthy_backup_found_unknown' => 'Вибачте, але ми не змогли визначити точну причину.',
+ 'unhealthy_backup_found_full' => 'Резервні копії використовують занадто багато пам`яті. Використовується :disk_usage що вище за допустиму межу :disk_limit.',
+];
diff --git a/resources/lang/vendor/backup/zh-CN/notifications.php b/resources/lang/vendor/backup/zh-CN/notifications.php
new file mode 100644
index 0000000..bbab325
--- /dev/null
+++ b/resources/lang/vendor/backup/zh-CN/notifications.php
@@ -0,0 +1,35 @@
+ '异常信息: :message',
+ 'exception_trace' => '异常跟踪: :trace',
+ 'exception_message_title' => '异常信息',
+ 'exception_trace_title' => '异常跟踪',
+
+ 'backup_failed_subject' => ':application_name 备份失败',
+ 'backup_failed_body' => '重要说明:备份 :application_name 时发生错误',
+
+ 'backup_successful_subject' => ':application_name 备份成功',
+ 'backup_successful_subject_title' => '备份成功!',
+ 'backup_successful_body' => '好消息, :application_name 备份成功,位于磁盘 :disk_name 中。',
+
+ 'cleanup_failed_subject' => '清除 :application_name 的备份失败。',
+ 'cleanup_failed_body' => '清除备份 :application_name 时发生错误',
+
+ 'cleanup_successful_subject' => '成功清除 :application_name 的备份',
+ 'cleanup_successful_subject_title' => '成功清除备份!',
+ 'cleanup_successful_body' => '成功清除 :disk_name 磁盘上 :application_name 的备份。',
+
+ 'healthy_backup_found_subject' => ':disk_name 磁盘上 :application_name 的备份是健康的',
+ 'healthy_backup_found_subject_title' => ':application_name 的备份是健康的',
+ 'healthy_backup_found_body' => ':application_name 的备份是健康的。干的好!',
+
+ 'unhealthy_backup_found_subject' => '重要说明::application_name 的备份不健康',
+ 'unhealthy_backup_found_subject_title' => '重要说明::application_name 备份不健康。 :problem',
+ 'unhealthy_backup_found_body' => ':disk_name 磁盘上 :application_name 的备份不健康。',
+ 'unhealthy_backup_found_not_reachable' => '无法访问备份目标。 :error',
+ 'unhealthy_backup_found_empty' => '根本没有此应用程序的备份。',
+ 'unhealthy_backup_found_old' => '最近的备份创建于 :date ,太旧了。',
+ 'unhealthy_backup_found_unknown' => '对不起,确切原因无法确定。',
+ 'unhealthy_backup_found_full' => '备份占用了太多存储空间。当前占用了 :disk_usage ,高于允许的限制 :disk_limit。',
+];
diff --git a/resources/lang/vendor/backup/zh-TW/notifications.php b/resources/lang/vendor/backup/zh-TW/notifications.php
new file mode 100644
index 0000000..be561c4
--- /dev/null
+++ b/resources/lang/vendor/backup/zh-TW/notifications.php
@@ -0,0 +1,35 @@
+ '異常訊息: :message',
+ 'exception_trace' => '異常追蹤: :trace',
+ 'exception_message_title' => '異常訊息',
+ 'exception_trace_title' => '異常追蹤',
+
+ 'backup_failed_subject' => ':application_name 備份失敗',
+ 'backup_failed_body' => '重要說明:備份 :application_name 時發生錯誤',
+
+ 'backup_successful_subject' => ':application_name 備份成功',
+ 'backup_successful_subject_title' => '備份成功!',
+ 'backup_successful_body' => '好消息, :application_name 備份成功,位於磁盤 :disk_name 中。',
+
+ 'cleanup_failed_subject' => '清除 :application_name 的備份失敗。',
+ 'cleanup_failed_body' => '清除備份 :application_name 時發生錯誤',
+
+ 'cleanup_successful_subject' => '成功清除 :application_name 的備份',
+ 'cleanup_successful_subject_title' => '成功清除備份!',
+ 'cleanup_successful_body' => '成功清除 :disk_name 磁盤上 :application_name 的備份。',
+
+ 'healthy_backup_found_subject' => ':disk_name 磁盤上 :application_name 的備份是健康的',
+ 'healthy_backup_found_subject_title' => ':application_name 的備份是健康的',
+ 'healthy_backup_found_body' => ':application_name 的備份是健康的。幹的好!',
+
+ 'unhealthy_backup_found_subject' => '重要說明::application_name 的備份不健康',
+ 'unhealthy_backup_found_subject_title' => '重要說明::application_name 備份不健康。 :problem',
+ 'unhealthy_backup_found_body' => ':disk_name 磁盤上 :application_name 的備份不健康。',
+ 'unhealthy_backup_found_not_reachable' => '無法訪問備份目標。 :error',
+ 'unhealthy_backup_found_empty' => '根本沒有此應用程序的備份。',
+ 'unhealthy_backup_found_old' => '最近的備份創建於 :date ,太舊了。',
+ 'unhealthy_backup_found_unknown' => '對不起,確切原因無法確定。',
+ 'unhealthy_backup_found_full' => '備份佔用了太多存儲空間。當前佔用了 :disk_usage ,高於允許的限制 :disk_limit。',
+];
diff --git a/resources/views/layouts/sidebar.blade.php b/resources/views/layouts/sidebar.blade.php
index bd106b0..7533581 100755
--- a/resources/views/layouts/sidebar.blade.php
+++ b/resources/views/layouts/sidebar.blade.php
@@ -210,7 +210,7 @@ if ($url1sb->successful() or $url2sb->successful()) {
@if(auth()->user()->role == 'admin' and $Vgit > $Vlocal)
- An update is available
+ An update is available
@endif
@endif
@elseif(env('NOTIFY_UPDATES') == 'major')
@@ -241,7 +241,7 @@ if ($url1sb->successful() or $url2sb->successful()) {
@if(auth()->user()->role == 'admin' and $Vgit > $Vlocal)
- An update is available
+ An update is available
@endif
@endif
@endif
diff --git a/resources/views/layouts/updater.blade.php b/resources/views/layouts/updater.blade.php
new file mode 100644
index 0000000..4277cf9
--- /dev/null
+++ b/resources/views/layouts/updater.blade.php
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+ Update
+
+
+
+
+
+
+ @if(file_exists(base_path("littlelink/images/avatar.png" )))
+
+ @else
+
+ @endif
+
+ {{-- custom font for logo text --}}
+
+
+
+ @if ($color_scheme_override == 'dark')
+
+ @elseif ($color_scheme_override == 'light')
+
+ @else
+
+ @endif
+
+
+
+@stack('updater-head')
+
+
+
+
+@stack('updater-body')
+
+
+
diff --git a/resources/views/pages.blade.php b/resources/views/pages.blade.php
index 240bd2e..4d9b97c 100755
--- a/resources/views/pages.blade.php
+++ b/resources/views/pages.blade.php
@@ -5,6 +5,7 @@
{{ config('app.name') }}
+
@@ -65,10 +66,10 @@
@if(file_exists(base_path("littlelink/images/avatar.png" )))
@else
-
-
-
-
+
+
+
l
+
@endif
diff --git a/resources/views/update.blade.php b/resources/views/update.blade.php
new file mode 100644
index 0000000..64abd8d
--- /dev/null
+++ b/resources/views/update.blade.php
@@ -0,0 +1,122 @@
+@extends('layouts.updater')
+
+@Push('updater-body')
+
+
+tag_name;
+
+ // Requests current version from the local version file and sets it as variable
+ $Vlocal = 'v' . file_get_contents(base_path("version.json"));
+ ?>
+@if(auth()->user()->role == 'admin' and $Vgit > $Vlocal)
+
+@if($_SERVER['QUERY_STRING'] === '')
+
+
+
+
+
l
+
+
Updater
+ @if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
+
The updater only works on Linux based systems.
+
Update manually
+ @else
+
You can update your installation automatically or download the update and install it manually:
+
+ @endif
+
+@endif
+
+@if($_SERVER['QUERY_STRING'] === 'backup')
+
+@Push('updater-head')
+
+@endpush
+
+
+
l
+
+
Creating backup
+@endif
+
+@if($_SERVER['QUERY_STRING'] === 'backups')
+ true]);
+$tst = base_path('backups/');
+file_put_contents($tst.'CANUPDATE', '');
+$URL = Route::current()->getName();
+header("Location: ".$URL."?updating");
+exit(); ?>
+@endif
+
+@if($_SERVER['QUERY_STRING'] === 'updating' and (file_exists(base_path("backups/CANUPDATE"))))
+
+
+
+
l
+
+
Updating
+ @Push('updater-head')
+
+ @endpush
+@endif
+
+@endif
+
+@if($_SERVER['QUERY_STRING'] === 'finishing')
+
+
+
+
l
+
+
Finishing up
+
+ current() . "?success\" />";
+ ?>
+@endif
+
+@if($_SERVER['QUERY_STRING'] === 'success')
+
+
+
+
+
l
+
+
Success!
+
The update was successful, you can now return to the Admin Panel:
+
+
+@endif
+
+@if($_SERVER['QUERY_STRING'] === 'error')
+
+
+
+
+
l
+
+
Error
+
Something went wrong with the update :(
+
+
+@endif
+
+
+@endpush
\ No newline at end of file
diff --git a/resources/views/vendor/self-update/mails/update-available.blade.php b/resources/views/vendor/self-update/mails/update-available.blade.php
new file mode 100644
index 0000000..ffa14dc
--- /dev/null
+++ b/resources/views/vendor/self-update/mails/update-available.blade.php
@@ -0,0 +1,5 @@
+Hello!
+
+The new version {{ $newVersion }} is available.
+
+Kind regards
diff --git a/resources/views/vendor/self-update/self-update.blade.php b/resources/views/vendor/self-update/self-update.blade.php
new file mode 100644
index 0000000..e69de29
diff --git a/routes/web.php b/routes/web.php
index 8dd5e2e..bf4d661 100755
--- a/routes/web.php
+++ b/routes/web.php
@@ -81,6 +81,35 @@ Route::post('/panel/pages', [AdminController::class, 'editSitePage'])->name('edi
Route::get('/panel/site', [AdminController::class, 'showSite'])->name('showSite');
Route::post('/panel/site', [AdminController::class, 'editSite'])->name('editSite');
Route::get('/panel/phpinfo', [AdminController::class, 'phpinfo'])->name('phpinfo');
+Route::get('/update', function () {return view('update', []);});
+
+Route::get('/updating', function (\Codedge\Updater\UpdaterManager $updater) {
+
+ // Check if new version is available
+ if($updater->source()->isNewVersionAvailable() and (file_exists(base_path("backups/CANUPDATE")))) {
+
+ // Get the current installed version
+ echo $updater->source()->getVersionInstalled();
+
+ // Get the new version available
+ $versionAvailable = $updater->source()->getVersionAvailable();
+
+ // Create a release
+ $release = $updater->source()->fetch($versionAvailable);
+
+ // Run the update process
+ $updater->source()->update($release);
+
+ unlink(base_path("backups/CANUPDATE"));
+
+ echo "
current() . "/../update?finishing\" />";
+
+ } else {
+ echo "
current() . "/../update?error\" />";
+ }
+
+});
+
});
require __DIR__.'/auth.php';
diff --git a/version.json b/version.json
index 57cf282..2714f53 100644
--- a/version.json
+++ b/version.json
@@ -1 +1 @@
-2.6.5
+2.6.4