Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
211a76a1e7 | ||
|
|
8ecedd8f21 | ||
|
|
403435de67 | ||
|
|
41ed482d32 | ||
|
|
80b420841a | ||
|
|
e79bcd352c | ||
|
|
e5a7e9f73a | ||
|
|
9d58d7c00d | ||
|
|
c495da0f6f | ||
|
|
27f7e3b8db | ||
|
|
d0a915c6a8 | ||
|
|
5f698150f5 | ||
|
|
297d94a6fb | ||
|
|
90794f884c | ||
|
|
eeefd826e5 | ||
|
|
5d2f6b6dd0 | ||
|
|
87668f1c0b | ||
|
|
22adba5d54 | ||
|
|
f6e7464f8c | ||
|
|
45d2ac14be | ||
|
|
68b5a93be9 | ||
|
|
b0ddad726e | ||
|
|
69438938ce | ||
|
|
24f7e3c3f0 | ||
|
|
3d6ef46483 | ||
|
|
c7732610c8 | ||
|
|
c96dea0f3b | ||
|
|
35fd87a9da | ||
|
|
9583922193 | ||
|
|
9ecb5cb806 | ||
|
|
6e31474477 | ||
|
|
f526bc084a | ||
|
|
1655d51b39 | ||
|
|
ce93b0dde6 | ||
|
|
3432d1df4c | ||
|
|
eee8d33eb4 | ||
|
|
ec107a9ab7 | ||
|
|
e91bf81e38 | ||
|
|
b87e461d98 | ||
|
|
707aa28d1b | ||
|
|
44a741238f | ||
|
|
7f19f429cf | ||
|
|
9b2d733f79 |
@@ -0,0 +1 @@
|
||||
,ouidade,p34w-arch-ouidade,19.09.2023 13:51,file:///home/ouidade/.config/libreoffice/4;
|
||||
@@ -1,9 +1,240 @@
|
||||
# v1.7.37.1
|
||||
## 10/05/2022
|
||||
|
||||
1. [](#bugfix)
|
||||
* Fixed a bad return type [#3630](https://github.com/getgrav/grav/issues/3630)
|
||||
|
||||
# v1.7.37
|
||||
## 10/05/2022
|
||||
|
||||
1. [](#new)
|
||||
* Added new `onPageHeaders()` event to allow for header modification as needed
|
||||
* Added a `system.pages.dirs` configuration option to allow for configurable paths, and multiple page paths
|
||||
* Added new `Pages::getSimplePagesHash` which is useful for caching pages specific data
|
||||
* Updated to latest vendor libraries
|
||||
1. [](#bugfix)
|
||||
* An attempt to workaround windows reading locked file issue [getgrav/grav-plugin-admin#2299](https://github.com/getgrav/grav-plugin-admin/issues/2299)
|
||||
* Force user index file to be updated to fix email addresses [getgrav/grav-plugin-login#229](https://github.com/getgrav/grav-plugin-login/issues/229)
|
||||
|
||||
# v1.7.36
|
||||
## 09/08/2022
|
||||
|
||||
1. [](#new)
|
||||
* Added `authorize-*@:` support for Flex blueprints, e.g. `authorize-disabled@: not delete` disables the field if user does not have access to delete object
|
||||
* Added support for `flex-ignore@` to hide all the nested fields in the blueprint
|
||||
1. [](#bugfix)
|
||||
* Fixed login with a capitalised email address when using old users [getgrav/grav-plugin-login#229](https://github.com/getgrav/grav-plugin-login/issues/229)
|
||||
|
||||
# v1.7.35
|
||||
## 08/04/2022
|
||||
|
||||
1. [](#new)
|
||||
* Added support for `multipart/form-data` content type in PUT and PATCH requests
|
||||
* Added support for object relationships
|
||||
* Added variables `$environment` (string), `$request` (PSR-7 ServerRequestInterface|null) and `$uri` (PSR-7 Uri|null) to be used in `setup.php`
|
||||
1. [](#improved)
|
||||
* Minor vendor updates
|
||||
|
||||
# v1.7.34
|
||||
## 06/14/2022
|
||||
|
||||
1. [](#new)
|
||||
* Added back Yiddish to Language Codes [#3336](https://github.com/getgrav/grav/pull/3336)
|
||||
* Ignore upcoming `media.json` file in media
|
||||
1. [](#bugfix)
|
||||
* Regression: Fixed saving page with a new language causing cache corruption [getgrav/grav-plugin-admin#2282](https://github.com/getgrav/grav-plugin-admin/issues/2282)
|
||||
* Fixed a potential fatal error when using watermark in images
|
||||
* Fixed `bin/grav install` command with arbitrary destination folder name
|
||||
* Fixed Twig `|filter()` allowing code execution
|
||||
* Fixed login and user search by email not being case-insensitive when using Flex Users
|
||||
|
||||
# v1.7.33
|
||||
## 04/25/2022
|
||||
|
||||
1. [](#improved)
|
||||
* When saving yaml and markdown, create also a cached version of the file and recompile it in opcache
|
||||
2. [](#bugfix)
|
||||
* Fixed missing changes in **yaml** & **markdown** files if saved multiple times during the same second because of a caching issue
|
||||
* Fixed XSS check not detecting onX events without quotes
|
||||
* Fixed default collection ordering in pages admin
|
||||
|
||||
# v1.7.32
|
||||
## 03/28/2022
|
||||
|
||||
1. [](#new)
|
||||
* Added `|replace_last(search, replace)` filter
|
||||
* Added `parseurl` Twig function to expose PHP's `parse_url` function
|
||||
2. [](#improved)
|
||||
* Added multi-language support for page routes in `Utils::url()`
|
||||
* Set default maximum length for text fields
|
||||
- `password`: 256
|
||||
- `email`: 320
|
||||
- `text`, `url`, `hidden`, `commalist`: 2048
|
||||
- `text` (multiline), `textarea`: 65536
|
||||
3. [](#bugfix)
|
||||
* Fixed issue with `system.cache.gzip: true` resulted in "Fetch Failed" for PHP 8.0.17 and PHP 8.1.4 [PHP issue #8218](https://github.com/php/php-src/issues/8218)
|
||||
* Fix for multi-lang issues with Security Report
|
||||
* Fixed page search not working with selected language [#3316](https://github.com/getgrav/grav/issues/3316)
|
||||
|
||||
# v1.7.31
|
||||
## 03/14/2022
|
||||
|
||||
1. [](#new)
|
||||
* Added new local Multiavatar (local generation). **This will be default in Grav 1.8**
|
||||
* Added support to get image size for SVG vector images [#3533](https://github.com/getgrav/grav/pull/3533)
|
||||
* Added XSS check for uploaded SVG files before they get stored
|
||||
* Fixed phpstan issues (All level 2, Framework level 5)
|
||||
2. [](#improved)
|
||||
* Moved Accounts out of Experimental section of System configuration to new "Accounts" tab
|
||||
3. [](#bugfix)
|
||||
* Fixed `'mbstring' extension is not loaded` error, use Polyfill instead [#3504](https://github.com/getgrav/grav/pull/3504)
|
||||
* Fixed new `Utils::pathinfo()` and `Utils::basename()` being too strict for legacy use [#3542](https://github.com/getgrav/grav/issues/3542)
|
||||
* Fixed non-standard video html atributes generated by `{{ media.html() }}` [#3540](https://github.com/getgrav/grav/issues/3540)
|
||||
* Fixed entity sanitization for XSS detection
|
||||
* Fixed avatar save location when `account://` stream points to custom directory
|
||||
* Fixed bug in `Utils::url()` when path contains part of root
|
||||
|
||||
# v1.7.30
|
||||
## 02/07/2022
|
||||
|
||||
1. [](#new)
|
||||
* Added twig filter `|field_parent` to get parent field name
|
||||
2. [](#bugfix)
|
||||
* Fixed error while deleting retina image in admin
|
||||
* Fixed "Page Authors" field in Security tab, wrongly loading and saving the value [#3525](https://github.com/getgrav/grav/issues/3525)
|
||||
* Fixed accounts filter only matches against email address [getgrav/grav-plugin-admin#2224](https://github.com/getgrav/grav-plugin-admin/issues/2224)
|
||||
|
||||
# v1.7.29.1
|
||||
## 01/31/2022
|
||||
|
||||
1. [](#bugfix)
|
||||
* Fixed `Call to undefined method` error when upgrading from Grav 1.6 [#3523](https://github.com/getgrav/grav/issues/3523)
|
||||
|
||||
# v1.7.29
|
||||
## 01/28/2022
|
||||
|
||||
1. [](#new)
|
||||
* Added support for registering assets from `HtmlBlock`
|
||||
* Added unicode-safe `Utils::basename()` and `Utils::pathinfo()` methods
|
||||
2. [](#improved)
|
||||
* Improved `Filesystem::basename()` and `Filesystem::pathinfo()` to be unicode-safe
|
||||
* Made path handling unicode-safe, use new `Utils::basename()` and `Utils::pathinfo()` everywhere
|
||||
3. [](#bugfix)
|
||||
* Fixed error on thumbnail image creation
|
||||
* Fixed MimeType for `gzip` (`application/x-gzip`)
|
||||
|
||||
# v1.7.28
|
||||
## 01/24/2022
|
||||
|
||||
1. [](#new)
|
||||
* Added links and modules support to `HtmlBlock` class
|
||||
* Added module support for twig script tag: `{% script module 'theme://js/module.mjs' %}`
|
||||
* Added twig tag for links: `{% link icon 'theme://images/favicon.png' priority: 20 with { type: 'image/png' } %}`
|
||||
* Added `HtmlBlock` support for `{% style %}`, `{% script %}` and `{% link %}` tags
|
||||
* Support for page-level `redirect_default_route` frontmatter header override
|
||||
3. [](#bugfix)
|
||||
* Fixed XSS check not detecting escaped `:`
|
||||
|
||||
# v1.7.27.1
|
||||
## 01/12/2022
|
||||
|
||||
3. [](#bugfix)
|
||||
* Fixed a typo in CSS Asset pipeline that was erroneously joining files with `;`
|
||||
|
||||
# v1.7.27
|
||||
## 01/12/2022
|
||||
|
||||
1. [](#new)
|
||||
* Support for `YubiKey OTP` 2-Factor authenticator
|
||||
* Added support for generic `assets.link()` for external references. No pipeline support
|
||||
* Added support for `assets.addJsModule()` with full pipeline support
|
||||
* Added `Utils::getExtensionsByMime()` method to get all the registered extensions for the specific mime type
|
||||
* Added `Media::getRoute()` and `Media::getRawRoute()` methods to get page route if available
|
||||
* Added `Medium::getAlternatives()` to be able to list all the retina sizes
|
||||
2. [](#improved)
|
||||
* Improved `Utils::download()` method to allow overrides on download name, mime and expires header
|
||||
* Improved `onPageFallBackUrl` event
|
||||
* Reorganized the Asset system configuration blueprint for clarity
|
||||
3. [](#bugfix)
|
||||
* Fixed CLI `--env` and `--lang` options having no effect if they aren't added before all the other options
|
||||
* Fixed scaled image medium filename when using non-existing retina file
|
||||
* Fixed an issue with JS `imports` and pipelining Assets
|
||||
|
||||
# v1.7.26.1
|
||||
## 01/04/2022
|
||||
|
||||
3. [](#bugfix)
|
||||
* Fixed `UserObject::getAccess()` after cloning the object
|
||||
|
||||
# v1.7.26
|
||||
## 01/03/2022
|
||||
|
||||
1. [](#new)
|
||||
* Made `Grav::redirect()` to accept `Route` class
|
||||
* Added `translated()` method to `PageTranslateInterface`
|
||||
* Added second parameter to `UserObject::isMyself()` method
|
||||
* Added `UserObject::$isAuthorizedCallable` to allow `$user->isAuthorized()` customization
|
||||
* Use secure session cookies in HTTPS by default (`system.session.secure_https: true`)
|
||||
* Added new `Plugin::inheritedConfigOption()` function to access plugin specific functions for page overrides
|
||||
2. [](#improved)
|
||||
* Upgraded vendor libs for PHP 8.1 compatibility
|
||||
* Upgraded to **composer v2.1.14** for PHP 8.1 compatibility
|
||||
* Added third `$name` parameter to `Blueprint::flattenData()` method, useful for flattening repeating data
|
||||
* `ControllerResponseTrait`: Redirect response should be json if the extension is .json
|
||||
* When symlinking Grav install, include also tests
|
||||
* Updated copyright year to `2022`
|
||||
3. [](#bugfix)
|
||||
* Fixed bad key lookup in `FlexRelatedDirectoryTrait::getCollectionByProperty()`
|
||||
* Fixed RequestHandlers `NotFoundException` having empty request
|
||||
* Block `.json` files in web server configs
|
||||
* Disabled pretty debug info for Flex as it slows down Twig rendering
|
||||
* Fixed Twig being very slow when template overrides do not exist
|
||||
* Fixed `UserObject::$authorizeCallable` binding to the user object
|
||||
* Fixed `FlexIndex::call()` to return null instead of failing to call undefined method
|
||||
* Fixed Flex directory configuration creating environment configuration when it should not
|
||||
|
||||
# v1.7.25
|
||||
## 11/16/2021
|
||||
|
||||
1. [](#new)
|
||||
* Updated phpstan to v1.0
|
||||
* Added `FlexObject::getDiff()` to see difference to the saved object
|
||||
2. [](#improved)
|
||||
* Use Symfony `dump` instead of PHP's `vardump` in side the `{{ vardump(x) }}` Twig vardump function
|
||||
* Added `route` and `request` to `onPagesInitialized` event
|
||||
* Improved page cloning, added method `Page::initialize()`
|
||||
* Improved `FlexObject::getChanges()`: return changed lists and arrays as whole instead of just changed keys/values
|
||||
* Improved form validation JSON responses to contain list of failed fields with their error messages
|
||||
* Improved redirects: send redirect response in JSON if the request was in JSON
|
||||
3. [](#bugfix)
|
||||
* Fixed path traversal vulnerability when using `bin/grav server`
|
||||
* Fixed unescaped error messages in JSON error responses
|
||||
* Fixed `|t(variable)` twig filter in admin
|
||||
* Fixed `FlexObject::getChanges()` always returning empty array
|
||||
* Fixed form validation exceptions to use `400 Bad Request` instead of `500 Internal Server Error`
|
||||
|
||||
# v1.7.24
|
||||
## 10/26/2021
|
||||
|
||||
1. [](#new)
|
||||
* Added support for image watermarks
|
||||
* Added support to disable a form, making it readonly
|
||||
2. [](#improved)
|
||||
* Flex `$user->authorize()` now checks user groups before `admin.super`, allowing deny rules to work properly
|
||||
3. [](#bugfix)
|
||||
* Fixed a bug in `PermissionsReader` in PHP 7.3
|
||||
* Fixed `session_store_active` language option (#3464)
|
||||
* Fixed deprecated warnings on `ArrayAccess` in PHP 8.1
|
||||
* Fixed XSS detection with `:`
|
||||
|
||||
# v1.7.23
|
||||
## 09/29/2021
|
||||
|
||||
1. [](#new)
|
||||
* Added method `Pages::referrerRoute()` to get the referrer route and language
|
||||
* Added true unique `Utils::uniqueId()` / `{{ unique_id() }}` utilities with length, prefix, and suffix support
|
||||
* Added `UserObject::isMyself()` method to check if flex user is currently logged in
|
||||
* Added support for custom form field options validation with `validate: options: key|ignore`
|
||||
2. [](#improved)
|
||||
* Replaced GPL `SVG-Sanitizer` with MIT licensed `DOM-Sanitizer`
|
||||
* `Uri::referrer()` now accepts third parameter, if set to `true`, it returns route without base or language code [#3411](https://github.com/getgrav/grav/issues/3411)
|
||||
|
||||
@@ -2,18 +2,18 @@
|
||||
|
||||
[](https://github.com/phpstan/phpstan)
|
||||
[](https://chat.getgrav.org)
|
||||
[](https://github.com/getgrav/grav/actions?query=workflow%3A%22PHP+Tests%22) [](#backers) [](#sponsors)
|
||||
[](https://github.com/getgrav/grav/actions?query=workflow%3A%22PHP+Tests%22) [](#backers) [](#supporters) [](#sponsors)
|
||||
|
||||
Grav is a **Fast**, **Simple**, and **Flexible**, file-based Web-platform. There is **Zero** installation required. Just extract the ZIP archive, and you are already up and running. It follows similar principles to other flat-file CMS platforms, but has a different design philosophy than most. Grav comes with a powerful **Package Management System** to allow for simple installation and upgrading of plugins and themes, as well as simple updating of Grav itself.
|
||||
|
||||
The underlying architecture of Grav is designed to use well-established and _best-in-class_ technologies to ensure that Grav is simple to use and easy to extend. Some of these key technologies include:
|
||||
|
||||
* [Twig Templating](https://twig.sensiolabs.org/): for powerful control of the user interface
|
||||
* [Twig Templating](https://twig.symfony.com/): for powerful control of the user interface
|
||||
* [Markdown](https://en.wikipedia.org/wiki/Markdown): for easy content creation
|
||||
* [YAML](https://yaml.org): for simple configuration
|
||||
* [Parsedown](https://parsedown.org/): for fast Markdown and Markdown Extra support
|
||||
* [Doctrine Cache](https://www.doctrine-project.org/projects/doctrine-orm/en/latest/reference/caching.html): layer for performance
|
||||
* [Pimple Dependency Injection Container](https://pimple.sensiolabs.org/): for extensibility and maintainability
|
||||
* [Pimple Dependency Injection Container](https://github.com/silexphp/Pimple): for extensibility and maintainability
|
||||
* [Symfony Event Dispatcher](https://symfony.com/doc/current/components/event_dispatcher/introduction.html): for plugin event handling
|
||||
* [Symfony Console](https://symfony.com/doc/current/components/console/introduction.html): for CLI interface
|
||||
* [Gregwar Image Library](https://github.com/Gregwar/Image): for dynamic image manipulation
|
||||
@@ -117,12 +117,19 @@ If you discover a possible security issue related to Grav or one of its plugins,
|
||||
* More [Awesome Grav Stuff](https://github.com/getgrav/awesome-grav)
|
||||
|
||||
# Backers
|
||||
Support Grav with a monthly donation to help us continue development. [[Become a backer](https://opencollective.com/grav#backer)]
|
||||
Support Grav with a monthly donation to help us continue development. [[Become a backer](https://opencollective.com/grav/contribute)]
|
||||
|
||||
<img src="https://opencollective.com/grav/tiers/backers.svg?avatarHeight=36&width=600" />
|
||||
|
||||
|
||||
# Supporters
|
||||
Support Grav with a monthly donation to help us continue development. [[Become a supporter](https://opencollective.com/grav/contribute)]
|
||||
|
||||
<img src="https://opencollective.com/grav/tiers/supporters.svg?avatarHeight=36&width=600" />
|
||||
|
||||
|
||||
# Sponsors
|
||||
Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/grav#sponsor)]
|
||||
Support Grav with a yearly donation to help us continue development. [[Become a sponsor](https://opencollective.com/grav/contribute)]
|
||||
|
||||
<img src="https://opencollective.com/grav/tiers/sponsors.svg?avatarHeight=36&width=600" />
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
/* @copyright Copyright (c) 2015 - 2021 Trilby Media, LLC. All rights reserved. */
|
||||
/* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved. */
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @copyright Copyright (c) 2015 - 2021 Trilby Media, LLC. All rights reserved.
|
||||
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
|
||||
* @license MIT License; see LICENSE file for details.
|
||||
*/
|
||||
|
||||
@@ -25,18 +25,10 @@ if (!file_exists(__DIR__ . '/../vendor/autoload.php')){
|
||||
|
||||
$autoload = require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
if (version_compare($ver = PHP_VERSION, $req = GRAV_PHP_MIN, '<')) {
|
||||
exit(sprintf("You are running PHP %s, but Grav needs at least PHP %s to run.\n", $ver, $req));
|
||||
}
|
||||
|
||||
if (!ini_get('date.timezone')) {
|
||||
date_default_timezone_set('UTC');
|
||||
}
|
||||
// Set timezone to default, falls back to system if php.ini not set
|
||||
date_default_timezone_set(@date_default_timezone_get());
|
||||
|
||||
// Set internal encoding.
|
||||
if (!\extension_loaded('mbstring')) {
|
||||
die("'mbstring' extension is not loaded. This is required for Grav to run correctly");
|
||||
}
|
||||
@ini_set('default_charset', 'UTF-8');
|
||||
mb_internal_encoding('UTF-8');
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @copyright Copyright (c) 2015 - 2021 Trilby Media, LLC. All rights reserved.
|
||||
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
|
||||
* @license MIT License; see LICENSE file for details.
|
||||
*/
|
||||
|
||||
@@ -25,18 +25,10 @@ if (!file_exists(__DIR__ . '/../vendor/autoload.php')){
|
||||
|
||||
$autoload = require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
if (version_compare($ver = PHP_VERSION, $req = GRAV_PHP_MIN, '<')) {
|
||||
exit(sprintf("You are running PHP %s, but Grav needs at least PHP %s to run.\n", $ver, $req));
|
||||
}
|
||||
|
||||
if (!ini_get('date.timezone')) {
|
||||
date_default_timezone_set('UTC');
|
||||
}
|
||||
// Set timezone to default, falls back to system if php.ini not set
|
||||
date_default_timezone_set(@date_default_timezone_get());
|
||||
|
||||
// Set internal encoding.
|
||||
if (!\extension_loaded('mbstring')) {
|
||||
die("'mbstring' extension is not loaded. This is required for Grav to run correctly");
|
||||
}
|
||||
@ini_set('default_charset', 'UTF-8');
|
||||
mb_internal_encoding('UTF-8');
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @copyright Copyright (c) 2015 - 2021 Trilby Media, LLC. All rights reserved.
|
||||
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
|
||||
* @license MIT License; see LICENSE file for details.
|
||||
*/
|
||||
|
||||
@@ -25,18 +25,10 @@ if (!file_exists(__DIR__ . '/../vendor/autoload.php')){
|
||||
|
||||
$autoload = require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
if (version_compare($ver = PHP_VERSION, $req = GRAV_PHP_MIN, '<')) {
|
||||
exit(sprintf("You are running PHP %s, but Grav needs at least PHP %s to run.\n", $ver, $req));
|
||||
}
|
||||
|
||||
if (!ini_get('date.timezone')) {
|
||||
date_default_timezone_set('UTC');
|
||||
}
|
||||
// Set timezone to default, falls back to system if php.ini not set
|
||||
date_default_timezone_set(@date_default_timezone_get());
|
||||
|
||||
// Set internal encoding.
|
||||
if (!\extension_loaded('mbstring')) {
|
||||
die("'mbstring' extension is not loaded. This is required for Grav to run correctly");
|
||||
}
|
||||
@ini_set('default_charset', 'UTF-8');
|
||||
mb_internal_encoding('UTF-8');
|
||||
|
||||
|
||||
@@ -19,17 +19,19 @@
|
||||
"ext-zip": "*",
|
||||
"ext-dom": "*",
|
||||
"ext-libxml": "*",
|
||||
"symfony/polyfill-mbstring": "~1.20",
|
||||
"symfony/polyfill-iconv": "^1.20",
|
||||
"symfony/polyfill-php74": "^1.20",
|
||||
"symfony/polyfill-php80": "^1.20",
|
||||
"ext-gd": "*",
|
||||
"symfony/polyfill-mbstring": "~1.23",
|
||||
"symfony/polyfill-iconv": "^1.23",
|
||||
"symfony/polyfill-php74": "^1.23",
|
||||
"symfony/polyfill-php80": "^1.23",
|
||||
"symfony/polyfill-php81": "^1.23",
|
||||
"psr/simple-cache": "^1.0",
|
||||
"psr/http-message": "^1.0",
|
||||
"psr/http-server-middleware": "^1.0",
|
||||
"psr/container": "~1.0.0",
|
||||
"psr/container": "~1.1.0",
|
||||
"nyholm/psr7-server": "^1.0",
|
||||
"nyholm/psr7": "^1.3",
|
||||
"twig/twig": "~1.44",
|
||||
"twig/twig": "~v1.44",
|
||||
"erusev/parsedown": "^1.7",
|
||||
"erusev/parsedown-extra": "~0.8",
|
||||
"symfony/contracts": "~1.1",
|
||||
@@ -47,11 +49,10 @@
|
||||
"getgrav/image": "^3.0",
|
||||
"getgrav/cache": "^2.0",
|
||||
"donatj/phpuseragentparser": "~1.1",
|
||||
"pimple/pimple": "~3.3.0",
|
||||
"pimple/pimple": "~3.5.0",
|
||||
"rockettheme/toolbox": "~1.5",
|
||||
"maximebf/debugbar": "~1.16",
|
||||
"league/climate": "^3.6",
|
||||
"antoligy/dom-string-iterators": "^1.0",
|
||||
"miljar/php-exif": "^0.6",
|
||||
"composer/ca-bundle": "^1.2",
|
||||
"dragonmantank/cron-expression": "^1.2",
|
||||
@@ -59,12 +60,13 @@
|
||||
"itsgoingd/clockwork": "^5.0",
|
||||
"symfony/http-client": "^4.4",
|
||||
"composer/semver": "^1.4",
|
||||
"rhukster/dom-sanitizer": "^1.0"
|
||||
"rhukster/dom-sanitizer": "^1.0",
|
||||
"multiavatar/multiavatar-php": "^1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"codeception/codeception": "^4.1",
|
||||
"phpstan/phpstan": "^0.12",
|
||||
"phpstan/phpstan-deprecation-rules": "^0.12",
|
||||
"phpstan/phpstan": "^1.8",
|
||||
"phpstan/phpstan-deprecation-rules": "^1.0",
|
||||
"phpunit/php-code-coverage": "~9.2",
|
||||
"getgrav/markdowndocs": "^2.0",
|
||||
"codeception/module-asserts": "^1.3",
|
||||
@@ -82,7 +84,8 @@
|
||||
"ext-intl": "Recommended for multi-language sites",
|
||||
"ext-memcache": "Needed to support Memcache servers",
|
||||
"ext-memcached": "Needed to support Memcached servers",
|
||||
"ext-redis": "Needed to support Redis servers"
|
||||
"ext-redis": "Needed to support Redis servers",
|
||||
"ext-exif": "Needed to use exif data from images."
|
||||
},
|
||||
"config": {
|
||||
"apcu-autoloader": true,
|
||||
@@ -96,9 +99,16 @@
|
||||
"Twig\\": "system/src/Twig"
|
||||
},
|
||||
"files": [
|
||||
"system/defines.php"
|
||||
"system/defines.php",
|
||||
"system/src/DOMLettersIterator.php",
|
||||
"system/src/DOMWordsIterator.php"
|
||||
]
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"PHPStan\\": "tests/phpstan/classes"
|
||||
}
|
||||
},
|
||||
"archive": {
|
||||
"exclude": [
|
||||
"VERSION"
|
||||
@@ -107,8 +117,8 @@
|
||||
"scripts": {
|
||||
"api-17": "vendor/bin/phpdoc-md generate system/src > user/pages/14.api/default.17.md",
|
||||
"post-create-project-cmd": "bin/grav install",
|
||||
"phpstan": "vendor/bin/phpstan analyse -l 1 -c ./tests/phpstan/phpstan.neon --memory-limit=520M system/src",
|
||||
"phpstan-framework": "vendor/bin/phpstan analyse -l 3 -c ./tests/phpstan/phpstan.neon --memory-limit=480M system/src/Grav/Framework system/src/Grav/Events system/src/Grav/Installer",
|
||||
"phpstan": "vendor/bin/phpstan analyse -l 2 -c ./tests/phpstan/phpstan.neon --memory-limit=720M system/src",
|
||||
"phpstan-framework": "vendor/bin/phpstan analyse -l 5 -c ./tests/phpstan/phpstan.neon --memory-limit=480M system/src/Grav/Framework system/src/Grav/Events system/src/Grav/Installer",
|
||||
"phpstan-plugins": "vendor/bin/phpstan analyse -l 1 -c ./tests/phpstan/plugins.neon --memory-limit=400M user/plugins",
|
||||
"test": "vendor/bin/codecept run unit",
|
||||
"test-windows": "vendor\\bin\\codecept run unit"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* @package Grav.Core
|
||||
*
|
||||
* @copyright Copyright (c) 2015 - 2021 Trilby Media, LLC. All rights reserved.
|
||||
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
|
||||
* @license MIT License; see LICENSE file for details.
|
||||
*/
|
||||
|
||||
@@ -12,10 +12,6 @@ namespace Grav;
|
||||
\define('GRAV_REQUEST_TIME', microtime(true));
|
||||
\define('GRAV_PHP_MIN', '7.3.6');
|
||||
|
||||
if (version_compare($ver = PHP_VERSION, $req = GRAV_PHP_MIN, '<')) {
|
||||
die(sprintf('You are running PHP %s, but Grav needs at least <strong>PHP %s</strong> to run.', $ver, $req));
|
||||
}
|
||||
|
||||
if (PHP_SAPI === 'cli-server') {
|
||||
$symfony_server = stripos(getenv('_'), 'symfony') !== false || stripos($_SERVER['SERVER_SOFTWARE'] ?? '', 'symfony') !== false || stripos($_ENV['SERVER_SOFTWARE'] ?? '', 'symfony') !== false;
|
||||
|
||||
@@ -24,16 +20,6 @@ if (PHP_SAPI === 'cli-server') {
|
||||
}
|
||||
}
|
||||
|
||||
// Set timezone to default, falls back to system if php.ini not set
|
||||
date_default_timezone_set(@date_default_timezone_get());
|
||||
|
||||
// Set internal encoding.
|
||||
if (!\extension_loaded('mbstring')) {
|
||||
die("'mbstring' extension is not loaded. This is required for Grav to run correctly");
|
||||
}
|
||||
@ini_set('default_charset', 'UTF-8');
|
||||
mb_internal_encoding('UTF-8');
|
||||
|
||||
// Ensure vendor libraries exist
|
||||
$autoload = __DIR__ . '/vendor/autoload.php';
|
||||
if (!is_file($autoload)) {
|
||||
@@ -43,23 +29,23 @@ if (!is_file($autoload)) {
|
||||
// Register the auto-loader.
|
||||
$loader = require $autoload;
|
||||
|
||||
// Set timezone to default, falls back to system if php.ini not set
|
||||
date_default_timezone_set(@date_default_timezone_get());
|
||||
|
||||
// Set internal encoding.
|
||||
@ini_set('default_charset', 'UTF-8');
|
||||
mb_internal_encoding('UTF-8');
|
||||
|
||||
use Grav\Common\Grav;
|
||||
use RocketTheme\Toolbox\Event\Event;
|
||||
|
||||
// Get the Grav instance
|
||||
$grav = Grav::instance(
|
||||
array(
|
||||
'loader' => $loader
|
||||
)
|
||||
);
|
||||
$grav = Grav::instance(array('loader' => $loader));
|
||||
|
||||
// Process the page
|
||||
try {
|
||||
$grav->process();
|
||||
} catch (\Error $e) {
|
||||
$grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
|
||||
throw $e;
|
||||
} catch (\Exception $e) {
|
||||
} catch (\Error|\Exception $e) {
|
||||
$grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
|
||||
throw $e;
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
@@ -888,9 +888,45 @@ form:
|
||||
title: PLUGIN_ADMIN.ASSETS
|
||||
|
||||
fields:
|
||||
assets_section:
|
||||
general_config_section:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.ASSETS
|
||||
title: PLUGIN_ADMIN.GENERAL_CONFIG
|
||||
underline: true
|
||||
|
||||
assets.enable_asset_timestamp:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.ENABLED_TIMESTAMPS_ON_ASSETS
|
||||
help: PLUGIN_ADMIN.ENABLED_TIMESTAMPS_ON_ASSETS_HELP
|
||||
highlight: 0
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
0: PLUGIN_ADMIN.NO
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
assets.enable_asset_sri:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.ENABLED_SRI_ON_ASSETS
|
||||
help: PLUGIN_ADMIN.ENABLED_SRI_ON_ASSETS_HELP
|
||||
highlight: 0
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
0: PLUGIN_ADMIN.NO
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
assets.collections:
|
||||
type: multilevel
|
||||
label: PLUGIN_ADMIN.COLLECTIONS
|
||||
placeholder_key: collection_name
|
||||
placeholder_value: collection_path
|
||||
validate:
|
||||
type: array
|
||||
|
||||
|
||||
css_assets_section:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.CSS_ASSETS
|
||||
underline: true
|
||||
|
||||
assets.css_pipeline:
|
||||
@@ -959,6 +995,11 @@ form:
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
js_assets_section:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.JS_ASSETS
|
||||
underline: true
|
||||
|
||||
assets.js_pipeline:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.JAVASCRIPT_PIPELINE
|
||||
@@ -1003,10 +1044,15 @@ form:
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
assets.enable_asset_timestamp:
|
||||
js_module_assets_section:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.JS_MODULE_ASSETS
|
||||
underline: true
|
||||
|
||||
assets.js_module_pipeline:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.ENABLED_TIMESTAMPS_ON_ASSETS
|
||||
help: PLUGIN_ADMIN.ENABLED_TIMESTAMPS_ON_ASSETS_HELP
|
||||
label: PLUGIN_ADMIN.JAVASCRIPT_MODULE_PIPELINE
|
||||
help: PLUGIN_ADMIN.JAVASCRIPT_MODULE_PIPELINE_HELP
|
||||
highlight: 0
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
@@ -1014,24 +1060,29 @@ form:
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
assets.enable_asset_sri:
|
||||
assets.js_module_pipeline_include_externals:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.ENABLED_SRI_ON_ASSETS
|
||||
help: PLUGIN_ADMIN.ENABLED_SRI_ON_ASSETS_HELP
|
||||
highlight: 0
|
||||
label: PLUGIN_ADMIN.JAVASCRIPT_MODULE_PIPELINE_INCLUDE_EXTERNALS
|
||||
help: PLUGIN_ADMIN.JAVASCRIPT_MODULE_PIPELINE_INCLUDE_EXTERNALS_HELP
|
||||
highlight: 1
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
0: PLUGIN_ADMIN.NO
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
assets.collections:
|
||||
type: multilevel
|
||||
label: PLUGIN_ADMIN.COLLECTIONS
|
||||
placeholder_key: collection_name
|
||||
placeholder_value: collection_path
|
||||
assets.js_module_pipeline_before_excludes:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.JAVASCRIPT_MODULE_PIPELINE_BEFORE_EXCLUDES
|
||||
help: PLUGIN_ADMIN.JAVASCRIPT_MODULE_PIPELINE_BEFORE_EXCLUDES_HELP
|
||||
highlight: 1
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
0: PLUGIN_ADMIN.NO
|
||||
validate:
|
||||
type: array
|
||||
type: bool
|
||||
|
||||
|
||||
|
||||
errors:
|
||||
type: tab
|
||||
@@ -1105,6 +1156,13 @@ form:
|
||||
local6: local6
|
||||
local7: local7
|
||||
|
||||
log.syslog.tag:
|
||||
type: text
|
||||
size: small
|
||||
label: PLUGIN_ADMIN.SYSLOG_TAG
|
||||
help: PLUGIN_ADMIN.SYSLOG_TAG_HELP
|
||||
placeholder: "grav"
|
||||
|
||||
debugger:
|
||||
type: tab
|
||||
title: PLUGIN_ADMIN.DEBUGGER
|
||||
@@ -1394,6 +1452,18 @@ form:
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
session.secure_https:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.SESSION_SECURE_HTTPS
|
||||
help: PLUGIN_ADMIN.SESSION_SECURE_HTTPS_HELP
|
||||
highlight: 1
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
0: PLUGIN_ADMIN.NO
|
||||
default: true
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
session.httponly:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.SESSION_HTTPONLY
|
||||
@@ -1446,6 +1516,10 @@ form:
|
||||
title: PLUGIN_ADMIN.ADVANCED
|
||||
underline: true
|
||||
|
||||
gpm_section:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.GPM_SECTION
|
||||
|
||||
gpm.releases:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.GPM_RELEASES
|
||||
@@ -1455,23 +1529,6 @@ form:
|
||||
stable: PLUGIN_ADMIN.STABLE
|
||||
testing: PLUGIN_ADMIN.TESTING
|
||||
|
||||
gpm.proxy_url:
|
||||
type: text
|
||||
size: medium
|
||||
placeholder: "e.g. 127.0.0.1:3128"
|
||||
label: PLUGIN_ADMIN.PROXY_URL
|
||||
help: PLUGIN_ADMIN.PROXY_URL_HELP
|
||||
|
||||
gpm.method:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.GPM_METHOD
|
||||
highlight: auto
|
||||
help: PLUGIN_ADMIN.GPM_METHOD_HELP
|
||||
options:
|
||||
auto: PLUGIN_ADMIN.AUTO
|
||||
fopen: PLUGIN_ADMIN.FOPEN
|
||||
curl: PLUGIN_ADMIN.CURL
|
||||
|
||||
gpm.official_gpm_only:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.GPM_OFFICIAL_ONLY
|
||||
@@ -1484,17 +1541,80 @@ form:
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
gpm.verify_peer:
|
||||
http_section:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.HTTP_SECTION
|
||||
|
||||
http.method:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.GPM_VERIFY_PEER
|
||||
label: PLUGIN_ADMIN.GPM_METHOD
|
||||
highlight: auto
|
||||
help: PLUGIN_ADMIN.GPM_METHOD_HELP
|
||||
options:
|
||||
auto: PLUGIN_ADMIN.AUTO
|
||||
fopen: PLUGIN_ADMIN.FOPEN
|
||||
curl: PLUGIN_ADMIN.CURL
|
||||
|
||||
http.enable_proxy:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.SSL_ENABLE_PROXY
|
||||
highlight: 1
|
||||
help: PLUGIN_ADMIN.GPM_VERIFY_PEER_HELP
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
0: PLUGIN_ADMIN.NO
|
||||
default: false
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
http.proxy_url:
|
||||
type: text
|
||||
size: medium
|
||||
placeholder: "e.g. 127.0.0.1:3128"
|
||||
label: PLUGIN_ADMIN.PROXY_URL
|
||||
help: PLUGIN_ADMIN.PROXY_URL_HELP
|
||||
|
||||
http.proxy_cert_path:
|
||||
type: text
|
||||
size: medium
|
||||
placeholder: "e.g. /Users/bob/certs/"
|
||||
label: PLUGIN_ADMIN.PROXY_CERT
|
||||
help: PLUGIN_ADMIN.PROXY_CERT_HELP
|
||||
|
||||
http.verify_peer:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.SSL_VERIFY_PEER
|
||||
highlight: 1
|
||||
help: PLUGIN_ADMIN.SSL_VERIFY_PEER_HELP
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
0: PLUGIN_ADMIN.NO
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
http.verify_host:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.SSL_VERIFY_HOST
|
||||
highlight: 1
|
||||
help: PLUGIN_ADMIN.SSL_VERIFY_HOST_HELP
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
0: PLUGIN_ADMIN.NO
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
http.concurrent_connections:
|
||||
type: number
|
||||
size: x-small
|
||||
label: PLUGIN_ADMIN.HTTP_CONNECTIONS
|
||||
help: PLUGIN_ADMIN.HTTP_CONNECTIONS_HELP
|
||||
validate:
|
||||
min: 1
|
||||
max: 20
|
||||
|
||||
misc_section:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.MISC_SECTION
|
||||
|
||||
reverse_proxy_setup:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.REVERSE_PROXY
|
||||
@@ -1673,35 +1793,15 @@ form:
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
experimental:
|
||||
|
||||
accounts:
|
||||
type: tab
|
||||
title: PLUGIN_ADMIN.EXPERIMENTAL
|
||||
title: PLUGIN_ADMIN.ACCOUNTS
|
||||
|
||||
fields:
|
||||
experimental_section:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.EXPERIMENTAL
|
||||
underline: true
|
||||
|
||||
# flex_pages:
|
||||
# type: section
|
||||
# title: Flex Pages
|
||||
#
|
||||
# pages.type:
|
||||
# type: select
|
||||
# label: PLUGIN_ADMIN.PAGES_TYPE
|
||||
# highlight: regular
|
||||
# help: PLUGIN_ADMIN.PAGES_TYPE_HELP
|
||||
# options:
|
||||
# regular: PLUGIN_ADMIN.REGULAR
|
||||
# flex: PLUGIN_ADMIN.FLEX
|
||||
|
||||
pages.type:
|
||||
type: hidden
|
||||
|
||||
flex_accounts:
|
||||
type: section
|
||||
title: Flex Accounts
|
||||
title: User Accounts
|
||||
|
||||
accounts.type:
|
||||
type: select
|
||||
@@ -1720,3 +1820,41 @@ form:
|
||||
options:
|
||||
file: PLUGIN_ADMIN.FILE
|
||||
folder: PLUGIN_ADMIN.FOLDER
|
||||
|
||||
accounts.avatar:
|
||||
type: select
|
||||
label: PLUGIN_ADMIN.AVATAR
|
||||
default: gravatar
|
||||
help: PLUGIN_ADMIN.AVATAR_HELP
|
||||
options:
|
||||
multiavatar: Multiavatar [local]
|
||||
gravatar: Gravatar [external]
|
||||
|
||||
# experimental:
|
||||
# type: tab
|
||||
# title: PLUGIN_ADMIN.EXPERIMENTAL
|
||||
#
|
||||
# fields:
|
||||
# experimental_section:
|
||||
# type: section
|
||||
# title: PLUGIN_ADMIN.EXPERIMENTAL
|
||||
# underline: true
|
||||
#
|
||||
# flex_pages:
|
||||
# type: section
|
||||
# title: Flex Pages
|
||||
#
|
||||
# pages.type:
|
||||
# type: select
|
||||
# label: PLUGIN_ADMIN.PAGES_TYPE
|
||||
# highlight: regular
|
||||
# help: PLUGIN_ADMIN.PAGES_TYPE_HELP
|
||||
# options:
|
||||
# regular: PLUGIN_ADMIN.REGULAR
|
||||
# flex: PLUGIN_ADMIN.FLEX
|
||||
#
|
||||
# pages.type:
|
||||
# type: hidden
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@ config:
|
||||
|
||||
edit:
|
||||
title:
|
||||
template: "{% if object.root %}Root <small>( <root> ){% else %}{{ (form.value('header.title') ?? form.value('folder'))|e }} <small>( {{ (object.getRoute().toString(false) ?: '/')|e }} )</small>{% endif %}"
|
||||
template: "{% if object.root %}Root <small>( <root> )</small>{% else %}{{ (form.value('header.title') ?? form.value('folder'))|e }} <small>( {{ (object.getRoute().toString(false) ?: '/')|e }} )</small>{% endif %}"
|
||||
|
||||
# TODO: not used yet
|
||||
buttons:
|
||||
|
||||
@@ -122,6 +122,19 @@ config:
|
||||
fields:
|
||||
- key
|
||||
- email
|
||||
- username
|
||||
- fullname
|
||||
|
||||
relationships:
|
||||
media:
|
||||
type: media
|
||||
cardinality: to-many
|
||||
avatar:
|
||||
type: media
|
||||
cardinality: to-one
|
||||
# roles:
|
||||
# type: user-groups
|
||||
# cardinality: to-many
|
||||
|
||||
blueprints:
|
||||
configure:
|
||||
|
||||
@@ -113,6 +113,7 @@ config:
|
||||
fields:
|
||||
- key
|
||||
- groupname
|
||||
- readableName
|
||||
- description
|
||||
|
||||
blueprints:
|
||||
|
||||
@@ -320,6 +320,18 @@ form:
|
||||
|
||||
fields:
|
||||
|
||||
header.redirect_default_route:
|
||||
type: toggle
|
||||
toggleable: true
|
||||
label: PLUGIN_ADMIN.REDIRECT_DEFAULT_ROUTE
|
||||
help: PLUGIN_ADMIN.REDIRECT_DEFAULT_ROUTE_HELP
|
||||
config-highlight@: system.pages.redirect_default_route
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
0: PLUGIN_ADMIN.NO
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
header.routes.default:
|
||||
type: text
|
||||
toggleable: true
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
title: PLUGIN_ADMIN:EXTERNAL
|
||||
title: PLUGIN_ADMIN.EXTERNAL
|
||||
extends@:
|
||||
type: default
|
||||
context: blueprints://pages
|
||||
type: default
|
||||
context: blueprints://pages
|
||||
|
||||
form:
|
||||
validation: loose
|
||||
@@ -29,16 +29,16 @@ form:
|
||||
unset@: true
|
||||
|
||||
header.external_url:
|
||||
type: text
|
||||
label: PLUGIN_ADMIN.EXTERNAL_URL
|
||||
placeholder: https://getgrav.org
|
||||
validate:
|
||||
required: true
|
||||
type: text
|
||||
label: PLUGIN_ADMIN.EXTERNAL_URL
|
||||
placeholder: https://getgrav.org
|
||||
validate:
|
||||
required: true
|
||||
|
||||
options:
|
||||
fields:
|
||||
|
||||
publishing:
|
||||
|
||||
fields:
|
||||
|
||||
header.date:
|
||||
|
||||
@@ -51,17 +51,13 @@ form:
|
||||
type: bool
|
||||
|
||||
header.permissions.authors:
|
||||
type: list
|
||||
type: array
|
||||
toggleable: true
|
||||
value_only: true
|
||||
placeholder_value: PLUGIN_ADMIN.USERNAME
|
||||
label: PLUGIN_ADMIN.PAGE_AUTHORS
|
||||
help: PLUGIN_ADMIN.PAGE_AUTHORS_HELP
|
||||
|
||||
fields:
|
||||
value:
|
||||
type: text
|
||||
placeholder: PLUGIN_ADMIN.USERNAME
|
||||
style: vertical
|
||||
|
||||
header.permissions.groups:
|
||||
ignore@: true
|
||||
type: acl_picker
|
||||
|
||||
@@ -11,10 +11,21 @@ form:
|
||||
avatar:
|
||||
type: file
|
||||
size: large
|
||||
destination: 'user://accounts/avatars'
|
||||
destination: 'account://avatars'
|
||||
multiple: false
|
||||
random_name: true
|
||||
|
||||
multiavatar_only:
|
||||
type: conditional
|
||||
condition: config.system.accounts.avatar == 'multiavatar'
|
||||
fields:
|
||||
avatar_hash:
|
||||
type: text
|
||||
label: ''
|
||||
placeholder: 'e.g. dceaadcfda491f4e45'
|
||||
description: PLUGIN_ADMIN.AVATAR_HASH
|
||||
size: large
|
||||
|
||||
content:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.ACCOUNT
|
||||
@@ -107,6 +118,12 @@ form:
|
||||
label: PLUGIN_ADMIN.2FA_SECRET
|
||||
sublabel: PLUGIN_ADMIN.2FA_SECRET_HELP
|
||||
|
||||
yubikey_id:
|
||||
type: text
|
||||
label: PLUGIN_ADMIN.YUBIKEY_ID
|
||||
description: PLUGIN_ADMIN.YUBIKEY_HELP
|
||||
size: small
|
||||
maxlength: 12
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -199,7 +199,7 @@ types:
|
||||
gz:
|
||||
type: file
|
||||
thumb: media/thumb-gz.png
|
||||
mime: application/gzip
|
||||
mime: application/x-gzip
|
||||
tar:
|
||||
type: file
|
||||
thumb: media/thumb-tar.png
|
||||
|
||||
@@ -35,6 +35,7 @@ home:
|
||||
|
||||
pages:
|
||||
type: regular # EXPERIMENTAL: Page type: regular or flex
|
||||
dirs: ['page://'] # Advanced functionality, allows for multiple page paths
|
||||
theme: quark # Default theme (defaults to "quark" theme)
|
||||
order:
|
||||
by: default # Order pages by "default", "alpha" or "date"
|
||||
@@ -96,7 +97,7 @@ cache:
|
||||
purge_at: '0 4 * * *' # How often to purge old file cache (using new scheduler)
|
||||
clear_at: '0 3 * * *' # How often to clear cache (using new scheduler)
|
||||
clear_job_type: 'standard' # Type to clear when processing the scheduled clear job `standard`|`all`
|
||||
clear_images_by_default: false # By default grav does not include processed images in cache clear, this can be enabled
|
||||
clear_images_by_default: false # By default grav does not include processed images in cache clear, this can be enabled
|
||||
cli_compatibility: false # Ensures only non-volatile drivers are used (file, redis, memcache, etc.)
|
||||
lifetime: 604800 # Lifetime of cached data in seconds (0 = infinite)
|
||||
gzip: false # GZip compress the page output
|
||||
@@ -127,6 +128,9 @@ assets: # Configuration for Assets Mana
|
||||
js_pipeline: false # The JS pipeline is the unification of multiple JS resources into one file
|
||||
js_pipeline_include_externals: true # Include external URLs in the pipeline by default
|
||||
js_pipeline_before_excludes: true # Render the pipeline before any excluded files
|
||||
js_module_pipeline: false # The JS Module pipeline is the unification of multiple JS Module resources into one file
|
||||
js_module_pipeline_include_externals: true # Include external URLs in the pipeline by default
|
||||
js_module_pipeline_before_excludes: true # Render the pipeline before any excluded files
|
||||
js_minify: true # Minify the JS during pipelining
|
||||
enable_asset_timestamp: false # Enable asset timestamps
|
||||
enable_asset_sri: false # Enable asset SRI
|
||||
@@ -141,6 +145,7 @@ log:
|
||||
handler: file # Log handler. Currently supported: file | syslog
|
||||
syslog:
|
||||
facility: local6 # Syslog facilities output
|
||||
tag: grav # Syslog tag. Default: "grav".
|
||||
|
||||
debugger:
|
||||
enabled: false # Enable Grav debugger and following settings
|
||||
@@ -162,6 +167,12 @@ images:
|
||||
retina_scale: 1 # scale to adjust auto-sizes for better handling of HiDPI resolutions
|
||||
defaults:
|
||||
loading: auto # Let browser pick [auto|lazy|eager]
|
||||
watermark:
|
||||
image: 'system://images/watermark.png' # Path to a watermark image
|
||||
position_y: 'center' # top|center|bottom
|
||||
position_x: 'center' # left|center|right
|
||||
scale: 33 # percentage of watermark scale
|
||||
watermark_all: false # automatically watermark all images
|
||||
|
||||
media:
|
||||
enable_media_timestamp: false # Enable media timestamps
|
||||
@@ -176,6 +187,7 @@ session:
|
||||
name: grav-site # Name prefix of the session cookie. Use alphanumeric, dashes or underscores only. Do not use dots in the session name
|
||||
uniqueness: path # Should sessions be `path` based or `security.salt` based
|
||||
secure: false # Set session secure. If true, indicates that communication for this cookie must be over an encrypted transmission. Enable this only on sites that run exclusively on HTTPS
|
||||
secure_https: true # Set session secure on HTTPS but not on HTTP. Has no effect if you have `session.secure: true`. Set to false if your site jumps between HTTP and HTTPS.
|
||||
httponly: true # Set session HTTP only. If true, indicates that cookies should be used only over HTTP, and JavaScript modification is not allowed.
|
||||
samesite: Lax # Set session SameSite. Possible values are Lax, Strict and None. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite
|
||||
split: true # Sessions should be independent between site and plugins (such as admin)
|
||||
@@ -184,14 +196,21 @@ session:
|
||||
|
||||
gpm:
|
||||
releases: stable # Set to either 'stable' or 'testing'
|
||||
proxy_url: # Configure a manual proxy URL for GPM (eg 127.0.0.1:3128)
|
||||
method: 'auto' # Either 'curl', 'fopen' or 'auto'. 'auto' will try fopen first and if not available cURL
|
||||
verify_peer: true # Sometimes on some systems (Windows most commonly) GPM is unable to connect because the SSL certificate cannot be verified. Disabling this setting might help.
|
||||
official_gpm_only: true # By default GPM direct-install will only allow URLs via the official GPM proxy to ensure security
|
||||
|
||||
http:
|
||||
method: auto # Either 'curl', 'fopen' or 'auto'. 'auto' will try fopen first and if not available cURL
|
||||
enable_proxy: true # Enable proxy server configuration
|
||||
proxy_url: # Configure a manual proxy URL for GPM (eg 127.0.0.1:3128)
|
||||
proxy_cert_path: # Local path to proxy certificate folder containing pem files
|
||||
concurrent_connections: 5 # Concurrent HTTP connections when multiplexing
|
||||
verify_peer: true # Enable/Disable SSL verification of peer certificates
|
||||
verify_host: true # Enable/Disable SSL verification of host certificates
|
||||
|
||||
accounts:
|
||||
type: regular # EXPERIMENTAL: Account type: regular or flex
|
||||
storage: file # EXPERIMENTAL: Flex storage type: file or folder
|
||||
avatar: gravatar # Avatar generator [multiavatar|gravatar]
|
||||
|
||||
flex:
|
||||
cache:
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
/**
|
||||
* @package Grav\Core
|
||||
*
|
||||
* @copyright Copyright (c) 2015 - 2021 Trilby Media, LLC. All rights reserved.
|
||||
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
|
||||
* @license MIT License; see LICENSE file for details.
|
||||
*/
|
||||
|
||||
// Some standard defines
|
||||
define('GRAV', true);
|
||||
define('GRAV_VERSION', '1.7.23');
|
||||
define('GRAV_VERSION', '1.7.37.1');
|
||||
define('GRAV_SCHEMA', '1.7.0_2020-11-20_1');
|
||||
define('GRAV_TESTING', false);
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |