Merge branch 'master' into release

This commit is contained in:
Dan Brown 2021-10-27 12:35:00 +01:00
commit 91f80123e8
No known key found for this signature in database
GPG Key ID: 46D9F943C24A2EF9
48 changed files with 338 additions and 210 deletions

32
.github/SECURITY.md vendored Normal file
View File

@ -0,0 +1,32 @@
# Security Policy
## Supported Versions
Only the [latest version](https://github.com/BookStackApp/BookStack/releases) of BookStack is supported.
We generally don't support older versions of BookStack due to maintenance effort and
since we aim to provide a fairly stable upgrade path for new versions.
## Security Notifications
If you'd like to be notified of new potential security concerns you can [sign-up to the BookStack security mailing list](https://updates.bookstackapp.com/signup/bookstack-security-updates).
## Reporting a Vulnerability
If you've found an issue that likely has no impact to existing users (For example, in a development-only branch)
feel free to raise it via a standard GitHub bug report issue.
If the issue could have a security impact to BookStack instances, please use one of the below
methods to report the vulnerability:
- Directly contact the lead maintainer [@ssddanbrown](https://github.com/ssddanbrown).
- You will need to login to be able to see the email address on the [GitHub profile page](https://github.com/ssddanbrown).
- Alternatively you can send a DM via Twitter to [@ssddanbrown](https://twitter.com/ssddanbrown).
- [Disclose via huntr.dev](https://huntr.dev/bounties/disclose)
- Bounties may be available to you through this platform.
- Be sure to use `https://github.com/BookStackApp/BookStack` as the repository URL.
Please be patient while the vulnerability is being reviewed. Deploying the fix to address the vulnerability
can often take a little time due to the amount of preparation required, to ensure the vulnerability has
been covered, and to create the content required to adequately notify the user-base.
Thank you for keeping BookStack instances safe!

View File

@ -38,7 +38,7 @@ class ImageRepo
*/ */
public function imageExtensionSupported(string $extension): bool public function imageExtensionSupported(string $extension): bool
{ {
return in_array(trim($extension, '. \t\n\r\0\x0B'), static::$supportedExtensions); return in_array(trim($extension, ". \t\n\r\0\x0B"), static::$supportedExtensions);
} }
/** /**

309
composer.lock generated
View File

@ -58,16 +58,16 @@
}, },
{ {
"name": "aws/aws-sdk-php", "name": "aws/aws-sdk-php",
"version": "3.198.6", "version": "3.199.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/aws/aws-sdk-php.git", "url": "https://github.com/aws/aws-sdk-php.git",
"reference": "821b8db50dd39be8ec94f286050a500b5f8a0142" "reference": "132a1148ebb63d04023837bcf9a36f49b308a0bd"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/821b8db50dd39be8ec94f286050a500b5f8a0142", "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/132a1148ebb63d04023837bcf9a36f49b308a0bd",
"reference": "821b8db50dd39be8ec94f286050a500b5f8a0142", "reference": "132a1148ebb63d04023837bcf9a36f49b308a0bd",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -77,7 +77,7 @@
"ext-simplexml": "*", "ext-simplexml": "*",
"guzzlehttp/guzzle": "^5.3.3|^6.2.1|^7.0", "guzzlehttp/guzzle": "^5.3.3|^6.2.1|^7.0",
"guzzlehttp/promises": "^1.4.0", "guzzlehttp/promises": "^1.4.0",
"guzzlehttp/psr7": "^1.7.0", "guzzlehttp/psr7": "^1.7.0|^2.0",
"mtdowling/jmespath.php": "^2.6", "mtdowling/jmespath.php": "^2.6",
"php": ">=5.5" "php": ">=5.5"
}, },
@ -143,9 +143,9 @@
"support": { "support": {
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
"issues": "https://github.com/aws/aws-sdk-php/issues", "issues": "https://github.com/aws/aws-sdk-php/issues",
"source": "https://github.com/aws/aws-sdk-php/tree/3.198.6" "source": "https://github.com/aws/aws-sdk-php/tree/3.199.3"
}, },
"time": "2021-10-15T18:38:53+00:00" "time": "2021-10-25T18:17:28+00:00"
}, },
{ {
"name": "bacon/bacon-qr-code", "name": "bacon/bacon-qr-code",
@ -725,34 +725,30 @@
}, },
{ {
"name": "doctrine/inflector", "name": "doctrine/inflector",
"version": "2.0.3", "version": "2.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/inflector.git", "url": "https://github.com/doctrine/inflector.git",
"reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
"reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.2 || ^8.0" "php": "^7.2 || ^8.0"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^7.0", "doctrine/coding-standard": "^8.2",
"phpstan/phpstan": "^0.11", "phpstan/phpstan": "^0.12",
"phpstan/phpstan-phpunit": "^0.11", "phpstan/phpstan-phpunit": "^0.12",
"phpstan/phpstan-strict-rules": "^0.11", "phpstan/phpstan-strict-rules": "^0.12",
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
"vimeo/psalm": "^4.10"
}, },
"type": "library", "type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Doctrine\\Inflector\\": "lib/Doctrine/Inflector" "Doctrine\\Inflector\\": "lib/Doctrine/Inflector"
@ -800,7 +796,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/doctrine/inflector/issues", "issues": "https://github.com/doctrine/inflector/issues",
"source": "https://github.com/doctrine/inflector/tree/2.0.x" "source": "https://github.com/doctrine/inflector/tree/2.0.4"
}, },
"funding": [ "funding": [
{ {
@ -816,7 +812,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2020-05-29T15:13:26+00:00" "time": "2021-10-22T20:16:43+00:00"
}, },
{ {
"name": "doctrine/lexer", "name": "doctrine/lexer",
@ -1233,24 +1229,25 @@
}, },
{ {
"name": "guzzlehttp/guzzle", "name": "guzzlehttp/guzzle",
"version": "7.3.0", "version": "7.4.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/guzzle/guzzle.git", "url": "https://github.com/guzzle/guzzle.git",
"reference": "7008573787b430c1c1f650e3722d9bba59967628" "reference": "868b3571a039f0ebc11ac8f344f4080babe2cb94"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/7008573787b430c1c1f650e3722d9bba59967628", "url": "https://api.github.com/repos/guzzle/guzzle/zipball/868b3571a039f0ebc11ac8f344f4080babe2cb94",
"reference": "7008573787b430c1c1f650e3722d9bba59967628", "reference": "868b3571a039f0ebc11ac8f344f4080babe2cb94",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-json": "*", "ext-json": "*",
"guzzlehttp/promises": "^1.4", "guzzlehttp/promises": "^1.5",
"guzzlehttp/psr7": "^1.7 || ^2.0", "guzzlehttp/psr7": "^1.8.3 || ^2.1",
"php": "^7.2.5 || ^8.0", "php": "^7.2.5 || ^8.0",
"psr/http-client": "^1.0" "psr/http-client": "^1.0",
"symfony/deprecation-contracts": "^2.2"
}, },
"provide": { "provide": {
"psr/http-client-implementation": "1.0" "psr/http-client-implementation": "1.0"
@ -1260,7 +1257,7 @@
"ext-curl": "*", "ext-curl": "*",
"php-http/client-integration-tests": "^3.0", "php-http/client-integration-tests": "^3.0",
"phpunit/phpunit": "^8.5.5 || ^9.3.5", "phpunit/phpunit": "^8.5.5 || ^9.3.5",
"psr/log": "^1.1" "psr/log": "^1.1 || ^2.0 || ^3.0"
}, },
"suggest": { "suggest": {
"ext-curl": "Required for CURL handler support", "ext-curl": "Required for CURL handler support",
@ -1270,7 +1267,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "7.3-dev" "dev-master": "7.4-dev"
} }
}, },
"autoload": { "autoload": {
@ -1286,19 +1283,43 @@
"MIT" "MIT"
], ],
"authors": [ "authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
},
{ {
"name": "Michael Dowling", "name": "Michael Dowling",
"email": "mtdowling@gmail.com", "email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling" "homepage": "https://github.com/mtdowling"
}, },
{
"name": "Jeremy Lindblom",
"email": "jeremeamia@gmail.com",
"homepage": "https://github.com/jeremeamia"
},
{
"name": "George Mponos",
"email": "gmponos@gmail.com",
"homepage": "https://github.com/gmponos"
},
{
"name": "Tobias Nyholm",
"email": "tobias.nyholm@gmail.com",
"homepage": "https://github.com/Nyholm"
},
{ {
"name": "Márk Sági-Kazár", "name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com", "email": "mark.sagikazar@gmail.com",
"homepage": "https://sagikazarmark.hu" "homepage": "https://github.com/sagikazarmark"
},
{
"name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https://github.com/Tobion"
} }
], ],
"description": "Guzzle is a PHP HTTP client library", "description": "Guzzle is a PHP HTTP client library",
"homepage": "http://guzzlephp.org/",
"keywords": [ "keywords": [
"client", "client",
"curl", "curl",
@ -1312,7 +1333,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/guzzle/guzzle/issues", "issues": "https://github.com/guzzle/guzzle/issues",
"source": "https://github.com/guzzle/guzzle/tree/7.3.0" "source": "https://github.com/guzzle/guzzle/tree/7.4.0"
}, },
"funding": [ "funding": [
{ {
@ -1324,28 +1345,24 @@
"type": "github" "type": "github"
}, },
{ {
"url": "https://github.com/alexeyshockov", "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
"type": "github" "type": "tidelift"
},
{
"url": "https://github.com/gmponos",
"type": "github"
} }
], ],
"time": "2021-03-23T11:33:13+00:00" "time": "2021-10-18T09:52:00+00:00"
}, },
{ {
"name": "guzzlehttp/promises", "name": "guzzlehttp/promises",
"version": "1.5.0", "version": "1.5.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/guzzle/promises.git", "url": "https://github.com/guzzle/promises.git",
"reference": "136a635e2b4a49b9d79e9c8fee267ffb257fdba0" "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/guzzle/promises/zipball/136a635e2b4a49b9d79e9c8fee267ffb257fdba0", "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
"reference": "136a635e2b4a49b9d79e9c8fee267ffb257fdba0", "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1400,7 +1417,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/guzzle/promises/issues", "issues": "https://github.com/guzzle/promises/issues",
"source": "https://github.com/guzzle/promises/tree/1.5.0" "source": "https://github.com/guzzle/promises/tree/1.5.1"
}, },
"funding": [ "funding": [
{ {
@ -1416,33 +1433,36 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-10-07T13:05:22+00:00" "time": "2021-10-22T20:56:57+00:00"
}, },
{ {
"name": "guzzlehttp/psr7", "name": "guzzlehttp/psr7",
"version": "1.8.3", "version": "2.1.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/guzzle/psr7.git", "url": "https://github.com/guzzle/psr7.git",
"reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85" "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/1afdd860a2566ed3c2b0b4a3de6e23434a79ec85", "url": "https://api.github.com/repos/guzzle/psr7/zipball/089edd38f5b8abba6cb01567c2a8aaa47cec4c72",
"reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85", "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.4.0", "php": "^7.2.5 || ^8.0",
"psr/http-message": "~1.0", "psr/http-factory": "^1.0",
"ralouphie/getallheaders": "^2.0.5 || ^3.0.0" "psr/http-message": "^1.0",
"ralouphie/getallheaders": "^3.0"
}, },
"provide": { "provide": {
"psr/http-factory-implementation": "1.0",
"psr/http-message-implementation": "1.0" "psr/http-message-implementation": "1.0"
}, },
"require-dev": { "require-dev": {
"ext-zlib": "*", "bamarni/composer-bin-plugin": "^1.4.1",
"phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10" "http-interop/http-factory-tests": "^0.9",
"phpunit/phpunit": "^8.5.8 || ^9.3.10"
}, },
"suggest": { "suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
@ -1450,16 +1470,13 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.7-dev" "dev-master": "2.1-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"GuzzleHttp\\Psr7\\": "src/" "GuzzleHttp\\Psr7\\": "src/"
}, }
"files": [
"src/functions_include.php"
]
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
"license": [ "license": [
@ -1495,6 +1512,11 @@
"name": "Tobias Schultze", "name": "Tobias Schultze",
"email": "webmaster@tubo-world.de", "email": "webmaster@tubo-world.de",
"homepage": "https://github.com/Tobion" "homepage": "https://github.com/Tobion"
},
{
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com",
"homepage": "https://sagikazarmark.hu"
} }
], ],
"description": "PSR-7 message implementation that also provides common utility methods", "description": "PSR-7 message implementation that also provides common utility methods",
@ -1510,7 +1532,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/guzzle/psr7/issues", "issues": "https://github.com/guzzle/psr7/issues",
"source": "https://github.com/guzzle/psr7/tree/1.8.3" "source": "https://github.com/guzzle/psr7/tree/2.1.0"
}, },
"funding": [ "funding": [
{ {
@ -1526,7 +1548,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-10-05T13:56:00+00:00" "time": "2021-10-06T17:43:30+00:00"
}, },
{ {
"name": "intervention/image", "name": "intervention/image",
@ -1614,24 +1636,28 @@
}, },
{ {
"name": "knplabs/knp-snappy", "name": "knplabs/knp-snappy",
"version": "v1.2.1", "version": "v1.3.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/KnpLabs/snappy.git", "url": "https://github.com/KnpLabs/snappy.git",
"reference": "7bac60fb729147b7ccd8532c07df3f52a4afa8a4" "reference": "349c2e872bbeb15dff825a17dd92ea9c6ae4120e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/KnpLabs/snappy/zipball/7bac60fb729147b7ccd8532c07df3f52a4afa8a4", "url": "https://api.github.com/repos/KnpLabs/snappy/zipball/349c2e872bbeb15dff825a17dd92ea9c6ae4120e",
"reference": "7bac60fb729147b7ccd8532c07df3f52a4afa8a4", "reference": "349c2e872bbeb15dff825a17dd92ea9c6ae4120e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=7.1", "php": ">=7.1",
"psr/log": "^1.0", "psr/log": "^1.0||^2.0||^3.0",
"symfony/process": "~3.4||~4.3||~5.0" "symfony/process": "~3.4||~4.3||~5.0"
}, },
"require-dev": { "require-dev": {
"friendsofphp/php-cs-fixer": "^2.16",
"pedrotroller/php-cs-custom-fixer": "^2.19",
"phpstan/phpstan": "^0.12.7",
"phpstan/phpstan-phpunit": "^0.12.6",
"phpunit/phpunit": "~7.4" "phpunit/phpunit": "~7.4"
}, },
"suggest": { "suggest": {
@ -1658,7 +1684,7 @@
], ],
"authors": [ "authors": [
{ {
"name": "KnpLabs Team", "name": "KNP Labs Team",
"homepage": "http://knplabs.com" "homepage": "http://knplabs.com"
}, },
{ {
@ -1666,7 +1692,7 @@
"homepage": "http://github.com/KnpLabs/snappy/contributors" "homepage": "http://github.com/KnpLabs/snappy/contributors"
} }
], ],
"description": "PHP5 library allowing thumbnail, snapshot or PDF generation from a url or a html page. Wrapper for wkhtmltopdf/wkhtmltoimage.", "description": "PHP library allowing thumbnail, snapshot or PDF generation from a url or a html page. Wrapper for wkhtmltopdf/wkhtmltoimage.",
"homepage": "http://github.com/KnpLabs/snappy", "homepage": "http://github.com/KnpLabs/snappy",
"keywords": [ "keywords": [
"knp", "knp",
@ -1678,22 +1704,22 @@
], ],
"support": { "support": {
"issues": "https://github.com/KnpLabs/snappy/issues", "issues": "https://github.com/KnpLabs/snappy/issues",
"source": "https://github.com/KnpLabs/snappy/tree/master" "source": "https://github.com/KnpLabs/snappy/tree/v1.3.1"
}, },
"time": "2020-01-20T08:30:30+00:00" "time": "2021-10-22T11:40:26+00:00"
}, },
{ {
"name": "laravel/framework", "name": "laravel/framework",
"version": "v6.20.35", "version": "v6.20.36",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/framework.git", "url": "https://github.com/laravel/framework.git",
"reference": "5e55aa4063b9f7cf3249bfebcc37a6fbad4f159a" "reference": "10f6bfaec9efb68aa88d7196b8b1b162d83040ae"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/5e55aa4063b9f7cf3249bfebcc37a6fbad4f159a", "url": "https://api.github.com/repos/laravel/framework/zipball/10f6bfaec9efb68aa88d7196b8b1b162d83040ae",
"reference": "5e55aa4063b9f7cf3249bfebcc37a6fbad4f159a", "reference": "10f6bfaec9efb68aa88d7196b8b1b162d83040ae",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1833,7 +1859,7 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2021-10-05T14:05:19+00:00" "time": "2021-10-19T13:59:55+00:00"
}, },
{ {
"name": "laravel/socialite", "name": "laravel/socialite",
@ -3598,6 +3624,61 @@
}, },
"time": "2020-06-29T06:28:15+00:00" "time": "2020-06-29T06:28:15+00:00"
}, },
{
"name": "psr/http-factory",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-factory.git",
"reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
"reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
"shasum": ""
},
"require": {
"php": ">=7.0.0",
"psr/http-message": "^1.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Http\\Message\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interfaces for PSR-7 HTTP message factories",
"keywords": [
"factory",
"http",
"message",
"psr",
"psr-17",
"psr-7",
"request",
"response"
],
"support": {
"source": "https://github.com/php-fig/http-factory/tree/master"
},
"time": "2019-04-30T12:38:16+00:00"
},
{ {
"name": "psr/http-message", "name": "psr/http-message",
"version": "1.0.1", "version": "1.0.1",
@ -4359,16 +4440,16 @@
}, },
{ {
"name": "swiftmailer/swiftmailer", "name": "swiftmailer/swiftmailer",
"version": "v6.2.7", "version": "v6.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/swiftmailer/swiftmailer.git", "url": "https://github.com/swiftmailer/swiftmailer.git",
"reference": "15f7faf8508e04471f666633addacf54c0ab5933" "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/15f7faf8508e04471f666633addacf54c0ab5933", "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c",
"reference": "15f7faf8508e04471f666633addacf54c0ab5933", "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4380,7 +4461,7 @@
}, },
"require-dev": { "require-dev": {
"mockery/mockery": "^1.0", "mockery/mockery": "^1.0",
"symfony/phpunit-bridge": "^4.4|^5.0" "symfony/phpunit-bridge": "^4.4|^5.4"
}, },
"suggest": { "suggest": {
"ext-intl": "Needed to support internationalized email addresses" "ext-intl": "Needed to support internationalized email addresses"
@ -4418,7 +4499,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/swiftmailer/swiftmailer/issues", "issues": "https://github.com/swiftmailer/swiftmailer/issues",
"source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.7" "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0"
}, },
"funding": [ "funding": [
{ {
@ -4430,7 +4511,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-03-09T12:30:35+00:00" "time": "2021-10-18T15:26:12+00:00"
}, },
{ {
"name": "symfony/console", "name": "symfony/console",
@ -6615,23 +6696,23 @@
"packages-dev": [ "packages-dev": [
{ {
"name": "barryvdh/laravel-debugbar", "name": "barryvdh/laravel-debugbar",
"version": "v3.6.2", "version": "v3.6.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/barryvdh/laravel-debugbar.git", "url": "https://github.com/barryvdh/laravel-debugbar.git",
"reference": "70b89754913fd89fef16d0170a91dbc2a5cd633a" "reference": "3c2d678269ba60e178bcd93e36f6a91c36b727f1"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/70b89754913fd89fef16d0170a91dbc2a5cd633a", "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/3c2d678269ba60e178bcd93e36f6a91c36b727f1",
"reference": "70b89754913fd89fef16d0170a91dbc2a5cd633a", "reference": "3c2d678269ba60e178bcd93e36f6a91c36b727f1",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"illuminate/routing": "^6|^7|^8", "illuminate/routing": "^6|^7|^8",
"illuminate/session": "^6|^7|^8", "illuminate/session": "^6|^7|^8",
"illuminate/support": "^6|^7|^8", "illuminate/support": "^6|^7|^8",
"maximebf/debugbar": "^1.16.3", "maximebf/debugbar": "^1.17.2",
"php": ">=7.2", "php": ">=7.2",
"symfony/debug": "^4.3|^5", "symfony/debug": "^4.3|^5",
"symfony/finder": "^4.3|^5" "symfony/finder": "^4.3|^5"
@ -6645,7 +6726,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "3.5-dev" "dev-master": "3.6-dev"
}, },
"laravel": { "laravel": {
"providers": [ "providers": [
@ -6684,7 +6765,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/barryvdh/laravel-debugbar/issues", "issues": "https://github.com/barryvdh/laravel-debugbar/issues",
"source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.6.2" "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.6.4"
}, },
"funding": [ "funding": [
{ {
@ -6696,7 +6777,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2021-06-14T14:29:26+00:00" "time": "2021-10-21T10:57:31+00:00"
}, },
{ {
"name": "barryvdh/laravel-ide-helper", "name": "barryvdh/laravel-ide-helper",
@ -7081,16 +7162,16 @@
}, },
{ {
"name": "composer/semver", "name": "composer/semver",
"version": "3.2.5", "version": "3.2.6",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/composer/semver.git", "url": "https://github.com/composer/semver.git",
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9" "reference": "83e511e247de329283478496f7a1e114c9517506"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/composer/semver/zipball/31f3ea725711245195f62e54ffa402d8ef2fdba9", "url": "https://api.github.com/repos/composer/semver/zipball/83e511e247de329283478496f7a1e114c9517506",
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9", "reference": "83e511e247de329283478496f7a1e114c9517506",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -7142,7 +7223,7 @@
"support": { "support": {
"irc": "irc://irc.freenode.org/composer", "irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/semver/issues", "issues": "https://github.com/composer/semver/issues",
"source": "https://github.com/composer/semver/tree/3.2.5" "source": "https://github.com/composer/semver/tree/3.2.6"
}, },
"funding": [ "funding": [
{ {
@ -7158,7 +7239,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2021-05-24T12:41:47+00:00" "time": "2021-10-25T11:34:17+00:00"
}, },
{ {
"name": "composer/spdx-licenses", "name": "composer/spdx-licenses",
@ -7560,21 +7641,21 @@
}, },
{ {
"name": "maximebf/debugbar", "name": "maximebf/debugbar",
"version": "v1.17.1", "version": "v1.17.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/maximebf/php-debugbar.git", "url": "https://github.com/maximebf/php-debugbar.git",
"reference": "0a3532556be0145603f8a9de23e76dc28eed7054" "reference": "3541f09f09c003c4a9ff7ddb0eb3361a7f14d418"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/0a3532556be0145603f8a9de23e76dc28eed7054", "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/3541f09f09c003c4a9ff7ddb0eb3361a7f14d418",
"reference": "0a3532556be0145603f8a9de23e76dc28eed7054", "reference": "3541f09f09c003c4a9ff7ddb0eb3361a7f14d418",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1|^8", "php": "^7.1|^8",
"psr/log": "^1.0", "psr/log": "^1|^2|^3",
"symfony/var-dumper": "^2.6|^3|^4|^5" "symfony/var-dumper": "^2.6|^3|^4|^5"
}, },
"require-dev": { "require-dev": {
@ -7619,9 +7700,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/maximebf/php-debugbar/issues", "issues": "https://github.com/maximebf/php-debugbar/issues",
"source": "https://github.com/maximebf/php-debugbar/tree/v1.17.1" "source": "https://github.com/maximebf/php-debugbar/tree/v1.17.2"
}, },
"time": "2021-08-01T09:19:02+00:00" "time": "2021-10-18T09:39:00+00:00"
}, },
{ {
"name": "mockery/mockery", "name": "mockery/mockery",
@ -7975,16 +8056,16 @@
}, },
{ {
"name": "phpdocumentor/reflection-docblock", "name": "phpdocumentor/reflection-docblock",
"version": "5.2.2", "version": "5.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -7995,7 +8076,8 @@
"webmozart/assert": "^1.9.1" "webmozart/assert": "^1.9.1"
}, },
"require-dev": { "require-dev": {
"mockery/mockery": "~1.3.2" "mockery/mockery": "~1.3.2",
"psalm/phar": "^4.8"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@ -8025,9 +8107,9 @@
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": { "support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
}, },
"time": "2020-09-03T19:13:55+00:00" "time": "2021-10-19T17:43:47+00:00"
}, },
{ {
"name": "phpdocumentor/type-resolver", "name": "phpdocumentor/type-resolver",
@ -9470,7 +9552,6 @@
"type": "github" "type": "github"
} }
], ],
"abandoned": true,
"time": "2020-09-28T06:45:17+00:00" "time": "2020-09-28T06:45:17+00:00"
}, },
{ {

View File

@ -157,7 +157,7 @@ Security information for administering a BookStack instance can be found on the
If you'd like to be notified of new potential security concerns you can [sign-up to the BookStack security mailing list](https://updates.bookstackapp.com/signup/bookstack-security-updates). If you'd like to be notified of new potential security concerns you can [sign-up to the BookStack security mailing list](https://updates.bookstackapp.com/signup/bookstack-security-updates).
If you would like to report a security concern in a more confidential manner than via a GitHub issue, You can directly email the lead maintainer [ssddanbrown](https://github.com/ssddanbrown). You will need to login to be able to see the email address on the [GitHub profile page](https://github.com/ssddanbrown). Alternatively you can send a DM via twitter to [@ssddanbrown](https://twitter.com/ssddanbrown). If you would like to report a security concern, details of doing so can [can be found here](https://github.com/BookStackApp/BookStack/blob/master/.github/SECURITY.md).
## ♿ Accessibility ## ♿ Accessibility

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'Hebraisk', 'he' => 'Hebraisk',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -251,7 +251,7 @@ Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Estnisch',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'Hebräisch', 'he' => 'Hebräisch',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -251,7 +251,7 @@ Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Estnisch',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -249,7 +249,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -240,9 +240,9 @@ return [
'start_b' => ':userName alustas selle lehe muutmist', 'start_b' => ':userName alustas selle lehe muutmist',
'time_a' => 'lehe viimasest muutmisest alates', 'time_a' => 'lehe viimasest muutmisest alates',
'time_b' => 'viimase :minCount minuti jooksul', 'time_b' => 'viimase :minCount minuti jooksul',
'message' => ':start :time. Take care not to overwrite each other\'s updates!', 'message' => ':start :time. Ärge teineteise muudatusi üle kirjutage!',
], ],
'pages_draft_discarded' => 'Draft discarded, The editor has been updated with the current page content', 'pages_draft_discarded' => 'Mustand ära visatud, redaktorisse laeti lehe värske sisu',
'pages_specific' => 'Specific Page', 'pages_specific' => 'Specific Page',
'pages_is_template' => 'Page Template', 'pages_is_template' => 'Page Template',
@ -292,7 +292,7 @@ return [
'templates_prepend_content' => 'Lisa lehe sisu ette', 'templates_prepend_content' => 'Lisa lehe sisu ette',
// Profile View // Profile View
'profile_user_for_x' => 'User for :time', 'profile_user_for_x' => 'Kasutaja olnud :time',
'profile_created_content' => 'Lisatud sisu', 'profile_created_content' => 'Lisatud sisu',
'profile_not_created_pages' => ':userName ei ole ühtegi lehte lisanud', 'profile_not_created_pages' => ':userName ei ole ühtegi lehte lisanud',
'profile_not_created_chapters' => ':userName ei ole ühtegi peatükki lisanud', 'profile_not_created_chapters' => ':userName ei ole ühtegi peatükki lisanud',

View File

@ -66,7 +66,7 @@ return [
'reg_email_confirmation_toggle' => 'Nõua e-posti aadressi kinnitamist', 'reg_email_confirmation_toggle' => 'Nõua e-posti aadressi kinnitamist',
'reg_confirm_email_desc' => 'Kui domeeni piirang on kasutusel, siis on e-posti aadressi kinnitamine nõutud ja seda seadet ignoreeritakse.', 'reg_confirm_email_desc' => 'Kui domeeni piirang on kasutusel, siis on e-posti aadressi kinnitamine nõutud ja seda seadet ignoreeritakse.',
'reg_confirm_restrict_domain' => 'Domeeni piirang', 'reg_confirm_restrict_domain' => 'Domeeni piirang',
'reg_confirm_restrict_domain_desc' => 'Sisesta komaga eraldatud nimekiri e-posti domeenidest, millega soovitud registreerumist piirata. Kasutajale saadetakse aadressi kinnitamiseks e-kiri, enne kui neil lubatakse rakendust kasutada.<br>Pane tähele, et kasutajad saavad pärast edukat registreerumist oma e-posti aadressi muuta.', 'reg_confirm_restrict_domain_desc' => 'Sisesta komaga eraldatud nimekiri e-posti domeenidest, millega soovid registreerumist piirata. Kasutajale saadetakse aadressi kinnitamiseks e-kiri, enne kui neil lubatakse rakendust kasutada.<br>Pane tähele, et kasutajad saavad pärast edukat registreerumist oma e-posti aadressi muuta.',
'reg_confirm_restrict_domain_placeholder' => 'Piirangut ei ole', 'reg_confirm_restrict_domain_placeholder' => 'Piirangut ei ole',
// Maintenance settings // Maintenance settings
@ -126,7 +126,7 @@ return [
// Role Settings // Role Settings
'roles' => 'Rollid', 'roles' => 'Rollid',
'role_user_roles' => 'Kasutajate rollid', 'role_user_roles' => 'Kasutaja rollid',
'role_create' => 'Lisa uus roll', 'role_create' => 'Lisa uus roll',
'role_create_success' => 'Roll on lisatud', 'role_create_success' => 'Roll on lisatud',
'role_delete' => 'Kustuta roll', 'role_delete' => 'Kustuta roll',
@ -209,8 +209,8 @@ return [
'users_api_tokens_docs' => 'API dokumentatsioon', 'users_api_tokens_docs' => 'API dokumentatsioon',
'users_mfa' => 'Mitmeastmeline autentimine', 'users_mfa' => 'Mitmeastmeline autentimine',
'users_mfa_desc' => 'Seadista mitmeastmeline autentimine, et oma kasutajakonto turvalisust tõsta.', 'users_mfa_desc' => 'Seadista mitmeastmeline autentimine, et oma kasutajakonto turvalisust tõsta.',
'users_mfa_x_methods' => ':count method configured|:count methods configured', 'users_mfa_x_methods' => ':count meetod seadistatud|:count meetodit seadistatud',
'users_mfa_configure' => 'Configure Methods', 'users_mfa_configure' => 'Seadista meetodid',
// API Tokens // API Tokens
'user_api_token_create' => 'Lisa API tunnus', 'user_api_token_create' => 'Lisa API tunnus',
@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -79,16 +79,16 @@ return [
'string' => ':attribute peab sisaldama vähemalt :min tähemärki.', 'string' => ':attribute peab sisaldama vähemalt :min tähemärki.',
'array' => ':attribute peab sisaldama vähemalt :min elementi.', 'array' => ':attribute peab sisaldama vähemalt :min elementi.',
], ],
'not_in' => 'The selected :attribute is invalid.', 'not_in' => 'Valitud :attribute on vigane.',
'not_regex' => 'The :attribute format is invalid.', 'not_regex' => ':attribute on vigases formaadis.',
'numeric' => 'The :attribute must be a number.', 'numeric' => ':attribute peab olema arv.',
'regex' => 'The :attribute format is invalid.', 'regex' => ':attribute on vigases formaadis.',
'required' => ':attribute on kohustuslik.', 'required' => ':attribute on kohustuslik.',
'required_if' => ':attribute on kohustuslik, kui :other on :value.', 'required_if' => ':attribute on kohustuslik, kui :other on :value.',
'required_with' => ':attribute on kohustuslik, kui :values on olemas.', 'required_with' => ':attribute on kohustuslik, kui :values on olemas.',
'required_with_all' => ':attribute on kohustuslik, kui :values on olemas.', 'required_with_all' => ':attribute on kohustuslik, kui :values on olemas.',
'required_without' => ':attribute on kohustuslik, kui :values ei ole olemas.', 'required_without' => ':attribute on kohustuslik, kui :values ei ole olemas.',
'required_without_all' => 'The :attribute field is required when none of :values are present.', 'required_without_all' => ':attribute on kohustuslik, kui :values on valimata.',
'same' => ':attribute ja :other peavad klappima.', 'same' => ':attribute ja :other peavad klappima.',
'safe_url' => 'Link ei pruugi olla turvaline.', 'safe_url' => 'Link ei pruugi olla turvaline.',
'size' => [ 'size' => [
@ -97,8 +97,8 @@ return [
'string' => ':attribute peab sisaldama :size tähemärki.', 'string' => ':attribute peab sisaldama :size tähemärki.',
'array' => ':attribute peab sisaldama :size elemente.', 'array' => ':attribute peab sisaldama :size elemente.',
], ],
'string' => 'The :attribute must be a string.', 'string' => ':attribute peab olema string.',
'timezone' => 'The :attribute must be a valid zone.', 'timezone' => ':attribute peab olema kehtiv ajavöönd.',
'totp' => 'Kood ei ole korrektne või on aegunud.', 'totp' => 'Kood ei ole korrektne või on aegunud.',
'unique' => ':attribute on juba võetud.', 'unique' => ':attribute on juba võetud.',
'url' => ':attribute on vigases formaadis.', 'url' => ':attribute on vigases formaadis.',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Estonien',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'Hébreu', 'he' => 'Hébreu',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => '히브리어', 'he' => '히브리어',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -81,32 +81,32 @@ return [
'mfa_setup_configured' => 'Divfaktoru autentifikācija jau ir nokonfigurēta', 'mfa_setup_configured' => 'Divfaktoru autentifikācija jau ir nokonfigurēta',
'mfa_setup_reconfigure' => 'Mainīt 2FA konfigurāciju', 'mfa_setup_reconfigure' => 'Mainīt 2FA konfigurāciju',
'mfa_setup_remove_confirmation' => 'Vai esi drošs, ka vēlies noņemt divfaktoru autentifikāciju?', 'mfa_setup_remove_confirmation' => 'Vai esi drošs, ka vēlies noņemt divfaktoru autentifikāciju?',
'mfa_setup_action' => 'Setup', 'mfa_setup_action' => 'Iestatījumi',
'mfa_backup_codes_usage_limit_warning' => 'You have less than 5 backup codes remaining, Please generate and store a new set before you run out of codes to prevent being locked out of your account.', 'mfa_backup_codes_usage_limit_warning' => 'Jums atlikuši mazāk kā 5 rezerves kodi. Lūdzu izveidojiet jaunu kodu komplektu pirms tie visi izlietoti, lai izvairītos no izslēgšanas no jūsu konta.',
'mfa_option_totp_title' => 'Mobile App', 'mfa_option_totp_title' => 'Mobilā aplikācija',
'mfa_option_totp_desc' => 'To use multi-factor authentication you\'ll need a mobile application that supports TOTP such as Google Authenticator, Authy or Microsoft Authenticator.', 'mfa_option_totp_desc' => 'Lai lietotu vairākfaktoru autentifikāciju, jums būs nepieciešama mobilā aplikācija, kas atbalsta TOTP, piemēram, Google Authenticator, Authy vai Microsoft Authenticator.',
'mfa_option_backup_codes_title' => 'Backup Codes', 'mfa_option_backup_codes_title' => 'Rezerves kodi',
'mfa_option_backup_codes_desc' => 'Securely store a set of one-time-use backup codes which you can enter to verify your identity.', 'mfa_option_backup_codes_desc' => 'Droši noglabājiet vienreizlietojamu rezerves kodu komplektu, ko varēsiet izmantot, lai verificētu savu identitāti.',
'mfa_gen_confirm_and_enable' => 'Confirm and Enable', 'mfa_gen_confirm_and_enable' => 'Apstiprināt un ieslēgt',
'mfa_gen_backup_codes_title' => 'Backup Codes Setup', 'mfa_gen_backup_codes_title' => 'Rezerves kodu iestatījumi',
'mfa_gen_backup_codes_desc' => 'Store the below list of codes in a safe place. When accessing the system you\'ll be able to use one of the codes as a second authentication mechanism.', 'mfa_gen_backup_codes_desc' => 'Noglabājiet zemāk esošo kodu sarakstu drošā vietā. Kad piekļūsiet sistēmai, jūs varēsiet izmantot vienu no kodiem kā papildus autentifikācijas mehānismu.',
'mfa_gen_backup_codes_download' => 'Download Codes', 'mfa_gen_backup_codes_download' => 'Lejupielādēt kodus',
'mfa_gen_backup_codes_usage_warning' => 'Each code can only be used once', 'mfa_gen_backup_codes_usage_warning' => 'Katru kodu var izmantot tikai vienreiz',
'mfa_gen_totp_title' => 'Mobile App Setup', 'mfa_gen_totp_title' => 'Mobilās aplikācijas iestatījumi',
'mfa_gen_totp_desc' => 'To use multi-factor authentication you\'ll need a mobile application that supports TOTP such as Google Authenticator, Authy or Microsoft Authenticator.', 'mfa_gen_totp_desc' => 'Lai lietotu vairākfaktoru autentifikāciju, jums būs nepieciešama mobilā aplikācija, kas atbalsta TOTP, piemēram, Google Authenticator, Authy vai Microsoft Authenticator.',
'mfa_gen_totp_scan' => 'Scan the QR code below using your preferred authentication app to get started.', 'mfa_gen_totp_scan' => 'Skenējiet zemāk esošo kvadrātkodu (QR) izmantojot savu autentifikācijas aplikāciju.',
'mfa_gen_totp_verify_setup' => 'Verify Setup', 'mfa_gen_totp_verify_setup' => 'Verificēt iestatījumus',
'mfa_gen_totp_verify_setup_desc' => 'Verify that all is working by entering a code, generated within your authentication app, in the input box below:', 'mfa_gen_totp_verify_setup_desc' => 'Pārbaudiet, ka viss darbojas, zemāk esošajā laukā ievadot kodu, ko izveidojusi jūsu autentifikācijas aplikācijā:',
'mfa_gen_totp_provide_code_here' => 'Provide your app generated code here', 'mfa_gen_totp_provide_code_here' => 'Norādīet jūsu aplikācijā izveidoto kodu šeit',
'mfa_verify_access' => 'Verify Access', 'mfa_verify_access' => 'Verificēt piekļuvi',
'mfa_verify_access_desc' => 'Your user account requires you to confirm your identity via an additional level of verification before you\'re granted access. Verify using one of your configured methods to continue.', 'mfa_verify_access_desc' => 'Jūsu lietotāja kontam nepieciešams verificēt jūsu identitāti ar papildus pārbaudes līmeni pirms piešķirta piekļuve. Verificējiet, izmantojot vienu no uzstādītajām metodēm, lai turpinātu.',
'mfa_verify_no_methods' => 'No Methods Configured', 'mfa_verify_no_methods' => 'Nav iestatīta neviena metode',
'mfa_verify_no_methods_desc' => 'No multi-factor authentication methods could be found for your account. You\'ll need to set up at least one method before you gain access.', 'mfa_verify_no_methods_desc' => 'Jūsu kontam nav iestatīta neviena vairākfaktoru autentifikācijas metode. Jums būs nepieciešams iestatīt vismaz vienu metodi, lai iegūtu piekļuvi.',
'mfa_verify_use_totp' => 'Verify using a mobile app', 'mfa_verify_use_totp' => 'Verificēt, izmantojot mobilo aplikāciju',
'mfa_verify_use_backup_codes' => 'Verify using a backup code', 'mfa_verify_use_backup_codes' => 'Verificēt, izmantojot rezerves kodu',
'mfa_verify_backup_code' => 'Backup Code', 'mfa_verify_backup_code' => 'Rezerves kods',
'mfa_verify_backup_code_desc' => 'Enter one of your remaining backup codes below:', 'mfa_verify_backup_code_desc' => 'Zemāk ievadiet vienu no jūsu atlikušajiem rezerves kodiem:',
'mfa_verify_backup_code_enter_here' => 'Enter backup code here', 'mfa_verify_backup_code_enter_here' => 'Ievadiet rezerves kodu šeit',
'mfa_verify_totp_desc' => 'Enter the code, generated using your mobile app, below:', 'mfa_verify_totp_desc' => 'Zemāk ievadiet kodu, kas izveidots mobilajā aplikācijā:',
'mfa_setup_login_notification' => 'Multi-factor method configured, Please now login again using the configured method.', 'mfa_setup_login_notification' => 'Vairākfaktoru metode iestatīta, lūdzu pieslēdzieties atkal izmantojot iestatīto metodi.',
]; ];

View File

@ -234,7 +234,7 @@ return [
'pages_initial_name' => 'Jauna lapa', 'pages_initial_name' => 'Jauna lapa',
'pages_editing_draft_notification' => 'Jūs pašlaik veicat izmaiņas melnrakstā, kurš pēdējo reizi ir saglabāts :timeDiff.', 'pages_editing_draft_notification' => 'Jūs pašlaik veicat izmaiņas melnrakstā, kurš pēdējo reizi ir saglabāts :timeDiff.',
'pages_draft_edited_notification' => 'Šī lapa ir tikusi atjaunināta. Šo melnrakstu ieteicams atmest.', 'pages_draft_edited_notification' => 'Šī lapa ir tikusi atjaunināta. Šo melnrakstu ieteicams atmest.',
'pages_draft_page_changed_since_creation' => 'This page has been updated since this draft was created. It is recommended that you discard this draft or take care not to overwrite any page changes.', 'pages_draft_page_changed_since_creation' => 'Šī lapa ir izmainīta kopš šī uzmetuma izveidošanas. Ieteicams šo uzmetumu dzēst, lai netiktu pazaudētas veiktās izmaiņas.',
'pages_draft_edit_active' => [ 'pages_draft_edit_active' => [
'start_a' => ':count lietotāji pašlaik veic izmaiņas šajā lapā', 'start_a' => ':count lietotāji pašlaik veic izmaiņas šajā lapā',
'start_b' => ':userName veic izmaiņas šajā lapā', 'start_b' => ':userName veic izmaiņas šajā lapā',

View File

@ -23,10 +23,10 @@ return [
'saml_no_email_address' => 'Ārējās autentifikācijas sistēmas sniegtajos datos nevarēja atrast šī lietotāja e-pasta adresi', 'saml_no_email_address' => 'Ārējās autentifikācijas sistēmas sniegtajos datos nevarēja atrast šī lietotāja e-pasta adresi',
'saml_invalid_response_id' => 'Ārējās autentifikācijas sistēmas pieprasījums neatpazīst procesu, kuru sākusi šī lietojumprogramma. Pārvietojoties atpakaļ pēc pieteikšanās var rasties šāda problēma.', 'saml_invalid_response_id' => 'Ārējās autentifikācijas sistēmas pieprasījums neatpazīst procesu, kuru sākusi šī lietojumprogramma. Pārvietojoties atpakaļ pēc pieteikšanās var rasties šāda problēma.',
'saml_fail_authed' => 'Piekļuve ar :system neizdevās, sistēma nepieļāva veiksmīgu autorizāciju', 'saml_fail_authed' => 'Piekļuve ar :system neizdevās, sistēma nepieļāva veiksmīgu autorizāciju',
'oidc_already_logged_in' => 'Already logged in', 'oidc_already_logged_in' => 'Jau esat ielogojies',
'oidc_user_not_registered' => 'The user :name is not registered and automatic registration is disabled', 'oidc_user_not_registered' => 'Lietotājs :name nav reģistrēts un automātiska reģistrācija ir izslēgta',
'oidc_no_email_address' => 'Could not find an email address, for this user, in the data provided by the external authentication system', 'oidc_no_email_address' => 'Ārējās autentifikācijas sistēmas sniegtajos datos nevarēja atrast šī lietotāja e-pasta adresi',
'oidc_fail_authed' => 'Login using :system failed, system did not provide successful authorization', 'oidc_fail_authed' => 'Piekļuve ar :system neizdevās, sistēma nepieļāva veiksmīgu autorizāciju',
'social_no_action_defined' => 'Darbības nav definētas', 'social_no_action_defined' => 'Darbības nav definētas',
'social_login_bad_response' => "Saņemta kļūda izmantojot :socialAccount piekļuvi:\n:error", 'social_login_bad_response' => "Saņemta kļūda izmantojot :socialAccount piekļuvi:\n:error",
'social_account_in_use' => 'Šis :socialAccount konts jau tiek izmantots, mēģiniet ieiet ar :socialAccount piekļuves iespēju.', 'social_account_in_use' => 'Šis :socialAccount konts jau tiek izmantots, mēģiniet ieiet ar :socialAccount piekļuves iespēju.',

View File

@ -92,7 +92,7 @@ return [
'recycle_bin' => 'Miskaste', 'recycle_bin' => 'Miskaste',
'recycle_bin_desc' => 'Te jūs varat atjaunot dzēstās vienības vai arī izdzēst tās no sistēmas pilnībā. Šis saraksts nav filtrēts atšķirībā no līdzīgiem darbību sarakstiem sistēmā, kur ir piemēroti piekļuves tiesību filtri.', 'recycle_bin_desc' => 'Te jūs varat atjaunot dzēstās vienības vai arī izdzēst tās no sistēmas pilnībā. Šis saraksts nav filtrēts atšķirībā no līdzīgiem darbību sarakstiem sistēmā, kur ir piemēroti piekļuves tiesību filtri.',
'recycle_bin_deleted_item' => 'Dzēsta vienība', 'recycle_bin_deleted_item' => 'Dzēsta vienība',
'recycle_bin_deleted_parent' => 'Parent', 'recycle_bin_deleted_parent' => 'Augstāks līmenis',
'recycle_bin_deleted_by' => 'Izdzēsa', 'recycle_bin_deleted_by' => 'Izdzēsa',
'recycle_bin_deleted_at' => 'Dzēšanas laiks', 'recycle_bin_deleted_at' => 'Dzēšanas laiks',
'recycle_bin_permanently_delete' => 'Neatgriezeniski izdzēst', 'recycle_bin_permanently_delete' => 'Neatgriezeniski izdzēst',
@ -105,7 +105,7 @@ return [
'recycle_bin_restore_list' => 'Atjaunojamās vienības', 'recycle_bin_restore_list' => 'Atjaunojamās vienības',
'recycle_bin_restore_confirm' => 'Šī darbība atjaunos dzēsto vienību, tai skaitā visus tai pakārtotos elementus, uz tās sākotnējo atrašanās vietu. Ja sākotnējā atrašanās vieta ir izdzēsta un atrodas miskastē, būs nepieciešams atjaunot arī to.', 'recycle_bin_restore_confirm' => 'Šī darbība atjaunos dzēsto vienību, tai skaitā visus tai pakārtotos elementus, uz tās sākotnējo atrašanās vietu. Ja sākotnējā atrašanās vieta ir izdzēsta un atrodas miskastē, būs nepieciešams atjaunot arī to.',
'recycle_bin_restore_deleted_parent' => 'Šo elementu saturošā vienība arī ir dzēsta. Tas paliks dzēsts līdz šī saturošā vienība arī ir atjaunota.', 'recycle_bin_restore_deleted_parent' => 'Šo elementu saturošā vienība arī ir dzēsta. Tas paliks dzēsts līdz šī saturošā vienība arī ir atjaunota.',
'recycle_bin_restore_parent' => 'Restore Parent', 'recycle_bin_restore_parent' => 'Atjaunot augstāku līmeni',
'recycle_bin_destroy_notification' => 'Dzēstas kopā :count vienības no miskastes.', 'recycle_bin_destroy_notification' => 'Dzēstas kopā :count vienības no miskastes.',
'recycle_bin_restore_notification' => 'Atjaunotas kopā :count vienības no miskastes.', 'recycle_bin_restore_notification' => 'Atjaunotas kopā :count vienības no miskastes.',
@ -119,7 +119,7 @@ return [
'audit_table_user' => 'Lietotājs', 'audit_table_user' => 'Lietotājs',
'audit_table_event' => 'Notikums', 'audit_table_event' => 'Notikums',
'audit_table_related' => 'Saistīta vienība vai detaļa', 'audit_table_related' => 'Saistīta vienība vai detaļa',
'audit_table_ip' => 'IP Address', 'audit_table_ip' => 'IP adrese',
'audit_table_date' => 'Notikuma datums', 'audit_table_date' => 'Notikuma datums',
'audit_date_from' => 'Datums no', 'audit_date_from' => 'Datums no',
'audit_date_to' => 'Datums līdz', 'audit_date_to' => 'Datums līdz',
@ -139,7 +139,7 @@ return [
'role_details' => 'Informācija par grupu', 'role_details' => 'Informācija par grupu',
'role_name' => 'Grupas nosaukums', 'role_name' => 'Grupas nosaukums',
'role_desc' => 'Īss grupas apaksts', 'role_desc' => 'Īss grupas apaksts',
'role_mfa_enforced' => 'Requires Multi-Factor Authentication', 'role_mfa_enforced' => 'Nepieciešama vairākfaktoru autentifikācija',
'role_external_auth_id' => 'Ārējais autentifikācijas ID', 'role_external_auth_id' => 'Ārējais autentifikācijas ID',
'role_system' => 'Sistēmas atļaujas', 'role_system' => 'Sistēmas atļaujas',
'role_manage_users' => 'Pārvaldīt lietotājus', 'role_manage_users' => 'Pārvaldīt lietotājus',
@ -149,7 +149,7 @@ return [
'role_manage_page_templates' => 'Pārvaldīt lapas veidnes', 'role_manage_page_templates' => 'Pārvaldīt lapas veidnes',
'role_access_api' => 'Piekļūt sistēmas API', 'role_access_api' => 'Piekļūt sistēmas API',
'role_manage_settings' => 'Pārvaldīt iestatījumus', 'role_manage_settings' => 'Pārvaldīt iestatījumus',
'role_export_content' => 'Export content', 'role_export_content' => 'Eksportēt saturu',
'role_asset' => 'Resursa piekļuves tiesības', 'role_asset' => 'Resursa piekļuves tiesības',
'roles_system_warning' => 'Jebkuras no trīs augstāk redzamajām atļaujām dod iespēju lietotājam mainīt savas un citu lietotāju sistēmas atļaujas. Pievieno šīs grupu atļaujas tikai tiem lietotājiem, kuriem uzticies.', 'roles_system_warning' => 'Jebkuras no trīs augstāk redzamajām atļaujām dod iespēju lietotājam mainīt savas un citu lietotāju sistēmas atļaujas. Pievieno šīs grupu atļaujas tikai tiem lietotājiem, kuriem uzticies.',
'role_asset_desc' => 'Šīs piekļuves tiesības kontrolē noklusēto piekļuvi sistēmas resursiem. Grāmatām, nodaļām un lapām norādītās tiesības būs pārākas par šīm.', 'role_asset_desc' => 'Šīs piekļuves tiesības kontrolē noklusēto piekļuvi sistēmas resursiem. Grāmatām, nodaļām un lapām norādītās tiesības būs pārākas par šīm.',
@ -207,10 +207,10 @@ return [
'users_api_tokens_create' => 'Izveidot žetonu', 'users_api_tokens_create' => 'Izveidot žetonu',
'users_api_tokens_expires' => 'Derīguma termiņš', 'users_api_tokens_expires' => 'Derīguma termiņš',
'users_api_tokens_docs' => 'API dokumentācija', 'users_api_tokens_docs' => 'API dokumentācija',
'users_mfa' => 'Multi-Factor Authentication', 'users_mfa' => 'Vairākfaktoru autentifikācija',
'users_mfa_desc' => 'Setup multi-factor authentication as an extra layer of security for your user account.', 'users_mfa_desc' => 'Iestati vairākfaktoru autentifikāciju kā papildus drošības līmeni tavam lietotāja kontam.',
'users_mfa_x_methods' => ':count method configured|:count methods configured', 'users_mfa_x_methods' => ':count metode iestatīta|:count metodes iestatītas',
'users_mfa_configure' => 'Configure Methods', 'users_mfa_configure' => 'Iestatīt metodes',
// API Tokens // API Tokens
'user_api_token_create' => 'Izveidot API žetonu', 'user_api_token_create' => 'Izveidot API žetonu',
@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Estoński',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -249,7 +249,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'İbranice', 'he' => 'İbranice',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => 'עברית', 'he' => 'עברית',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -248,7 +248,7 @@ return [
'de_informal' => 'Deutsch (Du)', 'de_informal' => 'Deutsch (Du)',
'es' => 'Español', 'es' => 'Español',
'es_AR' => 'Español Argentina', 'es_AR' => 'Español Argentina',
'et' => 'Eesti Keel', 'et' => 'Eesti keel',
'fr' => 'Français', 'fr' => 'Français',
'he' => '希伯來語', 'he' => '希伯來語',
'hr' => 'Hrvatski', 'hr' => 'Hrvatski',

View File

@ -608,6 +608,21 @@ class PageContentTest extends TestCase
$this->assertStringContainsString('<img src=""', $page->html); $this->assertStringContainsString('<img src=""', $page->html);
} }
// Relevant to https://github.com/BookStackApp/BookStack/issues/3010
public function test_base64_images_within_html_blanked_if_extension_incorrect_but_prefix_matches_correct_extension()
{
$this->asEditor();
$page = Page::query()->first();
$this->put($page->getUrl(), [
'name' => $page->name, 'summary' => '',
'html' => '<p>test<img src="data:image/pngr;base64,' . $this->base64Jpeg . '"/></p>',
]);
$page->refresh();
$this->assertStringContainsString('<img src=""', $page->html);
}
public function test_base64_images_get_extracted_from_markdown_page_content() public function test_base64_images_get_extracted_from_markdown_page_content()
{ {
$this->asEditor(); $this->asEditor();

View File

@ -1 +1 @@
v21.10 v21.10.1