Compare commits

...

1939 Commits

Author SHA1 Message Date
Andy Miller
3821ae441f prepare for rc release 2020-10-07 17:43:25 -06:00
Andy Miller
b01e5f7366 Merge branch 'develop' into 1.7
# Conflicts:
#	system/defines.php
#	system/src/Grav/Common/Helpers/Excerpts.php
2020-10-07 17:41:13 -06:00
Andy Miller
b375a543ec Merge tag '1.6.28' into develop
Release v1.6.28
2020-10-07 17:26:16 -06:00
Andy Miller
2c9d848af5 Merge branch 'release/1.6.28' 2020-10-07 17:26:15 -06:00
Andy Miller
8d65c5c2c0 prepare for release 2020-10-07 17:25:32 -06:00
Matias Griese
0af731b6a2 Fixed bug in FlexMediaTrait::getMediaFieldSettings() 2020-10-07 13:56:19 +03:00
Andy Miller
9d870b2c45 Backported folder::countChildren() from 1.7 2020-10-06 16:06:10 -06:00
Matias Griese
82abf87f75 Improve media rename errors 2020-10-06 13:12:14 +03:00
Matias Griese
81ef023b37 Composer update 2020-10-06 10:23:06 +03:00
Matias Griese
776fffb2dc Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	composer.lock
	system/src/Grav/Common/Grav.php
2020-10-06 10:21:33 +03:00
Andy Miller
cfd5d9e209 improved compatibility 2020-10-05 18:44:59 -06:00
Matias Griese
23716ff729 Do not cache 404 [#3025] 2020-10-05 11:16:17 +03:00
Matias Griese
18921a4f14 Composer update 2020-10-05 10:57:02 +03:00
Andy Miller
569c42724b more docs 2020-10-04 18:28:24 -06:00
Andy Miller
18abf7d644 Caddyfile more friendly for local development 2020-10-04 18:28:18 -06:00
Andy Miller
12efdb9fe4 Merge branch 'develop' into 1.7 2020-10-04 16:36:07 -06:00
Cant_Aim
fdf884036d Update to Caddyfile using Caddy 2 changes. (#2963) 2020-10-04 16:35:37 -06:00
Matias Griese
998018af3e Phpstan fixes 2020-10-02 13:34:51 +03:00
Matias Griese
cae71f3d60 Composer update 2020-10-02 13:24:45 +03:00
Matias Griese
f7e43fab35 Added clearCache() to storages 2020-10-02 13:21:07 +03:00
Matias Griese
4f7a4ac1e2 PhpStan fixes 2020-10-02 13:12:47 +03:00
Matias Griese
5fc7b34ce7 Added reload argument to FlexStorageIngerface::getMetaData() 2020-10-02 12:06:46 +03:00
Andy Miller
cbf73b2290 Merge branch 'develop' into 1.7
# Conflicts:
#	CHANGELOG.md
#	system/src/Grav/Common/GPM/Response.php
#	system/src/Grav/Common/Twig/Node/TwigNodeCache.php
#	system/src/Grav/Common/Twig/TokenParser/TwigTokenParserCache.php
#	system/src/Grav/Common/Twig/TwigExtension.php
#	system/src/Grav/Common/Utils.php
2020-09-30 10:26:51 -06:00
Matias Griese
f344a8166e Changelog update 2020-09-30 14:38:47 +03:00
Matias Griese
9532317928 Fixed fatal error in toggled fields 2020-09-30 14:38:29 +03:00
Matias Griese
4cf85c462d Merge remote-tracking branch 'origin/1.7' into 1.7
# Conflicts:
#	CHANGELOG.md
2020-09-30 14:35:52 +03:00
Matias Griese
6fe2964f37 Flex User: make multiple file/image fields to work 2020-09-30 14:35:29 +03:00
Djamil Legato
2108a902c2 Fixed Referer reference for GPM calls 2020-09-28 17:37:08 -07:00
Andy Miller
1520eec677 Merge branch '1.7' of github.com:getgrav/grav into 1.7 2020-09-28 18:35:06 -06:00
Andy Miller
e3ba3a3ea4 added Uri::getAllHeaders() compatibility 2020-09-28 18:35:01 -06:00
Djamil Legato
1c104f9358 Updated Changelog 2020-09-28 16:38:11 -07:00
Djamil Legato
f8b9536eb8 Fixed Referer reference for GPM calls 2020-09-28 16:37:18 -07:00
Matias Griese
0e34628c6f Flex User: make multiple file/image fields to work 2020-09-25 15:03:15 +03:00
Matias Griese
614bc0b254 Make MediaUploadTrait easier to override 2020-09-25 13:55:46 +03:00
Matias Griese
cc6eafdb09 Fixed Flex User avatar when using folder storage
Fixed bug in `Flex Form` making it impossible to set nested values
2020-09-25 11:08:53 +03:00
Matias Griese
df4cbdcc09 Do not log deprecated messages for now (too much into in clockwork) 2020-09-23 16:18:16 +03:00
Matias Griese
f5e53a9a4c Fixed FlexObject::freeMedia() method causing media to become null 2020-09-23 16:17:25 +03:00
Matias Griese
46f654fcee Fixed unset() in ObjectProperty class 2020-09-23 16:15:39 +03:00
Matias Griese
aa3a3f4a17 Fixed media upload failing with custom folders 2020-09-23 11:52:42 +03:00
Andy Miller
59b3b6cc02 initialize page blueprint first 2020-09-21 15:00:51 -06:00
Matias Griese
6d4b8e8401 Fixed onBlueprintCreated firing multiple times recursively 2020-09-21 23:49:45 +03:00
Matias Griese
9ac7a60835 Make sure that onBlueprintCreated gets called only once 2020-09-21 23:40:08 +03:00
Matias Griese
790dbd381d Added missing onBlueprintCreated event for Flex Pages 2020-09-21 23:20:44 +03:00
Matias Griese
ac6c8a985b Improve MediaUploadTrait 2020-09-21 16:50:22 +03:00
Matias Griese
fea22e0409 Remove typehint from UserObject 2020-09-21 10:40:52 +03:00
Matias Griese
ac7d595a2d Merge branch '1.7' of github.com:getgrav/grav into 1.7
 Conflicts:
	system/src/Grav/Common/Twig/Twig.php
2020-09-21 10:14:04 +03:00
Matias Griese
819e412e09 Improve docblocks in Grav\Common, improve code readability 2020-09-20 22:04:40 +03:00
Jeremy Gonyea
bdfec68340 Custom nginx-ddev-site.conf no longer required (#3011) 2020-09-18 20:43:51 -06:00
Andy Miller
0b7ef6c8fb Merge branch '1.7' of github.com:getgrav/grav into 1.7
# Conflicts:
#	CHANGELOG.md
2020-09-18 12:51:00 -06:00
Andy Miller
9880ce977a Added default templates in Grav itself 2020-09-18 12:49:10 -06:00
Matias Griese
e88f924274 Phpstan fixes 2020-09-18 09:57:56 +03:00
Matias Griese
fe53dc88e5 Improve Media classes 2020-09-18 09:20:27 +03:00
Matias Griese
fdfd6558f2 Composer update 2020-09-18 09:17:28 +03:00
Matias Griese
6d9e3dcad1 Merge branch '1.7' of github.com:getgrav/grav into 1.7 2020-09-15 10:34:51 +03:00
Andy Miller
20c4468edd safety check in Utils::svgImageFunction() 2020-09-11 14:48:50 -06:00
Matias Griese
7f80e650b1 Improve Media classes 2020-09-11 14:13:06 +03:00
Andy Miller
1995837b3f composer udpate 2020-09-10 19:46:30 -06:00
Andy Miller
88c0617279 update changelog 2020-09-10 15:55:33 -06:00
Andy Miller
b8b1bed7ed backported theme_var enhanced logic from 1.7 2020-09-10 15:52:52 -06:00
Andy Miller
03c6e74c4d backported {{ cache }} from 1.7 2020-09-10 15:49:25 -06:00
Andy Miller
71639de5ec Added Utils::fullPath() helper method 2020-09-10 15:43:57 -06:00
Andy Miller
39310cd4af Added svg_image twig function 2020-09-10 15:43:47 -06:00
Matias Griese
582352b2d2 Fixed infinite loop in blueprints with extend@ to a parent stream 2020-09-08 23:15:36 +03:00
Matias Griese
f2c271f66d Fixed Security::sanitizeSVG() creating an empty file if SVG file cannot be parsed 2020-09-08 15:15:25 +03:00
Matias Griese
d99e1f519e Added Filesystem::basename() method 2020-09-07 13:09:07 +03:00
Matias Griese
c53e2843be Minor MediaFileTrait update to support external URLs 2020-09-04 14:24:31 +03:00
Matias Griese
f438ce04fb Merge branch '1.7' of github.com:getgrav/grav into 1.7 2020-09-02 12:41:42 +03:00
Matias Griese
8be5952b92 Upgrade guide update 2020-09-02 10:45:01 +03:00
Andy Miller
cfc8610a16 prepare for rc release 2020-09-01 14:46:52 -06:00
Andy Miller
ad8a5d9870 Merge branch 'develop' into 1.7
# Conflicts:
#	CHANGELOG.md
#	system/defines.php
2020-09-01 14:46:05 -06:00
Andy Miller
75cb4e392d Merge branch 'release/1.6.27' 2020-09-01 14:35:38 -06:00
Andy Miller
ec9dd14cb4 Merge tag '1.6.27' into develop
Release v1.6.27
2020-09-01 14:35:38 -06:00
Andy Miller
6e8c852bfa prepare for release 2020-09-01 14:35:29 -06:00
Andy Miller
f204979ada Merge branch '1.7' of github.com:getgrav/grav into 1.7 2020-08-31 13:58:28 -06:00
Andy Miller
6275327b0a strip <xml> and optionally <style> 2020-08-31 13:58:24 -06:00
Matias Griese
f1126e63b1 Flex: Improve row rename logic 2020-08-31 15:25:02 +03:00
Matias Griese
7157ed08f9 Fixed Flex Pages bug where renaming slug causes bad ordering range after save [#2997] 2020-08-28 21:50:18 +03:00
Matias Griese
d33627f1fe Composer update 2020-08-28 14:26:18 +03:00
Matias Griese
c2611cfeaf Fixed Flex Pages bug where changing a modular page template added duplicate file [admin#1899] 2020-08-28 14:26:07 +03:00
Matias Griese
056614fa6b Fixed Flex Pages bug where onAdminSave passes page as $event['page'] instead of $event['object'] [#2995] 2020-08-28 12:18:02 +03:00
Matias Griese
4c19226959 Include route in Flex Pages edit title 2020-08-28 09:42:41 +03:00
Matias Griese
d41a31f614 Added MediaUploadInterface::renameFile() method 2020-08-28 09:41:50 +03:00
Matias Griese
d83dc07368 Added MediaUploadInterface::renameFile() method 2020-08-28 09:37:44 +03:00
Andy Miller
f30d8748f1 tidy up grav instance reference 2020-08-27 11:02:00 -06:00
Andy Miller
b4710c292f Added themes to cached bluerprints + configs 2020-08-27 11:01:35 -06:00
Andy Miller
c3cd399087 allow null for classes 2020-08-26 14:08:31 -06:00
Andy Miller
f8a2c94903 Added a fullPath() helper method 2020-08-26 14:05:42 -06:00
Andy Miller
747b081809 added svg_image() twig function 2020-08-25 14:47:17 -06:00
Andy Miller
55903dab11 composer updates
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-08-24 11:53:16 -06:00
Andy Miller
a6c094f9aa fix error when no parent exists
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-08-13 11:43:55 -06:00
Andy Miller
b9b978e452 deprecate header_var + enhance theme_var
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-08-12 17:23:27 -06:00
Andy Miller
bad24f8a85 support returning object
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-08-03 20:25:01 -06:00
Andy Miller
57cffbc4c8 support climbing up the page structure looking for a header variable
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-08-03 18:10:13 -06:00
Andy Miller
86d71bf37f Support current page context
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-08-03 18:09:54 -06:00
Matias Griese
c6dd169916 Added MediaUploadInterface::renameFile() method 2020-08-03 16:11:15 +03:00
Matias Griese
cbc85b7a09 Improve medium objects 2020-07-28 17:29:10 +03:00
Matias Griese
016af0f419 Minor improvements for backups 2020-07-28 17:26:55 +03:00
Dominik Scholz-Schulze
1903d44bf8 Fixed enviroment name mapping for localhost (#2924)
Co-authored-by: Dominik Scholz-Schulze <dominik.scholz-schulze@iserv.eu>
2020-07-27 11:11:32 -06:00
Matias Griese
351c270e0e Do not check file size limit when updating object 2020-07-24 11:24:23 +03:00
Matias Griese
ab3d9f89ec Improved media 2020-07-24 11:17:26 +03:00
Andy Miller
97220a27df prepare for rc release
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-22 11:08:23 -06:00
Andy Miller
0310fdf99f Sanity checks
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-21 16:38:02 -06:00
Andy Miller
f1a535b7d4 uppdated changelog
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-21 16:18:24 -06:00
Andy Miller
6879d8b6ce fix for broken exif reading
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-21 14:57:19 -06:00
Matias Griese
046c5f69ac Changelog update 2020-07-21 16:30:37 +03:00
Matias Griese
40687f8cc0 Fixed caching issues with Flex index file 2020-07-21 15:24:54 +03:00
Andy Miller
b8f27ecfd0 sanity check
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-20 23:03:57 -06:00
Andy Miller
16dd2ef9d0 moved fixOrientation() into ImageMediaTrait
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-20 22:47:33 -06:00
Andy Miller
aaff2f486f set default for auto-fix-orientation to true
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-20 19:09:58 -06:00
Andy Miller
d9a62373b8 fix issue with ‘’ set in defaults
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-20 19:09:00 -06:00
Andy Miller
bef4f6a0db Fix orientation when auto_fix_orientation option is enabled
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-20 19:08:45 -06:00
Matias Griese
a66c282ee5 Composer update 2020-07-17 19:41:06 +03:00
Matias Griese
2d50cc2b2d Fixed bug in clearing Flex index (partial fix) 2020-07-17 19:40:57 +03:00
Andy Miller
82f1182503 Prepare for rc release
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-09 10:43:17 -06:00
Andy Miller
360bed8697 Merge branch 'develop' into 1.7 2020-07-09 10:32:02 -06:00
Andy Miller
e4a833b59e cleanup
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-09 10:28:47 -06:00
Matias Griese
f8809d5d62 Fixed missing const CSS_IMPORT_REGEX in BaseAsset 2020-07-09 10:05:33 +03:00
Matias Griese
8adffb8714 Fixed page media only accepting images [#2943] 2020-07-09 09:57:11 +03:00
Andy Miller
9b6649174c fixes complex css imports #2958
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-08 10:39:48 -06:00
Andy Miller
7f03f7c844 Updated changelog
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-07 12:31:01 -06:00
Andy Miller
843596944f Merge branch '1.7' of github.com:getgrav/grav into 1.7 2020-07-07 12:28:14 -06:00
Andy Miller
0f6c5fe49d Asset test compatibility
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-07 12:28:04 -06:00
Ricardo Verdugo
b94c4e775a added optional options to noprocess (#2954)
* added optional options to noprocess

* fix minor bug with skip and better naming

* Added tests

Signed-off-by: Andy Miller <rhuk@mac.com>

* Added some tests

Signed-off-by: Andy Miller <rhuk@mac.com>

Co-authored-by: Ricardo <ricardo@urbansquid.london>
Co-authored-by: Andy Miller <rhuk@mac.com>
2020-07-07 12:27:32 -06:00
torohill
fc97e88928 Left pad scheduler times with zeros. (#2921) 2020-07-07 11:17:15 -06:00
Andy Miller
5b47e6130c update changelog
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-03 21:20:28 -06:00
Andy Miller
86edc18f21 Safer solution for getExcerptsFromHtml
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-03 21:19:39 -06:00
Andy Miller
5ee36e786a UTF-8 safe in Excerpts::getExcerptFromHtml()
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-03 21:18:36 -06:00
Matias Griese
c4e2e5da8d Changelog update 2020-07-02 16:22:45 +03:00
Matias Griese
2c14ec0abd Reverted Language::getDefault() returning false again as plugins use it (updated docblocks) 2020-07-02 16:18:41 +03:00
Matias Griese
5b782fd04c Regression: Default language fix broke Language::getLanguageURLPrefix() and Language::isIncludeDefaultLanguage() methods 2020-07-02 13:58:58 +03:00
Andy Miller
bdd579ad2d prepare for rc release
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-01 14:30:43 -06:00
Andy Miller
d94fa8d2de updated changelog
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-01 14:30:37 -06:00
Andy Miller
c0f1d4e2da Don’t validate, let user’s overriden language work even if no other languages set
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-01 14:04:28 -06:00
Andy Miller
e82f49bdab fall back to ‘en’ by default if no other lang specified
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-07-01 14:03:31 -06:00
Matias Griese
b65d48541d Fixed Language::getDefault() returning false and not null 2020-07-01 20:54:22 +03:00
Matias Griese
e2f68194d7 Docblock fixes in Language 2020-07-01 20:10:43 +03:00
Matias Griese
bd6f8f4ae6 Docblock fixes in Language 2020-07-01 20:09:55 +03:00
Matias Griese
9d4cce93fc Tabs in account blueprint break flex listing 2020-07-01 15:12:09 +03:00
Matias Griese
28ce18f8f0 Improved CvsFormatter to attempt to encode non-scalar variables into JSON before giving up 2020-07-01 14:51:27 +03:00
Matias Griese
c060d1a36e Fixed new User Group allowing bad group name to be saved 2020-07-01 14:30:56 +03:00
Matias Griese
3a05dcf659 Fixed missing onAdminSave and onAdminAfterSave events when using Flex Pages and Flex Users 2020-07-01 14:20:14 +03:00
Matias Griese
291ed38a5a Added page actions for admin 2020-06-30 22:42:19 +03:00
Matias Griese
411d689a48 Fixed broken Flex Page authorization for groups 2020-06-30 21:10:43 +03:00
Matias Griese
df279f879f UserObject: allow incomplete file properties 2020-06-30 14:50:53 +03:00
Matias Griese
9e58bccd49 Documentation updates on Page::topPage() 2020-06-30 10:08:32 +03:00
Matias Griese
092f3b4e24 Fix for FlexPage::topParent() 2020-06-30 01:20:06 +03:00
Matias Griese
005bb77f55 Merge remote-tracking branch 'origin/1.7' into 1.7 2020-06-30 01:09:43 +03:00
Matias Griese
258840d198 Updated UPGRADE-1.7.md 2020-06-30 01:09:34 +03:00
Andy Miller
c483da9efe fix for Page:topParent()
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-06-29 15:53:53 -06:00
Matias Griese
4b3f202c6f Changelog update 2020-06-29 09:29:57 +03:00
Andy Miller
07571465a7 make sure plugins are properly initialized in CLI
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-06-28 16:23:03 -06:00
Andy Miller
7d7590b914 Added a new onAfterCacheClear event
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-06-28 12:54:35 -06:00
Andy Miller
f965961401 udpated bundled composer to 2.0.0-dev
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-06-27 11:51:49 -06:00
Andy Miller
814ea7f81a composer update
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-06-27 11:51:37 -06:00
Matias Griese
91a0790695 Fixed retina images not working in Flex [flex-objects 64] 2020-06-26 13:10:24 +03:00
Matias Griese
2b8a6c6a89 Changelog fix 2020-06-26 12:27:33 +03:00
Matias Griese
55648d3452 Changelog update [#1867] 2020-06-26 12:26:09 +03:00
Matias Griese
60316d1b75 Fixed Trying to get property 'username' of non-object error in Flex 2020-06-26 11:54:38 +03:00
Matias Griese
7826608384 Changelog updates 2020-06-25 18:40:30 +03:00
Matias Griese
de151c8a9d Fixed uploading media in non-existing flex object (part 2) 2020-06-25 18:34:31 +03:00
Matias Griese
b0a1effaf9 Fixed uploading media in non-existing object 2020-06-25 15:58:18 +03:00
Matias Griese
fd52d124dd Changelog update 2020-06-23 14:37:46 +03:00
Matias Griese
b772864f2d Merge branch 'feature/1.7-media' of github.com:getgrav/grav into 1.7 2020-06-23 14:35:46 +03:00
Matias Griese
cdb10cfc1f Removed deprecation from a few FlexMediaTrait methods to simplify logic 2020-06-23 12:57:40 +03:00
Matias Griese
da7f0b7dce Fixed MediaUploadTrait::copyUploadedFile() not adding uploaded media to the collection 2020-06-23 12:43:27 +03:00
jackthomasatl
25461f7ca8 Adjusted asset types to enable extension of assets class (#2937)
Co-authored-by: Jack Thomas <Jack.Thomas@elavon.com>
2020-06-22 14:26:03 -06:00
Andy Miller
da7df9f865 needed for cache clear event
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-06-22 08:57:58 -06:00
Fabien Basmaison
00c5dba210 Use proper ellipsis for summary. (#2939) 2020-06-17 08:28:32 -06:00
Andy Miller
f30219d85a move image loading into it’s own trait to be used in image+static images
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-06-10 09:58:06 -06:00
Andy Miller
223e75d326 handle non-text links in getExcerptFromHtml
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-06-10 09:30:20 -06:00
Andy Miller
46d4f4a481 right-trim route for safety
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-06-09 10:43:21 -06:00
Andy Miller
419ebeafa8 Fix for trailing / in routes
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-06-08 16:33:55 -06:00
Andy Miller
4be7917d41 prepare for rc release
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-06-08 15:53:28 -06:00
Andy Miller
191686dffe Merge branch 'develop' into 1.7
Signed-off-by: Andy Miller <rhuk@mac.com>

# Conflicts:
#	system/defines.php
2020-06-08 15:51:08 -06:00
Andy Miller
fa791ed4ab Merge branch 'release/1.6.26' 2020-06-08 15:50:24 -06:00
Andy Miller
e29f8a9657 Merge tag '1.6.26' into develop
Release v1.6.26
2020-06-08 15:50:24 -06:00
Andy Miller
e66f6583b1 prepare for release
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-06-08 15:49:51 -06:00
Andy Miller
399d90e6cd Merge branch '1.7' into feature/1.7-media 2020-06-08 14:50:27 -06:00
Andy Miller
ec2eaae0d3 Merge branch 'develop' into 1.7
Signed-off-by: Andy Miller <rhuk@mac.com>

# Conflicts:
#	system/src/Grav/Common/GPM/Response.php
2020-06-07 19:47:58 -06:00
Andy Miller
12389b1e0d JSON Route of homepage with no ‘route’ set is valid [form#425]
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-06-07 19:46:18 -06:00
Florian Körner
ff6e5a20c3 Fix: case-insensitive search of location header (#2932)
looks good!
2020-06-07 15:42:29 -06:00
Andy Miller
7d6526f962 Merge branch '1.7' into feature/1.7-media
Signed-off-by: Andy Miller <rhuk@mac.com>

# Conflicts:
#	CHANGELOG.md
2020-06-07 15:26:10 -06:00
Andy Miller
b8fad8452b JSON route on homepage with no ‘route’ is valid grav-plugin-form#425
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-06-07 15:23:01 -06:00
Matias Griese
5e9107f376 Merge branch '1.7' of github.com:getgrav/grav into feature/1.7-media
 Conflicts:
	system/src/Grav/Common/Page/Medium/ImageMedium.php
2020-06-05 22:03:53 +03:00
Andy Miller
7faaff304a PSR fix
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-06-05 12:26:30 -06:00
Matias Griese
94acbf6005 Fixed saving nested file fields in Flex Objects 2020-06-05 10:11:19 +03:00
Andy Miller
a65c21acba Merge branch 'develop' into 1.7
Signed-off-by: Andy Miller <rhuk@mac.com>

# Conflicts:
#	CHANGELOG.md
#	system/blueprints/config/system.yaml
2020-06-04 14:46:54 -06:00
Andy Miller
bfbe4ce1b8 option to control supported attributes in markdown links
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-06-04 14:42:38 -06:00
Andy Miller
aaa636f357 cleaner handling of cropZoom
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-06-04 14:31:22 -06:00
Matias Griese
d0241ba7ee Changelog update 2020-06-04 22:33:29 +03:00
Matias Griese
b2230225cc Fixed media field saving issues in Flex Pages 2020-06-04 22:01:23 +03:00
Matias Griese
e063718e4f Add media support for Flex UserGroupObject 2020-06-04 16:43:00 +03:00
Matias Griese
03436a670f Add media support for Flex GenericObject 2020-06-04 16:26:40 +03:00
Matias Griese
8be508de5d Fixed typo in class name 2020-06-04 16:16:27 +03:00
Matias Griese
9370a86246 Moved common methods in both Media and GlobalMedia to AbstractMedia 2020-06-04 15:47:28 +03:00
Matias Griese
6c5237cdd8 Added missing methods into GlobalMedia 2020-06-04 15:45:51 +03:00
Matias Griese
2cf5ecd212 Implemented working media fields in FlexMediaTrait 2020-06-04 15:17:52 +03:00
Matias Griese
8e9125772e Add missing functionality to MediaUploadTrait 2020-06-04 12:47:48 +03:00
Matias Griese
62e863dec0 Improve Media handling in Flex 2020-06-03 18:06:37 +03:00
Matias Griese
e00098ea6a Merge branches '1.7' and 'feature/1.7-media' of github.com:getgrav/grav into feature/1.7-media 2020-06-02 13:29:17 +03:00
Matias Griese
f12bd1b51f Added support for case sensitive usernames 2020-06-02 11:57:55 +03:00
Matias Griese
93942a74cf Fixed Flex Object request cache clear when saving object 2020-06-01 13:48:58 +03:00
Matias Griese
401fd04379 Fix minor media bugs 2020-05-29 08:51:27 +03:00
Matias Griese
4fd54f1692 Added MediaUploadTrait 2020-05-28 17:31:49 +03:00
Matias Griese
9565994e5c Move image loading() method into trait 2020-05-28 15:21:03 +03:00
Matias Griese
6876e1a38a Merge branch '1.7' of github.com:getgrav/grav into feature/1.7-media
 Conflicts:
	system/src/Grav/Common/Page/Medium/ImageMedium.php
2020-05-28 15:16:43 +03:00
Matias Griese
7a8e737802 Minor code updates 2020-05-27 13:25:26 +03:00
Andy Miller
9f968611b1 typo
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-05-26 08:36:40 -06:00
Andy Miller
3bd4f9499a cherry picked #1925 fix from 1.7 to 1.6
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-05-26 08:35:49 -06:00
Andy Miller
069ef7b12c Fixed system.pages.hide_empty_folders #2925
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-05-26 08:32:03 -06:00
Andy Miller
9d6207f80e update changelog
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-05-26 08:17:19 -06:00
Andy Miller
22b493996c renamed markdown_editor to content_editor
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-05-26 08:16:37 -06:00
Andy Miller
5284717570 Added markdown editor option to user profile blueprint
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-05-25 14:03:40 -06:00
Matias Griese
96d11e4ffa Fixed new Flex User erroring out on save (thanks @mikebi42) 2020-05-25 22:18:30 +03:00
Matias Griese
a156247dc3 Fixed blueprint value filtering in lists [#2923] 2020-05-22 23:08:02 +03:00
Matias Griese
0e4a88d538 Fixed new Flex Page not having correct form fields for the page type 2020-05-22 21:44:23 +03:00
Andy Miller
a2d1cdfc13 rename hasChildren to countChildren
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-05-22 10:31:30 -06:00
Andy Miller
dcb0c490ba return count of children rather simple boolean
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-05-22 10:29:29 -06:00
Andy Miller
7687bdf751 vendor updates
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-05-20 11:56:16 -06:00
Andy Miller
85ef04abc4 handle images inside link excerpts
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-05-15 10:44:25 -06:00
Andy Miller
69ae59b933 prepare for rc.11 release
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-05-14 15:47:01 -06:00
Andy Miller
c5e538421e Merge branch 'develop' into 1.7
Signed-off-by: Andy Miller <rhuk@mac.com>

# Conflicts:
#	CHANGELOG.md
#	system/defines.php
2020-05-14 15:43:22 -06:00
Andy Miller
d7b1689047 Merge tag '1.6.25' into develop
Release 1.6.25
2020-05-14 15:41:45 -06:00
Andy Miller
bd8396ba6e Merge branch 'release/1.6.25' 2020-05-14 15:41:44 -06:00
Andy Miller
859aff590b Prepare for release
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-05-14 15:41:34 -06:00
Andy Miller
73d8a844d9 updated changelog
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-05-14 15:24:33 -06:00
Andy Miller
5db395799d Changelog updated
Signed-off-by: Andy Miller <rhuk@mac.com>
2020-05-14 15:17:02 -06:00
Andy Miller
ad1ecf21c3 Merge branch 'develop' into 1.7
Signed-off-by: Andy Miller <rhuk@mac.com>

# Conflicts:
#	system/blueprints/config/system.yaml
#	system/config/system.yaml
#	system/src/Grav/Common/Uri.php
2020-05-14 14:46:14 -06:00
Andy Miller
497ca2a5cd Advanced Customization options for HTTP_X_FORWARDED headers 2020-05-14 14:43:52 -06:00
Andy Miller
4e578ed95e Advanced Customization options for HTTP_X_FORWARDED headers 2020-05-14 14:32:07 -06:00
Andy Miller
8b258c8828 updated changelog 2020-05-14 12:36:50 -06:00
Andy Miller
148117edcb Support for native lazy loading of images #2910 2020-05-14 12:33:46 -06:00
Andy Miller
a57358f311 fix for & errors in URL 2020-05-14 10:47:36 -06:00
Matias Griese
ee0ad1126d Merge moved code 2020-05-12 20:35:04 +03:00
Matias Griese
2db0002ffd Merge branch '1.7' of github.com:getgrav/grav into feature/1.7-media
 Conflicts:
	system/src/Grav/Common/Page/Medium/ImageMedium.php
2020-05-12 20:34:26 +03:00
Matias Griese
a74e07c491 Docblock update 2020-05-08 13:24:10 +03:00
Matias Griese
8a12abf795 Flex: Added PageCollection::all() to mimick Pages class 2020-05-08 12:53:56 +03:00
Matias Griese
62c7cfcd10 Tighten vendor requirements 2020-05-08 10:30:11 +03:00
Matias Griese
9257d6982f Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	composer.json
	composer.lock
2020-05-08 10:21:51 +03:00
Jesse Donat
58da1cd489 Updates donatj/phpuseragentparser to 1.0.0 2020-05-08 10:18:31 +03:00
Andy Miller
69078aaf49 Fix for uppercase image extensions 2020-05-06 11:59:15 -06:00
Matias Griese
33aa0737a4 Improve docblocks 2020-05-06 13:01:47 +03:00
Matias Griese
8b47608cc0 Split Medium classes into traits, define Media interfaces 2020-05-06 12:23:49 +03:00
Matias Griese
d25014779d Fixed some phpstan issues 2020-05-05 19:35:09 +03:00
Matias Griese
5f0380f547 Fixed unit test 2020-05-05 19:04:56 +03:00
Andy Miller
bdbd392c6e Merge branch 'develop' into 1.7 2020-04-30 17:33:57 -06:00
Andy Miller
d53a594971 updated to 1.13 2020-04-30 17:33:41 -06:00
Andy Miller
2604da4b04 Merge branch 'develop' into 1.7 2020-04-30 16:23:47 -06:00
Djamil Legato
77bc8029bb Updated reference to github-release go app 2020-04-30 15:21:48 -07:00
Andy Miller
11e4a4cad8 Updated changelog to ref HttpClient inetgration 2020-04-30 14:48:47 -06:00
Andy Miller
e37f634a38 prepare for rc release 2020-04-30 14:46:14 -06:00
Matias Griese
0a18502c2c Merge remote-tracking branch 'origin/1.7' into 1.7 2020-04-30 22:16:24 +03:00
Matias Griese
b8c81c72e4 Copying Flex Page in admin does nothing 2020-04-30 22:16:16 +03:00
Andy Miller
37c2219b87 Updated changelog 2020-04-30 12:12:58 -06:00
Andy Miller
62f6f3910a Merge branch '1.7' of github.com:getgrav/grav into 1.7 2020-04-30 12:12:03 -06:00
Andy Miller
b450e6998e Added new Excerpts::processLinkHtml() method 2020-04-30 12:11:56 -06:00
Matias Griese
10800a0896 Merge remote-tracking branch 'origin/1.7' into 1.7 2020-04-30 16:30:23 +03:00
Matias Griese
cf61525130 Fixed saving non-numeric-prefix Flex Page changing to numeric-prefix 2020-04-30 16:30:14 +03:00
Andy Miller
24db65cd90 switch to Symfony HTTPClient (#2901) 2020-04-29 15:36:51 -06:00
Matias Griese
daf7e66ec3 Missing use 2020-04-29 22:11:18 +03:00
Matias Griese
18c9a1793e Merge remote-tracking branch 'origin/1.7' into 1.7 2020-04-29 21:41:34 +03:00
Matias Griese
2b0f235e23 Fixed Grav Pages admin with PHP intl extension enabled when using custom page order 2020-04-29 21:41:25 +03:00
Andy Miller
24eca428a6 Force response % to be 0 - 100 only 2020-04-28 17:37:21 -06:00
Andy Miller
677b0b7055 prepare for rc release 2020-04-27 16:10:47 -06:00
Andy Miller
10bd72ad51 Merge branch 'develop' into 1.7
# Conflicts:
#	CHANGELOG.md
#	system/defines.php
2020-04-27 16:09:53 -06:00
Andy Miller
4ddc98b2b6 Merge branch 'release/1.6.24' 2020-04-27 16:08:40 -06:00
Andy Miller
c1f18f5ecf Merge tag '1.6.24' into develop
Release v1.6.24
2020-04-27 16:08:40 -06:00
Andy Miller
d16a88e731 prepare for release 2020-04-27 16:08:28 -06:00
A----
39d0d640e6 Support for the X-Forwarded-Host (#2891) 2020-04-27 10:38:36 -06:00
Matias Griese
bfb55f0e1d Fixed broken Plugin::config() method 2020-04-27 19:21:02 +03:00
Matias Griese
44b07712d5 Move method inside file 2020-04-24 18:21:31 +03:00
Matias Griese
c8ae9e4dcc Fixed creating new Flex User with file storage 2020-04-24 18:19:21 +03:00
Matias Griese
52d1412e4c Fixed creating new Flex User with file storage 2020-04-24 16:18:03 +03:00
Matias Griese
b820130636 Fixed Flex Pages not updating empty content on save [#2890] 2020-04-24 14:30:26 +03:00
Matias Griese
7d4ecd4272 Changelog update 2020-04-24 13:40:25 +03:00
Matias Griese
f907b589e1 Merge remote-tracking branch 'origin/1.7' into 1.7 2020-04-24 13:30:19 +03:00
Matias Griese
a9d80d73d6 Fixed Flex Pages with 00.home page not having ordering set 2020-04-24 13:30:10 +03:00
Andy Miller
fe0ad9c9c2 Added support for webp (must be defined in media.yaml) #1168 2020-04-23 12:35:05 -06:00
Matias Griese
dfa8ce1ad4 Fixed Flex Page parent header.admin.children_display_order setting being ignored in Admin [#2881] 2020-04-23 15:51:58 +03:00
Matias Griese
1ea5dad728 Implemented missing Flex $pageCollection->batch() and $pageCollection->order() methods 2020-04-23 15:51:10 +03:00
Matias Griese
a2b81c9378 Added new plugin/theme blueprint options to upgrade guide 2020-04-23 11:24:33 +03:00
Matias Griese
01b0b1602b Fixed Pages::instances() returning null values when using Flex Pages [#2889] 2020-04-23 10:41:42 +03:00
Andy Miller
7d4aef0f3b Fixed Gregwar Image library using .jpeg for cached images, rather use .jpg 2020-04-22 17:31:31 -06:00
Andy Miller
5485893c8b fix PHP 7.4 Clockwork error 2020-04-20 10:32:55 -06:00
Andy Miller
124543f4a7 minor vendor updates 2020-04-20 10:22:11 -06:00
Matias Griese
e84488e126 Support symlinks when saving File 2020-04-17 10:06:04 +03:00
Matias Griese
ed2cf5174d Improved error response creation 2020-04-08 18:56:22 +03:00
Matias Griese
d0d0a6c224 Composer update 2020-04-07 20:23:25 +03:00
Matias Griese
b04f4f0001 Added Route::getBase() method 2020-04-07 20:23:10 +03:00
Matias Griese
c822920c36 Fixed user avatar creation for new Flex Users when using folder storage 2020-04-04 18:32:36 +03:00
ricardo118
e6354236c1 Using ->menu() over ->title() for Admin Pages (#2871) 2020-03-28 15:11:35 -06:00
Matias Griese
068948e1a2 Fixed response for .json being HTML 2020-03-25 15:08:00 +02:00
Matias Griese
f8bf7ba010 Fixed flex objects with integer keys not working [#2863] 2020-03-23 10:18:51 +02:00
Andy Miller
586105907d disable XDebug for Travis builds 2020-03-19 14:56:03 -06:00
Andy Miller
abd56ffee3 disable XDebug in Travis builds 2020-03-19 14:55:19 -06:00
Andy Miller
5678b4d067 Revert "created aliases for direct \Parsedown and \ParsedownExtra references"
This reverts commit 1ce0176ab6.
2020-03-19 14:32:57 -06:00
Andy Miller
1abb940318 Merge branch 'develop' into 1.7 2020-03-19 14:31:35 -06:00
Andy Miller
15af5bfae7 Merge branch 'release/1.6.23' 2020-03-19 14:27:39 -06:00
Andy Miller
d550a016a9 Merge tag '1.6.23' into develop
Release v1.6.23
2020-03-19 14:27:39 -06:00
Andy Miller
9c8df27bf1 Updated changelog 2020-03-19 14:27:25 -06:00
Andy Miller
1ce0176ab6 created aliases for direct \Parsedown and \ParsedownExtra references 2020-03-19 14:25:08 -06:00
Andy Miller
5bc46c49d2 prepare for rc.8 release 2020-03-19 12:50:09 -06:00
Andy Miller
292d45a7db minor composer updates 2020-03-19 12:47:56 -06:00
Andy Miller
2d375954ab Merge branch '1.7' of github.com:getgrav/grav into 1.7 2020-03-19 12:46:59 -06:00
Andy Miller
7ff6d2a828 Merge branch 'develop' into 1.7
# Conflicts:
#	composer.lock
#	system/defines.php
2020-03-19 12:46:47 -06:00
Andy Miller
ccac8a93bc Merge branch 'release/1.6.23' 2020-03-19 12:46:08 -06:00
Andy Miller
bcbfa0e32a Merge tag '1.6.23' into develop
Release v1.6.23
2020-03-19 12:46:08 -06:00
Andy Miller
453cd62a51 prepare for release 2020-03-19 12:45:58 -06:00
Andy Miller
56e1cbc78e updated composer to pickup toolbox 1.4.7 2020-03-19 12:39:36 -06:00
Matias Griese
58cd77449c Composer update 2020-03-19 20:28:45 +02:00
Andy Miller
db92c7b32d Upgraded jQuery to 3.4.1 - fixes #2859 2020-03-19 11:31:10 -06:00
Matias Griese
6ba54d2b3d Better Content-Encoding handling in Apache when content compression is disabled [#2619] 2020-03-19 11:31:24 +02:00
Andy Miller
987429208c Merge branch 'develop' into 1.7
# Conflicts:
#	CHANGELOG.md
#	composer.json
#	composer.lock
2020-03-18 17:34:58 -06:00
Andy Miller
2eae104c7a Fix for user reported CVE path-based open redirect 2020-03-18 17:32:46 -06:00
Andy Miller
6f2be2a2d2 Updated changelog 2020-03-18 11:50:23 -06:00
Andy Miller
e75960fee3 php 7.4 fixes for ParsedownExtra 2020-03-18 11:44:23 -06:00
Andy Miller
ec71ccdd0d moved parsedown 1.6 and parsedown-extra 0.7 into framework for fixes 2020-03-18 11:39:08 -06:00
Matias Griese
a5d47a36f0 Implemented missing Flex $page->move() method 2020-03-18 14:54:01 +02:00
Matias Griese
866b63530a Fixed some bugs in Flex root page methods 2020-03-18 14:06:04 +02:00
Matias Griese
57feac985c Update installer recommended versions 2020-03-18 11:52:33 +02:00
Andy Miller
c72c980ad2 fixes #2847 2020-03-13 11:15:15 -06:00
Matias Griese
790d29cbfb Fixed some more flex page inconsistencies with the old pages 2020-03-09 20:33:49 +02:00
Matias Griese
b9947f6984 Fixed bad default redirect code in ControllerResponseTrait::createRedirectResponse() 2020-03-09 19:31:44 +02:00
Matias Griese
79b7c3c38f Fixed some bugs in Flex root page methods 2020-03-09 19:29:56 +02:00
Matias Griese
a9df896538 Flex Pages: added has-children to getLevelListing() response 2020-03-09 10:17:11 +02:00
Andy Miller
ad713a1342 update changelog 2020-03-06 12:35:13 -07:00
Andy Miller
b58479cba6 Merge branch '1.7' of github.com:getgrav/grav into 1.7 2020-03-06 12:34:37 -07:00
Andy Miller
107341f33f Fast check to see if a dir has child dirs 2020-03-06 12:34:33 -07:00
Matias Griese
1ed0fcb379 Fixed creating new Flex User when folder storage has been selected 2020-03-06 15:42:33 +02:00
Matias Griese
63892782b4 Save memory when updating large flex indexes 2020-03-06 15:32:22 +02:00
Matias Griese
f5a480c72e Added MediaTrait::freeMedia() method to free media (and memory) 2020-03-06 13:41:03 +02:00
Matias Griese
d80a29b34d Flex storages: added support for custom key length 2020-03-06 10:21:49 +02:00
Andy Miller
5aefc60f2e prepare for rc.7 release 2020-03-05 13:29:11 -07:00
Matias Griese
683c1fe477 Improve dynamic config field 2020-03-05 22:27:30 +02:00
Matias Griese
6b4692f6c7 Minor code refactor 2020-03-05 21:44:50 +02:00
Matias Griese
1351f11551 Added field validation for array of lines 2020-03-05 21:43:53 +02:00
Matias Griese
58280b8d3f Updated UPGRADE-1.7.md 2020-03-05 21:43:14 +02:00
Matias Griese
652ca75f40 Composer update 2020-03-05 21:41:28 +02:00
Matias Griese
4b5f1590aa Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	composer.json
	composer.lock
	system/defines.php
2020-03-05 21:39:59 +02:00
Andy Miller
152c987ed4 Merge branch 'release/1.6.22' 2020-03-05 10:39:00 -07:00
Andy Miller
19311c7ec1 Merge tag '1.6.22' into develop
Release v1.6.22
2020-03-05 10:39:00 -07:00
Andy Miller
eec2d122cc prepare for release 2020-03-05 10:38:50 -07:00
Andy Miller
62f39fe39c Negotiation update to fix #2513 2020-03-04 10:57:43 -07:00
Andy Miller
394fce3825 composer update 2020-03-04 10:54:32 -07:00
Matias Griese
9c6934c0aa Changelog update 2020-03-03 21:03:26 +02:00
Matias Griese
993bc5170b Fixed changing page template in Flex Pages 2020-03-03 21:00:24 +02:00
Matias Griese
d285eda4c2 Fixed reordering flex pages 2020-03-03 20:17:44 +02:00
Matias Griese
0bcbe39521 User accounts/groups: Update title by values entered to the form 2020-03-03 13:17:01 +02:00
Matias Griese
78502b2026 Fixed fatal error on storing flex flash using new object without a key 2020-03-03 13:12:25 +02:00
Matias Griese
df0c806381 Added UserObject::onPrepareRegistration() method to initialize permissions 2020-03-03 11:42:26 +02:00
Matias Griese
d089a1d9c8 Regression: Fixed unchecking toggleable having no effect in Flex forms 2020-03-02 21:02:44 +02:00
Matias Griese
e41072c448 Merge branch 'develop' of github.com:getgrav/grav into 1.7 2020-03-02 10:54:04 +02:00
Matias Griese
36d18d531c Minor fix on CLI command 2020-02-27 14:36:04 +02:00
Matias Griese
fb18412fb3 Updated CLI commands to use the new methods to initialize Grav 2020-02-27 14:14:28 +02:00
Matias Griese
9a8c2b9aa5 Add CLI notes to UPGRADE-1.7.md 2020-02-26 18:37:16 +02:00
Matias Griese
678b39a170 Tiny fix in FlexDirectory::getDirectoryBlueprint() 2020-02-25 14:04:43 +02:00
Matias Griese
d03b0d92f4 * Fixed Blueprint::extend() and Blueprint::embed() not initializing dynamic properties 2020-02-25 13:11:56 +02:00
Matias Griese
11f9ba74e8 Added configuration option system.strict_mode.blueprint_compat to maintain old validation: strict behavior [#1273] 2020-02-24 20:24:25 +02:00
Matias Griese
f4f5bffcd9 Fixed broken ordering sometimes when saving/moving visible Flex Page, ordering being lost when saving modular Flex Page 2020-02-24 14:55:39 +02:00
Matias Griese
d763f9c63e Upgrade doc: Added mention of PageInterface and UserInterface 2020-02-24 09:37:15 +02:00
Matias Griese
44acd3a969 Improved Flex events 2020-02-20 08:58:11 +02:00
Matias Griese
4d7510dc11 Fixed Flex Pages having broken isFirst(), isLast(), prevSibling(), nextSibling() and adjacentSibling() 2020-02-19 12:58:23 +02:00
Matias Griese
f4a3efc3bc Update UPGRADE-1.7.md file 2020-02-19 11:20:33 +02:00
Rotzbua
40bc980084 [travis] add php 7.4 to test 2020-02-19 10:46:49 +02:00
Matias Griese
cf62d1dfa2 Update UPGRADE-1.7.md file 2020-02-18 13:19:54 +02:00
Matias Griese
378e59563d Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	system/src/Grav/Common/Data/BlueprintSchema.php
	tests/unit/Grav/Common/Data/BlueprintTest.php
	tests/unit/data/blueprints/strict.yaml
2020-02-18 13:15:03 +02:00
Matias Griese
1196e06dd6 Reverted validation: strict fix as it breaks sites, see [#1273] 2020-02-18 13:14:09 +02:00
Matias Griese
028bbf08c6 Grav 1.7 edition: Fixed validation: strict not working in blueprints [#1273] 2020-02-18 13:09:14 +02:00
Matias Griese
1d6a474b31 Added Session::regenerateId() method to properly prevent session fixation issues 2020-02-18 12:26:45 +02:00
Matias Griese
79e68eb5df Composer update 2020-02-17 15:17:12 +02:00
Matias Griese
13a1c7cfee Merge remote-tracking branch 'origin/1.7' into 1.7 2020-02-17 14:04:39 +02:00
Matias Griese
a3812141dd Fixed issues reported in phpstan 2020-02-17 14:04:31 +02:00
Andy Miller
5833f1e2da missing lang object 2020-02-14 15:21:32 -07:00
Andy Miller
88311f21cf Merge branch 'develop' into 1.7
# Conflicts:
#	system/src/Grav/Common/Page/Pages.php
2020-02-14 14:31:31 -07:00
Andy Miller
64b33d60f4 updated changelog 2020-02-14 08:36:04 -07:00
Andy Miller
8ccbcf0488 set baseRoute with activelang if available 2020-02-14 08:14:57 -07:00
Matias Griese
4fb485d1dd Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	CHANGELOG.md
2020-02-14 14:47:56 +02:00
Matias Griese
244c34a536 Page::getCacheKey() method should be public 2020-02-14 13:55:31 +02:00
Matias Griese
52a704e53d Fixed issue with search plugins not being able to switch between page translations 2020-02-14 13:55:06 +02:00
Andy Miller
5852ca4179 Better support for bin/grav server 2020-02-12 18:27:30 -07:00
Andy Miller
04820b8adc prepare for rc.6 release 2020-02-11 17:31:09 -07:00
Andy Miller
5be92b7a8a Merge branch 'develop' into 1.7
# Conflicts:
#	system/defines.php
2020-02-11 17:28:52 -07:00
Andy Miller
addecbbb22 Merge branch 'release/1.6.21' 2020-02-11 17:17:29 -07:00
Andy Miller
ec8bf9357a Merge tag '1.6.21' into develop
Release v1.6.21
2020-02-11 17:17:29 -07:00
Andy Miller
432b4b1e68 prepare for release 2020-02-11 17:17:20 -07:00
Andy Miller
ea5935b1d1 vendor updates 2020-02-11 17:15:07 -07:00
Andy Miller
65db6ea26c prepare for rc.6 release 2020-02-11 17:14:14 -07:00
Andy Miller
a77b5e69e7 updated vendors 2020-02-11 17:14:04 -07:00
Andy Miller
c9da739ea3 Merge branch 'develop' into 1.7
# Conflicts:
#	system/src/Grav/Common/Service/PagesServiceProvider.php
2020-02-11 17:10:48 -07:00
Andy Miller
fa3c9095c7 caught silly bug that broke routing 2020-02-11 17:09:54 -07:00
Matias Griese
9e4ee6ec91 Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	system/src/Grav/Common/Service/PagesServiceProvider.php
2020-02-11 20:53:48 +02:00
Matias Griese
95442ef0b5 Fixed page initialization in CLI 2020-02-11 20:53:02 +02:00
Matias Griese
1f92ec715a Merge branch 'develop' of github.com:getgrav/grav into 1.7 2020-02-11 20:28:22 +02:00
Matias Griese
f81503dd70 Fixed page initialization in CLI 2020-02-11 20:27:57 +02:00
Matias Griese
0642e34a77 Post-merge fixes 2020-02-11 19:45:56 +02:00
Matias Griese
4e8e3e1865 Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	system/src/Grav/Common/Processors/InitializeProcessor.php
2020-02-11 19:43:15 +02:00
Matias Griese
48170d2fa0 Fixed bin/plugin CLI calling $themes->init() way too early
Added `ConsoleCommand::setLanguage()` method to set language to be used from CLI
Added `ConsoleCommand::initializeGrav()` method to properly set up Grav instance to be used from CLI
Added `ConsoleCommand::initializePlugins()`method to properly set up all plugins to be used from CLI
Added `ConsoleCommand::initializeThemes()`method to properly set up current theme to be used from CLI
Added `ConsoleCommand::initializePages()` method to properly set up pages to be used from CLI
2020-02-11 19:41:28 +02:00
Matias Griese
8936e82e9b More bin/plugin improvements 2020-02-11 18:39:46 +02:00
Matias Griese
e0162d276d Improve Grav initialization 2020-02-11 14:55:05 +02:00
Matias Griese
14ff7fae33 CLI: Added $grav->initializeCli() method 2020-02-11 14:20:46 +02:00
Matias Griese
2c78b3efca Fixed Flex Page cache key not taking account active language 2020-02-11 12:09:27 +02:00
Matias Griese
5104bde6d4 Changelog update 2020-02-11 10:29:22 +02:00
Matias Griese
59f05ec8a2 Fixed bin/plugin initialization 2020-02-11 10:24:06 +02:00
Andy Miller
20047fbdaf Helpful stuff for bin/grav server 2020-02-10 14:16:44 -07:00
Matias Griese
81dd33c2e9 Fixed custom Flex directories in grav/plugin commands 2020-02-10 21:58:33 +02:00
Matias Griese
1cf390206e Regression: Fixed fatal error in cli/plugin command 2020-02-10 19:51:59 +02:00
Matias Griese
8169a6f3f8 Fixed regression in Grav 1.7 (#2154) 2020-02-10 17:43:40 +02:00
Matias Griese
2165ded8d4 Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	system/src/Grav/Common/Page/Page.php
2020-02-10 17:42:21 +02:00
Matias Griese
ef80e28d1d Fixed regression (#2154) 2020-02-10 17:41:13 +02:00
Matias Griese
234abb38d9 Fixed FlexObject::triggerEvent() does not emit events [#2816] 2020-02-10 14:48:18 +02:00
Matias Griese
3a722ba44e Fixed encoding problems when PHP INI setting default_charset is not utf-8 (Grav 1.7 edition) [#2154] 2020-02-10 10:19:11 +02:00
Matias Griese
3f56c5a727 Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	CHANGELOG.md
	system/src/Grav/Common/Page/Page.php
2020-02-10 10:14:55 +02:00
Matias Griese
e55b239536 Fixed encoding problems when PHP INI setting default_charset is not utf-8 [#2154] 2020-02-10 09:50:39 +02:00
Andreas Amos
c2f374f0db Truncator: encoding problems solves #2154
As I am not a developer somebody should review the change.
2020-02-10 09:28:13 +02:00
Florian Schlittenbauer
29c6a70611 [BUGFIX] .editorconfig not picking up .yml files (#2808) 2020-02-08 13:47:17 -07:00
Matias Griese
0bbbe96ae0 Regression: Fixed flex user index with folder storage 2020-02-07 12:27:02 +02:00
Matias Griese
40010f7ff7 Fixed deprecated debugbar method 2020-02-07 12:26:11 +02:00
Matias Griese
49aae0c50e Clockwork update 2020-02-07 12:25:38 +02:00
Matias Griese
5ea7ec1013 Flex Directory: Implemented customizable configuration 2020-02-06 16:53:54 +02:00
Matias Griese
75ee0670f6 Fixed saving Flex configuration with ignored values becoming null 2020-02-06 16:52:52 +02:00
Matias Griese
6e327880a3 Flex Storages: Added support for renaming directory entries 2020-02-06 11:54:28 +02:00
Matias Griese
ceaa20d5d4 Flex SimpleStorage: added support for prefix (keeps items under nested array) 2020-02-06 11:52:51 +02:00
Matias Griese
10589e7940 Flex SimpleStorage: added support for prefix (keeps items under nested array) 2020-02-06 10:34:39 +02:00
Matias Griese
5e9a7a112a Plugins & Themes: Call $plugin->autoload() and $theme->autoload() automatically when object gets initialized 2020-02-04 18:41:24 +02:00
Matias Griese
a672a765b4 Remove deprecated RocketTheme\Toolbox\Event\EventSubscriberInterface from Plugin, Themes 2020-02-04 17:58:58 +02:00
Matias Griese
4794097992 Phpstan rules update 2020-02-04 14:24:41 +02:00
Matias Griese
f012d2d13a Regression: Fixed bad method call in FlexDirectory::getAuthorizeRule() 2020-02-04 10:59:26 +02:00
Matias Griese
d0a22ad416 Regression: fatal error in blueprints [#2811] 2020-02-04 10:50:59 +02:00
Andy Miller
6dee662b40 prepare for rc.5 release 2020-02-03 12:36:15 -07:00
Matias Griese
1d8b87e33f Fixed Flex Pages allowing root page to be deleted 2020-02-03 21:16:38 +02:00
Matias Griese
5db91538c6 Changelog update (version) 2020-02-03 20:53:50 +02:00
Matias Griese
7d6fb9eee6 Changelog update 2020-02-03 20:51:57 +02:00
Matias Griese
694b14511d Save user: clear flex cache even if not using flex 2020-02-03 20:47:59 +02:00
Matias Griese
bbab97137f Fixed accidental PHP 7.3 constant 2020-02-03 20:39:43 +02:00
Andy Miller
3408db0c9b typo in changelog date 2020-02-03 10:14:53 -07:00
Andy Miller
1bbf8dffeb prepare for rc.4 release 2020-02-03 10:10:26 -07:00
Andy Miller
887b34dd31 Use toolbox ~1.5 2020-02-03 10:09:22 -07:00
Andy Miller
0f5166d690 Merge branch 'develop' into 1.7
# Conflicts:
#	system/defines.php
2020-02-03 10:06:02 -07:00
Andy Miller
e507300134 Merge branch 'release/1.6.20' 2020-02-03 10:04:38 -07:00
Andy Miller
e38c5cac4a Merge tag '1.6.20' into develop
Release v1.6.20
2020-02-03 10:04:38 -07:00
Andy Miller
463a55897c prepare for release 2020-02-03 10:04:26 -07:00
Andy Miller
192cc4eb9b minor symfony updates 2020-02-03 10:00:40 -07:00
Matias Griese
e5fe28b720 Added support for legacy access settings from admin 2020-02-03 13:20:33 +02:00
Matias Griese
defc70e656 Fixed some admin related ACL issues 2020-02-03 12:53:41 +02:00
Matias Griese
d589dbcbea Fix phpstan issues 2020-02-03 11:19:22 +02:00
Matias Griese
3ed8620d7a Remove publish from CRUD for now 2020-01-31 22:03:05 +02:00
Matias Griese
bc5501eecb Moved PluginsLoadedEvent into Plugins::init() call for better backwards compatibility 2020-01-31 12:23:27 +02:00
Matias Griese
2ae6bac390 Fixed loading group permissions if saved in CRUD mode 2020-01-31 11:55:18 +02:00
Matias Griese
118621cb8b Finish root page blueprints 2020-01-31 00:10:22 +02:00
Matias Griese
3118ed5f56 Added support for security@: or: [admin.super, admin.pages] in blueprints (nested AND/OR mode support) 2020-01-31 00:09:58 +02:00
Matias Griese
ac17fc8efd Minor code cleanup 2020-01-30 23:32:17 +02:00
Matias Griese
85c1ec67c2 Fixed filtering ignored (eg. security@: admin.super) fields and Flex Objects losing data on save 2020-01-30 23:31:32 +02:00
Matias Griese
959a2ec379 Clockwork fixes (beta) 2020-01-30 19:23:40 +02:00
Matias Griese
1372c9b1cc Renamed flex types for simplicity 2020-01-30 11:11:55 +02:00
Matias Griese
67dd5f256d Fixed unit test for parsedown link &amp; 2020-01-30 09:15:26 +02:00
Matias Griese
2c3ced3fba Merge branch 'develop' of github.com:getgrav/grav into 1.7 2020-01-30 09:11:53 +02:00
Matias Griese
a592f6fe0b Fixed unit test for Uri::currentPage(): it only returns integers now 2020-01-30 09:11:19 +02:00
Matias Griese
9123cb7796 Flex Pages: Allow only users with admin.configuration.pages to access page permissions 2020-01-29 22:39:53 +02:00
Matias Griese
df09c01a25 Minor improvement on please install flex admin pages 2020-01-29 20:28:37 +02:00
Matias Griese
b97301d82d Merge branch 'develop' of github.com:getgrav/grav into 1.7 2020-01-29 19:35:06 +02:00
Matias Griese
6b887a98cd Fixed site.metadata saving issues [#2615] 2020-01-29 18:55:44 +02:00
Matias Griese
18a26b42e2 Fixed Assets::addInlineJs() parameter type mismatch between v1.5 and v1.6 [#2659] 2020-01-29 18:40:58 +02:00
Matias Griese
85de4ed0e3 Fixed regression (odd use case) 2020-01-29 15:08:58 +02:00
Matias Griese
80125ce298 Fixed system.translations: false breaking Inflector methods 2020-01-29 14:58:50 +02:00
Matias Griese
27542d4fa4 Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	composer.json
	composer.lock
2020-01-29 13:24:04 +02:00
Matias Griese
a47e446b60 Composer update (and lock rockettheme/toolbox to 1.4.x) 2020-01-29 13:23:28 +02:00
Matias Griese
471fb4da6f Changelog update 2020-01-29 11:50:45 +02:00
Matias Griese
a2a6888982 Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	system/src/Grav/Common/Data/Data.php
2020-01-29 11:49:57 +02:00
Matias Griese
864a938f8d Fixed Data::filter() removing empty fields (such as empty list) by default [#2805] 2020-01-29 11:48:59 +02:00
Matias Griese
bdd30238bf Fixed fatal error with non-integer page param value, Grav 1.7 [#2803] 2020-01-29 11:35:19 +02:00
Matias Griese
528ce7131e Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	system/src/Grav/Common/Page/Page.php
2020-01-29 11:34:13 +02:00
Matias Griese
53bd1641bb Fixed fatal error with non-integer page param value [#2803] 2020-01-29 11:32:40 +02:00
Matias Griese
b10725cebc Fixed misleading 'Show sensitive data' configuration option wording 2020-01-29 11:18:14 +02:00
Djamil Legato
719cc5466a Removed validation for permissions groups 2020-01-28 17:10:55 -08:00
Djamil Legato
e373cf18e0 Fixed groups field 2020-01-28 15:17:40 -08:00
Matias Griese
7ef5fa5630 Validation: added new filter option for array keys 2020-01-28 22:23:49 +02:00
Matias Griese
d139b0388a Fixed bad result on testing isPage() when using Flex Pages 2020-01-28 20:57:54 +02:00
Matias Griese
014ab5d7ee Fixed PageStorage with multiple page locations 2020-01-28 14:49:34 +02:00
Matias Griese
64f3949967 Fixed Route instance in multi-site setups 2020-01-28 14:49:02 +02:00
Matias Griese
7913edd34b Improve Acl\Actions 2020-01-28 12:34:10 +02:00
Djamil Legato
2136dc34fe fixed new permissions field title/desc 2020-01-27 13:05:36 -08:00
Matias Griese
c559b42151 User/group authorize is session based 2020-01-27 19:59:54 +02:00
Matias Griese
a33d974c74 Changelog update 2020-01-27 15:44:05 +02:00
Matias Griese
ede7af6b9d Flex: Control authorization from the directory 2020-01-27 15:35:07 +02:00
Matias Griese
5cd4bf5c98 Flex: Fixed event firing too early 2020-01-27 14:24:48 +02:00
Matias Griese
045fae9b6f Flex: Blueprint updates 2020-01-27 14:03:56 +02:00
Matias Griese
bbd46644e0 Added flatten_array filter to form field validation 2020-01-24 22:10:48 +02:00
Matias Griese
3e67c0a878 Fixed Cannot use a scalar value as an array error in Utils::arrayUnflattenDotNotation(), ignore nested structure instead 2020-01-24 22:08:53 +02:00
Matias Griese
924f01158d Composer update 2020-01-23 22:29:14 +02:00
Djamil Legato
8d5dd60fb4 Added multi data_type for acl_picker (previously page_access). added dummy group2 for development 2020-01-22 14:26:39 -08:00
Djamil Legato
958ea586ec Removed old permissions reference 2020-01-22 12:46:30 -08:00
Matias Griese
5f6cc58186 Merge remote-tracking branch 'origin/1.7' into 1.7 2020-01-22 10:26:44 +02:00
Matias Griese
426f59e41a Added support for Flex Directory specific configuration 2020-01-22 10:26:34 +02:00
Matias Griese
fff9fa0ca5 Added Blueprint::getDefaultValue() method 2020-01-22 10:13:40 +02:00
Andy Miller
57aced69cf vendor updates 2020-01-21 17:30:34 -07:00
Matias Griese
afac6baa11 Twig url() takes now third parameter (true) to return URL on non-existing file instead of returning false 2020-01-21 22:35:02 +02:00
Matias Griese
b4630aeb38 Fixed Blueprint::filter() returning null instead of array if there is nothing to return 2020-01-21 21:38:36 +02:00
Matias Griese
cac02663e6 Fixed twig url() failing if stream has extra slash in it (e.g. user:///data) 2020-01-21 21:33:32 +02:00
Matias Griese
e59f1e5a82 Improve FlexFormFlash 2020-01-21 11:24:42 +02:00
Matias Griese
90d077d7c2 Start using $grav['flex'] 2020-01-21 10:09:48 +02:00
Matias Griese
a77d6bcfa0 Event improvements 2020-01-21 10:08:02 +02:00
Matias Griese
bee5abfbf0 Added $grav['flex'] to access all registered Flex Directories 2020-01-21 10:06:58 +02:00
Matias Griese
664447a67b Added Flex cache configuration options 2020-01-21 10:02:29 +02:00
Vladimir Tikunov
b850443090 Updated the parameter type in getCleanedHTML (#2793)
Co-authored-by: Andy Miller <1084697+rhukster@users.noreply.github.com>
2020-01-17 12:11:39 -07:00
Matias Griese
98d0c760a9 Flex types configure: use default values from the plugin config 2020-01-17 15:26:18 +02:00
Matias Griese
76bb7fe4af Added support for loading flex type configuration 2020-01-17 15:07:57 +02:00
Matias Griese
26584b9909 Update Flex type blueprints 2020-01-17 00:50:05 +02:00
Matias Griese
6a9724dd3e Fixed Data::filter() removing empty fields (such as empty list) by default 2020-01-16 20:56:13 +02:00
Matias Griese
c7a41ddfda Use spaceship operator in user sort functions 2020-01-16 19:22:24 +02:00
Matias Griese
2df05dd16d Set permissions for all flex types 2020-01-16 15:18:42 +02:00
Matias Griese
50c2c55554 Added Plugin::__debugInfo() and Plugins::__debugInfo() 2020-01-16 14:51:55 +02:00
Matias Griese
d72b99c5b2 Added PluginsLoadedEvent which triggers after plugins have been loaded but not yet initialized 2020-01-16 14:48:16 +02:00
Matias Griese
5adadfdb40 Added SessionStartEvent which triggers when session is started 2020-01-16 14:44:52 +02:00
Matias Griese
7574195ca2 Added support for custom permissions in configuration 2020-01-15 20:04:08 +02:00
Matias Griese
5b5ef98495 Implemented Permissions::hasAction() method 2020-01-15 16:10:36 +02:00
Matias Griese
226e5350b7 Improve handling user account type changes 2020-01-15 14:30:44 +02:00
Matias Griese
b9b83c3b16 Rename Flex Accounts to Flex User Accounts 2020-01-15 14:04:45 +02:00
Matias Griese
971fb2b19a Grav 1.7: Require Flex-Objects Plugin to edit Flex Accounts 2020-01-15 13:07:26 +02:00
Matias Griese
378b60783c Grav 1.7: Fixed Flex Pages unserialize issues if Flex-Objects Plugin has not been installed 2020-01-15 11:55:40 +02:00
Matias Griese
d901558481 Flex Pages: Added methods to track acl inheritance 2020-01-14 20:58:40 +02:00
Matias Griese
1515ee9193 Access: Added inheritance 2020-01-14 20:57:25 +02:00
Matias Griese
9c34471800 Composer update 2020-01-14 18:49:44 +02:00
Matias Griese
6f16f6f134 Merge branch 'develop' of github.com:getgrav/grav into 1.7 2020-01-14 17:54:46 +02:00
Matias Griese
7c0dcd6808 Fixed special case [#1273] 2020-01-14 17:54:19 +02:00
Matias Griese
33790dbb33 Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	system/src/Grav/Common/Data/BlueprintSchema.php
	system/src/Grav/Common/Data/Validation.php
	system/src/Grav/Framework/Session/Session.php
2020-01-14 15:11:50 +02:00
Matias Griese
ea8b7b7a3a Oops, changelog update [#1273] 2020-01-14 14:48:02 +02:00
Matias Griese
8714aa9202 Fixed validation: strict not working in blueprints [#1273] 2020-01-14 14:46:19 +02:00
Matias Griese
3731d61b78 Fixed checkbox field not being saved, requires also Form v4.0.2 [#1225] 2020-01-14 11:40:39 +02:00
Matias Griese
927e99fcb3 Minor flex blueprint update 2020-01-14 11:35:35 +02:00
Djamil Legato
ef6ec100f2 Added custom field page_access for new access selector 2020-01-10 15:17:36 -08:00
Matias Griese
386a39e274 Fixed Permissions::getAccess() when there's no ACL to be passed 2020-01-10 20:53:38 +02:00
Matias Griese
38d3b5cf43 Added support for more advanced ACL 2020-01-10 20:25:27 +02:00
Matias Griese
5718299210 Added $grav->dispatchEvent() method for PSR-14 events 2020-01-10 20:23:39 +02:00
Matias Griese
2e64d560b1 Fixed twig {{ false|string }} to return '0' instead of '' 2020-01-10 13:18:14 +02:00
Djamil Legato
82270e0c13 Initial custom field based off of permissions field 2020-01-09 17:04:28 -08:00
Matias Griese
ca22b56148 Rework security tab for pages 2020-01-08 20:25:57 +02:00
Matias Griese
eca3896bfc Improve array of bools filtering 2020-01-08 16:03:26 +02:00
Matias Griese
1c2c38545a Minor improvement against latest admin (user/group permissions) 2020-01-08 15:43:36 +02:00
Matias Griese
464e1fc6c7 Added flex page permissions to the blueprints (for admin) 2020-01-08 15:37:30 +02:00
Matias Griese
02b8499b0c Blueprint validation: Added validate: value_type: bool|int|float|string|trim to array to filter all the values inside the array 2020-01-08 15:34:20 +02:00
Matias Griese
b5caa41386 Fixed ignore_empty: true not removing empty values in blueprint filtering 2020-01-08 12:33:05 +02:00
Matias Griese
a8ff0e3892 Fixed new Flex Users being stored with wrong filename, login issues [#2785] 2020-01-08 10:07:20 +02:00
Andy Miller
ebab884441 updated changelog 2020-01-07 12:05:43 -07:00
Andy Miller
2c95992eb1 Updated vendor 2020-01-06 17:10:16 -07:00
Matias Griese
1666774a1e Composer update 2020-01-06 17:20:04 +02:00
Matias Griese
3cc0dc08db Fixed PHP 7.4 compatibility issue with Stream 2020-01-06 15:05:48 +02:00
Matias Griese
f9bcf48700 Fixed blueprint loading issues [#2782] 2020-01-06 13:43:06 +02:00
Andy Miller
8a618fee64 prepare for rc.3 release 2020-01-02 16:54:53 -07:00
Andy Miller
a6f7637134 Updated copyright dates to 2020 2020-01-02 16:54:14 -07:00
Andy Miller
f04ef0b359 updated lock file with latest 2020-01-02 16:51:02 -07:00
Matias Griese
608457bd01 Fixed Flex object issues in Windows [#2773] 2020-01-02 15:29:17 +02:00
Matias Griese
508cf1ffdb Added option to ignore parent page ACL 2020-01-02 15:01:54 +02:00
Matias Griese
6f38933e81 Flex Pages: Added support for raw root editing 2019-12-20 20:59:47 +02:00
Matias Griese
8ff2ca4c5a Never translate root page 2019-12-20 20:18:48 +02:00
Matias Griese
6a0d5c69ab Display permissions tab only in Flex Pages 2019-12-20 15:43:49 +02:00
Matias Griese
2747877195 Added permissions tab to pages admin 2019-12-20 15:38:05 +02:00
Matias Griese
584b33d41a Added support for creating / updating root page 2019-12-20 14:56:45 +02:00
Matias Griese
f4330ff77d Use Flex Root page in frontend as well 2019-12-20 12:24:28 +02:00
Matias Griese
60c43184cb Added root page support for Flex Pages 2019-12-20 11:34:35 +02:00
Matias Griese
2fe2eb9f21 Composer update 2019-12-20 09:59:43 +02:00
Matias Griese
04ee52d1ad Added option to ignore parent page ACL 2019-12-19 14:19:06 +02:00
Matias Griese
99e047171f Fixed parent authorization with guest user 2019-12-19 13:51:10 +02:00
Matias Griese
ddc8668837 Fixed authorization with guest user 2019-12-19 13:48:34 +02:00
Matias Griese
e568b992a9 Fixed parent authorization for page author, update location of page settings 2019-12-19 13:15:58 +02:00
Matias Griese
23221a8f8f Added support against authorizing parent pages 2019-12-19 12:31:21 +02:00
Matias Griese
4eed10cd4b Move common logic from PageAuthorsTrait to Access 2019-12-19 12:15:33 +02:00
Matias Griese
da02c0992a Added method to get calculated value from Access class 2019-12-18 20:57:56 +02:00
Matias Griese
2437112f3c Fixed checking ACL for another user in a Flex Object or Directory, added support getting Flex page permissions 2019-12-18 18:23:50 +02:00
Matias Griese
276b4bb0ab Twig filter |yaml_serialize: added support for array-like objects 2019-12-18 18:11:51 +02:00
Matias Griese
acf271344d Twig filter |yaml_serialize: added support for JsonSerializable objects 2019-12-18 12:38:11 +02:00
Matias Griese
7b5d6f7031 Fixed session not restarting if user was invalid (downgrading from Grav 1.7) 2019-12-13 13:13:52 +02:00
Andy Miller
767ce29e39 minor update 2019-12-11 21:15:32 -07:00
Matias Griese
daad16ef1b Composer update 2019-12-10 19:15:54 +02:00
Matias Griese
1718135614 Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	CHANGELOG.md
2019-12-10 19:09:02 +02:00
Matias Griese
a269d49392 Fixed filesystem iterator calls with non-existing folders 2019-12-10 18:59:58 +02:00
Matias Griese
3a8775f545 Fixed session cookie is being set twice in the HTTP header [#2745] 2019-12-10 16:06:54 +02:00
Matias Griese
842dc0d49e Incorrect routing caused by str_replace() in Uri::init() [#2754] 2019-12-10 14:52:16 +02:00
Matias Griese
3f9ed2f344 Flex User: do not use deprecated method 2019-12-10 12:46:46 +02:00
Andy Miller
5640baa175 Added a Remote Remote\Package::getChangelog() method 2019-12-09 10:59:35 -07:00
Matias Griese
f102a8cb3d Merge remote-tracking branch 'origin/1.7' into 1.7 2019-12-09 12:53:27 +02:00
Matias Griese
a65c468e81 Minor update on Twig tags 2019-12-09 12:53:17 +02:00
Andy Miller
4cc3f44caa updated vendor libs 2019-12-08 10:40:14 -07:00
Matias Griese
8afe004a7f Improve plugin testing 2019-12-06 18:49:10 +02:00
Matias Griese
185e9b5272 Fixed error on page initialization [#2753] 2019-12-06 18:48:55 +02:00
Andy Miller
78b76cf023 prepare for rc.2 release 2019-12-04 16:48:07 -07:00
Andy Miller
3606d3d0bd prepare for rc.2 release 2019-12-04 16:33:21 -07:00
Andy Miller
3be95e752f Merge branch 'develop' into 1.7
# Conflicts:
#	system/defines.php
#	system/src/Grav/Common/Page/Pages.php
2019-12-04 16:32:45 -07:00
Andy Miller
1532de8f20 Merge branch 'release/1.6.19' 2019-12-04 16:31:16 -07:00
Andy Miller
95bd217c3c Merge tag '1.6.19' into develop
Release 1.6.18
2019-12-04 16:31:16 -07:00
Andy Miller
f633c921cc prepare for release 2019-12-04 16:31:04 -07:00
Andy Miller
e8c79ffd97 Sync with 1.7 approach 2019-12-04 16:27:47 -07:00
Andy Miller
e842eb9d9e Better fix for #2750 2019-12-04 16:11:08 -07:00
Matias Griese
71bdb5e25e Frontend optimizations for Flex Pages 2019-12-04 21:03:58 +02:00
Matias Griese
b58f36b5af Fixed caching bug in Flex (regression) 2019-12-04 15:08:43 +02:00
Matias Griese
dc20f4f32a Optimize FlexDirectory::loadIndex() calls 2019-12-04 14:43:06 +02:00
Matias Griese
c765fff4b3 Minor phpstan update 2019-12-04 12:45:34 +02:00
Matias Griese
032f5654a4 Fixed Package::jsonSerialize() to return array 2019-12-04 11:16:10 +02:00
Matias Griese
0e01e52cac Some minor phpstan fixes 2019-12-04 11:15:09 +02:00
Matias Griese
37b2c97dc1 Grav Pages: Fixed search 2019-12-04 11:06:08 +02:00
Matias Griese
c61b07febb Flex pages: Fixed empty folder filter 2019-12-04 10:30:27 +02:00
Matias Griese
620fd7ed88 Added missing docblocks, fixed some typehints 2019-12-04 10:25:24 +02:00
Matias Griese
b314ea13aa Merge branch 'develop' of github.com:getgrav/grav into 1.7 2019-12-04 09:55:35 +02:00
Matias Griese
3e8572dbe9 Merge remote-tracking branch 'origin/develop' into develop 2019-12-03 20:26:50 +02:00
Matias Griese
5ba7b4154c Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	CHANGELOG.md
	system/src/Grav/Common/Page/Pages.php
2019-12-03 20:21:22 +02:00
Matias Griese
ad8d0a2ab1 Updated plugins phpstan to work with Gantry5 plugin 2019-12-03 19:29:04 +02:00
Andy Miller
4a1e16449d Updated changelog 2019-12-03 09:03:07 -07:00
Andy Miller
41d31cb5ea PHP 7.4 fix for #2750 2019-12-03 09:00:07 -07:00
Matias Griese
909e2cbf89 Catch PHP 7.4 deprecation messages and report them in debugbar instead of throwing fatal error 2019-12-03 13:06:44 +02:00
Matias Griese
1290503895 Fixed multiple issues when there are no pages in the site 2019-12-03 12:55:24 +02:00
Matias Griese
a204b24d78 Fixed fatal error when calling {{ grav.undefined }} 2019-12-03 12:47:01 +02:00
Matias Griese
8be5a2182b Fixed fatal error when calling {{ grav.undefined }} 2019-12-03 11:58:09 +02:00
Matias Griese
ee30694cf1 Flex Pages: Fixed filters being marked as hit when no filtering is applied 2019-12-03 11:41:56 +02:00
Matias Griese
37a9a30187 Minor rework to fix phpstan level 7 issue in MediaTrait::getMedia() 2019-12-03 11:00:06 +02:00
Matias Griese
de34910a6d Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	system/defines.php
	system/src/Grav/Framework/File/Formatter/CsvFormatter.php
2019-12-02 20:14:28 +02:00
Matias Griese
86c969998f Merge remote-tracking branch 'origin/develop' into develop 2019-12-02 20:12:59 +02:00
Matias Griese
158874039a Fixed bad str_replace('...', null) parameter in CSVFormatter 2019-12-02 20:11:15 +02:00
Matias Griese
175cebc4a1 Fixed phpstan level 7 issue in PageLegacyTrait 2019-12-02 20:05:50 +02:00
Matias Griese
20aba0fd7c Fixed bad str_replace('...', null) parameter in CSVFormatter 2019-12-02 20:05:07 +02:00
Matias Griese
efc2da90d3 Composer update 2019-12-02 19:43:39 +02:00
Matias Griese
12ad800d1f Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	composer.lock
	system/src/Grav/Common/Page/Pages.php
2019-12-02 19:38:26 +02:00
Andy Miller
de6c35f4ab Merge branch 'release/1.6.18' 2019-12-02 10:33:06 -07:00
Andy Miller
46816a74e9 Merge tag '1.6.18' into develop
Release v1.6.18
2019-12-02 10:33:06 -07:00
Andy Miller
1111c3d1b1 prepare for release 2019-12-02 10:32:06 -07:00
Andy Miller
e919685ad3 minor vendor update 2019-12-02 10:29:41 -07:00
Andy Miller
238ba9b9b4 PHP 7.4 fix for Pages::buildSort() 2019-12-02 08:53:17 -07:00
Andy Miller
1d966a0c92 Vendor lib updates 2019-12-02 08:41:32 -07:00
Matias Griese
3e87b21a8e Flex page filtering improvements 2019-11-28 12:21:02 +02:00
Matias Griese
21309f1451 Flex pages: more logic for filtering counts 2019-11-27 21:59:57 +02:00
Matias Griese
225644f82b Making Djamil happy 2019-11-27 21:45:59 +02:00
Matias Griese
285fffc7df Flex Page admin: added selected if filters match 2019-11-27 21:42:43 +02:00
Matias Griese
7c760387f3 Grav Pages: Optimize filters 2019-11-27 13:49:57 +02:00
Matias Griese
94ff668044 Grav Pages: Admin filtering fixes 2019-11-27 13:31:37 +02:00
Matias Griese
270b1191f5 Improve FlexAuthorizeTrait, improve docblocks for Flex 2019-11-22 13:24:40 +02:00
Matias Griese
6208c516c2 Fixed logged in user being able to delete his own account from admin account manager 2019-11-22 12:04:27 +02:00
Matias Griese
b695c9591e Changed FlexAuthorizeInterface::isAuthorized() to return null having the same meaning as false if access is denied because of no matching rule 2019-11-22 12:04:04 +02:00
Matias Griese
911da0f34f Composer update 2019-11-22 11:56:59 +02:00
Matias Griese
14c2e257a0 Reverted $object->getStorageKey() interface as it was not a good idea, added getMasterKey() for pages 2019-11-21 22:35:56 +02:00
Matias Griese
52ec745ed0 Upgrade doc, upper case titles 2019-11-21 15:15:08 +02:00
Matias Griese
8f42dc3c33 Updated Grav 1.7 upgrade docs 2019-11-21 14:10:47 +02:00
Matias Griese
45530114a7 Added upgrade docs 2019-11-21 12:48:24 +02:00
Matias Griese
5b8baed0bc Optimized Flex Pages collection filtering 2019-11-21 12:48:02 +02:00
Matias Griese
936e95a146 Updated Symfony Components to 4.4 2019-11-21 10:24:12 +02:00
Matias Griese
61a3f3f7c1 Rename modular to module in flex pages 2019-11-20 10:21:37 +02:00
Matias Griese
b3545ccb8b Translations: rename MODULAR to MODULE everywhere 2019-11-20 09:52:50 +02:00
Matias Griese
d217f1e4fb Assets regression 2019-11-19 16:35:01 +02:00
Andy Miller
bb373061ae Merge branch '1.7' of github.com:getgrav/grav into 1.7 2019-11-18 13:48:07 -07:00
Andy Miller
c65cb83348 Output the current username that Scheduler is using if crontab not setup 2019-11-18 13:48:03 -07:00
Jacob Peck
e3a6436031 Fix rewrite rule for lighttpd config (#2721)
Just plain doesn't work without this!  Was probably omitted in error.
2019-11-18 06:13:51 -07:00
Matias Griese
f56a5f0ad6 Added page specific permissions for Flex Pages 2019-11-18 13:24:58 +02:00
Matias Griese
9044721c89 Minor bug fixes 2019-11-18 12:05:31 +02:00
Matias Griese
ce5729ba53 Some phpstan fixes 2019-11-18 11:21:25 +02:00
Matias Griese
fc70a50fd6 Fixed regression: Installer->setZip(null) 2019-11-18 10:57:17 +02:00
Matias Griese
a8d61cb5de Add some better type checks 2019-11-18 10:56:32 +02:00
Matias Griese
d8af66cfd7 Remove some unused variables 2019-11-18 10:55:40 +02:00
Matias Griese
1aa69e61ac Add a lot of missing docblocks (variables) 2019-11-18 10:53:21 +02:00
Matias Griese
be3ecf1377 DEPRECATED $page->modular() in favor of $page->isModule() for better readability 2019-11-15 21:15:38 +02:00
Matias Griese
571674a4f5 Fixed phpstan issues in all code up to level 3 2019-11-15 14:03:52 +02:00
Matias Griese
a06520337f Fully comply phpstan level2! 2019-11-15 13:21:20 +02:00
Matias Griese
bf2b7dcf7b Rename Flex Object classes (changed my mind) 2019-11-15 13:05:51 +02:00
Matias Griese
86faceb94f Deprecated Grav\Common\User\Group in favor of $grav['user_groups'], which contains Flex UserGroup collection 2019-11-15 12:27:55 +02:00
Matias Griese
963e365da4 Imroved UserIndex:find() to only search user if query isn't empty 2019-11-15 12:08:30 +02:00
Matias Griese
4332ac35db Moved all Flex classes under Grav\Common\Flex 2019-11-15 11:57:22 +02:00
Matias Griese
7e5d58f94b Minor bug fixes 2019-11-15 09:04:44 +02:00
Matias Griese
6b3b6106bf Code quality improvements 2019-11-15 09:03:47 +02:00
Matias Griese
f0c12e6246 Fixed a few type hints 2019-11-15 09:00:48 +02:00
Matias Griese
741934b1da Flex User/Group: Cache authorize() calls 2019-11-14 21:57:06 +02:00
Matias Griese
35e7bfe506 Multiple small bug fixes / code quality improvements to Flex Pages 2019-11-14 15:13:52 +02:00
Matias Griese
dcc2ddfdb8 Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	CHANGELOG.md
2019-11-14 12:22:50 +02:00
Matias Griese
f59441eb55 Fixed fatal error when $page->id() is null [#2731] 2019-11-14 12:21:28 +02:00
Matias Griese
9cb6ddf742 Minor bug fix to Access class where there are no ACL rules 2019-11-13 21:38:08 +02:00
Matias Griese
035a84b55d Fixed couple of minor flex page bugs 2019-11-13 16:20:24 +02:00
Matias Griese
d892343e57 Improve MediumFactory::fromUploadedFile() method 2019-11-13 15:51:49 +02:00
Matias Griese
aaa3976e5a Minor bug fixes/improvements on $user->authorize() 2019-11-13 15:17:37 +02:00
Matias Griese
0d4afd7a37 Code style fixes 2019-11-13 15:10:07 +02:00
Matias Griese
a3a8976fdf Changed UserInterface::authorize() to return null having the same meaning as false if access is denied because of no matching rule 2019-11-13 11:40:36 +02:00
Matias Griese
4edb1ca61b Improved twig authorize() function to work better with nested rule parameters 2019-11-13 11:36:10 +02:00
Matias Griese
d6374f259a Improved user and group ACL to support deny permissions (Flex Users only) 2019-11-13 11:35:41 +02:00
Matias Griese
7b4f40d3b1 Updated blueprint for Flex Pages 2019-11-13 11:22:01 +02:00
Matias Griese
9c4eb549b7 Added missing system.include_default_lang_file_extension configuration option 2019-11-13 11:17:14 +02:00
Matias Griese
c380fb638b Added Utils::isAssoc() and Utils::isNegative() helper methods 2019-11-13 11:16:25 +02:00
Matias Griese
908e993727 Flex Pages: Implemented recursive filterBy() 2019-11-13 11:14:29 +02:00
Matias Griese
4128864e39 Composer update 2019-11-13 09:08:57 +02:00
Matias Griese
304f800018 Improved twig |array filter to work with iterators and objects with toArray() method 2019-11-12 12:41:45 +02:00
Xaver Maierhofer
fcc0c5e345 Correct download argument annotation (#2727) 2019-11-09 20:49:33 -07:00
Matias Griese
77887d83e9 Regression: Fixed Grav update bug [#2722] 2019-11-08 12:56:03 +02:00
Matias Griese
3514ff64fe Update installer versions 2019-11-08 10:32:34 +02:00
Matias Griese
b56ede81f0 Flex Pages: Implemented recursive filterBy() 2019-11-07 13:14:51 +02:00
Matias Griese
427c39e88e Changelog update (version) 2019-11-07 09:37:40 +02:00
Andy Miller
e450923409 Ability to force-run a Scheduled job #2720 2019-11-06 21:38:08 -07:00
Andy Miller
c862b0bc26 Merge branch 'release/1.6.17' 2019-11-06 17:51:32 -07:00
Andy Miller
575a1e4603 Merge tag '1.6.17' into develop
Release v1.6.17
2019-11-06 17:51:32 -07:00
Andy Miller
a74ccad282 fixed changelog date 2019-11-06 17:50:35 -07:00
Andy Miller
7cb678bdb6 fixed changelog dates 2019-11-06 17:42:41 -07:00
Andy Miller
14110d5475 prepare for rc.1 release 2019-11-06 16:09:01 -07:00
Andy Miller
c742eee1cc Merge branch 'develop' into 1.7
# Conflicts:
#	system/defines.php
2019-11-06 16:08:42 -07:00
Andy Miller
ffeb5648c6 Merge branch 'release/1.6.17' 2019-11-06 16:07:07 -07:00
Andy Miller
86c87929ec Merge tag '1.6.17' into develop
Release v1.6.17
2019-11-06 16:07:07 -07:00
Andy Miller
e0e92b843c prepare for release 2019-11-06 16:06:45 -07:00
Matias Griese
a996137317 Fixed bug where Flex index file couldn't be disabled 2019-11-06 11:52:00 +02:00
Matias Griese
9fb55d8d0f Flex pages: Use translated titles / routes in admin list 2019-10-31 12:05:13 +02:00
Matias Griese
861f53c5dc Grav 1.7: Fixed Flex Pages routing if using translated slugs or system.hide_in_urls setting 2019-10-31 10:52:15 +02:00
Matias Griese
a588395ba9 Attempt to work around composer 1.7 bug 2019-10-31 08:45:10 +02:00
Andy Miller
e80b7fe19e updated JQuery 2019-10-30 21:50:20 -06:00
Matias Griese
4e23f07fcd Composer update 2019-10-29 20:57:30 +02:00
Matias Griese
a571f42e1b Merge remote-tracking branch 'origin/1.7' into 1.7
# Conflicts:
#	composer.lock
2019-10-29 20:56:50 +02:00
Matias Griese
2fd5492286 Updated to Symfony 4.3, use Symfony EventDispatcher directly and not rockettheme/toolbox wrapper 2019-10-29 20:56:31 +02:00
Andy Miller
4e227fcae5 minor vendor updates 2019-10-28 15:40:17 -06:00
Andy Miller
99c6a78134 ixed exception caused by missing template type based on Accept: header #2705 2019-10-28 15:40:06 -06:00
Matias Griese
a93ef3f752 Initial support for admin filtering support 2019-10-28 15:51:04 +02:00
Matias Griese
0814d5e3bb Merge branch '1.7' of github.com:getgrav/grav into 1.7 2019-10-25 11:27:47 +03:00
Andy Miller
2e8be3c67f Cron improvements 2019-10-24 15:29:25 -06:00
Matias Griese
191bf8730a Optimize PageObject::getLevelListing() 2019-10-24 18:12:38 +03:00
Matias Griese
09e8dfdbfd Fixed no pages in admin 2019-10-24 14:19:37 +03:00
Matias Griese
a1ea841034 Fixed fatal error in multi-site setups 2019-10-24 13:59:00 +03:00
Matias Griese
f9f836959c Reverting (git) moved folders leave empty folders which break Flex Pages 2019-10-24 12:36:14 +03:00
Matias Griese
c4ce2d1648 Misc minor code quality fixes 2019-10-24 11:26:04 +03:00
Andy Miller
0f66032c9b Merge branch 'develop' into 1.7 2019-10-23 18:16:37 -06:00
Keith Bentrup
8678f22f6b do NOT ignore "." dirs OR ignore "." dirs and all children (#2581)
If you ignore any "files" beginning with "." including directories, then the all() method will exclude .somedir, but not .somedir/somefile. Subsequently, when trying to copy all files returned from all(), it will fail when the method tries to copy a file into a directory that has not yet been created because .somedir was omitted from the return array of all().
I found this bug when trying to install the admin plugin and ./tmp was a mount and thus rename() failed and self:copy() was invoked instead (line 365).
2019-10-23 15:39:05 -06:00
Andy Miller
4ca1f1f4ca updated libs 2019-10-23 15:32:40 -06:00
Matias Griese
913efdbd6a Revert multiple changes as many of those break Grav functionality [#2699] 2019-10-22 15:20:35 +03:00
Matias Griese
9c123f7d3d Merge remote-tracking branch 'rlerdorf/1.7' into 1.7 2019-10-22 12:35:27 +03:00
Andy Miller
2b00e93f22 Merge branch 'develop' into 1.7
# Conflicts:
#	composer.json
2019-10-17 10:02:36 -06:00
Jérôme Nadaud
8322a0cfa3 Make script name more explicit (#2637) 2019-10-17 05:57:25 -06:00
Jérôme Nadaud
ab6b82eaaa Fix cache image generation when using cropresize (#2639) 2019-10-17 05:56:46 -06:00
buzatuAda
b16e8066ca fix exception array_merge() when $this->header->metadata is not array (#2701)
Exception gets thrown when $this->header->metadata is not an array, added extra verification in order to make sure it is and array before doing array_merge()
2019-10-17 05:55:27 -06:00
Ole Vik
09e10d16ea [RFR] Iterable Taxonomy (#2690)
* Allow naive iterables in Taxonomy

Currently, Taxonomy only supports one-level arrays in a Page's Taxonomy, so this works:

```
---yaml
title: XMark Test
taxonomy:
  categories: academic
  tags: [xmark, link]
  author:
    - "Ole Vik"
    - "Ole Vik"
    - "Ole Vik"
---
```

But this does not:

```yaml
---
title: XMark Test
taxonomy:
  categories: academic
  tags: [xmark, link]
  author:
    - "Ole Vik"
    - "Ole Vik"
    - "Ole Vik"
    - name: "Ole Vik"
      email: "git@olevik.net"
      url: "https://olevik.me"
---
```

The change allows another level, to accommodate cases where the Taxonomy contains arrays of strings or hashes. This could potentially be expanded to recursively allow any amount of nesting of Taxonomies.

In both the naive and expanded case, are there implications for finding and filtering by Taxonomies? I've not checked if that recurses through values as I'm not currently at my desktop, but I imagine more changes would be necessary.

* Recursively iterate taxonomy fields

* Accommodate findTaxonomy() by reducing to dot-notation

* Remove superfluous conditional
2019-10-17 05:52:37 -06:00
Matias Griese
ef8e1c2fdf Added working ETag (304 Not Modified) support based on the final rendered HTML (Grav 1.7 edition) 2019-10-16 23:52:06 +03:00
Matias Griese
e2843e6477 Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	system/src/Grav/Framework/Flex/Traits/FlexMediaTrait.php
2019-10-16 23:43:29 +03:00
Matias Griese
bc1dd2a7b4 Added working ETag (304 Not Modified) support based on the final rendered HTML 2019-10-16 23:40:08 +03:00
Djamil Legato
3e52101bf8 Change of Behavior: Inflector::hyphenize will now automatically trim dashes at beginning and end of a string.
# Conflicts:
#	CHANGELOG.md
2019-10-16 11:04:26 -07:00
Djamil Legato
d11772b681 Change of Behavior: Inflector::hyphenize will now automatically trim dashes at beginning and end of a string. 2019-10-16 11:02:44 -07:00
Rasmus Lerdorf
32a9acc62e Add a .phan config file and stubs for Phan static analysis
I fixed some small inconsistencies here and there. There are still
a little over 200 to go. This time against the 1.7 branch.

To try it, checkout this PR and run:
composer require phan/phan
It doesn't have to be in the Grav tree. You can install it anywhere.
Then from the top-level Grav dir:
/vendor/bin/phan -p

You can see the ones that are left to address here:
https://gist.github.com/69eac9b37ced1cadc08ed4be0ee84f40

Also, and the main reason I added it, was to get some nice
dependency graphs from Phan to help me understand the Grav code. Some
examples:
http://pdep.lerdorf.com/?mode=class&node=\Grav\Common\File\CompiledFile&d=3
http://pdep.lerdorf.com/?mode=class&node=\Grav\Common\Filesystem\Folder&d=1
http://pdep.lerdorf.com/?mode=class&node=\Doctrine\Common\Cache\Cache&d=2
http://pdep.lerdorf.com/?mode=class&node=\RocketTheme\Toolbox\ArrayTraits\Export&d=1

Move the slider to change the number of dependency levels shown.
2019-10-16 10:38:08 -07:00
Rasmus Lerdorf
d568ddfa5c Merge pull request #1 from getgrav/1.7
1.7
2019-10-16 09:02:17 -07:00
Matias Griese
1656f0160b Enabled preview for pages 2019-10-16 14:01:48 +03:00
Matias Griese
14b33824b1 Added mime support for file formatters 2019-10-16 14:01:30 +03:00
Matias Griese
7902912269 Added template_from_string() twig function 2019-10-16 14:00:37 +03:00
Matias Griese
2db04e43d1 Hide accounts and pages from flex types page (frontend) 2019-10-16 12:00:43 +03:00
Matias Griese
467c33d3e1 More phpstan issues 2019-10-16 09:48:22 +03:00
Matias Griese
87f17d296d More phpstan issues 2019-10-15 19:40:57 +03:00
Matias Griese
feeee9ef86 Fixed PHP 7.1 bug in Flex 2019-10-15 19:00:25 +03:00
Matias Griese
7ba964f161 One more PHP 7.1 issue 2019-10-15 18:57:15 +03:00
Matias Griese
77205fb3d8 More phpstan fixes 2019-10-15 18:49:24 +03:00
Patric Johansson
4bba284bf5 Update Core to follow PSR-2 standard 2019-10-15 13:33:48 +03:00
Matias Griese
a6e78de197 Fixed multi-language saving issues with default language in Flex Pages 2019-10-14 11:11:00 +03:00
Matias Griese
8fc7755e90 Flex page: fixed filtering where route has been defined but is null 2019-10-14 10:53:46 +03:00
Matias Griese
fdfb5bb8ac Updated clockwork and debugbar 2019-10-14 10:19:50 +03:00
Andy Miller
d0800136b7 Cache tag: key is no longer required + lifetime optional 2019-10-13 17:10:41 -06:00
Andy Miller
d368aeafd4 Removed need for unique ID 2019-10-13 17:02:07 -06:00
Matias Griese
e59c596886 Fixed PageTranslateTrait::getAllLanguages() and getAllLanguages() to include default language 2019-10-11 13:43:14 +03:00
Matias Griese
411656a9d6 Added array_diff() twig function 2019-10-11 13:39:59 +03:00
Matias Griese
8599faaf3b Regression: getFlexFeatures() filtering issues after moving classes 2019-10-11 11:07:56 +03:00
Matias Griese
90e55ead29 Fixed regression in storage filename matching 2019-10-11 10:39:23 +03:00
Matias Griese
f85c94b403 Fixed type hint in SelfUpgradeCommand 2019-10-11 07:41:01 +03:00
Djamil Legato
b4fa7e38b9 Selfupgrade CLI: Fixed broken selfupgrade assets reference (fixes #2681) 2019-10-10 12:25:28 -07:00
Matias Griese
411871f636 Fixed phpstan bugs in Framework 2019-10-10 18:15:27 +03:00
Matias Griese
b01d1baa53 Improved Flex to support custom site template paths 2019-10-10 16:16:54 +03:00
Matias Griese
c3c33e954c Composer update 2019-10-10 16:07:03 +03:00
Matias Griese
edd0bc25a2 Added Utils::simpleTemplate() method for very simple variable templating 2019-10-10 16:06:39 +03:00
Matias Griese
6c57104658 Grav 1.7: Fixed PHP 7.1 compatibility issues 2019-10-10 16:05:21 +03:00
Matias Griese
26d7181eca Fixed fatal error if there are numeric folders in Flex Pages 2019-10-10 14:01:48 +03:00
Matias Griese
1fb611655f Bug fix on page admin being disabled 2019-10-09 15:44:10 +03:00
Matias Griese
b561c2b47c Improved Flex Users: obey blueprints and allow Flex to be used in admin only 2019-10-09 15:29:09 +03:00
Matias Griese
9beefb3162 Allow Flex Pages to be initialized separately in site and admin, remove Flex Objects plugin dependency 2019-10-09 15:24:26 +03:00
Matias Griese
41851b73b9 Fixed issue with duplicate configuration settings in Flex Directory 2019-10-09 15:20:20 +03:00
Matias Griese
c325c24897 Fixed phpstan issues in Framework up to level 6 2019-10-09 10:41:15 +03:00
Matias Griese
efd4e52571 Added Flex Pages classes 2019-10-08 21:42:22 +03:00
Matias Griese
565f26db8e Code quality improvements 2019-10-08 16:58:59 +03:00
Matias Griese
b641b0e442 Fixed Flex Pages not calling onPageProcessed event when cached 2019-10-07 13:45:49 +03:00
Matias Griese
2a6276a941 Fixed Page::untranslatedLanguages() not being symmetrical to Page::translatedLanguages() 2019-10-07 12:36:50 +03:00
Jeremy Gonyea
eb1b9567df Updated for latest ddev version (#2676) 2019-10-03 14:54:05 -06:00
Andy Miller
7dafa2a207 prepare for beta.10 release 2019-10-03 14:31:28 -06:00
Matias Griese
5253aa6aef Fixed user avatar file is not being randomized 2019-10-03 22:40:03 +03:00
Matias Griese
1b34530a4a Merge remote-tracking branch 'origin/1.7' into 1.7 2019-10-03 22:11:24 +03:00
Matias Griese
ae41b6f5ff Fixed Flex User Avatar not fully backwards compatible with old user 2019-10-03 22:11:13 +03:00
Andy Miller
4d09a345a4 Merge branch 'develop' into 1.7
# Conflicts:
#	CHANGELOG.md
2019-10-03 13:06:45 -06:00
Matias Griese
8ac3451fbc Revert chReverted setting language for every page during initialization 2019-10-03 21:41:58 +03:00
Matias Griese
15f1f2a03d Revert chReverted setting language for every page during initialization 2019-10-03 19:17:22 +03:00
Matias Griese
ffa9ef6a7e Grav 1.7: Fixed prev/next page missing pages if pagination was turned on in page header 2019-10-03 15:16:11 +03:00
Matias Griese
a75c0cbe62 Fixed wrong Grav param separator when using Route class 2019-10-03 10:56:05 +03:00
Andy Miller
c795ead402 Updated changelog 2019-10-01 17:52:14 -06:00
Andy Miller
91270c9c66 CSVFormatter null char support 2019-10-01 17:51:29 -06:00
Andy Miller
9259c2f660 Updated changelog 2019-10-01 17:51:17 -06:00
Andy Miller
138d1e93e3 CSVFormatter null char support 2019-10-01 17:51:02 -06:00
Matias Griese
5db9f16174 Flex: Removed extra exists check when creating object (messes up "non-existing" pages) 2019-09-27 13:26:12 +03:00
Andy Miller
342eac1047 Smarter CSV handling 2019-09-26 18:35:25 -06:00
Andy Miller
88c859fde2 move try outside for loop (less memory) 2019-09-26 15:10:35 -06:00
Andy Miller
8b5bce0b6d prepare for b.9 release 2019-09-26 13:37:09 -06:00
Andy Miller
09c4cf66f5 Merge branch '1.7' of github.com:getgrav/grav into 1.7 2019-09-26 13:26:38 -06:00
Andy Miller
46b859b8df better error for badly formatted line in CsvFormatter::decode() 2019-09-26 13:26:33 -06:00
Matias Griese
a7c23c58e5 Merge remote-tracking branch 'origin/1.7' into 1.7 2019-09-26 14:54:01 +03:00
Matias Griese
d206711354 Flex storage changes 2019-09-26 14:53:52 +03:00
Matias Griese
0007100a97 Removed row copy/move logic from Flex object, it belongs to storage 2019-09-26 14:49:45 +03:00
Matias Griese
3d999501a0 Fixed Grav parameter handling in RouteFactory::createFromString() 2019-09-26 14:47:45 +03:00
Andy Miller
52f83775e3 clarification 2019-09-24 18:10:39 -06:00
Andy Miller
a35cf5a830 Added a new {% cache %} tag eliminating need for twigcache extension 2019-09-24 18:10:02 -06:00
Matias Griese
39837d0826 Improved Flex FolderStorage class to better hide storage specific logic 2019-09-20 18:33:07 +03:00
Matias Griese
66bd6a4046 Fixed error when activating Flex Accounts in GRAV system configuration (PHP 7.1) 2019-09-20 12:06:17 +03:00
Matias Griese
4e9d3395e0 Improve blueprint initialization in Flex Objects (fixes content aware fields) 2019-09-20 11:59:13 +03:00
Andy Miller
248c7764f0 Merge branch 'develop' into 1.7
# Conflicts:
#	system/defines.php
2019-09-19 16:44:01 -06:00
Andy Miller
f72eb1b002 Merge tag '1.6.16' into develop
Release v1.6.16

# gpg: Signature made Thu Sep 19 16:42:43 2019 MDT
# gpg:                using RSA key 6AA7DB4F23BD1A7280C4CC63E82B8D0EAB94EFB9
# gpg: Good signature from "Andy Miller <rhuk@mac.com>" [ultimate]
2019-09-19 16:42:44 -06:00
Andy Miller
25caa5138a Merge branch 'release/1.6.16' 2019-09-19 16:42:43 -06:00
Andy Miller
dffb227df6 prepare for release 2019-09-19 16:42:21 -06:00
Matias Griese
7c161d5cbc Comment out couple of language debug messages 2019-09-19 22:47:53 +03:00
Matias Griese
7b2313ef0b Fixed initial Flex Object state when creating a new objects in a form 2019-09-19 21:58:28 +03:00
Matias Griese
1ad2a3f212 Make flex to skip missing flex types 2019-09-19 21:06:32 +03:00
Matias Griese
1f2363b623 Minor improvement for the new Route::withLanguate() method 2019-09-18 12:42:05 +03:00
Andy Miller
d1c069c2ee composer updates 2019-09-17 13:21:27 -06:00
Matias Griese
67e772a5ce Merge remote-tracking branch 'origin/1.7' into 1.7 2019-09-17 22:08:10 +03:00
Matias Griese
59bb167bd4 Merge branch 'develop' of github.com:getgrav/grav into 1.7
 Conflicts:
	CHANGELOG.md
2019-09-17 22:07:32 +03:00
Matias Griese
5c9eb1cdb8 Fixed Badly encoded JSON data warning when uploading files [#2663] 2019-09-17 22:02:21 +03:00
Andy Miller
94a54d2a82 Using phpdebugbar format to log messages (clockwork compatible) 2019-09-17 11:21:05 -06:00
Matias Griese
f201d48112 Fixed Flex Object saving causing the key to be lost for some types 2019-09-17 19:42:28 +03:00
Matias Griese
df51b64b35 Fixed bug in object saving if using streams 2019-09-17 19:03:48 +03:00
Matias Griese
93ff915737 Fixed avatars not being displayed with flex users [#2431] 2019-09-17 15:19:42 +03:00
Matias Griese
e30ab9a043 Fixed Flex user creation if file storage is being used [#2444] 2019-09-17 11:37:09 +03:00
Matias Griese
8e59a08f9e Pages::buildFlexPages(): better compatibility to old pages 2019-09-17 11:18:30 +03:00
Andy Miller
5a874006b4 Merge branch 'develop' into 1.7
# Conflicts:
#	system/src/Grav/Common/Page/Page.php
2019-09-16 16:01:22 -06:00
Matias Griese
5d639cc633 Improved language support for Route class 2019-09-16 15:50:40 +03:00
Matias Griese
ab7038b49e Flex media: set timestamps only when files were uploaded 2019-09-16 12:43:53 +03:00
Newb I the Newbd
651b354d3e Correct non-published collection filter evaluation (#2668) 2019-09-14 10:10:24 -06:00
Matias Griese
90c2079529 Fixed wrong Pages::dispatch() calls (with redirect) when we really meant to call Pages::find() 2019-09-13 22:39:46 +03:00
Matias Griese
fa064301a2 Fixed 404 error when you click to non-routable menu item with children: redirect to the first child instead 2019-09-13 22:27:38 +03:00
Matias Griese
5424047d02 Fixed Page::modular() and Page::modularTwig() returning null for folders and other non-initialized pages 2019-09-13 21:50:06 +03:00
Matias Griese
ce2b80aeb9 Added bin/grav page-system-validator [-r|--record] [-c|--check] to test Flex Pages 2019-09-13 21:45:54 +03:00
Matias Griese
e91ae5542d Made Common\Page\Header class serializable 2019-09-13 11:17:54 +03:00
Andy Miller
922f263005 refactored the code 2019-09-12 11:15:21 -06:00
Andy Miller
01af81a0a6 fixed array types 2019-09-12 10:37:41 -06:00
Andy Miller
bd8c274f38 Support Clockwork and PHPDebugBar for dump() 2019-09-12 10:36:08 -06:00
Andy Miller
05fb69daa7 Fixed broken Twig dump() 2019-09-11 21:34:17 -06:00
Matias Griese
21f95eba53 Added Route::withLanguage() method 2019-09-11 22:36:49 +03:00
Matias Griese
4ef56054ee Minor fix on ControllerResponseTrait::createJsonResponse() 2019-09-10 11:15:47 +03:00
Matias Griese
bec9292a5c Flex folder storage improvements 2019-09-09 14:28:27 +03:00
Matias Griese
0fa6328816 Fix undefined variable when there are no translations 2019-09-09 14:08:36 +03:00
Matias Griese
b30240c340 Improve language fallback logic 2019-09-06 22:14:37 +03:00
Matias Griese
59eb3b4cb2 Flex Pages: Quick and dirty multi-language support in frontend 2019-09-06 21:43:43 +03:00
Matias Griese
5fa047c1b7 Fixed sorting in Flex Pages 2019-09-06 21:00:24 +03:00
Matias Griese
30481da51d Regression: Fixed translations when language code is used for non-language purposes 2019-09-06 15:21:09 +03:00
Matias Griese
beb8f09a9d Flex FolderStorage: Added support for partial delete 2019-09-05 17:20:08 +03:00
Matias Griese
603bb6c878 Make it possible to save multiple variations of the Flex Object 2019-09-05 16:54:59 +03:00
Matias Griese
dac3e57fd4 Fixed error in Session::getFlashObject() if Flex Form is being used 2019-09-05 15:45:29 +03:00
Andy Miller
b601d2c8fd check for file existence 2019-09-03 12:18:32 -06:00
Andy Miller
ab75201f11 Added a new sanitize_svg security config option [default: true] 2019-09-03 12:07:47 -06:00
Andy Miller
45b1b0a2ef Added Security::sanitizeSVG function + update CHANGELOG 2019-09-03 11:53:25 -06:00
Matias Griese
ca2f657c98 Oops, remove print_r() 2019-09-03 14:20:39 +03:00
Matias Griese
5c33882f5b Added extra master key parameter for FlexObjectInterface::getStorageKey() 2019-09-03 13:46:50 +03:00
Matias Griese
0f85214693 Minor fix/improvement on loading Flex objects 2019-09-03 13:41:53 +03:00
Matias Griese
4570c00041 Added FlexTranslateInterface 2019-09-03 13:40:53 +03:00
Matias Griese
4a0c8846e2 Regression: Fixed language fallback 2019-09-03 13:36:19 +03:00
Andy Miller
41e51cd86d Support StaticImageMedium formats for avatars 2019-08-31 23:26:08 -06:00
Andy Miller
e2ed3098a3 prepare for beta.7 release 2019-08-30 12:10:53 -06:00
Matias Griese
4e9ca82a0f FlexForm: Fixed some compatibility issues with Form plugin 2019-08-30 15:42:00 +03:00
Matias Griese
f032f310b5 Improved language support 2019-08-30 10:38:27 +03:00
Andy Miller
6b665b112c prepare for b.6 release 2019-08-29 11:48:57 -06:00
Matias Griese
d9dbe5520d Added version support to Flex index file 2019-08-29 15:04:45 +03:00
Matias Griese
5b8674122a Fixed blueprint values for system.accounts.storage 2019-08-29 14:22:14 +03:00
Matias Griese
2e245cd36f Flex improvements 2019-08-29 12:25:06 +03:00
Matias Griese
e36a2ea1b0 FlexFolderStorage: fixed error on deleting file 2019-08-28 18:09:33 +03:00
Matias Griese
53b7c95b0d Flex: Improve copy logic 2019-08-28 14:12:02 +03:00
Matias Griese
46975cca22 Keep interfaces backwards compatible with Grav 1.6 2019-08-28 10:04:08 +03:00
Matias Griese
a418acc32b Fixed unpublished blog posts being displayed on the front-end [#2650] 2019-08-27 11:52:42 +03:00
Matias Griese
eeb35fc521 Prioritize Accounts menu item in the admin menu 2019-08-27 10:58:11 +03:00
Matias Griese
90ca9f9d49 Fixed/improved Flex caching 2019-08-26 22:51:59 +03:00
Matias Griese
ba267a389e Flex: Implemented copy 2019-08-26 18:27:04 +03:00
Matias Griese
0ab99806db Fixed compatibility regression 2019-08-26 10:51:34 +03:00
Matias Griese
c300a3b8f8 JSON: Display trace information only in debug mode 2019-08-26 10:14:01 +03:00
Matias Griese
8480fb68ac Added custom data and flex handlers to all flex objects 2019-08-26 10:07:39 +03:00
Matias Griese
8e82056afa ControllerResponseTrait: Better error response 2019-08-24 12:31:04 +03:00
Matias Griese
3e34d54b9a Added type parameter to Pages::PageTypes() 2019-08-24 12:29:43 +03:00
Matias Griese
9ad7b208ba Blueprint: Added object support for custom handlers 2019-08-24 12:28:31 +03:00
Matias Griese
1fa62d2bdc FlexIndex: Added option to return non-existing entries in the index 2019-08-23 15:13:39 +03:00
Matias Griese
b659c56aec Added ControllerResponseTrait class 2019-08-23 12:53:18 +03:00
Matias Griese
3bd02b95fe Put back cache clear on flex save 2019-08-22 22:04:43 +03:00
Matias Griese
9e5ad84a48 Fixed another issue with flex keys 2019-08-22 20:28:18 +03:00
Matias Griese
40a6c4bf72 Greatly improve Flex Pages performance, memory use 2019-08-22 19:00:55 +03:00
Matias Griese
22acffac5c Update Pages unit tests 2019-08-22 15:16:27 +03:00
Matias Griese
ede749821d Flex Pages: Added missing page events 2019-08-22 10:36:00 +03:00
Matias Griese
f26e518c03 Work around cache clear (needs better solution) 2019-08-21 17:06:12 +03:00
Matias Griese
0f6a517589 Flex: Clear only index cache on save 2019-08-21 16:08:01 +03:00
Matias Griese
3530f4fdef Further improved speed of loading objects in Flex collections, now with cache turned on 2019-08-21 15:52:20 +03:00
Matias Griese
b92476d40d Greatly improved speed of loading Flex collections multiple times 2019-08-21 14:18:35 +03:00
Matias Griese
0d0bb2c229 Better follow protected Object Property interfaces in traits 2019-08-21 12:28:05 +03:00
Matias Griese
de59bad0f8 Keep storage key and timestamp inside FlexObject (allows diff check against stored object) 2019-08-21 12:25:06 +03:00
Matias Griese
72ad49610c Added FlectIndex::loadIndex() with metadata (including timestamp) 2019-08-21 12:22:59 +03:00
Matias Griese
dcd1f3b10d Added object meta caching in Flex FolderStorage 2019-08-21 12:21:34 +03:00
Matias Griese
52cf554ea2 Added support for not instantiating pages, useful to speed up tasks 2019-08-21 10:47:55 +03:00
Andy Miller
f30f6485ba Merge branch 'develop' into 1.7
# Conflicts:
#	composer.json
#	composer.lock
#	system/defines.php
2019-08-20 17:23:04 -06:00
Andy Miller
dd8b503aa0 Merge tag '1.6.15' into develop
Release v1.6.15
2019-08-20 17:22:26 -06:00
Andy Miller
dab30673e0 Merge branch 'release/1.6.15' 2019-08-20 17:22:25 -06:00
Andy Miller
13689c2065 prepare for release 2019-08-20 17:22:16 -06:00
Andy Miller
6e23627f26 update changelog 2019-08-20 17:21:32 -06:00
Andy Miller
7db85cc79c Force Symfony 4.2 2019-08-20 17:06:19 -06:00
Matias Griese
9b6f218f33 Make Flex Pages to work with Header 2019-08-19 20:58:46 +03:00
Matias Griese
829da9ee3a Improved bin/grav yamllinter CLI command by adding an option to find YAML Linting issues from the whole site or custom folder 2019-08-19 13:18:39 +03:00
Matias Griese
033b54104e Merge branch 'develop' of github.com:getgrav/grav into 1.7
# Conflicts:
#	CHANGELOG.md
2019-08-19 10:53:27 +03:00
Matias Griese
e5cedd074b Fixed broken markdown Twig tag [#2635] 2019-08-19 10:46:03 +03:00
Matias Griese
a6741cb761 Fixed broken taxonomies [#2633] 2019-08-19 10:21:24 +03:00
Matias Griese
8cbc2a27cd Fixed enabling PHP Debug Bar causes fatal error in Gantry [#2634] 2019-08-19 10:04:59 +03:00
Matias Griese
5f1639dc63 Merge branch 'develop' of github.com:getgrav/grav into 1.7 2019-08-19 09:53:55 +03:00
Daithí Seán Ó Foghlú
ed87faad92 Update robots.txt (#2632)
I have found that Bing/Yahoo/DuckDuckGo, Yandex and Google report crawl errors when using the default robots.txt. Specifically their bots will not crawl the the path '/' or any sub-paths. I agree that the current robots.txt should work and properly implements the specification. However it still does not work.

In my experience explicitly permitting the path '/' by adding the directive Allow: / resolves the issue.

More details can be found in a blog post about the issue here: https://www.dfoley.ie/blog/starting-with-the-indieweb
2019-08-18 11:22:33 -06:00
Andy Miller
8d8b803e66 updated with composer 1.9.0 2019-08-18 10:00:37 -06:00
Andy Miller
e4ed00d84a Merge branch 'develop' into 1.7
# Conflicts:
#	CHANGELOG.md
#	system/defines.php
#	system/router.php
2019-08-18 09:54:50 -06:00
Andy Miller
239f34d40c Merge branch 'release/1.6.14' 2019-08-18 09:52:55 -06:00
Andy Miller
20b9ca56fa Merge tag '1.6.14' into develop
Release v1.6.14
2019-08-18 09:52:55 -06:00
Andy Miller
647ae0fda3 prepare for release 2019-08-18 09:52:45 -06:00
Andy Miller
806dbd9ee5 refactor 2019-08-18 09:51:10 -06:00
Andy Miller
1ab8442630 add fix 2019-08-18 09:50:56 -06:00
Andy Miller
040c34d693 Merge branch 'develop' into 1.7
# Conflicts:
#	system/defines.php
2019-08-16 09:53:44 -06:00
Andy Miller
505661404b Merge branch 'release/1.6.13' 2019-08-16 09:53:21 -06:00
Andy Miller
a2ea6faf4d Merge tag '1.6.13' into develop
Release v1.6.13
2019-08-16 09:53:21 -06:00
Andy Miller
ce51491b4d prepare for release 2019-08-16 09:53:12 -06:00
Andy Miller
8942aa8afc Merge branch 'develop' into 1.7
# Conflicts:
#	CHANGELOG.md
2019-08-16 07:46:32 -06:00
Andy Miller
d241223aa3 update changelog 2019-08-16 07:45:40 -06:00
Matias Griese
256cbe3f12 Added experimental support for Flex Pages (**Flex Objects** plugin required) 2019-08-16 15:53:18 +03:00
Matias Griese
8b31ee173e Added configuration option for Flex Page, enabled experimental options in Admin Plugin 2019-08-16 15:49:58 +03:00
Andy Miller
182970eb78 Fix for bad check on $grav_basedir 2019-08-15 14:24:40 -06:00
Matias Griese
9ed3da3df2 Fixed $page->summary() always striping HTML tags if the summary was set by $page->setSummary() 2019-08-15 19:37:19 +03:00
Matias Griese
14eaa4d00a Moved setSummary() from PageLegacyInterface to PageContentInterface 2019-08-15 19:23:05 +03:00
Matias Griese
e134e3dbd9 Fixed some docblocks 2019-08-15 13:49:30 +03:00
Andy Miller
5bfb168cd7 Don’t override the system config setting 2019-08-14 16:28:06 -06:00
Andy Miller
5aef09a410 prepare for beta release 2019-08-14 16:21:07 -06:00
Andy Miller
76732ab671 Merge branch 'develop' into 1.7
# Conflicts:
#	system/defines.php
2019-08-14 16:20:27 -06:00
Andy Miller
d16f83fdd8 Merge tag '1.6.12' into develop
Release v1.6.12
2019-08-14 16:19:44 -06:00
Andy Miller
02e10ff8fe Merge branch 'release/1.6.12' 2019-08-14 16:19:43 -06:00
Andy Miller
6a44d8f286 prepare for release 2019-08-14 16:19:21 -06:00
Andy Miller
4b614d871f update changelog 2019-08-14 16:18:38 -06:00
Matias Griese
f54d9af758 Fixed regression in non-cached pages showing 404 2019-08-14 23:02:06 +03:00
Matias Griese
f883191d99 FormTrait: better debug messages on what went wrong on form submit 2019-08-14 21:40:47 +03:00
Matias Griese
de5ead78d1 Greatly simplify and generalize Pages::evaluate() method 2019-08-14 14:03:41 +03:00
Matias Griese
44bbdf7e39 Moved collection() and evaluate() logic from Page class into Pages class 2019-08-14 13:22:30 +03:00
Matias Griese
4b4eedf467 FormTrait: better debug messages on what went wrong on form submit 2019-08-14 13:16:33 +03:00
Matias Griese
bb477fd3b1 Merge branch 'develop' of github.com:getgrav/grav into 1.7 2019-08-14 11:01:46 +03:00
Matias Griese
758e316a65 Merge remote-tracking branch 'origin/1.7' into 1.7 2019-08-14 11:01:17 +03:00
Matias Griese
2c38e24d00 Make FlexForm::setName() more robust 2019-08-14 11:01:07 +03:00
Matias Griese
3286d70092 Lock Grav user class once GRAV_USER_INSTANCE has been defined 2019-08-14 10:12:00 +03:00
Thomas Threadgold
9fc37e46fa check if GRAV_USER_INSTANCE constants are already defined (#2621) 2019-08-13 15:30:20 -06:00
Matias Griese
f304f429c5 Fix bad check in CSV escaping 2019-08-13 18:19:28 +03:00
Andy Miller
ca24e63d22 Merge branch 'develop' into 1.7 2019-08-12 16:06:27 -06:00
Andy Miller
65c73f639f Update changelog 2019-08-12 16:06:16 -06:00
Aaron Dalton
d2833a1997 Allow users to override plugin handler priorities (#2165) 2019-08-12 15:22:21 -06:00
ale rimoldi
aa8f764436 run route.php when grav is not at the root of the server (#2541) 2019-08-12 15:11:41 -06:00
Matias Griese
f1909d80db Added $grav->close() method to properly terminate the request with a response 2019-08-12 17:11:39 +03:00
Matias Griese
7718dd7e98 Improve Flex forms for better configurability 2019-08-12 11:50:16 +03:00
Matias Griese
cc66070e85 Move Page::templateFormat() content negotiation logic into Utils::getPageFormat() 2019-08-12 11:40:22 +03:00
Matias Griese
bbdc54b406 Create PageFormInterface and PageFormTrait 2019-08-12 11:37:31 +03:00
Matias Griese
c013f63b26 Create PageCollectionInterface and use it 2019-08-12 11:34:42 +03:00
Andy Miller
aa007badb5 Merge branch 'develop' into 1.7
# Conflicts:
#	system/src/Grav/Common/Twig/TwigExtension.php
2019-08-09 18:29:22 -06:00
Andy Miller
618a59921a make markdown more page context aware 2019-08-09 18:23:05 -06:00
Andy Miller
bb2e7a720b Merge branch 'develop' into 1.7 2019-08-09 17:16:41 -06:00
Andy Miller
039f71dc61 fix for var order in Validation.php 2019-08-09 17:16:31 -06:00
Andy Miller
c36e6abd66 Add language codes method 2019-08-09 16:34:08 -06:00
Andy Miller
c2b1142b7a Merge branch 'develop' into 1.7
# Conflicts:
#	composer.lock
2019-08-09 13:35:39 -06:00
Andy Miller
e03fb200a6 update vendor libs 2019-08-09 13:35:25 -06:00
Andy Miller
27b8db4c10 Updated vendor libs 2019-08-09 13:33:35 -06:00
Matias Griese
a964a34a6f Minor fix to make SimpleStorage to update modified time on save (now for real) 2019-07-30 13:59:23 +03:00
Matias Griese
1c28fd4c4c Minor fix to make SimpleStorage to update modified time on save 2019-07-30 13:54:38 +03:00
Matias Griese
e8529e7d0b Make flex storage classes to return storage metadata along with the data 2019-07-30 13:51:15 +03:00
Matias Griese
a6032af594 Add support for {EXT} in Flex FolderStorage pattern 2019-07-30 13:11:33 +03:00
Matias Griese
ea49415e14 Make FlexDirectory::loadObjects() more robust against missing values 2019-07-26 10:15:11 +03:00
Matias Griese
7b26022f9f Added Language::getPageExtensions() to get full list of supported page language extensions 2019-07-26 10:13:24 +03:00
Matias Griese
443fecfeb6 Added Language::getPageExtensions() to get full list of supported page language extensions 2019-07-25 14:40:38 +03:00
Matias Griese
c3324e3702 Added FlexStorage::getMetaData() to get updated object meta information for listed keys, storage improvements 2019-07-25 14:39:06 +03:00
Matias Griese
9e60408769 Flex form: Undo unique id dependency to form name 2019-07-19 16:11:52 +03:00
Matias Griese
3737bc9371 Flex form: Allow custom form layouts in admin, too (page raw mode) 2019-07-19 12:44:51 +03:00
Matias Griese
3d2360c995 Fix bad check in CSV escaping 2019-07-18 20:44:04 +03:00
Matias Griese
08b8505b6d Merge branch 'develop' of github.com:getgrav/grav into 1.7 2019-07-18 16:12:18 +03:00
Matias Griese
afd53d76c2 Fixed CSV formatter not encoding strings with " and , properly 2019-07-18 16:11:46 +03:00
Andy Miller
9607a99a7d Updated clockwork to 4.0.4 2019-07-16 13:04:40 -06:00
Matias Griese
7e63935001 Deprecated FlexDirectory::update() and FlexDirectory::remove() 2019-07-16 17:40:33 +03:00
Matias Griese
3d767a4d25 Flex objects no longer return temporary key if they do not have one; empty key is returned instead 2019-07-16 17:39:58 +03:00
Matias Griese
ee53e1be6e Merge branch 'develop' of github.com:getgrav/grav into 1.7 2019-07-16 10:11:47 +03:00
Matias Griese
57c65ad881 Fixed FlexObject::exists() failing sometimes just after the object has been saved 2019-07-16 09:50:30 +03:00
Matias Griese
a372ae90c2 Fixed an error when trying to delete a file from non-existing Flex Object 2019-07-16 09:11:11 +03:00
Andy Miller
676924cce5 Merge branch 'develop' into 1.7 2019-07-12 12:02:46 -06:00
Andy Miller
c8739c40a5 Fixed collections using page@.self: should allow modular pages if requested 2019-07-12 12:02:28 -06:00
Matias Griese
36a3a95ed9 Added getFlexFeatures() method to return all features that FlexObject or FlexCollection implements 2019-07-12 13:45:02 +03:00
Matias Griese
95c58c8361 FlexDirectory::getObject() can now be called without any parameters to create a new object 2019-07-12 12:40:23 +03:00
Matias Griese
66c17a8f53 Added hasFlexFeature() method to test if FlexObject or FlexCollection implements a given feature 2019-07-12 12:39:05 +03:00
Andy Miller
00ff9ac42d fix 2019-07-11 08:50:09 -06:00
Andy Miller
7172da8ed6 fix 2019-07-11 08:49:54 -06:00
Andy Miller
c55ea919ef Merge branch 'develop' into 1.7 2019-07-11 08:40:33 -06:00
Matias Griese
53216631a6 * Fixed FlexForm to allow multiple form instances with non-existing objects 2019-07-11 15:24:35 +03:00
Matias Griese
69d6b52a0e Fixed Form not to use deleted flash object until the end of the request fixing issues with reset 2019-07-11 15:23:50 +03:00
Andy Miller
e13a8304e6 Added arrayLower() method 2019-07-10 11:01:17 -06:00
Matias Griese
3c2b17853c Fixed non-existing Flex object having a bad media folder 2019-07-10 12:30:59 +03:00
Andy Miller
ea1e0a76c1 vendor updates 2019-07-09 22:00:43 -06:00
Andy Miller
833fe8b729 Added a new bin/grav server CLI command 2019-07-09 15:54:39 -06:00
Matias Griese
23d508b390 Merge branch 'develop' of github.com:getgrav/grav into 1.7 2019-07-09 14:01:45 +03:00
Matias Griese
288b2a1953 Fixed fatal error 'Expiration date must be an integer, a DateInterval or null, "double" given' [#2529] 2019-07-09 13:43:51 +03:00
Andy Miller
e8b24479b9 Option to show/hide sensitive data 2019-07-08 15:53:25 -06:00
Matias Griese
1485c23aba Make Route objects immutable 2019-07-04 13:18:43 +03:00
Matias Griese
d43357f366 Merge branch 'develop' of github.com:getgrav/grav into 1.7 2019-07-04 11:50:03 +03:00
Matias Griese
86b1f1fbac Workaround bug in flex forms 2019-07-02 22:01:38 +03:00
Matias Griese
c8e5aa05f9 Merge remote-tracking branch 'origin/1.7' into 1.7 2019-07-02 22:01:07 +03:00
Matias Griese
04ccce1f67 Workaround bug in flex forms 2019-07-02 22:00:56 +03:00
Andy Miller
5826821895 Merge branch '1.7' of github.com:getgrav/grav into 1.7 2019-07-02 11:32:15 -06:00
Andy Miller
3ed341304b updated readme 2019-07-02 11:32:10 -06:00
Matias Griese
025e73affd Merge remote-tracking branch 'origin/1.7' into 1.7 2019-07-02 20:29:04 +03:00
Matias Griese
5635ba2bb7 Merge branch 'develop' of github.com:getgrav/grav into 1.7
# Conflicts:
#	CHANGELOG.md
2019-07-02 20:28:55 +03:00
Matias Griese
b5e26133a7 Fixed new Flex User creation not being possible because of username could not be given 2019-07-02 20:27:12 +03:00
Andy Miller
95637a243c Better support for Symfony local server symfony server:start 2019-07-02 11:23:32 -06:00
Andy Miller
cd417a1509 prepare for release 2019-07-01 14:54:49 -06:00
Andy Miller
631ae3d3d5 Merge branch '1.7' of github.com:getgrav/grav into 1.7
# Conflicts:
#	CHANGELOG.md
2019-07-01 13:45:42 -06:00
Andy Miller
7c34224304 Merge branch 'develop' into 1.7
# Conflicts:
#	CHANGELOG.md
2019-07-01 13:45:03 -06:00
Matias Griese
6062e47377 Merge branch 'develop' of github.com:getgrav/grav into 1.7
# Conflicts:
#	CHANGELOG.md
2019-07-01 22:26:31 +03:00
Matias Griese
c97faa0238 ixed Flex User to have permissions to save and delete his own user 2019-07-01 22:25:29 +03:00
Matias Griese
a94abb4fb2 Added configuration option to set fallback content languages individually for every language 2019-07-01 14:46:10 +03:00
Matias Griese
8ab317b49a Merge remote-tracking branch 'origin/1.7' into 1.7 2019-06-29 14:09:57 +03:00
Matias Griese
44dda3d607 Fixed Language::getFallbackPageExtensions() logic to what it should have been 2019-06-29 14:09:46 +03:00
Andy Miller
75ed986437 Updated vendor libs 2019-06-28 14:48:12 -06:00
Andy Miller
3ac785b9ce Fix for changed location of phpdebug CSS 2019-06-28 14:47:13 -06:00
Matias Griese
de367e1558 FIx wrong nesting level in system.yamlL file 2019-06-28 20:52:15 +03:00
Matias Griese
4fead303d1 Changelog update 2019-06-28 15:39:44 +03:00
Matias Griese
41898af46f Merge branch 'feature/multilang' into 1.7
# Conflicts:
#	CHANGELOG.md
#	system/blueprints/config/system.yaml
2019-06-28 15:30:41 +03:00
Matias Griese
fe8833876c Changelog update 2019-06-28 15:27:27 +03:00
Matias Griese
e116998914 Added new system.debugger.censored configuration option to hide potentially sensitive information 2019-06-28 15:26:31 +03:00
Matias Griese
053f96dec1 Make Debugger::addException() to accept \Throwable 2019-06-28 13:39:04 +03:00
Matias Griese
94494c3c96 Merge branch 'develop' of github.com:getgrav/grav into 1.7 2019-06-28 13:37:39 +03:00
Matias Griese
69b39b4b21 Fixed multiple url() issues with streams
* Fixed `url()` returning wrong path if using stream with grav root path in it, eg: `user-data://shop` when Grav is in `/shop`
* Fixed `url()` not returning a path to non-existing file (`user-data://shop` => `/user/data/shop`) if it is set to fail gracefully
* Fixed `url()` returning false on unknown streams, such as `ftp://domain.com`, they should be treated as external URL
2019-06-28 13:36:37 +03:00
Matias Griese
5afae3c3f2 Merge branch '1.7' of github.com:getgrav/grav into 1.7 2019-06-27 18:11:58 +03:00
Matias Griese
eed3d84a10 Merge branch 'develop' of github.com:getgrav/grav into 1.7 2019-06-27 18:11:24 +03:00
Matias Griese
e7b996104f Merge branches 'develop' and 'feature/multilang' of github.com:getgrav/grav into feature/multilang
# Conflicts:
#	CHANGELOG.md
2019-06-27 18:10:36 +03:00
Matias Griese
02f544f813 Merge remote-tracking branch 'origin/develop' into develop 2019-06-27 18:08:21 +03:00
Matias Griese
69b5a779e4 Fixed error when calling Media::add($name, null) 2019-06-27 18:08:12 +03:00
Matias Griese
3f176c1924 Changelog update 2019-06-27 17:59:05 +03:00
Matias Griese
91d20d8840 Changelog update 2019-06-27 14:47:05 +03:00
Matias Griese
6998505e3c Merge branch 'develop' of github.com:getgrav/grav into feature/multilang
# Conflicts:
#	CHANGELOG.md
2019-06-27 14:46:28 +03:00
Matias Griese
ffa2e0a6f6 Added new configuration option system.languages.include_default_lang_file_extension to keep default language in .md files if set to false 2019-06-27 14:44:35 +03:00
Matias Griese
b54e4fb71b Better form value handling for page name 2019-06-27 13:49:31 +03:00
Matias Griese
8f391d327a Fixed another bug in Page::untranslatedLanguages() 2019-06-27 13:01:11 +03:00
Matias Griese
e0e29f468b Fixed Language::getFallbackPageExtensions() to append .md file after the default language extension 2019-06-27 12:06:07 +03:00
Andy Miller
89b9cc5367 Merge branch 'develop' into 1.7 2019-06-26 09:06:19 -06:00
Andy Miller
fa5c1e495d Use new Utils::getSupportedPageTypes() to enforce html,htm at the front of the list #2531 2019-06-26 08:59:24 -06:00
Matias Griese
7fdb2c10cb Minor code cleanup 2019-06-26 12:14:57 +03:00
Keith Bentrup
e422eebd3c fixed typos in comments / API docs 2019-06-26 11:46:08 +03:00
Keith Bentrup
3dca7e3539 fixed typos in comments / API docs 2019-06-26 11:46:08 +03:00
Matias Griese
75210b102e Changelog update 2019-06-26 10:48:06 +03:00
Matias Griese
f0e97a7277 Fixed some potential issues when $grav['user'] is not set 2019-06-26 10:38:38 +03:00
Matias Griese
f6c30cbeae Fixed .md page to be assigned to the default language and to be listed in translated/untranslated page list 2019-06-26 10:18:14 +03:00
Matias Griese
cca7b6b1d4 Minor cleanup in InitializeProcessor 2019-06-25 10:45:59 +03:00
Newb I the Newbd
e16c81516e Make yaml_decode only return array, again 2019-06-25 10:02:40 +03:00
Andy Miller
c765787102 vendor updates 2019-06-24 17:43:26 -06:00
Andy Miller
dff3872b43 prepare for release 2019-06-24 17:41:20 -06:00
Andy Miller
3c91cea232 Updated changelog 2019-06-24 16:59:03 -06:00
Andy Miller
a2e9c013ad Fixed Clockwork on Windows machines 2019-06-24 16:58:46 -06:00
Andy Miller
dd82ab45bc updated changelog 2019-06-24 16:28:33 -06:00
Andy Miller
46b710b435 Fix for clockwork in subdomains - Don’t rely on base_uri 2019-06-24 16:26:37 -06:00
Matias Griese
a6d3e1ee8e Merge branches '1.7' and 'develop' of github.com:getgrav/grav into 1.7
# Conflicts:
#	CHANGELOG.md
2019-06-24 20:41:28 +03:00
Matias Griese
140c9a941f Added support for custom FormFlash save locations 2019-06-24 13:15:27 +03:00
Andy Miller
2b29b17044 Prepare for release 2019-06-21 15:20:27 -06:00
Andy Miller
5316f0f28c Merge branch 'develop' into 1.7
# Conflicts:
#	system/defines.php
2019-06-21 15:19:50 -06:00
Andy Miller
eb58fe9e97 Merge branch 'release/1.6.11' 2019-06-21 15:19:04 -06:00
Andy Miller
5d4ea87402 Merge tag '1.6.11' into develop
Release v1.6.11
2019-06-21 15:19:04 -06:00
Andy Miller
9f1d7240a9 Prepare for release 2019-06-21 15:18:54 -06:00
Matias Griese
ac4d6cc8d0 Merge branches '1.7' and 'develop' of github.com:getgrav/grav into 1.7 2019-06-21 23:00:14 +03:00
Matias Griese
84894274f0 Fixed some FormFlash bugs, cleaned up the code 2019-06-21 22:59:54 +03:00
Matias Griese
ea09002012 Changed FormFlashInterface constructor to take $config array 2019-06-21 13:19:01 +03:00
Matias Griese
601ec5cb7a Added FormFlashInterface 2019-06-21 11:47:21 +03:00
Andy Miller
565947e074 Tweak clockwork message #2558 2019-06-20 21:07:04 -06:00
Andy Miller
25d1767e6c updated changelog 2019-06-20 19:48:04 -06:00
Andy Miller
c079f9b95b Merge branch 'develop' into 1.7 2019-06-20 19:46:26 -06:00
Matias Griese
85ec2ee3a0 Fixed error if user has no form flashes 2019-06-20 21:19:10 +03:00
Matias Griese
20cfb45c14 Fixed error if user has no form flashes 2019-06-20 21:18:44 +03:00
Matias Griese
5314558a8e Merge branches '1.7' and 'develop' of github.com:getgrav/grav into 1.7 2019-06-20 21:12:31 +03:00
Matias Griese
965f69f680 Fixed issue with FormFlash objects when there is no session initialized 2019-06-20 21:10:48 +03:00
Matias Griese
02b93d510a Merge branch 'develop' of github.com:getgrav/grav into 1.7
# Conflicts:
#	system/src/Grav/Common/Page/Pages.php
2019-06-20 20:26:49 +03:00
Matias Griese
13a56dd4da Initialize pages only once 2019-06-20 19:21:52 +03:00
Matias Griese
4cf1b8c400 Better fix for Route class 2019-06-20 19:21:35 +03:00
Matias Griese
9c805a4317 Added created timestamp to FormFlash 2019-06-20 12:18:55 +03:00
Matias Griese
b7b1182e14 Added timestamp to FormFlash objects 2019-06-20 11:47:23 +03:00
Matias Griese
8dfb0ca993 Merge branch 'develop' of github.com:getgrav/grav into 1.7 2019-06-20 01:05:07 +03:00
Matias Griese
f695aaaea4 Added FormTrait::getAllFlashes() method to get all the available form flash objects for the form 2019-06-20 00:51:20 +03:00
Matias Griese
b398d04d96 Fixed a bug in Route::withParam() method 2019-06-20 00:45:59 +03:00
Matias Griese
574df5cf80 Merge branches '1.7' and 'develop' of github.com:getgrav/grav into 1.7
# Conflicts:
#	CHANGELOG.md
2019-06-19 21:52:28 +03:00
Matias Griese
ac9ef4da76 Fixed empty form flash name after update 2019-06-19 20:56:23 +03:00
Matias Griese
a10893eaad Fixed error in ImageMedium::url() if the image cache folder does not exist 2019-06-19 11:23:12 +03:00
Andy Miller
34dcd8c346 prepare for beta release 2019-06-14 14:45:29 -06:00
Andy Miller
5079077e1d Merge branch 'develop' into 1.7
# Conflicts:
#	CHANGELOG.md
#	system/defines.php
2019-06-14 14:43:00 -06:00
Andy Miller
0e0d5b23be Merge branch 'release/1.6.10' 2019-06-14 13:59:12 -06:00
Andy Miller
e6c8b30882 Merge tag '1.6.10' into develop
Release v1.6.10
2019-06-14 13:59:12 -06:00
Andy Miller
a222e353ba prepare for release 2019-06-14 13:59:01 -06:00
Andy Miller
1f120a0127 set to beta.1 2019-06-14 13:43:35 -06:00
Andy Miller
fe05c9b87b clockwork debugger by default 2019-06-14 13:43:24 -06:00
Andy Miller
f795a634b5 minor vendor updates 2019-06-14 13:43:13 -06:00
Andy Miller
888b93926c updated changelog 2019-06-14 13:42:47 -06:00
Matias Griese
687f29f912 Profiler: Remove even more noise 2019-06-14 15:17:15 +03:00
Matias Griese
273bc9d970 Profiler: remove some noise 2019-06-14 15:12:48 +03:00
Matias Griese
d593d5a392 Clockwork: Order profiler calls by the time used, some extra filtering 2019-06-14 15:00:17 +03:00
Matias Griese
18fb688cde Clockwork: Added xhprof profiler tab 2019-06-14 14:43:27 +03:00
Matias Griese
d8fccb0edd Clockwork: Added call traces to deprecated messages 2019-06-14 13:48:45 +03:00
Andy Miller
5843347c46 tidy up 2019-06-13 10:04:08 -06:00
Tracerneo
30cfe3bdfa Change minimal port number to 0 (unix socket) (#2452) 2019-06-11 08:39:26 -06:00
Andy Miller
fedb0625b8 z-index fix 2019-06-06 12:09:04 -06:00
Andy Miller
72d012e401 minified 2 2019-06-04 20:11:41 -06:00
Andy Miller
8d77b50055 optimized clockwork css 2019-06-04 20:09:59 -06:00
Andy Miller
42eefbd34c Reworked debugger assets a little 2019-06-04 17:24:56 -06:00
Andy Miller
e5e5bf1bd8 minor twig update 2019-06-04 14:14:16 -06:00
Andy Miller
01ec334127 Merge branch '1.7' into feature/clockwork-twig 2019-06-04 14:07:43 -06:00
Matias Griese
916469a903 Fixed missing timer titles in clockwork 2019-06-04 10:09:57 +03:00
Matias Griese
55f205c801 Composer update 2019-06-04 10:03:54 +03:00
Matias Griese
8a3fc57cd8 Merge branch '1.7' into feature/clockwork-twig
# Conflicts:
#	composer.lock
2019-06-04 10:01:47 +03:00
Andy Miller
6cd1cca4fc Accidentally commited Twig 2 2019-06-03 15:32:28 -06:00
Andy Miller
1c9926ff38 Roll back to Symfony 4.2 until we have some deprecated errors sorted 2019-06-03 15:31:15 -06:00
Andy Miller
638477b06d Roll back to Symfony 4.2 until we have some deprecated errors sorted 2019-06-03 15:31:04 -06:00
Andy Miller
7e3ca73b0e removed unused use 2019-06-03 10:49:25 -06:00
Andy Miller
57a3a20868 Merge branch '1.7' into feature/clockwork-twig
# Conflicts:
#	system/src/Grav/Common/Debugger.php
2019-06-03 10:49:10 -06:00
Matias Griese
4e45c5be95 Properly handle termination in twig redirect and if theme does not exist 2019-06-03 13:05:15 +03:00
Matias Griese
ca89156c4f Added $grav->exit() method to properly terminate the request with a response 2019-06-03 12:10:43 +03:00
Matias Griese
dc5390b3dc Some code cleanup (debugger) 2019-06-03 11:14:22 +03:00
Matias Griese
0e8c7eae99 Added PHP profiling support for redirect responses 2019-06-03 11:08:47 +03:00
Matias Griese
115bdb7e10 Processor cleanup, moved logRequest() and debuggerRequest() into Debugger class 2019-06-03 10:44:10 +03:00
Matias Griese
9738c55633 Clockwork: Added request logging for Grav redirects 2019-06-03 10:29:59 +03:00
Matias Griese
23921c1a35 Some phpstan level 3 fixes 2019-06-03 08:53:25 +03:00
Andy Miller
1f3547b15b Merge branch '1.7' into feature/clockwork-twig 2019-06-02 14:23:40 -06:00
Matias Griese
6974a24669 Some phpstan fixes 2019-06-02 20:30:56 +03:00
Matias Griese
2cf35ec2c7 Composer update, fixed deprecated Twig (1.40 compatible) 2019-06-02 15:19:21 +03:00
Andy Miller
d21bb6b8c7 Merge branch '1.7' into feature/clockwork-twig 2019-05-31 10:59:12 -06:00
Matias Griese
9b8b480c8c Added basic overridable support for the fields 2019-05-31 13:39:23 +03:00
Matias Griese
ac654d56d0 Improved debugger message support 2019-05-31 13:24:06 +03:00
Matias Griese
db9e1a197e Minor fix to support toggleable on required form fields 2019-05-31 13:22:49 +03:00
Matias Griese
19bb9a6966 Regression: Fixed missing timeline name in debugbar 2019-05-30 14:44:02 +03:00
Matias Griese
b7a1c7b72a Added support for Tideways XHProf PHP Extension for profiling requests 2019-05-30 11:59:26 +03:00
Andy Miller
042486bc73 Merge branch 'feature/clockwork-twig' of github.com:getgrav/grav into feature/clockwork-twig 2019-05-30 05:43:48 +02:00
Andy Miller
42cc1c6b01 tweaked arrows 2019-05-30 00:06:45 +02:00
Matias Griese
407d2c8323 Merge branch 'feature/clockwork-twig' of github.com:getgrav/grav into feature/clockwork-twig 2019-05-29 13:54:18 +03:00
Matias Griese
8ab14c0639 Merge branch '1.7' of github.com:getgrav/grav into feature/clockwork-twig 2019-05-29 13:54:07 +03:00
Matias Griese
48c281024f Fixed Twig 2.10 errors 2019-05-29 13:53:29 +03:00
Andy Miller
f7e1bec0cf Very rought first working profiling 2019-05-29 12:33:24 +02:00
Matias Griese
41c7973fc7 Merge branches '1.7' and 'feature/clockwork-twig' of github.com:getgrav/grav into feature/clockwork-twig 2019-05-29 12:07:49 +03:00
Andy Miller
bc93e70d11 Force Twig 2.0 for now (testing and compatibility) 2019-05-29 10:17:59 +02:00
Andy Miller
320ab41435 Initial twig profiler integration..no output yet 2019-05-29 10:16:33 +02:00
Andy Miller
7213c393fd Force Twig 2.0 for now (testing and compatibility) 2019-05-29 10:16:03 +02:00
Andy Miller
6caadc8396 Merge branch '1.7' into feature/clockwork-twig 2019-05-29 09:48:32 +02:00
Andy Miller
e0d1385061 Added default to Utils::param() 2019-05-28 19:52:08 +02:00
Andy Miller
e1eed973a2 field sizes 2019-05-27 19:33:18 +03:00
Andy Miller
f4645fc77e Debugbar/Clockwork Toggle. 2019-05-27 19:20:21 +03:00
Andy Miller
136ec07450 1.7 version in defines 2019-05-27 14:54:16 +03:00
Andy Miller
e01605de55 Merge branch 'feature/clockwork' into feature/clockwork-twig 2019-05-27 13:45:16 +03:00
Andy Miller
5cc48c4e01 initial stuff 2019-05-27 13:45:00 +03:00
Matias Griese
5e2545c606 Improve debugger to have less impact when it's not enabled 2019-05-27 13:42:43 +03:00
Andy Miller
d227a82056 Fixed regresssion issue of Utils::Url() not returning false on failure #2524 2019-05-27 11:58:53 +03:00
Andy Miller
0fd2627cea Merge branch 'feature/clockwork' of github.com:getgrav/grav into feature/clockwork 2019-05-27 11:58:37 +03:00
Andy Miller
cfcd955cc2 Fixed regresssion issue of Utils::Url() not returning false on failure #2524 2019-05-27 11:58:31 +03:00
Matias Griese
7d59b69709 Debugger/Clockwork: add configuration, plugins and streams to the log 2019-05-27 11:26:34 +03:00
Matias Griese
e8eb1d9a44 Debugger: Fixed error if xdebug isn't installed 2019-05-26 17:25:59 +03:00
Andy Miller
2117748f18 updated composer.lock 2019-05-26 17:05:12 +03:00
Matias Griese
e76733e8c3 Optimization: Initialize debugbar only after the configuration has been loaded
Optimization: Combine some early Grav processors into a single one
2019-05-26 16:55:24 +03:00
Matias Griese
2da5f90e9c Merge branch 'develop' of github.com:getgrav/grav into feature/clockwork
# Conflicts:
#	CHANGELOG.md
2019-05-26 16:48:15 +03:00
Matias Griese
81b100cd3b Merge remote-tracking branch 'origin/feature/clockwork' into feature/clockwork 2019-05-26 16:42:56 +03:00
Matias Griese
19be8f5104 Fixed some phpstan level 2 issues 2019-05-26 16:42:36 +03:00
Matias Griese
9825daa79b Merge remote-tracking branch 'origin/develop' into develop 2019-05-26 16:27:53 +03:00
Matias Griese
10d405112c Fixed Excerpts::processMediaActions() return value 2019-05-26 16:27:43 +03:00
Matias Griese
ad64a9d857 Fixed reutrn type of processMediaActions 2019-05-26 16:24:58 +03:00
Andy Miller
c4c70d082c Fixes #2510 and #2511 2019-05-26 13:36:12 +03:00
Andy Miller
23a928c5b7 Fixed bitwise operator in TwigExtension::exifFunc() #2518 2019-05-26 13:33:24 +03:00
Andy Miller
8a7f624558 return the found language rather than just ‘true’ 2019-05-26 13:23:08 +03:00
Andy Miller
331f416e36 Fixed bitwise operator in TwigExtension::exifFunc() #2518 2019-05-26 11:37:18 +03:00
Matias Griese
3a48c79b21 Merge branch 'develop' of github.com:getgrav/grav into feature/clockwork 2019-05-24 08:39:35 +03:00
Matias Griese
0c66de25c4 Improve clockwork debug messages, make it easier to disable debugbar or clockwork 2019-05-23 23:12:55 +03:00
Djamil Legato
92e8dbf4ea Added Funding.yml 2019-05-23 09:44:47 -07:00
y-u-s-s-u-f-i-s-l-a-m
aca04cee6b Create now.json (#2515)
* Create now.json

* Update now.json
2019-05-23 07:43:27 -07:00
Matias Griese
0bd227c22d Add basic clockwork support 2019-05-23 15:39:44 +03:00
Matias Griese
7bc45bd9e0 Minor code cleanup/refactoring on flex caching 2019-05-23 10:04:09 +03:00
Matias Griese
9e5363b4df Merge branch 'develop' of github.com:getgrav/grav into develop 2019-05-22 11:56:00 +03:00
Matias Griese
37f69d89cc Some phpstan level 6 fixes 2019-05-20 10:52:32 +03:00
Andy Miller
30e96aa4ff address deprecated message 2019-05-18 11:12:58 -06:00
Djamil Legato
7e1d3b260e Fixed regression with bin/plugin not listing the plugins available (1c725c0) 2019-05-17 23:01:54 -07:00
Andy Miller
be558ccac9 fixes #2507 2019-05-17 11:10:15 -06:00
Matias Griese
e991056106 Minor constructor change in Parsedown classes 2019-05-17 20:06:49 +03:00
Matias Griese
b795155345 Framework: Fix all phpstan level 5 issues 2019-05-17 15:18:41 +03:00
Matias Griese
99d0c7cb3e Generalized markdown classes so they can be used outside of Page scope with a custom Excerpts class instance 2019-05-17 14:48:12 +03:00
Matias Griese
01b85f19bc Fixed GPM errors from blueprints not being logged [#2505] 2019-05-16 11:51:30 +03:00
Andy Miller
65ba214494 size of summary chars field 2019-05-15 15:48:26 -06:00
Andy Miller
ccff51144e Fixes #2493 2019-05-15 13:45:59 -06:00
Andy Miller
c8f6e7b0e1 Merge branch 'develop' of github.com:getgrav/grav into develop 2019-05-14 15:44:39 -06:00
Andy Miller
7cccf8e237 vendor updates 2019-05-14 15:44:33 -06:00
Ole Vik
e1f646c308 Remove Gitter, Slack (#2502)
Replace with redirecting link to chat.getgrav.org, also link to forum again.
2019-05-14 11:44:27 -06:00
Andy Miller
2a49a2ba7c Added page blueprints to YamlLinter 2019-05-12 11:24:50 -06:00
Andy Miller
e9bbd1e0b0 Optimizations for Plugin/Theme loading 2019-05-10 17:17:06 -06:00
Andy Miller
84e259f0f1 minor optimization 2019-05-10 17:01:52 -06:00
Andy Miller
b3f4461f34 Merge tag '1.6.9' into develop
Release v1.6.9
2019-05-09 10:49:11 -06:00
Andy Miller
1df6b76e25 Merge branch 'release/1.6.9' 2019-05-09 10:49:10 -06:00
Andy Miller
2153e20bc5 prepare for release 2019-05-09 10:49:01 -06:00
Andy Miller
0cbc98ab53 Merge branch 'develop' of github.com:getgrav/grav into develop 2019-05-08 20:57:11 -06:00
Andy Miller
0915a0413d Added composer scripts api-16 and api-15 2019-05-08 20:57:06 -06:00
Andy Miller
f4d3d302f4 thowing api error 2019-05-08 20:54:42 -06:00
Riley Sommerville
5d5e2264c0 Update default.md (#2496)
Correct an error that ignored the "Typography" menu item in the default Grav installation and caused a discrepancy between the install page and the corresponding tutorial on getgrav/grav-learn. Related to PR https://github.com/getgrav/grav-learn/pull/681#issue-270418391 and solves issue https://github.com/getgrav/grav-learn/issues/650#issue-365078790.
2019-05-08 17:39:09 -06:00
Andy Miller
b39fc72bd2 Update languages 2019-05-08 14:22:47 -06:00
Matias Griese
d6d50c4b66 Fixed empty $grav['request']->getAttribute('route')->getExtension() 2019-05-07 19:07:09 +03:00
Matias Griese
791ef8ad88 Changelog update 2019-05-07 17:58:10 +03:00
Matias Griese
e0861e5505 Merge branch 'develop' of github.com:getgrav/grav into develop 2019-05-07 17:55:59 +03:00
Newb I the Newbd
48c9176d90 Make yaml_decode only return array to avoid errors (#2494) 2019-05-07 17:53:42 +03:00
Matias Griese
33cb20561e Fixed backwards compatibility to select field with selectize.create set to true [git-sync#141] 2019-05-07 14:05:55 +03:00
Andy Miller
0acb38f586 Checkbox getting interpreted as string 2019-05-06 16:22:31 -06:00
Andy Miller
1a41e00a4f Merge branch 'develop' of github.com:getgrav/grav into develop 2019-05-03 10:43:17 -06:00
Andy Miller
48ef93e495 more tidy 2019-05-03 10:43:13 -06:00
Matias Griese
3f7da86711 Missed lock file 2019-05-03 08:54:51 +03:00
Matias Griese
11aa2314d5 Fixed typo in composer.json 2019-05-03 08:52:53 +03:00
Andy Miller
179c5065ca minor rounding stuff 2019-05-02 16:06:08 -06:00
Andy Miller
7c60f73942 vendor libs 2019-05-02 15:05:01 -06:00
Andy Miller
7095c665b7 Output correct "Last Updated" in bin/gpm info command 2019-05-02 15:03:01 -06:00
Matias Griese
c6d94885e0 Fixed exception in Flex::getDirectories() if the first parameter is set 2019-05-02 16:37:35 +03:00
Matias Griese
d9ddab8239 Merge remote-tracking branch 'origin/develop' into develop 2019-05-02 14:11:35 +03:00
Matias Griese
a118d45177 Flex collection and object now fall back to the default template if template file doesn't exist 2019-05-02 14:11:22 +03:00
Matias Griese
416c400367 Made UserCollectionInderface to extend Countable to get the count of existing users 2019-05-02 14:10:09 +03:00
Raphaël Droz
e6839530d8 When using Grav behind an HTTPS-endpoint, we would probably have either one of (#2486)
* `HTTPS=on`
* `X-Forwarded-Proto https`
Still, the latest virtualhost would still provide `REQUEST_SCHEME` which,
contrary to HTTPS environment, would not be overriden (eg: Apache only
creates `REDIRECT_REQUEST_SCHEME` with the requested value).

This change gives priority to non-empty `HTTPS` over `REQUEST_SCHEME`.
2019-04-30 12:18:20 -06:00
Matias Griese
fea9e53be3 Flex admin: added default search options for flex objects 2019-04-30 10:49:59 +03:00
Matias Griese
c5b3792a60 Change cache touch parameter to invalidate, added CLI option for it 2019-04-30 10:48:35 +03:00
Andy Miller
4f83b5da5b non-standard lang code length fixes 2019-04-29 17:31:56 -06:00
Andy Miller
504c8faf4c Merge branch 'develop' of github.com:getgrav/grav into develop 2019-04-26 13:11:32 -06:00
Andy Miller
4d6db5b334 Fix for avatar_url provided by 3rd party providers 2019-04-26 13:11:28 -06:00
Matias Griese
ec1fc1f1e3 Change cache touch parameter to invalidate, added CLI option for it 2019-04-26 09:54:14 +03:00
Matias Griese
563cf8900c Merge remote-tracking branch 'origin/develop' into develop 2019-04-25 21:08:16 +03:00
Matias Griese
0850c2f362 Added Cache::clearCache('touch') parameter for just forcing simple cache clear 2019-04-25 21:08:07 +03:00
Andy Miller
f30334d80f Fixed Assets options array mixed with standalone priority #2477 2019-04-25 11:53:11 -06:00
Matias Griese
9057a804a2 Added Pages::setCheckMethod() method to override page configuration in Admin Plugin 2019-04-25 16:07:25 +03:00
Matias Griese
4c5c26033a Added support for configurable actions in Flex 2019-04-24 17:14:44 +03:00
Matias Griese
a4f679adcf Added Route::withoutParams() methods 2019-04-24 14:48:37 +03:00
Matias Griese
e9e12392ac Fixed $grav['route'] from being modified when the route instance gets modified 2019-04-24 14:03:55 +03:00
Andy Miller
6b4663c2ff Merge branch 'release/1.6.8' 2019-04-23 15:02:10 -06:00
Andy Miller
0411c3a98b Merge tag '1.6.8' into develop
Release v1.6.8
2019-04-23 15:02:10 -06:00
Andy Miller
972a758ac9 prepaer for release 2019-04-23 15:01:59 -06:00
Andy Miller
05d72306c6 updated changelog 2019-04-23 14:58:42 -06:00
Andy Miller
18b7c0955d updated clean command 2019-04-23 14:46:51 -06:00
Andy Miller
71cbbf4e1e remove hipchat 2019-04-23 14:46:35 -06:00
Matias Griese
0606e12872 Added FlexCollection::filterBy() method 2019-04-23 13:24:45 +03:00
Matias Griese
afc7cac5ab Improve null result handling in Flex 2019-04-23 11:13:29 +03:00
Matias Griese
471e3d8954 Revert "Use Null Coalesce Operator (#2466)"
This reverts commit be8eb639
2019-04-23 10:54:26 +03:00
Andy Miller
89a92cddc7 Merge branch 'release/1.6.7' 2019-04-22 15:20:18 -06:00
Andy Miller
74988f1254 Merge tag '1.6.7' into develop
Release v1.6.7
2019-04-22 15:20:18 -06:00
Andy Miller
f2f2bc1cf8 prepare for release 2019-04-22 15:20:08 -06:00
Andy Miller
31c5809e4a Better fix for #2470 2019-04-22 14:43:54 -06:00
Andy Miller
b4b8b63e24 Fix for manually set position on external URLs #2470 2019-04-22 14:29:31 -06:00
Andy Miller
9c0de8b0d3 New Yaml linter class 2019-04-20 17:41:17 -06:00
Andy Miller
f4cca777c2 Created a YAML Linter CLI command 2019-04-20 17:41:09 -06:00
Andy Miller
8d7d143d01 Merge branch 'develop' of github.com:getgrav/grav into develop 2019-04-20 12:33:11 -06:00
Andy Miller
d9109e9934 Fix issue when excluding inlineJs and inlineCss from Assets pipeline #2468 2019-04-20 12:33:07 -06:00
Gabriel Caruso
be8eb63944 Use Null Coalesce Operator (#2466) 2019-04-20 10:55:55 -06:00
Andy Miller
9342981d8c updated changelog 2019-04-19 10:43:01 -06:00
Tyler Cosgrove
6e9af3bb29 Add getSubnet util to Grav\Common\Utils (#2465) 2019-04-19 10:29:19 -06:00
Matias Griese
7e39755154 Improve null result handling in Flex 2019-04-18 19:16:01 +03:00
Matias Griese
97af8919fc Remove disabled fields from the form schema 2019-04-18 19:14:55 +03:00
Matias Griese
6cdfaeb8fb Improve FormTrait backwards compatibility with existing forms 2019-04-18 11:43:22 +03:00
Andy Miller
4ea00b0140 Merge branch 'release/1.6.6' 2019-04-17 16:02:05 -06:00
Andy Miller
864c5027c6 Merge tag '1.6.6' into develop
Release v1.6.6
2019-04-17 16:02:05 -06:00
Andy Miller
0bb55faa2d prepare for release 2019-04-17 16:01:54 -06:00
Andy Miller
f757863e1c updated changelog 2019-04-17 15:49:30 -06:00
Matias Griese
3ffd2f5f5e Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	CHANGELOG.md
2019-04-17 22:11:08 +03:00
Matias Griese
6aa135e80a Fixed FlexForm missing getter methods for defining form variables 2019-04-17 22:10:28 +03:00
Andy Miller
07f4bd0699 fixes #2461 2019-04-17 11:44:00 -06:00
Andy Miller
c200a55336 fixes #2460 2019-04-17 11:27:45 -06:00
Andy Miller
14fed2bb75 Merge branch 'develop' of github.com:getgrav/grav into develop
# Conflicts:
#	CHANGELOG.md
2019-04-17 09:00:35 -06:00
Andy Miller
44ecd61489 Roll back redirect_default_route fix as it has issues with multilang #2459 2019-04-17 09:00:03 -06:00
Matias Griese
882212520f Fixed bug in text field filtering: return empty string if value isn't a string or number 2019-04-17 16:25:36 +03:00
Matias Griese
9467939f53 Added new FormInterface::getTask() method which reads the task from form.task in the blueprint 2019-04-16 14:43:44 +03:00
Matias Griese
e3933ebdf6 Minor fix in Flex 2019-04-16 14:41:14 +03:00
Matias Griese
0d99a03c39 Fixed Flex simple storage not being properly initialized if used with caching 2019-04-16 10:58:20 +03:00
Andy Miller
e9117301d4 Merge branch 'release/1.6.5' 2019-04-15 19:22:14 -06:00
Andy Miller
bf199e9394 Merge tag '1.6.5' into develop
Release v1.6.5
2019-04-15 19:22:14 -06:00
Andy Miller
c070b0afbb prepare for release 2019-04-15 19:21:59 -06:00
Andy Miller
d54387b281 Backwards compatiblity with old Uri::__toString() output 2019-04-15 19:21:14 -06:00
Andy Miller
2bc6848464 Merge branch 'release/1.6.4' 2019-04-15 14:48:10 -06:00
Andy Miller
ab7c5d2fc5 Merge tag '1.6.4' into develop
Release v1.6.4
2019-04-15 14:48:10 -06:00
Andy Miller
abefbfc776 prepare for release 2019-04-15 14:48:01 -06:00
Andy Miller
ad173ca129 Improved redirect_default_route logic as well as Uri::toArray() to take into account root_path and extension 2019-04-15 12:44:48 -06:00
Andy Miller
d69ef0e39c Refactored rounded logic in Utils::parseSize() #2394 2019-04-15 11:00:11 -06:00
Matias Griese
436be17881 Fixed Flex simple storage not being properly initialized if used with caching 2019-04-15 14:26:55 +03:00
Andy Miller
9a5fa7e699 Extra forcing of first level arrays in taxonomy 2019-04-14 13:08:57 -06:00
Andy Miller
d502ff08c1 Attempt to resolve issue in form#332 2019-04-13 17:20:45 -06:00
Andy Miller
14eb1281f9 Fix to force all Page::taxonomy to be treated as strings #2446 2019-04-13 13:53:46 -06:00
Andy Miller
8fd7a5aebe Fixes #2445 pipeline excluded assets with cache on 2019-04-13 13:18:13 -06:00
Andy Miller
08423df547 code tidy 2019-04-13 12:27:19 -06:00
Andy Miller
40563ed2f8 Better Utils::normalizePath() logic #2216 2019-04-13 12:21:54 -06:00
Andy Miller
b639f09ca7 Merge branch 'release/1.6.3' 2019-04-12 19:48:13 -06:00
Andy Miller
dd134ad551 Merge tag '1.6.3' into develop
Release v1.6.3
2019-04-12 19:48:13 -06:00
Andy Miller
3d93d50cf0 prepare for release 2019-04-12 19:48:03 -06:00
Andy Miller
f1da7b6063 Fix for vUndefined errors when upgrading 2019-04-12 09:49:20 -06:00
Andy Miller
ef7b33f9b6 Fixed issue with Utils::normalizePath messing with external URLs #2216 2019-04-12 07:55:51 -06:00
Andy Miller
0f0e6ab1c8 Missed this one! #2442 2019-04-12 07:26:44 -06:00
Matias Griese
5362b312d1 Added Blueprint::addDynamicHandler() method to allow custom dynamic handlers, for example custom-options@: getCustomOptions 2019-04-12 12:23:31 +03:00
Andy Miller
ca4d6a398f Merge branch 'release/1.6.2' 2019-04-11 18:25:47 -06:00
Andy Miller
ed00d480f2 Merge tag '1.6.2' into develop
Release v1.6.2
2019-04-11 18:25:47 -06:00
Andy Miller
057bdd546b prepare for release 2019-04-11 18:25:38 -06:00
Andy Miller
7762f0c85e * Revert renaming of ClearCacheCommand to ensure CLI GPM upgrades go smoothly 2019-04-11 18:22:38 -06:00
Andy Miller
1e6c01ea65 Merge branch 'release/1.6.1' 2019-04-11 16:46:51 -06:00
Andy Miller
4b777f508b Merge tag '1.6.1' into develop
Release v1.6.1
2019-04-11 16:46:51 -06:00
Andy Miller
d15f125964 prepare for release 2019-04-11 16:46:43 -06:00
Andy Miller
32b435b7e6 Revert attempted fixes 2019-04-11 16:45:31 -06:00
Andy Miller
31d301911f Merge branch 'release/1.6.1' 2019-04-11 16:33:08 -06:00
Andy Miller
911eec5e68 Merge tag '1.6.1' into develop
Release v1.6.1
2019-04-11 16:33:08 -06:00
Andy Miller
2e4bb25e2e prepare for release 2019-04-11 16:32:59 -06:00
Andy Miller
d99c80eae9 More backwards compatibility 2019-04-11 16:29:55 -06:00
Andy Miller
0e03240d13 Merge branch 'release/1.6.1' 2019-04-11 15:25:47 -06:00
Andy Miller
02064117bc Merge tag '1.6.1' into develop
Release v1.6.1
2019-04-11 15:25:47 -06:00
Andy Miller
a9e0cc7159 prepare for release 2019-04-11 15:25:31 -06:00
Andy Miller
6b4332db72 not sure if needed, but might be same issue as DebuggerAssetsProcessor 2019-04-11 15:24:54 -06:00
Andy Miller
0f591953a0 update changelog 2019-04-11 15:19:55 -06:00
Andy Miller
0a5e78ccc6 Hopefully fix the DebuggerAssetsProcess error on upgrade of older versions 2019-04-11 15:19:43 -06:00
Andy Miller
fbf7c50a12 no longer needed 2019-04-11 15:06:19 -06:00
Andy Miller
09c1255239 fixes #2440 2019-04-11 15:05:50 -06:00
Andy Miller
75650ceba3 Better CSS for DebugBar 2019-04-11 15:04:00 -06:00
Andy Miller
e2a65004f3 Merge tag '1.6.0' into develop
Release v1.6.0
2019-04-11 12:38:38 -06:00
Andy Miller
d4e1bcc660 Merge branch 'release/1.6.0' 2019-04-11 12:38:37 -06:00
Andy Miller
b1b1670c77 prepare for release 2019-04-11 12:38:27 -06:00
Andy Miller
5a3674f6f6 set releases to stable 2019-04-11 12:36:14 -06:00
Andy Miller
e622e204bf update to include PHP 7.3 next time 2019-04-11 12:31:13 -06:00
Andy Miller
c378b06a90 Merge tag '1.6.0' into develop
Release v1.6.0
2019-04-11 12:23:38 -06:00
Andy Miller
c6ce6e6c32 Merge branch 'release/1.6.0' 2019-04-11 12:23:37 -06:00
Andy Miller
355f7ee748 prepare for release (take 2) 2019-04-11 12:23:27 -06:00
Andy Miller
c19fa22a26 update changelog 2019-04-11 12:22:51 -06:00
Matias Griese
5ba4c8ee5b Merge remote-tracking branch 'origin/1.6' into 1.6 2019-04-11 19:43:12 +03:00
Matias Griese
306df5837d Added FlexStorageInterface::hasKeys() 2019-04-11 19:43:01 +03:00
Andy Miller
66bba376db minor fixes and tests for Utils::url 2019-04-11 07:30:12 -06:00
Andy Miller
ec07d37623 Merge branch '1.6' of github.com:getgrav/grav into 1.6 2019-04-10 16:51:07 -06:00
Andy Miller
cab78d36f3 Missing file 2019-04-10 16:51:02 -06:00
Andy Miller
449682baea Allow reseting of Page::metadtta 2019-04-10 16:50:55 -06:00
Andy Miller
6eb11b9717 Fix for Utils::url and extra base_url 2019-04-10 16:50:30 -06:00
Matias Griese
5a1d138d08 Merge remote-tracking branch 'origin/1.6' into 1.6 2019-04-10 20:59:21 +03:00
Matias Griese
dfd75efbe5 Fixed join() in flex user 2019-04-10 20:59:13 +03:00
Andy Miller
76ed48fc7c escape spaces 2019-04-10 11:27:49 -06:00
Andy Miller
1043b9a189 Added languages.default_lang option to override the default lang 2019-04-09 17:27:35 -06:00
Matias Griese
e401c683f5 Grav 1.6: Fixed bad key in Flex Users if file storage is being used 2019-04-09 12:06:20 +03:00
Matias Griese
9d4fe331fa Fixed error in FlexUserIndex if there are users without an email address 2019-04-09 09:58:55 +03:00
Matias Griese
fbae3fd194 Fixed Flex erroring out with all numeric keys in storage (changelog) 2019-04-08 21:38:25 +03:00
Matias Griese
022f1ce758 Composer update 2019-04-08 21:37:41 +03:00
Andy Miller
b367c664c7 tidy up 2019-04-05 17:42:30 -06:00
Andy Miller
8512968726 this closes #2432 2019-04-05 17:38:45 -06:00
Matias Griese
2ffc110f03 Composer update 2019-04-05 10:21:51 +03:00
Matias Griese
36836c516f Fixed deleting last list item in the form 2019-04-05 10:19:55 +03:00
Andy Miller
1f288c25de typo! 2019-04-04 17:06:12 -06:00
Matias Griese
a4b62d48b2 Fixed minor bugs in Flex 2019-04-04 11:28:30 +03:00
Andy Miller
397f6902f3 Improved Utils::normalizePath() to support non-protocol URLs 2019-04-03 16:52:52 -06:00
Andy Miller
e97bceed56 changelog updated 2019-04-02 12:25:27 -06:00
Andy Miller
7efc0f418e Fixed cached images not being updated when source image is modified 2019-04-02 12:20:38 -06:00
Matias Griese
ac2a4e1c06 Try fixing cache issue with media 2019-04-02 20:28:43 +03:00
Matias Griese
ef43348020 Changelog update 2019-04-01 19:53:14 +03:00
Matias Griese
b6e68bb362 PSR-16, not 15 2019-04-01 19:51:28 +03:00
Matias Griese
8d9ceb5d99 MediaTrait: Use PSR-15 cache 2019-04-01 19:49:15 +03:00
Andy Miller
af47825b76 Merge branch '1.6' of github.com:getgrav/grav into 1.6
# Conflicts:
#	CHANGELOG.md
2019-03-29 11:31:32 -06:00
Andy Miller
a4c88697af set_time_limit(0) for Archiver class 2019-03-29 11:30:55 -06:00
Matias Griese
45fbfb098a Added FlexObjectInterface::getDefaultValue() and FormInterface::getDefaultValue() 2019-03-29 18:19:03 +02:00
Matias Griese
9172e442f2 Blueprint: cache defaults to the object to speed multiple getDefaults() calls up 2019-03-29 18:14:26 +02:00
Matias Griese
3b91f9af8c FlexObjects: Remove null values during save 2019-03-29 13:01:55 +02:00
Matias Griese
d5e9cc4bfe Added RenderInterface 2019-03-28 12:52:34 +02:00
Matias Griese
bb719c5d53 Improve deprecated error logic to better track twig/yaml/markdown issues 2019-03-27 12:06:48 +02:00
Matias Griese
05a6775b08 Minor tweak 2019-03-26 14:07:58 +02:00
Matias Griese
1accbb8edc DebugBar: Fixed some instances where twig template wasn't properly assigned 2019-03-26 14:02:04 +02:00
Matias Griese
a04a7f5714 DebugBar: Resolve twig templates in deprecated backtraces in order to help locating Twig issues 2019-03-26 12:56:53 +02:00
Matias Griese
f31f7f7499 Merge remote-tracking branch 'origin/1.6' into 1.6 2019-03-26 07:51:04 +02:00
Matias Griese
354d6f307c Added Flex[Name]::getFlexType() to all flex classes to have the interface for all Flex classes 2019-03-26 07:50:54 +02:00
Andy Miller
90aa4083ca improved order of page types - fixes #2337 2019-03-25 17:29:35 -07:00
Matias Griese
5fbd252db9 Merge branch 'develop' of github.com:getgrav/grav into 1.6
# Conflicts:
#	CHANGELOG.md
#	composer.json
#	composer.lock
#	system/defines.php
2019-03-25 18:56:09 +02:00
Matias Griese
04d3237a89 Changelog update 2019-03-25 18:53:04 +02:00
Antoine Goutenoir
55aaaeed47 Add the page to the onMarkdownInitialized event. (#2418)
This will allow plugins hooking this event to mergeConfig #2412
2019-03-25 18:51:06 +02:00
Matias Griese
84d995335e Fixed Undefined method closure::fields() when getting avatar for user, thanks @Romarain [#2422] 2019-03-22 18:01:22 +02:00
Djamil Legato
f7d3299ebb Added Awesome Grav link to the Exploring More 2019-03-21 19:06:12 -07:00
Andy Miller
e762c3add9 Merge branch 'release/1.5.10' 2019-03-21 14:16:21 -06:00
Andy Miller
df6bb065d3 Merge tag '1.5.10' into develop
Release v1.5.10
2019-03-21 14:16:21 -06:00
Andy Miller
2fed02affa Prepare for release 2019-03-21 14:16:10 -06:00
Matias Griese
a739ed6825 Improved Exceptions middleware 2019-03-21 12:17:48 +02:00
Matias Griese
90c708db2b Added Content-Type: application/json body support for PSR-7 ServerRequest 2019-03-21 12:01:05 +02:00
Andy Miller
fcbd819f48 Added deferred twig extension 2019-03-20 16:31:19 -06:00
Andy Miller
a25d18bca7 prepare for RC.4 release 2019-03-20 14:06:51 -06:00
Andy Miller
4480077894 Updated with Toolbox 1.4.6 2019-03-20 14:04:35 -06:00
Andy Miller
e9aa338c1e Merge branch 'develop' into 1.6
# Conflicts:
#	composer.json
#	composer.lock
#	system/defines.php
#	system/src/Grav/Common/Page/Media.php
2019-03-20 14:04:00 -06:00
Andy Miller
88a3e874aa Merge branch 'release/1.5.9' 2019-03-20 14:01:21 -06:00
Andy Miller
87814039bc Merge tag '1.5.9' into develop
Release v1.5.9
2019-03-20 14:01:21 -06:00
Andy Miller
af72951671 prepare for release 2019-03-20 14:01:10 -06:00
Andy Miller
5f2dfc8221 Use toolbox 1.4.2 in develop branch for now 2019-03-20 13:58:00 -06:00
Andy Miller
c706756d19 changelog updated 2019-03-20 13:52:27 -06:00
Andy Miller
a4801ead6a Fix for streams with EXIF 2019-03-20 13:52:04 -06:00
Matias Griese
a57cec8404 Merge remote-tracking branch 'origin/1.6' into 1.6 2019-03-20 21:12:41 +02:00
Matias Griese
8b171435a7 Fixed File::save() silently ignoring failures with read only streams 2019-03-20 21:12:33 +02:00
Andy Miller
ab23d071a4 Merge branch 'release/1.5.9' 2019-03-20 12:04:51 -06:00
Andy Miller
3e6c4e9c5e Merge tag '1.5.9' into develop
Release 1.5.9
2019-03-20 12:04:51 -06:00
Andy Miller
28db98c95d Prepare for release 2019-03-20 12:04:26 -06:00
Andy Miller
95583dbbcd updated vendor libs 2019-03-20 11:50:00 -06:00
Andy Miller
9d8fc4a065 New onPageContent() event 2019-03-20 11:16:18 -06:00
Andy Miller
b23cd7bb65 New onPageContent() event 2019-03-20 11:14:38 -06:00
Matias Griese
28d5be982c Merge remote-tracking branch 'origin/1.6' into 1.6 2019-03-20 16:15:28 +02:00
Matias Griese
3836e4d38a Fixed file saving when temporary file cannot be created to the current folder / stream 2019-03-20 16:15:18 +02:00
Andy Miller
4ebfd51e98 Safer stream check 2019-03-20 07:22:05 -06:00
Andy Miller
25ff1241d4 docblock 2019-03-19 13:14:21 -06:00
Matias Griese
0dc3e5806e Minor fix 2019-03-19 16:42:06 +02:00
Matias Griese
982b12a239 Fixed session_start(): Setting option 'session.name' failed [#2408] 2019-03-19 13:47:35 +02:00
Matias Griese
5995515419 Added detection for deprecated features into phpstan 2019-03-19 13:37:02 +02:00
Matias Griese
8c1c813acd Greatly improved Flex interfaces and docblocks 2019-03-19 13:36:12 +02:00
Matias Griese
0e95d7faf6 Class Grav\Common\Page\Medium\AbstractMedia now use array traits instead of extending Grav\Common\Getters 2019-03-19 12:16:02 +02:00
Matias Griese
47c3d4bf9b Improved docblocks for multiple classes 2019-03-18 11:01:41 +02:00
Matias Griese
33282e043b Added composer test-plugins to test plugin issues with the current version of Grav 2019-03-18 10:58:21 +02:00
Andy Miller
81efef7c60 Hopefully fix auto_metadata_exif error #2248 2019-03-15 19:02:17 -06:00
Andy Miller
2678f56499 remove extra stuff 2019-03-15 18:11:49 -06:00
Andy Miller
cd8f578b39 site crashes if header is invalid #2343 2019-03-15 05:10:19 -06:00
Andy Miller
ab535ec8be Better solution for SEO imagename format 2019-03-14 17:14:19 -06:00
Matias Griese
ada6c3f160 Fixed phpstan level 4 and 5 errors in Grav\Framework 2019-03-14 14:06:53 +02:00
Matias Griese
0917850634 Oops, fix a bug 2019-03-14 13:27:13 +02:00
Matias Griese
c09a8fbbc4 Fixed phpstan level 3 errors in Grav\Framework 2019-03-14 13:20:29 +02:00
Matias Griese
2b392055c1 Fixed few phpstan level 3-7 issues 2019-03-14 11:31:26 +02:00
Matias Griese
45acd237f5 Changelog update (2) 2019-03-14 09:18:32 +02:00
Matias Griese
cbf79e38c4 Changelog update 2019-03-14 09:10:38 +02:00
Matias Griese
ed10ce03e2 Twig nicenumber: do not use 0 + string casting hack 2019-03-14 09:04:41 +02:00
Matias Griese
561abc851f Twig tags: use namespaced classes 2019-03-14 09:03:24 +02:00
Matias Griese
8789fd91ee Fixed/silenced the remaining phpstan level 2 issues 2019-03-14 09:01:16 +02:00
Andy Miller
b835db49f4 Added PHPStan badge 2019-03-13 21:35:49 -06:00
Andy Miller
a5e832b0b0 new option for image.prettyname_prefix 2019-03-13 18:04:52 -06:00
Matias Griese
2b16f813ef Merge remote-tracking branch 'origin/1.6' into 1.6 2019-03-13 22:22:14 +02:00
Matias Griese
30b013f5b0 Fixed most phpstan level 2 issues in Grav\Common 2019-03-13 22:22:03 +02:00
Djamil Legato
5eccfaa34b Reverted commit 48816d9 causing issues with GPM cli commands (ref, getgrav/grav-plugin-admin@e3fc4ce) 2019-03-13 13:17:10 -07:00
Matias Griese
fde69ade6b Fixed some phpstan level 2 issues in Grav\Console 2019-03-13 19:46:06 +02:00
Andy Miller
af3d5e9683 phpstan fixes 2019-03-13 11:24:07 -06:00
Andy Miller
c757e00ac9 phpstan fix 2019-03-13 11:16:00 -06:00
Matias Griese
19d61b4013 Merge branch 'develop' of github.com:getgrav/grav into 1.6
# Conflicts:
#	CHANGELOG.md
#	system/src/Grav/Common/User/User.php
2019-03-13 16:13:19 +02:00
Matias Griese
b4a4b60871 Fixed phpdoc generation 2019-03-13 16:00:00 +02:00
Matias Griese
9727f30c61 Fixed broken @inheritdoc in phpdoc blocks 2019-03-13 15:44:53 +02:00
Matias Griese
db8e5b3cbb Merge remote-tracking branch 'origin/1.6' into 1.6 2019-03-13 15:21:18 +02:00
Matias Griese
b0b6c1dd17 Fixed some more phpstan level 2 issues 2019-03-13 15:21:09 +02:00
Sébastien Vanvelthem
47bb35e2e9 Preliminary tests for CsvFormatter::encode + minor fix for empty data (#2405) 2019-03-13 15:02:46 +02:00
Matias Griese
2433e0d2cd Fixed phpstan level 2 issues in Grav\Framework 2019-03-13 14:28:16 +02:00
Matias Griese
cdf891478e Fixed some phpstan level 2 issues 2019-03-13 11:05:50 +02:00
Matias Griese
39b1940f94 Fixed phpstan level 1 issues 2019-03-13 10:16:47 +02:00
Matias Griese
8564524984 Fixed some bugs found by phpstan 2019-03-13 09:49:08 +02:00
Matias Griese
2f74f0f587 Composer update 2019-03-13 08:37:33 +02:00
Matias Griese
6e2e533184 Minor fix for FlexUser, changelog update 2019-03-13 08:30:38 +02:00
Sébastien Vanvelthem
ecd39421d6 Some phpstan issues (#2393)
* Fix bug, method init must be protected
* Added phpstan level 0
* Added exclusions
* Fix: incorrect case in Twig_SimpleFunction
* Fix, no abstract properties, if properties used in methods let's set them
* Fixed Psr\SimpleCache\InvalidArgumentException referenced with incorrect case
* added exclusions
* Fixed: Access to an undefined property Grav\Framework\Form\FormFlash::$uploadObjects.
* Fixed: does not call parent constructor from Grav\Common\Iterator.
* Fixed: does not call parent constructor from Grav\Common\Iterator.
* Fixed: does not call parent constructor
* Fixed: does not call parent constructor
* Minor: correct type for inflector
* Moved phpstan.neon out of public directory
* Added exclusion
* set GRAV_USER_INSTANCE to prevent LogiException in User
* Exlude Stream:create
* Minor: Missing storage property
* Minor: Fixed missing properties (phpstan level 1)
* Added type for $data
* Minor: Ensure $langs is initialized
* Fix possible bug in $http_response_header status code retrieval (PHP 7.1 only)
* Added exclusion for $http_response_header (isset is actually not required)
* Strict null check
2019-03-13 08:15:22 +02:00
Andy Miller
68d43a0c88 update vendor libs 2019-03-12 15:58:33 -06:00
Kirsten Roschanski
c80a3f5568 Update User.php (#2403) 2019-03-12 14:15:03 -06:00
Matias Griese
b3d84a05f5 Merge remote-tracking branch 'origin/1.6' into 1.6 2019-03-12 20:25:35 +02:00
Matias Griese
95495614a8 Simplify grav services and processors 2019-03-12 20:25:17 +02:00
Andy Miller
45d7a164b5 updated changelog 2019-03-12 06:45:39 -06:00
Andy Miller
97b236d117 updated changelog 2019-03-12 06:29:04 -06:00
Andy Miller
8718c5ef31 Remove legacy media.upload_limit references 2019-03-12 06:25:56 -06:00
Andy Miller
7d7418df26 Merge branch '1.6' of github.com:getgrav/grav into 1.6 2019-03-11 12:14:26 -06:00
Andy Miller
dd9aa5bf78 couple of helpers 2019-03-11 12:14:21 -06:00
Matias Griese
7f86f8eb6f Bug fixes 2019-03-11 14:35:44 +02:00
Matias Griese
8b4cac7ba6 Fixed settion caching in FlexIndex 2019-03-11 14:14:20 +02:00
Matias Griese
b388e91177 Implemented Grav\Framework\Pagination classes 2019-03-11 13:25:47 +02:00
Matias Griese
a2ac3f4c8b FlexForm: Fix unique id for new objects 2019-03-08 20:35:54 +02:00
Matias Griese
1db8b93cfa Request object: Include attribute for request time 2019-03-08 20:34:14 +02:00
Matias Griese
6217ac90e0 Improved Flex::getObjects() logic 2019-03-07 14:43:24 +02:00
Matias Griese
bb385490bc Regression: index not working due to missing method 2019-03-07 11:15:16 +02:00
Matias Griese
a5e48ba160 Fixed typo 2019-03-06 12:35:10 +02:00
Matias Griese
c7a4e8e4bb Added FlexObjectInterface::search() and FlexCollectionInterface::search() methods 2019-03-06 12:34:00 +02:00
Matias Griese
85d5b6e889 Generalized flex index creation 2019-03-06 10:19:47 +02:00
Andy Miller
1c725c02f0 Better error checking in bin/plugin for existence and enabled 2019-03-05 12:46:48 -07:00
Matias Griese
5008672a48 Add missing extend to PageInterface 2019-03-05 15:40:34 +02:00
Matias Griese
4e03f19bac Update all classes to rely on PageInterface instead of Page class 2019-03-05 15:29:39 +02:00
Matias Griese
a03c328ee3 Create set of interfaces for all page methods 2019-03-05 15:16:01 +02:00
Andy Miller
77ac68f2e8 Merge branch '1.6' of github.com:getgrav/grav into 1.6 2019-03-04 20:05:21 -07:00
Andy Miller
02acc34461 Move last backup logging into the backup command 2019-03-04 20:05:15 -07:00
Matias Griese
a402a8ef84 Fix FlexForm::getBlueprint() for admin 2019-03-05 00:15:30 +02:00
Matias Griese
60573c1d78 Add parameters for FlexForm::getMediaTaskRoute 2019-03-04 22:59:43 +02:00
Matias Griese
56adf40bb4 Merge remote-tracking branch 'origin/1.6' into 1.6 2019-03-04 18:22:57 +02:00
Matias Griese
d33c45165d Add object.media[filename] support into FlexMediaTrait 2019-03-04 18:22:47 +02:00
Andy Miller
032acedafe Lang updates 2019-03-01 14:32:59 -07:00
Andy Miller
6a48216afb Updated editorconfig to be valid 2019-03-01 14:14:44 -07:00
Matias Griese
85af461eb4 FlexObject: When creating object and key isn't set, use storage key instead 2019-03-01 15:13:21 +02:00
Matias Griese
4b1a129f38 Merge remote-tracking branch 'origin/1.6' into 1.6 2019-03-01 14:48:01 +02:00
Matias Griese
1762ef3d1e Added Medium::size() 2019-03-01 14:47:53 +02:00
Andy Miller
8ffba2d88d fix typo 2019-03-01 05:44:21 -07:00
Andy Miller
f19cb94f89 cleanup 2019-03-01 05:25:29 -07:00
Andy Miller
8fb7caa22a Safer check for admin 2019-02-28 18:44:29 -07:00
Andy Miller
07646860f2 updated toolbox version 2019-02-28 16:11:54 -07:00
Andy Miller
6765c5f594 Merge branch '1.6' of github.com:getgrav/grav into 1.6 2019-02-28 14:59:39 -07:00
Matias Griese
026f9cb3a0 Fixed potential undefined property in onPageNotFound event handling 2019-02-28 22:35:37 +02:00
Andy Miller
516dfd5c26 Merge branch '1.6' of github.com:getgrav/grav into 1.6 2019-02-28 11:30:12 -07:00
Andy Miller
1fbd5e0b38 Fix for static admin::tu() call 2019-02-28 11:29:54 -07:00
Matias Griese
b35a892853 Added Flex::getObjects() and Flex::getMixedCollection() methods for co-mingled collections
Added support to use single Flex key parameter in `Flex::getObject()` method
2019-02-28 16:26:39 +02:00
Matias Griese
578f8e4947 Grav\Framework\File\AbstractFile::save(): Fixed missing directory creation 2019-02-28 10:26:41 +02:00
Andy Miller
a934dd4fff Minor backup things 2019-02-27 12:46:32 -07:00
Andy Miller
18625758e5 Merge branch '1.6' of github.com:getgrav/grav into 1.6 2019-02-26 17:09:15 -07:00
Andy Miller
eb689c417b Updated libs including Toolbox 1.4.3 2019-02-26 17:09:11 -07:00
Matias Griese
df226a1102 Improved File::save() to use a temporary file if file isn't locked 2019-02-26 23:00:43 +02:00
Matias Griese
8947f5ade9 Improved File::save() not to use file lock, but a temporary file, fixed Obtaining write lock failed on file... 2019-02-26 21:21:07 +02:00
Matias Griese
941a5db8de Disable deprecation messages for Page methods for now (used in too many places) 2019-02-26 15:17:03 +02:00
Matias Griese
2fcaaea6ac Fixed mkdir(...) race condition 2019-02-26 15:13:40 +02:00
Matias Griese
5887a396c1 Update changelog by marking fixes/changes between Grav 1.6 beta releases 2019-02-26 12:28:32 +02:00
Matias Griese
f934256e06 Added more deprecation messages 2019-02-26 12:11:51 +02:00
Matias Griese
ccb465e998 Grav 1.6: Renamed $grav['users'] service to $grav['accounts'] 2019-02-26 12:11:15 +02:00
Matias Griese
1b0a6e99f7 Merge branch '1.6' of github.com:getgrav/grav into 1.6 2019-02-26 11:09:52 +02:00
Andy Miller
2e647be565 this is deprecated... 2019-02-25 16:30:31 -07:00
Matias Griese
863123ac92 Changelog update 2019-02-25 19:11:50 +02:00
Matias Griese
434620dea0 Fixed FlexObject::update() removing fields which aren't allowed by ACL 2019-02-25 15:08:33 +02:00
Matias Griese
212d7d24ef Changelog update, minor cleanup 2019-02-25 11:47:24 +02:00
Matias Griese
61cf416df4 Added B/C layer for FormatterInterface 2019-02-25 11:43:42 +02:00
Matias Griese
ff23f6b015 Renamed Grav\Framework\File\Formatter\FormatterInterface to Grav\Framework\File\Interfaces\FileFormatterInterface 2019-02-25 11:29:48 +02:00
Matias Griese
d59d60647c Fixed FlexUser::find() breaking when nothing is found 2019-02-19 23:06:29 +02:00
Matias Griese
cf088d00ff Fixed FlexUser loosing ACL information (apply only for user) 2019-02-19 22:39:47 +02:00
Matias Griese
dd5a10d0e2 Fixed FlexUser loosing ACL information 2019-02-19 22:33:51 +02:00
Matias Griese
0da39aa397 Added method to return FlexIndex from FlexCollection 2019-02-19 12:16:48 +02:00
Andy Miller
2dff43acba prepare for rc.3 2019-02-18 14:56:57 -07:00
Andy Miller
c97853e1aa updated languages 2019-02-18 14:43:06 -07:00
Andy Miller
c9be74fe39 Updated libs 2019-02-18 13:52:56 -07:00
Andy Miller
e7df9c1dca Merge branch 'develop' into 1.6
# Conflicts:
#	CHANGELOG.md
#	system/defines.php
2019-02-18 13:50:22 -07:00
Andy Miller
3c680cd8e8 Added support for a backlink in scheduler 2019-02-18 13:18:01 -07:00
Andy Miller
3545761b92 reformatted the site.yaml a little 2019-02-18 12:59:56 -07:00
Andy Miller
72016d7e7c Fixed purgeJob() and added clearJob() 2019-02-18 12:59:47 -07:00
Andy Miller
6c1701ea5a Fix for email causing infinite ‘call’ recursion 2019-02-16 18:13:24 -07:00
Matias Griese
28372be982 Fixed bug in Flex collection caching 2019-02-15 22:08:02 +02:00
Matias Griese
58f85212db Renamed flex users blueprints to match the class name, move index file [#2378] 2019-02-15 20:15:17 +02:00
Matias Griese
c39bdaf7f2 Added getCache() method to FlexIndex, FlexCollection and FlexObject 2019-02-15 14:17:21 +02:00
Matias Griese
16ab2e59f1 Renamed FlexIndex::getIndex() to getIndexMap() 2019-02-15 13:15:24 +02:00
Matias Griese
29c65c74db Merge remote-tracking branch 'origin/1.6' into 1.6 2019-02-15 11:14:02 +02:00
Matias Griese
fee77d7301 Fixed FlexIndex keys being lost when FlexCollection gets loaded 2019-02-15 11:13:50 +02:00
Andy Miller
21d9fa1e74 display fullname instead of title in list 2019-02-14 16:40:02 -07:00
Matias Griese
b4d973bfd0 Remove var_dump(), oopsie! 2019-02-14 21:12:53 +02:00
Matias Griese
993db32652 Console commands: add method for invalidating cache 2019-02-14 15:32:42 +02:00
Matias Griese
a0f4878c12 Updated version to rc.3 2019-02-14 11:44:32 +02:00
Matias Griese
452df10ea1 Updated UserInterface and FlexObjectInterface by adding missing update() parameter 2019-02-14 11:35:43 +02:00
Matias Griese
a3bf38b182 Change typehints from User to UserInterface 2019-02-14 11:34:41 +02:00
Matias Griese
674ea8ae25 Fixed validation for boolean toggles 2019-02-14 10:39:10 +02:00
Matias Griese
94610f4e61 Fixed missing form_nonce for JS when using FlexForm 2019-02-14 10:06:24 +02:00
Matias Griese
b2df60647d Initialize users before plugins on bin/plugin commands 2019-02-14 09:56:11 +02:00
Matias Griese
e8650a55af Merge remote-tracking branch 'origin/1.6' into 1.6 2019-02-13 23:48:26 +02:00
Matias Griese
09805f7091 Fixed FlexIndex keys being lost when FlexCollection gets loaded 2019-02-13 23:30:35 +02:00
Andy Miller
a63040aa11 Updated built-in composer 2019-02-13 13:18:22 -07:00
Andy Miller
3e97ecab68 Fixes issue with uninitialized users object 2019-02-13 13:17:21 -07:00
Robbert
409b4028d0 fix dead link + add http > https changes to site urls (#2369) 2019-02-12 12:14:28 -07:00
Matias Griese
85b4996dbf Changelog update 2019-02-12 16:16:17 +02:00
Matias Griese
e7041ff48e Change default attribute value of Flex[class]::getType($prefix) to false 2019-02-12 16:14:02 +02:00
Matias Griese
793b56fc8c Fixed validation for select field type with selectize 2019-02-12 14:32:29 +02:00
Matias Griese
ea91601459 Allow onRequestHandlerInit to set Response object 2019-02-11 15:01:23 +02:00
Matias Griese
6e3edb7dfb Some bug fixes for Psr-7 & request handler 2019-02-11 13:59:15 +02:00
Matias Griese
4e38c1fe25 Improve onRequestHandlerInit event 2019-02-11 13:18:32 +02:00
Andy Miller
2adb13ac66 Use array to make ordering easier 2019-02-08 12:34:52 -07:00
Matias Griese
d565c4af16 Improvements for Grav\Framework\Psr7 2019-02-08 21:24:02 +02:00
Matias Griese
877529ae5b Implemented Grav\Framework\Psr7 classes as Nyholm/psr7 decorators 2019-02-08 20:49:05 +02:00
Andy Miller
8b89c2c52e Missing pages.types #1612 2019-02-08 08:47:57 -07:00
Matias Griese
427ba0e420 Fixed FlexUser caching 2019-02-08 13:33:33 +02:00
Matias Griese
4be7aa5665 Changelog update 2019-02-08 12:58:34 +02:00
Matias Griese
9bd66031ab Grav 1.6 code cleanup (#2366)
* Code cleanup
* Define admin menu for Flex Users
2019-02-08 12:56:15 +02:00
Andy Miller
48816d9f2e Fix issue with vUndefined in GPM 2019-02-07 17:56:45 -07:00
Andy Miller
031bfdc1e7 prepare for rc.2 release 2019-02-07 16:23:57 -07:00
Andy Miller
88121aaab4 Merge tag '1.5.8' into develop
Release v1.5.8
2019-02-07 16:04:56 -07:00
Matias Griese
1391dd38a4 Changelog update 2019-02-07 23:40:33 +02:00
Andy Miller
f8f1d5854c Squashed commit of the following:
commit 6522db9beb579ee9ccb4f8b73f22bd0a57af5294
Merge: e047173f a1c8cb9f
Author: Matias Griese <matias@trilbymedia.com>
Date:   Thu Feb 7 21:25:18 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

commit e047173fe0acf79a593db5b2e9db87cdc6f416a1
Author: Matias Griese <matias@trilbymedia.com>
Date:   Thu Feb 7 21:09:18 2019 +0200

    Updated FlexCollection to match object isAuthorized() call (fixed oopsie)

commit a937a5834fab908c915d9859479b07088cbe1677
Author: Matias Griese <matias@trilbymedia.com>
Date:   Thu Feb 7 21:02:21 2019 +0200

    Updated FlexCollection to match object isAuthorized() call

commit 24ea31364632dddc38057e243075787340c3e86b
Author: Matias Griese <matias@trilbymedia.com>
Date:   Thu Feb 7 20:48:13 2019 +0200

    Fixed infinite loop when creating DataUser object

commit 5da9fa8e1a4d213e16d8ca5c64a898c1712a28aa
Author: Matias Griese <matias@trilbymedia.com>
Date:   Thu Feb 7 17:34:54 2019 +0200

    Renamed `FlexAuthorizeInterface::authorize()` to `isAuthorized()`

commit 42fcf352a53a89e2082449ff6280804d913cac99
Author: Matias Griese <matias@trilbymedia.com>
Date:   Thu Feb 7 10:10:41 2019 +0200

    Added proper security check for user access levels

commit 43f8051305909f4579a65026de020c4ccdb1d15a
Author: Matias Griese <matias@trilbymedia.com>
Date:   Thu Feb 7 10:07:35 2019 +0200

    Added configuration options for system.accounts fields

commit 9ff8cc6e984744cb1031184721cb3a03d38ca33a
Author: Andy Miller <rhuk@mac.com>
Date:   Wed Feb 6 13:20:02 2019 -0700

    Cleanly handle session corruption due to changing Flex object types

commit 472c7e5367d7e27044e6bf1629800c69178a4b70
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Feb 6 21:50:48 2019 +0200

    Added isValid() method for Data/FlexUser classes

commit 3098479d5e5f0ae370495f77e0615f1a50d9501c
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Feb 6 14:00:06 2019 +0200

    Changelog update

commit 56956e178c93b8eefe055f645693b44f0ce71092
Merge: 84510cdc 466374ba
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Feb 6 13:32:03 2019 +0200

    Merge remote-tracking branch 'origin/1.7' into 1.7

commit 84510cdc24bf445aeb3b4787c6a3198d31789e8c
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Feb 6 13:31:40 2019 +0200

    Restructure Users logic to allow us to switch between old and new classes

commit 466374ba33ba89b396a36cc4fc0bd53f0d974bd0
Merge: 3a84c382 26de0340
Author: Andy Miller <rhuk@mac.com>
Date:   Tue Feb 5 20:37:33 2019 -0700

    Merge branch '1.6' into 1.7

commit 8f9c0e513a48161e97ca8940036c94984b9e814e
Author: Matias Griese <matias@trilbymedia.com>
Date:   Tue Feb 5 16:23:21 2019 +0200

    Restructure FlexUsers to allow us to switch between old and new classes

commit 3a84c3822b4374dd767fed235003f426a0e48f4b
Merge: 6412498a 34bf8fb5
Author: Matias Griese <matias@trilbymedia.com>
Date:   Tue Feb 5 14:24:09 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

    # Conflicts:
    #	system/defines.php

commit 6412498acab51bfe96ff2fd071a6875e3f8e435b
Merge: 3467f1d8 b1d43d29
Author: Andy Miller <rhuk@mac.com>
Date:   Mon Feb 4 16:48:04 2019 -0700

    Merge branch '1.6' into 1.7

commit 3467f1d8d0448e588a8902ff70f13e24c4117e33
Merge: 49cf9820 c713625a
Author: Matias Griese <matias@trilbymedia.com>
Date:   Mon Feb 4 22:27:56 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

commit 49cf9820be70b37ae9ac69e7a35950e5b9fb6c25
Merge: e0aca2f6 24e6b6c8
Author: Matias Griese <matias@trilbymedia.com>
Date:   Mon Feb 4 22:21:37 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

commit e0aca2f6a0823b7346dc3eeaed698d55d9ae2f4f
Merge: 0bc93fae 632a2d79
Author: Matias Griese <matias@trilbymedia.com>
Date:   Fri Feb 1 09:06:50 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

    # Conflicts:
    #	system/src/Grav/Common/User/User.php

commit 0bc93faec721e497867bdba224a61bdd397ff8c6
Merge: 91e17b8b e4b1d2ed
Author: Andy Miller <rhuk@mac.com>
Date:   Thu Jan 31 18:42:25 2019 -0700

    Merge branch '1.6' into 1.7

commit 91e17b8b14d4eeeccdd2f297dd27efbc4f515a19
Merge: 959cd21d 9fadb992
Author: Andy Miller <rhuk@mac.com>
Date:   Thu Jan 31 15:41:51 2019 -0700

    Merge branch '1.7' of github.com:getgrav/grav into 1.7

    # Conflicts:
    #	CHANGELOG.md

commit 959cd21da6a3aa3d15e67ad25114b4238fd5eba9
Merge: 22eedbfd a3fea3d0
Author: Andy Miller <rhuk@mac.com>
Date:   Thu Jan 31 15:40:21 2019 -0700

    Merge branch '1.6' into 1.7

    # Conflicts:
    #	CHANGELOG.md
    #	system/defines.php

commit 9fadb992a409473ec047cee329adfd2fc001ec99
Author: Matias Griese <matias@trilbymedia.com>
Date:   Fri Feb 1 00:11:05 2019 +0200

    Added search() for user collection

commit fb1193e465fa0f6719a43215d0218d9e774519f1
Merge: d633eabf d50e5d95
Author: Matias Griese <matias@trilbymedia.com>
Date:   Thu Jan 31 21:19:35 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

commit d633eabf58216f18c3bd2ac179f474f621206d5a
Author: Matias Griese <matias@trilbymedia.com>
Date:   Thu Jan 31 21:17:35 2019 +0200

    Index username and email in lowercase letters

commit 86db584b0075ef7ad523d97bbe600c83815648e0
Author: Matias Griese <matias@trilbymedia.com>
Date:   Thu Jan 31 15:21:40 2019 +0200

    Rework FlexUser index

commit 540dbcd24c790114cec122f8bfbdc4d199cd9e2b
Merge: 28e41fb7 7a044c73
Author: Matias Griese <matias@trilbymedia.com>
Date:   Thu Jan 31 15:08:38 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

    # Conflicts:
    #	CHANGELOG.md

commit 28e41fb7e76bc1e569c0fcb8440c16d228396c73
Author: Matias Griese <matias@trilbymedia.com>
Date:   Thu Jan 31 11:17:29 2019 +0200

    Remove useless check

commit bd7b91efcba0914a3b4a664319c73b230e0e0755
Merge: 22eedbfd 4f80a156
Author: Matias Griese <matias@trilbymedia.com>
Date:   Thu Jan 31 10:16:33 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

    # Conflicts:
    #	CHANGELOG.md
    #	system/defines.php

commit 22eedbfd1160a38f24525c50cb4ca61caec4a1f8
Author: Andy Miller <rhuk@mac.com>
Date:   Wed Jan 30 17:18:59 2019 -0700

    Defines update

commit 338d40993e16e5c233c5fd010a259bbb37433de3
Merge: 1ecb6c4c f312c44a
Author: Andy Miller <rhuk@mac.com>
Date:   Wed Jan 30 17:15:38 2019 -0700

    Merge branch '1.6' into 1.7

commit 1ecb6c4c2b42e61785c473348bbeaffd2319344a
Merge: 22fc6ede 60436104
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Jan 30 21:05:13 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

commit 22fc6edea286a51bb15f23dd8762960b5bb1821f
Merge: 21b9e2cd d45efb48
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Jan 30 20:51:30 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

commit 21b9e2cd7c06e9f286428f2794ebd7d4e8f0e64d
Merge: 09f9eb22 610c6c34
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Jan 30 11:20:39 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

commit 09f9eb228f5980a56602b0a82ca73929d1d0336c
Author: Andy Miller <rhuk@mac.com>
Date:   Tue Jan 29 17:16:42 2019 -0700

    updated changelog

commit d2641c89e5a8e25d5a8d20cb10d7d0d302661ac7
Author: Matias Griese <matias@trilbymedia.com>
Date:   Tue Jan 29 23:08:04 2019 +0200

    Added support for looking up user by key, flex_key and storage_key

commit 2482ae7b8ca46e9cd6c7759ee5c3a62cb1e58363
Merge: 354bfd95 bbdac0fd
Author: Matias Griese <matias@trilbymedia.com>
Date:   Tue Jan 29 22:22:29 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

commit 354bfd95fccf169357591a7f4c6b603121012f12
Merge: c0299f0d 5f5bfdaa
Author: Matias Griese <matias@trilbymedia.com>
Date:   Tue Jan 29 19:32:41 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

commit c0299f0de81ebc3a0d05e147443a1602e7f86a34
Author: Matias Griese <matias@trilbymedia.com>
Date:   Tue Jan 29 19:22:24 2019 +0200

    Log alert if user index file gets corrupted or cannot be read

commit a9bd316868c45ada12ba7756ef6abc46daa3638d
Merge: 318cff10 ad7fdd5c
Author: Matias Griese <matias@trilbymedia.com>
Date:   Tue Jan 29 18:15:00 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

commit 318cff102747c863e785f3bdbf3e538c84884b29
Author: Matias Griese <matias@trilbymedia.com>
Date:   Tue Jan 29 18:00:18 2019 +0200

    FlexUser: Do not fail hard if user index is corrupted

commit a402e675e485c2ccaa9e15f0d4f444073efe1fc5
Merge: a6179018 1321e582
Author: Matias Griese <matias@trilbymedia.com>
Date:   Tue Jan 29 16:09:10 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

commit a6179018d3e57acf6a0e00ed8cbe65be1b214ae7
Merge: eaeb9d30 f7865873
Author: Matias Griese <matias@trilbymedia.com>
Date:   Mon Jan 28 19:48:39 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

commit eaeb9d30251e9e31cd72c34c2f0f3a9b8e448f6c
Author: Matias Griese <matias@trilbymedia.com>
Date:   Fri Jan 25 12:20:16 2019 +0200

    FlexUser: Fixed original avatar image saving if there wasn't any before resize

commit 6e9b880dba19e3e717065e1d6b9adce4eb4fa100
Merge: d02f1c3d 5ad4ffd3
Author: Matias Griese <matias@trilbymedia.com>
Date:   Fri Jan 25 12:13:03 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

    # Conflicts:
    #	system/src/Grav/Common/Form/FormFlash.php

commit d02f1c3dd6b9e621fd1da5d9fb845faf2efb14d2
Author: Matias Griese <matias@trilbymedia.com>
Date:   Fri Jan 25 11:42:56 2019 +0200

    Fixed a bug on Form file crop with existing data

commit 17221a2a31fb7153e83e6a949bd004fe6aa73af8
Merge: c1c0467e 0700e4bf
Author: Matias Griese <matias@trilbymedia.com>
Date:   Fri Jan 25 11:08:14 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into 1.7

commit c1c0467ea1510bf7a7dceadefccb1358a6e74b28
Author: Matias Griese <matias@trilbymedia.com>
Date:   Thu Jan 24 16:20:51 2019 +0200

    Added `FlexCollection::sort()` method

commit a07f36995573646ce08fa8fb70adcb9f6ccbb95b
Merge: 4929c700 6d89108c
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Jan 23 21:25:35 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into feature/1.6-flex-users

commit 4929c700065c10c6e047fd46169d121aea8c0fad
Merge: 13aac576 4e31a114
Author: Andy Miller <rhuk@mac.com>
Date:   Wed Jan 23 12:17:23 2019 -0700

    Merge branch '1.6' into feature/1.6-flex-users

commit 13aac576f81c0ef1a6721652c04432512c3bb669
Merge: 81b47c21 18d53079
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Jan 23 20:54:29 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into feature/1.6-flex-users

commit 81b47c21ff58d5c6c876857dd9ea24d9cef97880
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Jan 23 15:43:23 2019 +0200

    Move user search index into user-data://accounts folder

commit c7bf4fc71abd1298d729da08e0770dd94ab4f708
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Jan 23 15:41:48 2019 +0200

    Fixed fatal error when user has no avatar

commit 586f6252d84c657b58fe84b79955c4542900e56a
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Jan 23 15:41:18 2019 +0200

    Added configuration option for account storage type, default to old structure

commit 78cd6d05aa06e132ba4090edac5b4a4dab54d13b
Merge: 2d554b55 57de7cc0
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Jan 23 15:14:17 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into feature/1.6-flex-users

commit 2d554b5577224bdd160e1319a9ba51b0b0ee6a34
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Jan 23 12:46:50 2019 +0200

    FlexUser: Added original/cropped image support

commit 3f78f1b82316cf4d8bb2d0109c11ec6bf73c2bc5
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Jan 23 12:13:54 2019 +0200

    FlexUser: Added original image/crop support

commit f8b7e7922cb036d57345d5587e9ba70271722503
Merge: f6b81fde e6b6e218
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Jan 23 11:21:16 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into feature/1.6-flex-users

commit f6b81fde528a2b6ef17b784a5b695bb371b4617c
Merge: d82eeeac 24305528
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Jan 23 11:11:39 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into feature/1.6-flex-users

commit d82eeeac9b50290d17b852e2221d9ae97b375fdc
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Jan 23 10:28:58 2019 +0200

    MediaTrait: Clearing cache should unset media variable

commit ddaa9117ed7e795f95d897b6dd07a604482ca60b
Author: Matias Griese <matias@trilbymedia.com>
Date:   Wed Jan 23 10:11:26 2019 +0200

    FlexUser: Fixed issue on avatar if the field isn't what is expected by default (an array)

commit 8b23a47708106557c41fe497211e4dc3c7c1767e
Author: Matias Griese <matias@trilbymedia.com>
Date:   Tue Jan 22 22:03:47 2019 +0200

    Added User::getAvatarMedia() method

commit bb175341a5cb556c698481731fe73e9fa4b07643
Merge: bc9d60ca 5b0e2e40
Author: Matias Griese <matias@trilbymedia.com>
Date:   Tue Jan 22 21:44:18 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into feature/1.6-flex-users

    # Conflicts:
    #	system/src/Grav/Common/User/User.php

commit bc9d60ca79888c1c7eb0087bc841f409a67017b0
Author: Matias Griese <matias@trilbymedia.com>
Date:   Tue Jan 22 21:25:19 2019 +0200

    FlexUser: Fix extra parameter

commit 93b4b03706e8440e8e7ccad473fc5595ac85b631
Author: Matias Griese <matias@trilbymedia.com>
Date:   Tue Jan 22 11:10:51 2019 +0200

    FlexUser: Added support for avatar (or images in general)

commit fcd5756d2747cc4126c03fc53c2bd1bd35f0e8dc
Author: Matias Griese <matias@trilbymedia.com>
Date:   Tue Jan 22 09:29:54 2019 +0200

    Add `FormFlash::clearFiles()` method

commit 9da3c566188fa3f68077292d82a68b793763dc6a
Author: Matias Griese <matias@trilbymedia.com>
Date:   Mon Jan 21 20:57:07 2019 +0200

    Added media support for User

commit bb94022b709cebc73be4b3f010568b6504535aa2
Author: Matias Griese <matias@trilbymedia.com>
Date:   Mon Jan 21 11:44:35 2019 +0200

    Store users with unique ids

commit 6a184c4011ed3ed90cec4d536ead067896a580aa
Merge: 698a291c bd27d6fe
Author: Matias Griese <matias@trilbymedia.com>
Date:   Fri Jan 18 14:14:23 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into feature/1.6-flex-users

    # Conflicts:
    #	system/src/Grav/Common/User/User.php

commit 698a291cc844605dd8e969784883207308bc3a5f
Author: Matias Griese <matias@trilbymedia.com>
Date:   Fri Jan 18 14:02:02 2019 +0200

    Make sure that `authenticated` and `authorized` will not be saved into the file

commit 59c7dd59af86c7e0feaf4a9fa3832bad8a85b631
Author: Matias Griese <matias@trilbymedia.com>
Date:   Fri Jan 18 13:09:43 2019 +0200

    FlexUser: Fixed missing username in the object

commit b139e5daaa67d51baa26222e6155b359ac5a17f5
Merge: 426dae47 254fe990
Author: Matias Griese <matias@trilbymedia.com>
Date:   Fri Jan 18 12:22:22 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into feature/1.6-flex-users

    # Conflicts:
    #	system/src/Grav/Common/User/User.php

commit 426dae4731383bfd64f7e8e611f3721f58776feb
Merge: f4ff6713 0afe9d4f
Author: Matias Griese <matias@trilbymedia.com>
Date:   Fri Jan 18 11:00:36 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into feature/1.6-flex-users

commit f4ff6713ac1c930b3f932b285c762552f99c79b0
Merge: eaab0b0a 751d1da7
Author: Matias Griese <matias@trilbymedia.com>
Date:   Fri Jan 11 13:04:04 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into feature/1.6-flex-users

commit eaab0b0ae9c50ca5995ea7aa769720fc647ec4c2
Author: Matias Griese <matias@trilbymedia.com>
Date:   Fri Jan 11 12:57:15 2019 +0200

    Fixed merge conflict

commit 531dd1a788a6496c228c56103d4512d39c4d7650
Merge: 3bd925d6 f0cf4ed8
Author: Matias Griese <matias@trilbymedia.com>
Date:   Fri Jan 11 12:50:46 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into feature/1.6-flex-users

commit 3bd925d61b96c12ea77cad19f4a9c01ba9afba8f
Merge: a383fbac a224c8b3
Author: Matias Griese <matias@trilbymedia.com>
Date:   Tue Jan 8 18:37:22 2019 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into feature/1.6-flex-users

commit a383fbac0447d3226ee3a6109b99edca5210c5e5
Merge: 422e1f70 b38a143c
Author: Matias Griese <matias@trilbymedia.com>
Date:   Tue Dec 4 15:32:39 2018 +0200

    Merge branch '1.6' of https://github.com/getgrav/grav into feature/flex-users

    # Conflicts:
    #	system/src/Grav/Common/Grav.php

commit 422e1f7027389fd1727dac4e269309a33187ea69
Author: Matias Griese <matias@trilbymedia.com>
Date:   Mon Nov 26 19:57:28 2018 +0200

    Implement Flex User classes
2019-02-07 14:36:07 -07:00
Matias Griese
a1c8cb9f78 Typo in changelog 2019-02-07 14:42:19 +02:00
Matias Griese
54ce1b570a Regression: $session->getFlashObject('files-upload) did not work with Form 3.0 2019-02-07 11:28:54 +02:00
Matias Griese
f2d66c810a Use standard filename check in FormTrait 2019-02-07 08:35:43 +02:00
Andy Miller
26de0340ec Updated vendor libs including Symfony 4.2.3 2019-02-05 16:47:53 -07:00
Andy Miller
333fbd0db1 Update vendor libraries 2019-02-05 16:47:05 -07:00
Andy Miller
4cf4c09339 limit stack track rows… 50+ is nuts! 2019-02-05 14:18:48 -07:00
Matias Griese
34bf8fb5bb Minor fix when installing full package via direct install 2019-02-05 13:51:07 +02:00
Matias Griese
06eee1e711 Some installer fixes (clear cache, direct install with full package) 2019-02-05 13:23:16 +02:00
Matias Griese
b6ab086bf7 Changelog update 2019-02-05 11:35:11 +02:00
Andy Miller
b1d43d292d Added some useful object twig functions/filters 2019-02-04 16:30:18 -07:00
Matias Griese
19b92f17dd Improved Grav Core installer 2019-02-04 22:34:46 +02:00
Matias Griese
c713625a38 FlexIndex: Fixed undefined index 2019-02-04 22:27:21 +02:00
Matias Griese
24e6b6c8f1 Fixed Flex from indexing hidden folders/files as objects 2019-02-04 22:21:11 +02:00
Andy Miller
cebe28e591 Updated changelog 2019-02-01 19:02:16 -07:00
Andy Miller
b111a2c29d Added standard Yes/No lang strings to Grav 2019-02-01 13:34:23 -07:00
Matias Griese
8743a8080c Changelog update for #2350 2019-02-01 21:31:59 +02:00
Andy Miller
f2155aa04f Merge branch '1.6' of github.com:getgrav/grav into 1.6 2019-02-01 11:26:21 -07:00
Andy Miller
45346b72f2 Fix for trailing slash redirect in multlang 2019-02-01 11:26:16 -07:00
Matias Griese
632a2d79b6 Merge branch 'develop' of https://github.com/getgrav/grav into 1.6
# Conflicts:
#	CHANGELOG.md
2019-02-01 09:05:29 +02:00
Andy Miller
e4b1d2ed9e Enhancements to logviewer output to support lines in trace 2019-01-31 18:38:31 -07:00
Andy Miller
a3fea3d0fc Added LogViewer class and CLI command 2019-01-31 15:39:46 -07:00
Matias Griese
d50e5d954d Fixed oopsie in Package class 2019-01-31 20:49:12 +02:00
Matias Griese
970af3870e Some code cleanup 2019-01-31 17:57:05 +02:00
Matias Griese
9ba572d788 Fixed non-namespaced exceptions in scheduler 2019-01-31 17:53:11 +02:00
Matias Griese
ba2c37c216 Removed apc and xcache support, made apc alias of apcu 2019-01-31 17:51:04 +02:00
Matias Griese
0e14a325f8 Fixed some static/object calls to match the method 2019-01-31 17:42:18 +02:00
Matias Griese
1141dabbd8 Code cleanup 2019-01-31 17:32:06 +02:00
Matias Griese
7a044c7397 Added index file support for Flex Objects 2019-01-31 15:07:30 +02:00
Matias Griese
d0b3dd1d99 Improved error detection for broken Flex Objects 2019-01-31 15:06:41 +02:00
Matias Griese
4f80a1567d Update PHP file headers and copyrights 2019-01-31 10:04:57 +02:00
Andy Miller
23098a6b02 Revert "Grav 1.6 copyright updates and cleanup (PHP files only) (#2351)"
This reverts commit 0566185c4f.
2019-01-30 17:54:37 -07:00
Andy Miller
5c8a37be64 Updated version 2019-01-30 17:35:30 -07:00
Andy Miller
7b8944e8f2 updated changelog 2019-01-30 17:34:17 -07:00
Andy Miller
37fcb12ad1 Updated languages 2019-01-30 17:33:25 -07:00
Matias Griese
f312c44a46 Changelog update 2019-01-31 00:13:16 +02:00
Andy Miller
999e439d47 Merge branch 'develop' into 1.6 2019-01-30 13:45:19 -07:00
Matias Griese
0566185c4f Grav 1.6 copyright updates and cleanup (PHP files only) (#2351)
* Framework: update copyrights to 2019

* Some code cleanup (Assets, Backup, Config, Session)

* Continue code cleanup, update copyrights

* Fixed exception issues in scheduler, code cleanup

* Remove apc and xcache support, make apc alias of apcu

* Fixed Getters::count() method not returning anything

* More code cleanup, copyright updates

* Copyright updates for Grav\Console
2019-01-30 13:44:19 -07:00
Matias Griese
604361045b Fixed bad host header in PSR-7 (if using 'php -S localhost:8000 system/router.php') part 2 2019-01-30 21:04:53 +02:00
Matias Griese
d45efb484c Fixed bad host header in PSR-7 (if using 'php -S localhost:8000 system/router.php') 2019-01-30 20:51:09 +02:00
Matias Griese
610c6c341c Fixed ImageMedium constructor warning when file cannot be accessed 2019-01-30 11:20:12 +02:00
Matias Griese
6daf480bfc Fixed FlexMediaTrait::getMedia() trying to include uploaded but already moved media 2019-01-30 11:17:49 +02:00
Matias Griese
bbdac0fd6d Made FormFlashFile more robust against deleted files (over time) 2019-01-29 22:22:00 +02:00
Matias Griese
5f5bfdaa42 Add protected method FormTrait::unsetFlash() 2019-01-29 19:32:19 +02:00
Matias Griese
ad7fdd5c2b Fixed a bug in FormFlashFile::moveTo() not deleting the old file 2019-01-29 18:12:38 +02:00
Matias Griese
1321e582d5 FlexObject: Fixed a bug when updating media 2019-01-29 14:13:14 +02:00
Matias Griese
f78658738a FlexObject: Fixed a bug when updating media 2019-01-28 13:00:51 +02:00
Andy Miller
7c99ece0e1 make sure HTTP_DNT is set before inspecting it 2019-01-25 16:49:23 -07:00
Andy Miller
9058e1166d prepare for release 2019-01-25 14:42:33 -07:00
Andy Miller
ebd94a532c Merge branch 'develop' into 1.6
# Conflicts:
#	CHANGELOG.md
#	composer.lock
#	system/defines.php
2019-01-25 14:41:36 -07:00
Matias Griese
5ad4ffd3cf FormFlash: Fixed some image cropping issues 2019-01-25 12:12:04 +02:00
Matias Griese
0700e4bfdb Replace array cast in FormTrait::getFiles() 2019-01-25 10:42:21 +02:00
Matias Griese
82e5df960d Merge remote-tracking branch 'origin/1.6' into 1.6 2019-01-25 10:40:36 +02:00
Matias Griese
3ace15d01a Added FlexCollection::sort() method 2019-01-25 10:40:28 +02:00
Andy Miller
d367e6a1fb Fix null -> array issue 2019-01-24 15:08:23 -07:00
Matias Griese
a09940ef6a Added FlexCollection::sort() method 2019-01-24 16:21:26 +02:00
Matias Griese
6d89108cc4 Merge remote-tracking branch 'origin/1.6' into 1.6 2019-01-23 21:24:37 +02:00
Matias Griese
bd01b07b4b Reverted Route::__toString() behavior and added deprecated message for proper use (part 2) 2019-01-23 21:24:31 +02:00
Andy Miller
4e31a114ef Use new toString() 2019-01-23 12:16:48 -07:00
Matias Griese
18d53079dd Reverted Route::__toString() behavior and added deprecated message for proper use 2019-01-23 20:54:10 +02:00
Matias Griese
57de7cc03d Missing docblock parameter 2019-01-23 15:13:52 +02:00
Matias Griese
2d7eeb611d Added missing Flex::getObject() and Flex::getCollection() parameters 2019-01-23 13:02:33 +02:00
Matias Griese
e6b6e218f8 Fixed MediaTrait::getMedia() to return refreshed Media object after calling MediaTrait::clearMediaCache() 2019-01-23 11:20:44 +02:00
Matias Griese
243055289b Add FormFlash::clearFiles() method 2019-01-23 10:59:04 +02:00
Matias Griese
52c7d8dfb7 Fixed Grav\Framework\Route::__toString() returning relative URL, not relative route 2019-01-23 10:55:32 +02:00
Andy Miller
5b0e2e401e vendor udpates 2019-01-22 09:40:09 -07:00
Matias Griese
8381261b7c Do not cache FlexObject::authorize() 2019-01-22 13:33:44 +02:00
Matias Griese
2ada99d314 Make $user->update() to behave like $user->merge() 2019-01-21 21:00:58 +02:00
Matias Griese
bd27d6fe8c Fixed backwards incompatibility: Form::getData($name) 2019-01-18 14:12:28 +02:00
Matias Griese
b94631533d User: Ignore authenticated and authorized on object creation 2019-01-18 14:11:33 +02:00
Matias Griese
fb9baaed8a Make sure that authenticated and authorized will not be saved into the file 2019-01-18 13:33:17 +02:00
Matias Griese
254fe990ba Improved Grav\Common\User class; added $user->update() method 2019-01-18 12:20:57 +02:00
Matias Griese
0afe9d4f93 Undo comment out, code works now 2019-01-17 15:26:22 +02:00
Matias Griese
ccca3170d3 Fixed HTTP codes for non-standard response codes becoming 500 server errors 2019-01-17 12:08:19 +02:00
Andy Miller
00b1f12dda Updated changelog 2019-01-16 17:05:48 -07:00
Andy Miller
9ca411aa24 Fixed issue with redirect_trailing_slash losing query string #2269 2019-01-16 17:05:42 -07:00
Andy Miller
e976aa0f5f Fixed some issues with Medium querystring + timestamps 2019-01-16 14:21:56 -07:00
Matias Griese
02c979bdf6 Fixed FlexForm::getValue() call to return the correct data 2019-01-16 21:53:44 +02:00
Matias Griese
88625c6362 For now, do not save form data in flex submit 2019-01-16 18:09:04 +02:00
Matias Griese
76ff68a594 Added file modification timestamps for media images 2019-01-16 17:59:29 +02:00
Matias Griese
d27a2171ea Route: Added support for file extension (part 2) 2019-01-16 15:10:00 +02:00
Matias Griese
075498d03b Route: Added support for file extension 2019-01-16 12:04:26 +02:00
Matias Griese
f04ae315e4 Filter unknown array fields as arrays, not text 2019-01-16 10:45:19 +02:00
Matias Griese
2e277f3cb3 Make Form::getFlash() public 2019-01-16 10:10:53 +02:00
Andy Miller
29098aa8db Updated changelog 2019-01-15 16:32:00 -07:00
Andy Miller
659cd1bb92 return $this from init() 2019-01-15 16:31:54 -07:00
Andy Miller
3bf7c6943a Added some Util array functions 2019-01-15 16:31:43 -07:00
Andy Miller
189e29b5c6 Add FlexObject::getChanges() method 2019-01-15 16:29:47 -07:00
Matias Griese
0ede252fa3 Fix undefined variable id on FormTrait::getFlash() 2019-01-15 20:18:46 +02:00
Matias Griese
d7d69b2be8 Added support for storing form state by user or session 2019-01-15 12:31:03 +02:00
Matias Griese
d79729f596 Fixed a timer bug in Tasks Processor 2019-01-15 11:31:33 +02:00
Matias Griese
988d4ab047 Fix a bug in FormTrait::validate() 2019-01-15 11:31:08 +02:00
Andy Miller
437866dfcd Merge branch 'develop' into 1.6 2019-01-14 19:00:21 -07:00
Rotzbua
c40dcf020c add do not track header detection (#2334) 2019-01-14 17:49:46 -07:00
Andy Miller
e520bd0eb8 Fixed environment issue #2284 2019-01-14 13:55:29 -07:00
Matias Griese
3a9e57e228 Added form preview support for FlexObject, including a way to render newly uploaded files before saving them 2019-01-14 18:44:37 +02:00
Matias Griese
22ed1286e8 Added support to add extra files to Media object 2019-01-14 18:41:05 +02:00
Matias Griese
1a37c54316 Fixed FlexForm::updateObject() to update array values when they are empty in the form 2019-01-14 14:15:22 +02:00
Andy Miller
b6328944a3 Move processMarkdown() method from TwigExtension to more general Utils class 2019-01-13 16:20:19 -07:00
Matias Griese
751d1da704 Added unset type/filter to the validation 2019-01-11 13:03:04 +02:00
Matias Griese
5cf4eea09e Remove debug backtrace and die when session fails to start 2019-01-11 13:02:37 +02:00
Matias Griese
f0cf4ed8ff Regression: Fix serialize issues with forms 2019-01-11 00:28:57 +02:00
Matias Griese
fa61ed17b1 Added check for bad JSON back (tracked down and fixed the issue in form plugin) 2019-01-10 19:59:11 +02:00
Matias Griese
830a83e3d1 Symfony library update 2019-01-09 09:28:33 +02:00
Matias Griese
7d249c61c2 Added check for bad JSON back (tracked down and fixed the issue in form plugin) 2019-01-08 19:35:51 +02:00
Matias Griese
a224c8b348 FlexForm: Maintain form state on page reloads 2019-01-08 14:32:18 +02:00
Matias Griese
c04208d5dd FlexForm: Fixed missing inputs after save, reset form after save 2019-01-08 13:52:13 +02:00
Rotzbua
2c55fe01ac add return types for user/authentication (#2293) 2019-01-07 21:29:30 -07:00
Matias Griese
a23cbd0257 Added Blueprint::processForm() method to filter form inputs in Flex form 2018-12-21 12:37:08 +02:00
Matias Griese
f5b77e8082 Added onPageAction, onPageTask, onPageAction.{$action} and onPageTask.{$action} events 2018-12-20 14:08:40 +02:00
Matias Griese
10378ac5af FlexForm: Added support for custom(ized) blueprint layouts 2018-12-20 11:36:01 +02:00
Matias Griese
4a290e6194 Added Grav\Framework\Form\Interfaces\FormFactoryInterface 2018-12-19 22:44:31 +02:00
Matias Griese
c2c0fb242b Minor bugfix 2018-12-19 21:00:10 +02:00
Matias Griese
9b37e50492 Added Page::forms() method to get normalized list of all forms defined in the page 2018-12-19 20:57:47 +02:00
Matias Griese
6c6e8d2605 Added Flex::getObject() for getting flex object directly 2018-12-19 17:40:09 +02:00
Matias Griese
5a6e6dceda Define FormInterface 2018-12-19 13:35:02 +02:00
Andy Miller
e8631da9f3 parepare for beta release 2018-12-14 15:13:09 -07:00
Andy Miller
5d57713f95 Merge branch 'develop' into 1.6
# Conflicts:
#	system/defines.php
2018-12-14 15:07:51 -07:00
Matias Griese
2ad66102d2 FlexMediaTrait: Cropping existing image without original fails to move the original image to safe place 2018-12-13 23:14:31 +02:00
Matias Griese
6828114e86 Merge remote-tracking branch 'origin/1.6' into 1.6 2018-12-13 22:21:18 +02:00
Matias Griese
f53b43de14 FormFlash: Added support for storing form data 2018-12-13 22:21:10 +02:00
Andy Miller
d53dbdf5ba Updated vendor libs 2018-12-13 13:06:34 -07:00
Matias Griese
8ba00f5967 Flex: Fixed cropping issues on edit 2018-12-13 18:21:39 +02:00
Matias Griese
56c7b8ca5f Flex: Fixed uploading images when creating a new object 2018-12-13 13:49:04 +02:00
Matias Griese
d6115007ab Flex: Clear updated after saving the changes to prevent it being called twice 2018-12-13 11:36:59 +02:00
Matias Griese
ba53d876bc FlexMediaTrait::deleteMediaFile() should check if folder exists 2018-12-13 10:55:45 +02:00
Matias Griese
2d593995ee Flex: Added support to automatically update object media on save 2018-12-13 10:42:23 +02:00
Matias Griese
3808776ddb Merge remote-tracking branch 'origin/1.6' into 1.6 2018-12-12 23:37:58 +02:00
Matias Griese
9a118d0a71 Fixed upload of original images 2018-12-12 23:37:50 +02:00
Andy Miller
684d6d3389 This can get used externally too… 2018-12-12 10:14:28 -07:00
Matias Griese
89a0e960e2 Improve file upload logic on flex objects 2018-12-12 16:14:55 +02:00
Matias Griese
1b21e01938 FlexForm: Disable handling of file uploads on form submit (for now) 2018-12-12 14:09:24 +02:00
Matias Griese
3b692a27b4 Improved Flex save/delete 2018-12-12 12:45:06 +02:00
Matias Griese
3c83f379ee Added onFlexObjectSave and onFlexObjectDelete events 2018-12-12 11:52:50 +02:00
Matias Griese
0c344df07a Fixed Flex indexes with flex_key 2018-12-12 10:38:09 +02:00
Matias Griese
2a20959660 Fixed session throwing error in CLI if initialized 2018-12-12 09:39:13 +02:00
Matias Griese
94a843429d Added {% render object layout: 'default' with { variable: true } %} for Flex objects and collections 2018-12-12 00:02:38 +02:00
Matias Griese
34e6b6652a Make FlexForm more flexible for different tasks 2018-12-11 20:25:31 +02:00
Matias Griese
1ba785f28e ContentBlock: Fixed nested caching detection 2018-12-11 16:08:58 +02:00
Matias Griese
bac24cf520 Flex: Improve FlexAuthorizeTrait 2018-12-11 11:54:59 +02:00
Matias Griese
40b7d53349 Merge remote-tracking branch 'origin/1.6' into 1.6 2018-12-10 15:30:19 +02:00
Matias Griese
96d44b4322 Flex: Allow disabling collection/object caching from template 2018-12-10 15:30:09 +02:00
Andy Miller
bf127fb0bd fix for ini_set 2018-12-07 13:04:35 -07:00
Matias Griese
501bc0133f FormFlash: Allow no field for file uploads 2018-12-07 21:35:28 +02:00
Matias Griese
787bf8beeb FlexForm: Implemented delayed flash uploads 2018-12-07 20:41:37 +02:00
Matias Griese
257396aa06 FormFlash: Added support for removing existing files (null instead of object) 2018-12-05 14:45:29 +02:00
Matias Griese
7eb469f0ae Fixed bug in FlexForm::getFlash() 2018-12-05 12:09:56 +02:00
Matias Griese
156e544ab9 Change FormFlash constructor to be more generic, add method to clear session 2018-12-05 09:37:56 +02:00
Matias Griese
b38a143c66 Added new $grav['filesystem'] service using an instance of the new Filesystem object 2018-12-04 15:30:37 +02:00
Matias Griese
cd21d65400 FlexForm: minor improvement to making method overriding more of copy/paste 2018-12-04 15:03:29 +02:00
Matias Griese
b19cb1215b Fix tests 2018-12-03 13:55:32 +02:00
Matias Griese
48acad3e47 Improve Filesystem class 2018-12-03 13:54:40 +02:00
Matias Griese
009db01ab9 Changelog update 2018-12-03 11:37:51 +02:00
Matias Griese
7d8fff9571 Minor fix, oops 2018-12-03 11:36:42 +02:00
Matias Griese
9d048f5f36 Merge branch 'feature/1.6-cleanup' into 1.6 2018-12-03 11:29:20 +02:00
Matias Griese
cb4ea86310 Improved Grav\Framework\File classes to use better type hints and the new Filesystem class 2018-12-03 11:26:55 +02:00
Matias Griese
2b099c2ed5 Added Grav\Framework\Filesystem\Filesystem class with methods to manipulate stream URLs 2018-12-03 11:11:00 +02:00
Matias Griese
6afb55cc30 Improved Grav\Framework\File\Formatter classes to have abstract parent class and some useful methods 2018-12-03 08:00:14 +02:00
Matias Griese
0937e0ff91 Added return type DI\Container::has(): bool 2018-12-03 07:40:59 +02:00
Matias Griese
d602cb6e9e Fixed Object serialization breaking if overriding jsonSerialize() method 2018-12-03 07:34:59 +02:00
Matias Griese
e02fa1a4e7 Some code cleanup 2018-12-03 07:28:50 +02:00
Andy Miller
9e1661eb8c commited composer lock file 2018-12-02 21:31:53 -07:00
Chris Jung
00c6313102 Update to Symfony 4.2 (#2280) 2018-12-02 21:29:53 -07:00
Matias Griese
f01792ae81 Added FormFlash and FormFlashFile classes, allow custom FlexForm class, improvements 2018-12-01 22:09:44 +02:00
Matias Griese
bc18b9408b Added onAction.{$action} event 2018-12-01 10:04:15 +02:00
Matias Griese
fa948c04ab Typo in changelog 2018-11-30 23:05:51 +02:00
Matias Griese
8fdd34c245 Added support for task:action (like task but works without nonce) 2018-11-30 23:04:34 +02:00
Matias Griese
cd5bda3f9e Improve debug messages (routed page, flex view) 2018-11-30 20:31:32 +02:00
Matias Griese
e14129d278 Implemented object save in FlexForm::submit() 2018-11-30 15:16:22 +02:00
Matias Griese
decb19b92e Further improve FlexObject::update() 2018-11-30 15:06:27 +02:00
Matias Griese
eb770e95d5 Fixed FlexObject::update() call with partial object update 2018-11-30 14:30:50 +02:00
Matias Griese
77f035eb2d FlexForm: Allow custom nonce, fix fatal error on validation failure 2018-11-30 13:15:20 +02:00
Matias Griese
db2738978e Sanitize $grav['task']` 2018-11-30 13:14:10 +02:00
Matias Griese
180f3c2eca FlexDirectory::getObject() should return any existing object 2018-11-30 13:13:13 +02:00
Matias Griese
e84fbc425f FlexMediaTrait: Fix media meta file 2018-11-29 23:19:28 +02:00
Matias Griese
c5e2ed9f22 FlexForm: Added methods for file upload/delete task routes 2018-11-29 22:04:57 +02:00
Matias Griese
a92f0898d8 Fixed Medium::relativePath() for streams 2018-11-29 21:12:37 +02:00
Matias Griese
d968901d98 Flex: store metadata on file uploads (if available) 2018-11-29 19:27:11 +02:00
Matias Griese
c38b761871 Improve Flex index caching by sharing the same cached item even if using a different key 2018-11-29 12:43:32 +02:00
Matias Griese
b49741f8aa Fixed Flex index caching if using non-standard key 2018-11-29 11:51:27 +02:00
Matias Griese
6866c2a39a Merge remote-tracking branch 'origin/1.6' into 1.6 2018-11-29 10:25:56 +02:00
Matias Griese
9598cd13fe Added user-data:// which is a writable stream (user://data is not and should be avoided) 2018-11-29 10:25:48 +02:00
Andy Miller
49c8fef5f5 Made inflector static so it can be used quickly 2018-11-28 21:58:31 -07:00
Matias Griese
13341f8aa8 Tasks: Pass path to the controller as well 2018-11-28 14:55:03 +02:00
Matias Griese
251cb3f9fa FlexForm: Implement HTML id support 2018-11-28 14:20:50 +02:00
Matias Griese
51767a8f36 Improve FlexMediaTrait 2018-11-28 11:36:07 +02:00
Andy Miller
c653fe6e4a multibyte and case insensitivity support in Util string functions 2018-11-27 16:39:30 -07:00
Matias Griese
70688f3e00 Fixed cache test in Flex 2018-11-27 22:22:13 +02:00
Matias Griese
e9c52046fa Fixed timestamp and serialization 2018-11-27 11:39:04 +02:00
Matias Griese
a01b94f80b Merge branch 'develop' of https://github.com/getgrav/grav into 1.6
# Conflicts:
#	CHANGELOG.md
2018-11-27 10:17:53 +02:00
Matias Griese
f1ce69d4bf Fixed some minor issues in Flex 2018-11-26 14:17:13 +02:00
Matias Griese
5bd417aa39 Minor Flex improvements 2018-11-26 09:49:06 +02:00
Andy Miller
2bf448c587 Merge branch 'develop' into 1.6 2018-11-25 19:08:01 -07:00
Matias Griese
c35c285580 Fixed a bug in flex index caching 2018-11-21 09:45:59 +02:00
Matias Griese
890a61358a Code cleanup on CLI 2018-11-20 20:40:13 +02:00
Matias Griese
7de66cdc53 Improve debugger in CLI 2018-11-20 13:17:19 +02:00
Matias Griese
b353ec12e1 Flex: Fixes for indexing with different keys 2018-11-20 12:01:32 +02:00
Matias Griese
48489ae291 Composer update 2018-11-19 23:26:11 +02:00
Matias Griese
85a3d98d4c Flex: Fixed object keys if using non-standard keys in index 2018-11-19 15:07:36 +02:00
Matias Griese
c9eea7e019 Flex: Fixed some issues with new orderBy() logic 2018-11-19 13:43:02 +02:00
Matias Griese
da483d63f6 Flex: Fixed a bug if there's no entries in the index 2018-11-19 12:43:32 +02:00
Matias Griese
3f89b39b60 Flex: Added support for custom index fields when ordering (major speed up) 2018-11-19 11:11:45 +02:00
Matias Griese
e89b5ce870 Flex: Added support for defining used key field when getting index/collection/build 2018-11-19 10:09:07 +02:00
Matias Griese
88f6d02c03 Merge branch 'develop' of https://github.com/getgrav/grav into 1.6
# Conflicts:
#	README.md
2018-11-19 09:25:23 +02:00
Matias Griese
cc78fcf31c Some bug fixes in Flex collection / index 2018-11-17 00:34:53 +02:00
Matias Griese
37e880b64a Allow switching to custom keys on FlexIndex 2018-11-17 00:06:46 +02:00
Matias Griese
75b2307d30 Added initial support for Flex keys (unique identifier) 2018-11-16 15:13:12 +02:00
Matias Griese
9e8f700119 Improved Custom FlexIndex logic (breaking old API) 2018-11-16 12:34:17 +02:00
Matias Griese
4bcba0e4f9 Flex: Added support for custom object index classes 2018-11-16 10:26:09 +02:00
Andy Miller
11b661cad5 new Discord reference 2018-11-15 16:30:44 -07:00
Andy Miller
994a1f89cd Better Badge 2018-11-15 16:28:15 -07:00
Andy Miller
d39165f506 discord only 2018-11-15 16:21:03 -07:00
Matias Griese
468db9566b Fixed missing $collection->getStorageKeys() 2018-11-15 22:37:47 +02:00
Matias Griese
33309105d3 Fixed clearing cache having no effect on Doctrine cache 2018-11-15 13:25:53 +02:00
Matias Griese
8cfe6e772d Debug mode: Include HTML comments around the output when rendering flex objects 2018-11-15 13:23:40 +02:00
Matias Griese
bad6e32e18 ObjectIndex: Remove unneeded method which was moved to base class 2018-11-15 12:12:38 +02:00
Matias Griese
02d48693dd Added select() and unselect() methods to CollectionInterface and its base classes
Added `orderBy()` and `limit()` methods to `ObjectCollectionInterface` and its base classes
2018-11-15 10:01:09 +02:00
Andy Miller
7975ec8d09 Merge branch 'develop' into 1.6 2018-11-14 11:21:14 -07:00
Matias Griese
de898b610d Flex: Fixed a bug in new findPrefixedKeysFromFilesystem() method 2018-11-14 16:31:06 +02:00
Matias Griese
0743816822 Flex: Improved object indexing 2018-11-14 16:18:59 +02:00
Matias Griese
bb4958115b Added support for prefixed FolderStorage 2018-11-14 10:59:22 +02:00
Matias Griese
b64404a924 Fixed duplicate key in blueprint YAML 2018-11-14 09:41:03 +02:00
Andy Miller
76070ddd43 Better handling of append_url_extension inside of Page::templateFormat() #2264 2018-11-13 18:04:53 -07:00
Andy Miller
22066e11b3 more lang stuff 2018-11-13 14:53:39 -07:00
Andy Miller
ef157c7d2b Fixed a broken lang string #2261 2018-11-13 14:08:37 -07:00
Andy Miller
e42e9fdd54 Merge branch '1.6' of github.com:getgrav/grav into 1.6 2018-11-13 11:29:36 -07:00
Andy Miller
e2594dc72c symlink .editorconfig when using sandbox 2018-11-13 11:29:31 -07:00
Andy Miller
f4e2153291 Updated clean command with vendor udpates 2018-11-13 11:29:16 -07:00
Matias Griese
44db0245a7 Improve new flex object saving and storage 2018-11-13 20:13:32 +02:00
Matias Griese
ff5aa8a0ac Improve Flex storage 2018-11-13 18:00:18 +02:00
Matias Griese
8c0dd6a8d1 Added missing changelog entry from 1.5.5 2018-11-13 08:35:17 +02:00
Andy Miller
1ba21afd30 prepare for release 2018-11-12 15:59:10 -07:00
Andy Miller
e73537f488 Merge branch 'develop' into 1.6
# Conflicts:
#	CHANGELOG.md
#	system/defines.php
2018-11-12 15:57:47 -07:00
Matias Griese
1d8ef45e9c Added Plugin::isCli() to determine if plugin is running under CLI 2018-11-12 13:48:20 +02:00
Matias Griese
380b3be928 Added $grav->setup() to simplify CLI and custom access points 2018-11-12 12:21:44 +02:00
Matias Griese
c151043c70 Code cleanup in Language class 2018-11-12 11:39:15 +02:00
Andy Miller
64e13c5f87 Updated changelog 2018-11-11 21:37:08 -07:00
Andy Miller
b55d29dfb7 Merge branch 'develop' into 1.6 2018-11-11 21:23:36 -07:00
Andy Miller
9f2da67d48 Merge branch 'develop' into 1.6
# Conflicts:
#	CHANGELOG.md
#	system/defines.php
2018-11-11 21:20:07 -07:00
Andy Miller
d0c9e56aeb Support negotiated language types set via the Request Accept-Language: header 2018-11-11 18:51:20 -07:00
Andy Miller
74cd3ac1e0 Supporting negotiated content types 2018-11-11 18:27:12 -07:00
Andy Miller
ecbc401584 Revert "Set template type based on request headers content-type if set"
This reverts commit 005f626b88.

# Conflicts:
#	CHANGELOG.md
#	system/src/Grav/Common/Page/Page.php
2018-11-11 15:01:44 -07:00
Andy Miller
0c81568df6 Updated changelog 2018-11-11 14:58:36 -07:00
Andy Miller
9b43f20159 Use append_url_extension from page header to set template format #2604 2018-11-09 22:28:44 -07:00
Andy Miller
82d3d5edda Fixed Uri::hasStandardPort() to support reverse proxy configurations #1786 2018-11-09 17:22:34 -07:00
Andy Miller
005f626b88 Set template type based on request headers content-type if set 2018-11-09 17:10:03 -07:00
Andy Miller
63005a8280 minor monolog update 2018-11-08 10:40:22 -07:00
Matias Griese
2943294d08 Added CsvFormatter and CvsFile classes 2018-11-08 12:12:37 +02:00
Andy Miller
ed03b02e52 updated changelog 2018-11-06 08:54:48 -07:00
Andy Miller
f43f992125 Merge branch '1.6' of github.com:getgrav/grav into 1.6 2018-11-06 08:52:51 -07:00
Andy Miller
0b646875d0 cleaned up service id map 2018-11-06 08:52:45 -07:00
Matias Griese
b1b4469d18 Flex form: allow custom form views 2018-11-06 13:54:55 +02:00
Andy Miller
eea70d380c Set default config to testing 2018-11-05 16:10:54 -07:00
Andy Miller
a32880a84d Prepare for 1.6.0-beta.5 release 2018-11-05 15:45:19 -07:00
Andy Miller
3c2a8510f9 Added new uniqueness option to optionally use security.salt 2018-11-04 15:50:03 -07:00
Andy Miller
64b0fd7e86 minor symfony library version updates 2018-11-03 18:53:43 -06:00
Andy Miller
36432c00ac Merge branch 'develop' into 1.6 2018-11-03 18:52:18 -06:00
Andy Miller
601990d59b Set session name based on security.salt rather than GRAV_ROOT #2242 2018-11-03 14:36:51 -06:00
Andy Miller
3469974861 Smarter security.salt checking now we use security.yaml for other options 2018-11-03 14:28:47 -06:00
Andy Miller
167ea6419b Merge branch '1.6' of github.com:getgrav/grav into 1.6 2018-11-03 14:09:06 -06:00
Andy Miller
472b575e20 Added option to configure list of xss_invalid_protocols in Security config #2250 2018-11-03 14:09:00 -06:00
Matias Griese
b622ff7f14 Flex form: added support for uniqueid 2018-11-02 21:01:29 +02:00
Djamil Legato
d70d0b889e Fixed count of commands list for bin/plugin 2018-11-01 17:18:48 -07:00
Matias Griese
a84b791ac7 Minor fix for AbstractIndexCollection 2018-11-01 11:45:50 +02:00
Andy Miller
6332e7f518 Updated changelog 2018-10-30 17:45:53 -06:00
Andy Miller
849d3184b3 Added Video::preload() that was missing 2018-10-30 17:45:23 -06:00
Andy Miller
4344148bfa added link 2018-10-30 09:26:35 -06:00
Andy Miller
251971485b Added discord badge 2018-10-30 09:24:33 -06:00
Andy Miller
fa3ce13a87 minor dev vendor updates 2018-10-30 09:06:57 -06:00
Andy Miller
bc70d50ff0 Updated icon in debugger 2018-10-29 15:27:31 -06:00
Matias Griese
64a0dd52e8 Changelog update 2018-10-29 20:28:26 +02:00
Matias Griese
5d1c65c936 Minor collection cleanup 2018-10-29 20:13:34 +02:00
Matias Griese
3537770823 Added Route::withAddedPath() method 2018-10-29 12:22:43 +02:00
Matias Griese
b1090d4286 Added NotHandledException class 2018-10-29 09:55:36 +02:00
Matias Griese
5b097fc038 Merge remote-tracking branch 'origin/feature/1.6-controller' into feature/1.6-controller 2018-10-29 08:27:36 +02:00
Matias Griese
092ecd1417 Make Data class to extend JsonSerializable 2018-10-29 08:27:27 +02:00
Andy Miller
ff54dc82ff Merge branch '1.6' into feature/1.6-controller 2018-10-26 21:15:59 -06:00
Andy Miller
ed105b42a2 Merge branch '1.6' of github.com:getgrav/grav into 1.6 2018-10-26 17:40:57 -06:00
Andy Miller
9e2a95db73 Minor code tweaks 2018-10-26 17:40:51 -06:00
Matias Griese
acf0854e6a Changelog update 2018-10-26 09:12:58 +03:00
Matias Griese
809c4a1bcf Merge remote-tracking branch 'origin/feature/1.6-controller' into feature/1.6-controller 2018-10-26 09:01:59 +03:00
Matias Griese
42887ca282 Merge branch '1.6' of https://github.com/getgrav/grav into feature/1.6-controller 2018-10-26 09:01:39 +03:00
Matias Griese
46752e9b10 Merge remote-tracking branch 'origin/1.6' into 1.6 2018-10-26 08:58:11 +03:00
Matias Griese
6be1127cf0 Merge branch 'develop' of https://github.com/getgrav/grav into 1.6
# Conflicts:
#	CHANGELOG.md
2018-10-26 08:58:01 +03:00
Andy Miller
1f87c5069b prepare for release 2018-10-24 16:03:40 -06:00
Andy Miller
222f05fe81 version update 2018-10-24 15:10:20 -06:00
Andy Miller
023221bfab added GRAV. prefix to core language strings 2018-10-24 14:41:54 -06:00
Matias Griese
b4e40a669d Merge branch 'develop' of https://github.com/getgrav/grav into 1.6
# Conflicts:
#	CHANGELOG.md
#	composer.lock
#	system/defines.php
2018-10-24 13:23:51 +03:00
Andy Miller
f812236180 whoops update 2018-10-23 12:37:01 -06:00
Matias Griese
b8c9f0cc8c Merge branch '1.6' of https://github.com/getgrav/grav into feature/1.6-controller
# Conflicts:
#	CHANGELOG.md
2018-10-23 21:10:28 +03:00
Matias Griese
072c7929f7 Fixed Folder::doDelete($folder, false) removing symlink when it should not 2018-10-23 20:16:12 +03:00
Matias Griese
4811fa7d49 Allow new task controllers to run 2018-10-23 18:04:21 +03:00
Andy Miller
3d786f78d5 Added new system config option for languages.pages_fallback_only 2018-10-23 06:56:06 -06:00
Andy Miller
0bf62ed39b added pages.hide_empty_folders config option 2018-10-23 06:23:10 -06:00
Andy Miller
a9196c3268 Some lang improvements 2018-10-22 18:11:26 -06:00
Matias Griese
699c72841c Composer update 2018-10-22 13:54:31 +03:00
Matias Griese
9c4a80a25f Changelog update 2018-10-22 11:32:07 +03:00
Matias Griese
beb1b41317 Added Grav\Framework\DI\Container class 2018-10-22 11:27:30 +03:00
Matias Griese
bdc3f41ac2 Merge branch '1.6' of https://github.com/getgrav/grav into feature/1.6-controller
# Conflicts:
#	CHANGELOG.md
2018-10-22 10:47:59 +03:00
Matias Griese
fc0dfbe8b4 Added request processor 2018-10-22 10:46:37 +03:00
Andy Miller
8590f4fbf5 Use login provider User avatar if set 2018-10-19 06:26:28 -06:00
Matias Griese
f9cc86a6db Changelog update 2018-10-17 15:07:03 +03:00
Matias Griese
dc263c12e9 Updated Grav Processor classes to implement PSR-15 2018-10-17 15:01:52 +03:00
Matias Griese
d6c17132df Added PSR-7 and PSR-15 classes 2018-10-17 14:57:45 +03:00
Matias Griese
3742be10bc Debugger optimizations 2018-10-17 14:51:15 +03:00
Andy Miller
27aa5e8e15 vendor updates 2018-10-16 19:24:36 -06:00
Matias Griese
83211acaae Merge branch '1.6' of https://github.com/getgrav/grav into feature/1.6-controller 2018-10-16 13:17:59 +03:00
Matias Griese
eb97964a00 Debugger optimizations 2018-10-16 13:12:26 +03:00
Matias Griese
f43ab0ed59 Added apcu autoloader optimization 2018-10-16 13:02:32 +03:00
Matias Griese
df5f7f4890 Remove old assets class 2018-10-16 13:00:16 +03:00
Andy Miller
08f07e663e Prepare for release 2018-10-15 14:39:40 -06:00
Matias Griese
cc61fb5d0f BlueprintSchema: Added methods to get the type defaults 2018-10-15 13:03:10 +03:00
Matias Griese
049f84a52a Optimize Grav Services stage for speed 2018-10-12 13:57:11 +03:00
Matias Griese
776d1419c1 Built-in PHP Webserver: log requests before handling them 2018-10-12 12:13:59 +03:00
Matias Griese
d848dcde5d Call onFatalException event also on internal PHP errors 2018-10-12 12:06:10 +03:00
Ole Vik
4ff0d34aa2 Fallback for never run and Windows (#2202) 2018-10-11 21:44:07 -06:00
Andy Miller
c6f6677d6e Prepare for release 2018-10-09 11:40:41 -06:00
Andy Miller
b96e264cc7 Fixed pipeline + remote url rewrites #2216 2018-10-08 13:56:46 -06:00
Andy Miller
1d6cdd45eb minor symfony updates 2018-10-07 21:23:03 -06:00
Andy Miller
0204906454 Improved usability of System configuration blueprint with side-tabs 2018-10-07 16:51:42 -06:00
Andy Miller
a7b184abdb Setup is now in the template… 2018-10-07 15:46:26 -06:00
Andy Miller
fff9c657d4 Support route/path output 2018-10-06 17:52:46 -06:00
Andy Miller
6070bfc46e updated changelog 2018-10-06 16:37:52 -06:00
Andy Miller
6b46c288a6 Added configurable dangerous file upload extensions 2018-10-06 16:35:15 -06:00
Andy Miller
8dd352c5c4 typo 2018-10-04 21:20:25 -06:00
Matias Griese
8fe3f0c35f FlexMediaTrait: Added checks for bad filenames 2018-10-04 14:53:44 +03:00
Matias Griese
16edb93efb Merge branch 'develop' of https://github.com/getgrav/grav into 1.6
# Conflicts:
#	CHANGELOG.md
2018-10-04 14:45:33 +03:00
Andy Miller
6e5b173861 updated changelog 2018-10-03 13:50:39 -06:00
Matias Griese
6010b8e1b4 Flex: Added support for custom media tasks 2018-10-03 14:21:35 +03:00
Matias Griese
8d0d26ed9b Update script and style twig tags to use the new Asset classes 2018-10-03 11:31:36 +03:00
Matias Griese
65bb683b4a Merge remote-tracking branch 'origin/1.6' into 1.6
# Conflicts:
#	CHANGELOG.md
2018-10-03 10:54:01 +03:00
Matias Griese
75e8a19363 Regression: Asset methods with default legacy attributes were not working 2018-10-03 10:52:08 +03:00
Andy Miller
1a47b837f5 updated changelog 2018-10-02 17:58:11 -06:00
Andy Miller
50c211fc10 cleanup var names to avoid confusion 2018-10-02 17:57:05 -06:00
Andy Miller
4fb035c512 Don’t add missing assets 2018-10-02 17:56:34 -06:00
Djamil Legato
78992df894 Added support for syslog and syslog facility logging (default: 'file') 2018-10-02 12:36:34 -07:00
Djamil Legato
70c423563f Merge branch '1.6' of https://github.com/getgrav/grav into 1.6 2018-10-02 10:45:39 -07:00
Matias Griese
2503180e73 Merge branch 'develop' of https://github.com/getgrav/grav into 1.6
# Conflicts:
#	composer.lock
#	system/defines.php
2018-10-02 09:58:31 +03:00
Andy Miller
ed0cb0c8f2 set to testing mode 2018-10-01 21:32:49 -06:00
Djamil Legato
a6449cb8ba Splitted log handler and added support for syslog along side with stream (file) 2018-10-01 16:07:04 -07:00
Andy Miller
9e776df296 Prepare for rlease 2018-10-01 15:58:02 -06:00
Andy Miller
70b6fb32c4 Revert "Splitted log handler and added support for syslog along side with stream (file)"
This reverts commit ecaeb32675.
2018-10-01 15:11:13 -06:00
Andy Miller
7148e9e136 Merge branch 'develop' into 1.6
# Conflicts:
#	system/src/Grav/Common/Security.php
#	system/src/Grav/Common/Twig/TwigExtension.php
2018-10-01 14:14:23 -06:00
Djamil Legato
ecaeb32675 Splitted log handler and added support for syslog along side with stream (file) 2018-10-01 11:43:31 -07:00
Andy Miller
e4f6f8bcf2 Merge branch '1.6' of github.com:getgrav/grav into 1.6 2018-10-01 12:33:36 -06:00
Andy Miller
91d8a16db2 Refactored security 2018-10-01 12:33:26 -06:00
Matias Griese
920b0fcb2e Register all page types into blueprint://pages stream 2018-10-01 21:26:36 +03:00
Matias Griese
760c3e869f Merge branch 'develop' of https://github.com/getgrav/grav into 1.6 2018-10-01 21:07:28 +03:00
Andy Miller
6488a0f2fb get rawcontent 2018-09-30 21:11:23 -06:00
Andy Miller
efe45f64bc Updated vendor 2018-09-30 19:13:51 -06:00
Andy Miller
d893dd55ff Merge branch 'develop' into 1.6
# Conflicts:
#	.gitignore
#	bin/grav
2018-09-30 18:39:46 -06:00
Matias Griese
ce5f0b7785 Merge remote-tracking branch 'origin/1.6' into 1.6 2018-09-27 22:51:42 +03:00
Matias Griese
9204b87f3a Hide form fields in blueprints by using dynamic property like scope@: object or scope-ignore@: object, right now only Flex sets the scope 2018-09-27 22:51:35 +03:00
Andy Miller
4a83314095 Should fix more legacy issues 2018-09-27 12:27:07 -06:00
Andy Miller
99ea119483 Merge branch '1.6' of github.com:getgrav/grav into 1.6 2018-09-27 09:52:56 -06:00
Andy Miller
c361f16fcf remove duplicate option 2018-09-27 09:52:51 -06:00
Matias Griese
b4d4fb900e Composer update 2018-09-27 09:43:08 +03:00
Matias Griese
0c3b34e89a Updated Asset classes for PHP 7.1, fixed a bug in \Closure name 2018-09-27 09:36:32 +03:00
Andy Miller
a549615257 Updated changelog 2018-09-26 16:55:36 -06:00
Andy Miller
c796474bce legacy fix 2018-09-26 16:52:10 -06:00
Andy Miller
26aea439c6 Assets Manager Refactoring (#2201)
* initial commit of refactored class structure

* more refactoring

* more progress

* more refactoring…

* Rendering stuff!

* Updates

* filter + sort

* inline stuff now added

* continued compatibility improvements + some test fixes

* more compatibility fixes

* CSS pipeline working!

* pipeline in the house

* Various fixes for testing bugs

* Fix timestamps

* CSS/JS Inline support

* Tidy

* Optimizations…

* fix for tests

* Added a couple of inline tests
2018-09-26 16:34:53 -06:00
Andy Miller
32cfb749af ignore testing templates 2018-09-25 18:15:51 -06:00
Andy Miller
b79cbf8975 Merge branch '1.6' of github.com:getgrav/grav into 1.6 2018-09-25 15:57:46 -06:00
Andy Miller
3ef154949d ignore testing template 2018-09-25 15:57:40 -06:00
Matias Griese
007b17a7ba Fixed partial save for Flex Objects 2018-09-25 11:16:31 +03:00
Matias Griese
8c64434069 Fixed updating empty array (no data, should be ignored) 2018-09-24 15:33:49 +03:00
Matias Griese
ff1d5bc965 Fix extra storageKey, timestamps fields stored into the Flex objects 2018-09-24 15:23:23 +03:00
Matias Griese
346b8683ac Fix extra authorize, forms fields stored into the Flex objects 2018-09-24 15:18:56 +03:00
Matias Griese
7a61b09a85 Added proper support for hiding form fields in blueprints by using dynamic property like security@: admin.foobar to any field 2018-09-24 11:25:51 +03:00
Andy Miller
53f5a6fa57 Updated changelog 2018-09-20 13:33:43 -06:00
Andy Miller
95172ce4c1 wip 2018-09-20 12:53:43 -06:00
Andy Miller
84ecdfee71 Updated changelog 2018-09-20 11:28:08 -06:00
Andy Miller
537c5f4ee8 Merge branch 'feature/cache-refactor' into 1.6 2018-09-20 11:25:35 -06:00
Andy Miller
68ee0f7580 changed text.. need to move to. lang file 2018-09-20 11:24:51 -06:00
Andy Miller
178193ab1a Added a deleteAll() method and also renamed CLI command 2018-09-20 11:07:39 -06:00
Matias Griese
e7ddae713f Merge branch 'develop' of https://github.com/getgrav/grav into 1.6
# Conflicts:
#	composer.json
2018-09-20 11:03:02 +03:00
Matias Griese
bd2883d63f Merge branch '1.6' of https://github.com/getgrav/grav into 1.6 2018-09-20 09:43:57 +03:00
Andy Miller
12c3c6c472 tooltip work 2018-09-19 22:02:08 -06:00
Andy Miller
1c08fa2b1a typo 2018-09-19 17:04:44 -06:00
Andy Miller
24991dc17d Updated changelog 2018-09-19 16:57:38 -06:00
Andy Miller
9261f105e3 Squashed commit of the following:
commit 85194f77412fb25c1708d594435a87ded4ccdddc
Author: Andy Miller <rhuk@mac.com>
Date:   Tue Sep 11 16:13:04 2018 -0600

    cleanup

commit 38b35d57ebf3a74c5210487add1a023c93a1c45b
Author: Andy Miller <rhuk@mac.com>
Date:   Mon Sep 10 21:24:12 2018 -0600

    Removed old ZipBackup class

commit 05da0b3eee8a3156776771e89604c89870aad8e2
Author: Andy Miller <rhuk@mac.com>
Date:   Mon Sep 10 21:19:41 2018 -0600

    Fix for empty crontab message

commit a77955a598a6d8e1a4d34a8e61d54dea2ea3a38a
Author: Andy Miller <rhuk@mac.com>
Date:   Mon Sep 10 14:33:33 2018 -0600

    Implemented purge

commit ead22829c0ffe1c08478833e96802d6a7b93da0f
Author: Andy Miller <rhuk@mac.com>
Date:   Mon Sep 10 13:15:29 2018 -0600

    Remove double code logic

commit 44d37ad91017e401fbe58e05af7b9141e35128d4
Author: Andy Miller <rhuk@mac.com>
Date:   Mon Sep 10 13:10:49 2018 -0600

    Optimized loading

commit e8b96d22cfd67f8226e53a54051aff2deb450e66
Author: Andy Miller <rhuk@mac.com>
Date:   Mon Sep 10 12:00:18 2018 -0600

    more progress for events

commit 32579228d3ed351ad883da85917a9b745721611b
Author: Andy Miller <rhuk@mac.com>
Date:   Sun Sep 9 21:55:17 2018 -0600

    validations

commit 39c0eee1c3bf64184bd30483ae629fee7d04f532
Author: Andy Miller <rhuk@mac.com>
Date:   Sun Sep 9 21:37:19 2018 -0600

    require stuff

commit 7a0cf861d45fc5da4a2acc877ee6518d717f0a53
Author: Andy Miller <rhuk@mac.com>
Date:   Sun Sep 9 18:07:38 2018 -0600

    added ability to turn off tense in nicetime

commit 09bffc6cac2123325262b6e3deb75a15a553ea42
Author: Andy Miller <rhuk@mac.com>
Date:   Sun Sep 9 14:35:50 2018 -0600

    title for profiles

commit fa70782c275bb4e37cb55423c73c2f7de63888a3
Author: Andy Miller <rhuk@mac.com>
Date:   Sun Sep 9 14:31:45 2018 -0600

    Improvements

commit 83342bf563a9a2a7b338ad22490052fb4b2c3165
Author: Andy Miller <rhuk@mac.com>
Date:   Sun Sep 9 13:28:31 2018 -0600

    Optimizations

commit a5a2c133d280d7c2d18d39ffb936df019007ca09
Author: Andy Miller <rhuk@mac.com>
Date:   Sat Sep 8 23:36:32 2018 -0600

    Tidyup

commit 1e7585dd6fd0d7cdae4a294229d7813863bbd243
Author: Andy Miller <rhuk@mac.com>
Date:   Sat Sep 8 22:19:25 2018 -0600

    Pick the backup from CLI if more than 1

commit 8e36a3b1063c8feabfe9e2702d78246ad03d87b1
Author: Andy Miller <rhuk@mac.com>
Date:   Sat Sep 8 20:07:02 2018 -0600

    Added downloads button

commit 9d7408a09472ca58f50e46f6a9839bb95b510c07
Author: Andy Miller <rhuk@mac.com>
Date:   Sat Sep 8 16:59:24 2018 -0600

    Integrated with build configuration

commit c22a6de8791522f1b6c622c255e09d94d7288811
Author: Andy Miller <rhuk@mac.com>
Date:   Sat Sep 8 15:05:38 2018 -0600

    init and create backup dir if required

commit 40a28def5df42ab3edd265a5622580c1170d5a33
Author: Andy Miller <rhuk@mac.com>
Date:   Sat Sep 8 08:39:52 2018 -0600

    Made backup a Grav service provider

commit b09f778b8f6d823e6c03e83f3759114fab9a2959
Author: Andy Miller <rhuk@mac.com>
Date:   Fri Sep 7 18:19:29 2018 -0600

    backups config has begun

commit 69da2948d6374f2a6d428ce2fa6b5f65ca6f4715
Author: Andy Miller <rhuk@mac.com>
Date:   Fri Sep 7 18:19:02 2018 -0600

    Scheduler tweaks

commit d30d3010d670c4771859947b950ae7984fd3529e
Author: Andy Miller <rhuk@mac.com>
Date:   Fri Sep 7 15:10:58 2018 -0600

    style integrated

commit d37b250a5d98c3dfd9556bc0491c41debf94720b
Merge: c8823edd be0573f6
Author: Andy Miller <rhuk@mac.com>
Date:   Fri Sep 7 15:04:05 2018 -0600

    Merge branch '1.6' into feature/backup

commit c8823edd0cef4bfc878c83f1dd7e35fabaa6157d
Author: Andy Miller <rhuk@mac.com>
Date:   Fri Sep 7 14:35:29 2018 -0600

    Better messages in CLI

commit 6695fb4d512cfe2e48220caf941e41c5dca0293e
Author: Andy Miller <rhuk@mac.com>
Date:   Fri Sep 7 14:15:40 2018 -0600

    CLI status bar integration

commit bae7047482ef786e5b0012b99eb911a7740f8818
Author: Andy Miller <rhuk@mac.com>
Date:   Fri Sep 7 07:32:56 2018 -0600

    optimizations

commit 4b8d67a15c3c14297d2bdb8769fbddd0221d13a9
Author: Andy Miller <rhuk@mac.com>
Date:   Fri Sep 7 06:49:49 2018 -0600

    archive class stuff

commit d03722689a1c06098e3db7fd3130d36ee8225ff6
Author: Andy Miller <rhuk@mac.com>
Date:   Thu Sep 6 17:31:21 2018 -0600

    initial commit of some stub classes
2018-09-19 15:44:31 -06:00
Matias Griese
7a4b234c6d Update Config classes for PHP 7.1 2018-09-14 15:36:25 +03:00
Matias Griese
a1680ddeaa Update Data classes for PHP 7.1 2018-09-13 17:27:04 +03:00
Matias Griese
871333d3a0 Bug fixes for Flex 2018-09-13 15:21:47 +03:00
Matias Griese
5c81d7863c Add Flex class 2018-09-13 10:22:15 +03:00
Matias Griese
354831338c Update more Framework code for PHP 7.1 2018-09-12 21:17:35 +03:00
Matias Griese
593abccedc Added Grav\Framework\Flex classes 2018-09-12 15:52:28 +03:00
Matias Griese
e5c6788243 Minor fixes 2018-09-12 15:37:37 +03:00
Matias Griese
a358f2953a Update Framework classes to use PHP 7.1 syntax 2018-09-12 14:23:13 +03:00
Matias Griese
9444b63f8b Added Grav\Framework\Collection\AbstractIndexCollection, Grav\Framework\Object\ObjectIndex classes 2018-09-12 13:34:48 +03:00
Matias Griese
79df293fc4 Added Grav\Framework\File classes for handling YAML, Markdown, JSON, INI and PHP serialized files 2018-09-12 10:58:39 +03:00
Matias Griese
be0573f6ea Composer update 2018-09-07 14:58:50 +03:00
Matias Griese
4dc6264c64 Merge branch 'develop' of https://github.com/getgrav/grav into 1.6
# Conflicts:
#	system/src/Grav/Common/Twig/TwigExtension.php
2018-09-07 14:44:14 +03:00
Matias Griese
3a0c7168c9 Merge branch 'develop' of https://github.com/getgrav/grav into 1.6 2018-09-06 12:35:21 +03:00
Matias Griese
a0e475b277 Merge branch 'develop' of https://github.com/getgrav/grav into 1.6 2018-09-06 11:04:19 +03:00
Matias Griese
a7ad34bd99 Resolve merge conflicts 2018-09-06 09:18:34 +03:00
Andy Miller
5499f2edb6 Feature/scheduler (#2170)
* scheduler first commit

* moved jobs to config

* got some args working

* commands and static methods working.. events hooked up

* No longer dependent on `exec()`.. uses Symfony\Process

* More improvements

* support getAt()

* Make inflector available in DI

* Fix for inflector

* store job run states

* more improvements including cron twig function

* Add scheduler to event + cleanup

* improvements to the CLI command

* Added id field

* use proper func

* Added email

* Fix quotes

* Updated built-in composer

* Better command for adding the scheduler cron via terminal

* Fixed typo and added cron language

* Added Cron class to make at -> human readable date possible

* Added some checks when there are no jobs

* Added method to get CronExpression

* Revamped with Symfony 4.1 CLI updates
2018-09-05 19:02:12 -06:00
Matias Griese
935fb98013 Added new {% throw 404 'Not Found' %} twig tag (with custom code/message 2018-09-05 12:03:57 +03:00
Matias Griese
665fa6cc9c Require doctrine/cache 1.8 2018-09-04 09:24:50 +03:00
Matias Griese
772f07e521 Make asset and image stream read/write 2018-09-04 09:24:18 +03:00
Matias Griese
2bbf219dc0 Composer update 2018-08-31 08:29:02 +03:00
Matias Griese
7cc98b8265 Merge branch 'develop' of https://github.com/getgrav/grav into 1.6
# Conflicts:
#	CHANGELOG.md
#	index.php
#	system/defines.php
2018-08-31 08:26:39 +03:00
Matias Griese
2dfd6b76d8 Remove PHP 5.6 and 7.0 from travis 2018-08-18 12:02:56 +03:00
Matias Griese
330b2e6a6b Changelog update 2018-08-18 00:34:35 +03:00
Matias Griese
896c25dc9e Updated Symfony Components to 4.1 2018-08-18 00:32:55 +03:00
Matias Griese
3b04315a38 Grav 1.6.0-dev: updated minimum PHP requirements to 7.1.3
Updated Doctrine Collections and Cache
2018-08-17 23:29:24 +03:00
550 changed files with 72404 additions and 14751 deletions

View File

@@ -13,6 +13,5 @@ indent_style = space
indent_size = 4
# 2 space indentation
[*.yaml, *.yml]
indent_style = space
[*.{yaml,yml}]
indent_size = 2

8
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: grav
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
custom: # Replace with a single custom sponsorship URL

3
.gitignore vendored
View File

@@ -38,8 +38,9 @@ Thumbs.db
# phpstorm
.idea/*
# testing stuff
tests/_output/*
tests/_support/_generated/*
tests/cache/*
tests/error.log
/system/templates/testing
system/templates/testing/*

44
.phan/config.php Normal file
View File

@@ -0,0 +1,44 @@
<?php
return [
"target_php_version" => null,
'pretend_newer_core_functions_exist' => true,
'allow_missing_properties' => false,
'null_casts_as_any_type' => false,
'null_casts_as_array' => false,
'array_casts_as_null' => false,
'strict_method_checking' => true,
'quick_mode' => false,
'simplify_ast' => false,
'directory_list' => [
'.',
],
"exclude_analysis_directory_list" => [
'vendor/'
],
'exclude_file_list' => [
'system/src/Grav/Common/Errors/Resources/layout.html.php',
'tests/_support/AcceptanceTester.php',
'tests/_support/FunctionalTester.php',
'tests/_support/UnitTester.php',
],
'autoload_internal_extension_signatures' => [
'memcached' => '.phan/internal_stubs/memcached.phan_php',
'memcache' => '.phan/internal_stubs/memcache.phan_php',
'redis' => '.phan/internal_stubs/Redis.phan_php',
],
'plugins' => [
'AlwaysReturnPlugin',
'UnreachableCodePlugin',
'DuplicateArrayKeyPlugin',
'PregRegexCheckerPlugin',
'PrintfCheckerPlugin',
],
'suppress_issue_types' => [
'PhanUnreferencedUseNormal',
'PhanTypeObjectUnsetDeclaredProperty',
'PhanTraitParentReference',
'PhanTypeInvalidThrowsIsInterface',
'PhanRequiredTraitNotAdded',
'PhanDeprecatedFunction', // Uncomment this to see all the deprecated calls
]
];

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,460 @@
<?php
// Start of memcache v.3.0.8
class MemcachePool {
/**
* (PECL memcache &gt;= 0.2.0)<br/>
* Open memcached server connection
* @link https://php.net/manual/en/memcache.connect.php
* @param string $host <p>
* Point to the host where memcached is listening for connections. This parameter
* may also specify other transports like <em>unix:///path/to/memcached.sock</em>
* to use UNIX domain sockets, in this case <b>port</b> must also
* be set to <em>0</em>.
* </p>
* @param int $port [optional] <p>
* Point to the port where memcached is listening for connections. Set this
* parameter to <em>0</em> when using UNIX domain sockets.
* </p>
* <p>
* Please note: <b>port</b> defaults to
* {@link https://php.net/manual/ru/memcache.ini.php#ini.memcache.default-port memcache.default_port}
* if not specified. For this reason it is wise to specify the port
* explicitly in this method call.
* </p>
* @param int $timeout [optional] <p>Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.</p>
* @return bool <p>Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.</p>
*/
public function connect ($host, $port, $timeout = 1) {}
/**
* (PECL memcache &gt;= 2.0.0)<br/>
* Add a memcached server to connection pool
* @link https://php.net/manual/en/memcache.addserver.php
* @param string $host <p>
* Point to the host where memcached is listening for connections. This parameter
* may also specify other transports like unix:///path/to/memcached.sock
* to use UNIX domain sockets, in this case <i>port</i> must also
* be set to 0.
* </p>
* @param int $port [optional] <p>
* Point to the port where memcached is listening for connections.
* Set this
* parameter to 0 when using UNIX domain sockets.
* </p>
* <p>
* Please note: <i>port</i> defaults to
* memcache.default_port
* if not specified. For this reason it is wise to specify the port
* explicitly in this method call.
* </p>
* @param bool $persistent [optional] <p>
* Controls the use of a persistent connection. Default to <b>TRUE</b>.
* </p>
* @param int $weight [optional] <p>
* Number of buckets to create for this server which in turn control its
* probability of it being selected. The probability is relative to the
* total weight of all servers.
* </p>
* @param int $timeout [optional] <p>
* Value in seconds which will be used for connecting to the daemon. Think
* twice before changing the default value of 1 second - you can lose all
* the advantages of caching if your connection is too slow.
* </p>
* @param int $retry_interval [optional] <p>
* Controls how often a failed server will be retried, the default value
* is 15 seconds. Setting this parameter to -1 disables automatic retry.
* Neither this nor the <i>persistent</i> parameter has any
* effect when the extension is loaded dynamically via <b>dl</b>.
* </p>
* <p>
* Each failed connection struct has its own timeout and before it has expired
* the struct will be skipped when selecting backends to serve a request. Once
* expired the connection will be successfully reconnected or marked as failed
* for another <i>retry_interval</i> seconds. The typical
* effect is that each web server child will retry the connection about every
* <i>retry_interval</i> seconds when serving a page.
* </p>
* @param bool $status [optional] <p>
* Controls if the server should be flagged as online. Setting this parameter
* to <b>FALSE</b> and <i>retry_interval</i> to -1 allows a failed
* server to be kept in the pool so as not to affect the key distribution
* algorithm. Requests for this server will then failover or fail immediately
* depending on the <i>memcache.allow_failover</i> setting.
* Default to <b>TRUE</b>, meaning the server should be considered online.
* </p>
* @param callable $failure_callback [optional] <p>
* Allows the user to specify a callback function to run upon encountering an
* error. The callback is run before failover is attempted. The function takes
* two parameters, the hostname and port of the failed server.
* </p>
* @param int $timeoutms [optional] <p>
* </p>
* @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
*/
public function addServer ($host, $port = 11211, $persistent = true, $weight = null, $timeout = 1, $retry_interval = 15, $status = true, callable $failure_callback = null, $timeoutms = null) {}
/**
* (PECL memcache &gt;= 2.1.0)<br/>
* Changes server parameters and status at runtime
* @link https://secure.php.net/manual/en/memcache.setserverparams.php
* @param string $host <p>Point to the host where memcached is listening for connections.</p.
* @param int $port [optional] <p>
* Point to the port where memcached is listening for connections.
* </p>
* @param int $timeout [optional] <p>
* Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.
* </p>
* @param int $retry_interval [optional] <p>
* Controls how often a failed server will be retried, the default value
* is 15 seconds. Setting this parameter to -1 disables automatic retry.
* Neither this nor the <b>persistent</b> parameter has any
* effect when the extension is loaded dynamically via {@link https://secure.php.net/manual/en/function.dl.php dl()}.
* </p>
* @param bool $status [optional] <p>
* Controls if the server should be flagged as online. Setting this parameter
* to <b>FALSE</b> and <b>retry_interval</b> to -1 allows a failed
* server to be kept in the pool so as not to affect the key distribution
* algorithm. Requests for this server will then failover or fail immediately
* depending on the <b>memcache.allow_failover</b> setting.
* Default to <b>TRUE</b>, meaning the server should be considered online.
* </p>
* @param callable $failure_callback [optional] <p>
* Allows the user to specify a callback function to run upon encountering an error. The callback is run before failover is attempted.
* The function takes two parameters, the hostname and port of the failed server.
* </p>
* @return bool <p>Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.</p>
*/
public function setServerParams ($host, $port = 11211, $timeout = 1, $retry_interval = 15, $status = true, callable $failure_callback = null) {}
/**
*
*/
public function setFailureCallback () {}
/**
* (PECL memcache &gt;= 2.1.0)<br/>
* Returns server status
* @link https://php.net/manual/en/memcache.getserverstatus.php
* @param string $host Point to the host where memcached is listening for connections.
* @param int $port Point to the port where memcached is listening for connections.
* @return int Returns a the servers status. 0 if server is failed, non-zero otherwise
*/
public function getServerStatus ($host, $port = 11211) {}
/**
*
*/
public function findServer () {}
/**
* (PECL memcache &gt;= 0.2.0)<br/>
* Return version of the server
* @link https://php.net/manual/en/memcache.getversion.php
* @return string|false Returns a string of server version number or <b>FALSE</b> on failure.
*/
public function getVersion () {}
/**
* (PECL memcache &gt;= 2.0.0)<br/>
* Add an item to the server. If the key already exists, the value will not be added and <b>FALSE</b> will be returned.
* @link https://php.net/manual/en/memcache.add.php
* @param string $key The key that will be associated with the item.
* @param mixed $var The variable to store. Strings and integers are stored as is, other types are stored serialized.
* @param int $flag [optional] <p>
* Use <b>MEMCACHE_COMPRESSED</b> to store the item
* compressed (uses zlib).
* </p>
* @param int $expire [optional] <p>Expiration time of the item.
* If it's equal to zero, the item will never expire.
* You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).</p>
* @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure. Returns <b>FALSE</b> if such key already exist. For the rest Memcache::add() behaves similarly to Memcache::set().
*/
public function add ($key , $var, $flag = null, $expire = null) {}
/**
* (PECL memcache &gt;= 0.2.0)<br/>
* Stores an item var with key on the memcached server. Parameter expire is expiration time in seconds.
* If it's 0, the item never expires (but memcached server doesn't guarantee this item to be stored all the time,
* it could be deleted from the cache to make place for other items).
* You can use MEMCACHE_COMPRESSED constant as flag value if you want to use on-the-fly compression (uses zlib).
* @link https://php.net/manual/en/memcache.set.php
* @param string $key The key that will be associated with the item.
* @param mixed $var The variable to store. Strings and integers are stored as is, other types are stored serialized.
* @param int $flag [optional] Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).
* @param int $expire [optional] Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).
* @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
*/
public function set ($key, $var, $flag = null, $expire = null) {}
/**
* (PECL memcache &gt;= 0.2.0)<br/>
* Replace value of the existing item
* @link https://php.net/manual/en/memcache.replace.php
* @param string $key <p>The key that will be associated with the item.</p>
* @param mixed $var <p>The variable to store. Strings and integers are stored as is, other types are stored serialized.</p>
* @param int $flag [optional] <p>Use <b>MEMCACHE_COMPRESSED</b> to store the item compressed (uses zlib).</p>
* @param int $expire [optional] <p>Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).</p>
* @return bool Returns TRUE on success or FALSE on failure.
*/
public function replace ($key, $var, $flag = null, $expire = null) {}
public function cas () {}
public function append () {}
/**
* @return string
*/
public function prepend () {}
/**
* (PECL memcache &gt;= 0.2.0)<br/>
* Retrieve item from the server
* @link https://php.net/manual/en/memcache.get.php
* @param string|array $key <p>
* The key or array of keys to fetch.
* </p>
* @param int|array $flags [optional] <p>
* If present, flags fetched along with the values will be written to this parameter. These
* flags are the same as the ones given to for example {@link https://php.net/manual/en/memcache.set.php Memcache::set()}.
* The lowest byte of the int is reserved for pecl/memcache internal usage (e.g. to indicate
* compression and serialization status).
* </p>
* @return string|array|false <p>
* Returns the string associated with the <b>key</b> or
* an array of found key-value pairs when <b>key</b> is an {@link https://php.net/manual/en/language.types.array.php array}.
* Returns <b>FALSE</b> on failure, <b>key</b> is not found or
* <b>key</b> is an empty {@link https://php.net/manual/en/language.types.array.php array}.
* </p>
*/
public function get ($key, &$flags = null) {}
/**
* (PECL memcache &gt;= 0.2.0)<br/>
* Delete item from the server
* https://secure.php.net/manual/ru/memcache.delete.php
* @param $key string The key associated with the item to delete.
* @param $timeout int [optional] This deprecated parameter is not supported, and defaults to 0 seconds. Do not use this parameter.
* @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
*/
public function delete ($key, $timeout = 0 ) {}
/**
* (PECL memcache &gt;= 0.2.0)<br/>
* Get statistics of the server
* @link https://php.net/manual/ru/memcache.getstats.php
* @param string $type [optional] <p>
* The type of statistics to fetch.
* Valid values are {reset, malloc, maps, cachedump, slabs, items, sizes}.
* According to the memcached protocol spec these additional arguments "are subject to change for the convenience of memcache developers".</p>
* @param int $slabid [optional] <p>
* Used in conjunction with <b>type</b> set to
* cachedump to identify the slab to dump from. The cachedump
* command ties up the server and is strictly to be used for
* debugging purposes.
* </p>
* @param int $limit [optional] <p>
* Used in conjunction with <b>type</b> set to cachedump to limit the number of entries to dump.
* </p>
* @return array|false Returns an associative array of server statistics or <b>FALSE</b> on failure.
*/
public function getStats ($type = null, $slabid = null, $limit = 100) {}
/**
* (PECL memcache &gt;= 2.0.0)<br/>
* Get statistics from all servers in pool
* @link https://php.net/manual/en/memcache.getextendedstats.php
* @param string $type [optional] <p>The type of statistics to fetch. Valid values are {reset, malloc, maps, cachedump, slabs, items, sizes}. According to the memcached protocol spec these additional arguments "are subject to change for the convenience of memcache developers".</p>
* @param int $slabid [optional] <p>
* Used in conjunction with <b>type</b> set to
* cachedump to identify the slab to dump from. The cachedump
* command ties up the server and is strictly to be used for
* debugging purposes.
* </p>
* @param int $limit Used in conjunction with type set to cachedump to limit the number of entries to dump.
* @return array|false Returns a two-dimensional associative array of server statistics or <b>FALSE</b>
* Returns a two-dimensional associative array of server statistics or <b>FALSE</b>
* on failure.
*/
public function getExtendedStats ($type = null, $slabid = null, $limit = 100) {}
/**
* (PECL memcache &gt;= 2.0.0)<br/>
* Enable automatic compression of large values
* @link https://php.net/manual/en/memcache.setcompressthreshold.php
* @param int $thresold <p>Controls the minimum value length before attempting to compress automatically.</p>
* @param float $min_saving [optional] <p>Specifies the minimum amount of savings to actually store the value compressed. The supplied value must be between 0 and 1. Default value is 0.2 giving a minimum 20% compression savings.</p>
* @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
*/
public function setCompressThreshold ($thresold, $min_saving = 0.2) {}
/**
* (PECL memcache &gt;= 0.2.0)<br/>
* Increment item's value
* @link https://php.net/manual/en/memcache.increment.php
* @param $key string Key of the item to increment.
* @param $value int [optional] increment the item by <b>value</b>
* @return int|false Returns new items value on success or <b>FALSE</b> on failure.
*/
public function increment ($key, $value = 1) {}
/**
* (PECL memcache &gt;= 0.2.0)<br/>
* Decrement item's value
* @link https://php.net/manual/en/memcache.decrement.php
* @param $key string Key of the item do decrement.
* @param $value int Decrement the item by <b>value</b>.
* @return int|false Returns item's new value on success or <b>FALSE</b> on failure.
*/
public function decrement ($key, $value = 1) {}
/**
* (PECL memcache &gt;= 0.4.0)<br/>
* Close memcached server connection
* @link https://php.net/manual/en/memcache.close.php
* @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
*/
public function close () {}
/**
* (PECL memcache &gt;= 1.0.0)<br/>
* Flush all existing items at the server
* @link https://php.net/manual/en/memcache.flush.php
* @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
*/
public function flush () {}
}
/**
* Represents a connection to a set of memcache servers.
* @link https://php.net/manual/en/class.memcache.php
*/
class Memcache extends MemcachePool {
/**
* (PECL memcache &gt;= 0.4.0)<br/>
* Open memcached server persistent connection
* @link https://php.net/manual/en/memcache.pconnect.php
* @param string $host <p>
* Point to the host where memcached is listening for connections. This parameter
* may also specify other transports like unix:///path/to/memcached.sock
* to use UNIX domain sockets, in this case <i>port</i> must also
* be set to 0.
* </p>
* @param int $port [optional] <p>
* Point to the port where memcached is listening for connections. Set this
* parameter to 0 when using UNIX domain sockets.
* </p>
* @param int $timeout [optional] <p>
* Value in seconds which will be used for connecting to the daemon. Think
* twice before changing the default value of 1 second - you can lose all
* the advantages of caching if your connection is too slow.
* </p>
* @return mixed a Memcache object or <b>FALSE</b> on failure.
*/
public function pconnect ($host, $port, $timeout = 1) {}
}
// string $host [, int $port [, int $timeout ]]
/**
* (PECL memcache >= 0.2.0)</br>
* Memcache::connect — Open memcached server connection
* @link https://php.net/manual/en/memcache.connect.php
* @param string $host <p>
* Point to the host where memcached is listening for connections.
* This parameter may also specify other transports like
* unix:///path/to/memcached.sock to use UNIX domain sockets,
* in this case port must also be set to 0.
* </p>
* @param int $port [optional] <p>
* Point to the port where memcached is listening for connections.
* Set this parameter to 0 when using UNIX domain sockets.
* Note: port defaults to memcache.default_port if not specified.
* For this reason it is wise to specify the port explicitly in this method call.
* </p>
* @param int $timeout [optional] <p>
* Value in seconds which will be used for connecting to the daemon.
* </p>
* @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
*/
function memcache_connect ($host, $port, $timeout = 1) {}
/**
* (PECL memcache >= 0.4.0)
* Memcache::pconnect — Open memcached server persistent connection
*
* @link https://php.net/manual/en/memcache.pconnect.php#example-5242
* @param $host
* @param null $port
* @param int $timeout
* @return Memcache
*/
function memcache_pconnect ($host, $port=null, $timeout=1) {}
function memcache_add_server () {}
function memcache_set_server_params () {}
function memcache_set_failure_callback () {}
function memcache_get_server_status () {}
function memcache_get_version () {}
function memcache_add () {}
function memcache_set () {}
function memcache_replace () {}
function memcache_cas () {}
function memcache_append () {}
function memcache_prepend () {}
function memcache_get () {}
function memcache_delete () {}
/**
* (PECL memcache &gt;= 0.2.0)<br/>
* Turn debug output on/off
* @link https://php.net/manual/en/function.memcache-debug.php
* @param bool $on_off <p>
* Turns debug output on if equals to <b>TRUE</b>.
* Turns debug output off if equals to <b>FALSE</b>.
* </p>
* @return bool <b>TRUE</b> if PHP was built with --enable-debug option, otherwise
* returns <b>FALSE</b>.
*/
function memcache_debug ($on_off) {}
function memcache_get_stats () {}
function memcache_get_extended_stats () {}
function memcache_set_compress_threshold () {}
function memcache_increment () {}
function memcache_decrement () {}
function memcache_close () {}
function memcache_flush () {}
define ('MEMCACHE_COMPRESSED', 2);
define ('MEMCACHE_USER1', 65536);
define ('MEMCACHE_USER2', 131072);
define ('MEMCACHE_USER3', 262144);
define ('MEMCACHE_USER4', 524288);
define ('MEMCACHE_HAVE_SESSION', 1);
// End of memcache v.3.0.8
?>

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,9 @@
language: php
php:
- '5.6'
- '7.0.21'
- '7.1'
- '7.2'
- '7.3'
- '7.4'
branches:
only:
- develop
@@ -13,13 +13,6 @@ notifications:
email:
on_success: never
on_failure: always
hipchat:
# hipchat_api@grav
rooms:
- secure: "bqO0wM1B7bJnQw2fuhquSXEqI9gw6WmFytIh9sEWXzbYTzTUP5t0PcKOd3FT2BNMRaDxPJLVl+vG/oqmqDUBkEmOGcG504IQjeNzZqnMz0tXQMIcCc22Las9tFfc4Jf6RVi/qGomFtHGE9Wgii+TAN4zqZaufbNjwd8SyjO0+W8="
template:
- '%{repository}#%{build_number} (%{branch}): Travis Job Finished [%{duration}] (<a href="%{build_url}">Details</a>)'
format: html
slack:
secure: dowksPsxxCxGKT6nis5hUgkp6+ZDAhoqzQHF9rJnx4hx0iEygPhVBs7pKl9yL2jubYJoLs+EXwE7z1dYgDAEJh4BnfrCokCMLpFGcxVxQC/HeAUdSQ2/RtdBYR5PRT75ScaFpqM/SfXXZVtnwVXAw9Z+JC6BjQ9vmn23m51Jw4k=
env:
@@ -53,10 +46,10 @@ before_install:
- if [ $TRAVIS_BRANCH == 'develop' ] || [ $TRAVIS_PULL_REQUEST != 'false' ]; then
composer install --dev --prefer-dist;
fi
- if [ $TRAVIS_BRANCH != 'develop' ] && [ $TRAVIS_PHP_VERSION == "5.6" ] && [ $TRAVIS_PULL_REQUEST == "false" ]; then
- if [ $TRAVIS_BRANCH != 'develop' ] && [ $TRAVIS_PHP_VERSION == "7.1" ] && [ $TRAVIS_PULL_REQUEST == "false" ]; then
export TRAVIS_TAG=$(curl --fail --user "${GH_API_USER}" -s https://api.github.com/repos/getgrav/grav/releases/latest | grep tag_name | head -n 1 | cut -d '"' -f 4);
eval "$(curl -sL https://raw.githubusercontent.com/travis-ci/gimme/master/gimme | GIMME_GO_VERSION=1.8 bash)";
go get github.com/aktau/github-release;
eval "$(curl -sL https://raw.githubusercontent.com/travis-ci/gimme/master/gimme | GIMME_GO_VERSION=1.13 bash)";
go get github.com/github-release/github-release;
git clone --quiet --depth=50 --branch=master https://${BB_TOKEN}bitbucket.org/rockettheme/grav-devtools.git $RT_DEVTOOLS &>/dev/null;
if [ ! -z "$TRAVIS_TAG" ]; then
cd ${RT_DEVTOOLS};
@@ -64,13 +57,13 @@ before_install:
fi;
fi
before_script:
- if [ $TRAVIS_PHP_VERSION != 'hhvm' ]; then phpenv config-rm xdebug.ini; fi
- phpenv config-rm xdebug.ini
script:
- if [ $TRAVIS_BRANCH == 'develop' ] || [ $TRAVIS_PULL_REQUEST != 'false' ]; then
vendor/bin/codecept run;
fi
- echo "Latest Release Tag - ${TRAVIS_TAG}"
- if [ ! -z "$TRAVIS_TAG" ] && [ $TRAVIS_BRANCH != 'develop' ] && [ $TRAVIS_PHP_VERSION == "5.6" ] && [ $TRAVIS_PULL_REQUEST == "false" ]; then
- if [ ! -z "$TRAVIS_TAG" ] && [ $TRAVIS_BRANCH != 'develop' ] && [ $TRAVIS_PHP_VERSION == "7.1" ] && [ $TRAVIS_PULL_REQUEST == "false" ]; then
FILES="$RT_DEVTOOLS/grav-dist/*.zip";
for file in ${FILES[@]}; do
NAME=${file##*/};

View File

@@ -1,3 +1,989 @@
# v1.7.0-rc.17
## 10/07/2020
1. [](#new)
* Added a `getAllHeaders()` compatibility function
1. [](#improved)
* Fall back through various templates scenarios if they don't exist in theme to avoid unhelpful error.
* Added default templates for `external.html.twig`, `default.html.twig`, and `modular.html.twig`
* Improve Media classes
* _POTENTIAL BREAKING CHANGE:_ Added reload argument to `FlexStorageIngerface::getMetaData()`
1. [](#bugfix)
* Fixed `Security::sanitizeSVG()` creating an empty file if SVG file cannot be parsed
* Fixed infinite loop in blueprints with `extend@` to a parent stream
* Added missing `Stream::create()` method
* Added missing `onBlueprintCreated` event for Flex Pages
* Fixed `onBlueprintCreated` firing multiple times recursively
* Fixed media upload failing with custom folders
* Fixed `unset()` in `ObjectProperty` class
* Fixed `FlexObject::freeMedia()` method causing media to become null
* Fixed bug in `Flex Form` making it impossible to set nested values
* Fixed `Flex User` avatar when using folder storage, also allow multiple images
* Fixed Referer reference during GPM calls.
* Fixed fatal error with toggled lists
# v1.7.0-rc.16
## 09/01/2020
1. [](#new)
* Added a new `svg_image()` twig function to make it easier to 'include' SVG source in Twig
* Added a helper `Utils::fullPath()` to get the full path to a file be it stream, relative, etc.
1. [](#improved)
* Added `themes` to cached blueprints and configuration
1. [](#bugfix)
* Fixed `Flex Pages` issue with `getRoute()` returning path with language prefix for default language if set not to do that
* Fixed `Flex Pages` bug where reordering pages causes page content to disappear if default language uses wrong extension (`.md` vs `.en.md`)
* Fixed `Flex Pages` bug where `onAdminSave` passes page as `$event['page']` instead of `$event['object']` [#2995](https://github.com/getgrav/grav/issues/2995)
* Fixed `Flex Pages` bug where changing a modular page template added duplicate file [admin#1899](https://github.com/getgrav/grav-plugin-admin/issues/1899)
* Fixed `Flex Pages` bug where renaming slug causes bad ordering range after save [#2997](https://github.com/getgrav/grav/issues/2997)
# v1.7.0-rc.15
## 07/22/2020
1. [](#bugfix)
* Fixed Flex index file caching [#2962](https://github.com/getgrav/grav/issues/2962)
* Fixed various issues with Exif data reading and images being incorrectly rotated [#1923](https://github.com/getgrav/grav-plugin-admin/issues/1923)
# v1.7.0-rc.14
## 07/09/2020
1. [](#improved)
* Added ability to `noprocess` specific items only in Link/Image Excerpts, e.g. `http://foo.com/page?id=foo&target=_blank&noprocess=id` [#2954](https://github.com/getgrav/grav/pull/2954)
1. [](#bugfix)
* Regression: Default language fix broke `Language::getLanguageURLPrefix()` and `Language::isIncludeDefaultLanguage()` methods when not using multi-language
* Reverted `Language::getDefault()` and `Language::getLanguage()` to return false again because of plugin compatibility (updated docblocks)
* Fixed UTF-8 issue in `Excerpts::getExcerptsFromHtml`
* Fixed some compatibility issues with recent Changes to `Assets` handling
* Fixed issue with `CSS_IMPORTS_REGEX` breaking with complex URLs [#2958](https://github.com/getgrav/grav/issues/2958)
* Moved duplicated `CSS_IMPORT_REGEX` to local variable in `AssetUtilsTrait::moveImports()`
* Fixed page media only accepting images [#2943](https://github.com/getgrav/grav/issues/2943)
# v1.7.0-rc.13
## 07/01/2020
1. [](#new)
* Added support for uploading and deleting images directly in `Media`
* Added new `onAfterCacheClear` event
1. [](#improved)
* Improved `CvsFormatter` to attempt to encode non-scalar variables into JSON before giving up
* Moved image loading into its own trait to be used by images+static images
* Adjusted asset types to enable extension of assets in class [#2937](https://github.com/getgrav/grav/pull/2937)
* Composer update for vendor library updates
* Updated bundled `composer.phar` to `2.0.0-dev`
1. [](#bugfix)
* Fixed `MediaUploadTrait::copyUploadedFile()` not adding uploaded media to the collection
* Fixed regression in saving media to a new Flex Object [admin#1867](https://github.com/getgrav/grav-plugin-admin/issues/1867)
* Fixed `Trying to get property 'username' of non-object` error in Flex [flex-objects#62](https://github.com/trilbymedia/grav-plugin-flex-objects/issues/62)
* Fixed retina images not working in Flex [flex-objects#64](https://github.com/trilbymedia/grav-plugin-flex-objects/issues/64)
* Fixed plugin initialization in CLI
* Fixed broken logic in `Page::topParent()` when dealing with first-level pages
* Fixed broken `Flex Page` authorization for groups
* Fixed missing `onAdminSave` and `onAdminAfterSave` events when using `Flex Pages` and `Flex Users` [flex-objects#58](https://github.com/trilbymedia/grav-plugin-flex-objects/issues/58)
* Fixed new `User Group` allowing bad group name to be saved [admin#1917](https://github.com/getgrav/grav-plugin-admin/issues/1917)
* Fixed `Language::getDefault()` returning false and not 'en'
* Fixed non-text links in `Excerpts::getExcerptFromHtml`
* Fixed CLI commands not properly intializing Plugins so events can fire
# v1.7.0-rc.12
## 06/08/2020
1. [](#improved)
* Changed `Folder::hasChildren` to `Folder::countChildren`
* Added `Content Editor` option to user account blueprint
1. [](#bugfix)
* Fixed new `Flex Page` not having correct form fields for the page type
* Fixed new `Flex User` erroring out on save (thanks @mikebi42)
* Fixed `Flex Object` request cache clear when saving object
* Fixed blueprint value filtering in lists [#2923](https://github.com/getgrav/grav/issues/2923)
* Fixed blueprint for `system.pages.hide_empty_folders` [#1925](https://github.com/getgrav/grav/issues/2925)
* Fixed file field in `Flex Objects` (use `Grav\Common\Flex\Types\GenericObject` instead of `FlexObject`) [flex-objects#37](https://github.com/trilbymedia/grav-plugin-flex-objects/issues/37)
* Fixed saving nested file fields in `Flex Objects` [flex-objects#34](https://github.com/trilbymedia/grav-plugin-flex-objects/issues/34)
* JSON Route of homepage with no route set is valid [form#425](https://github.com/getgrav/grav-plugin-form/issues/425)
# v1.7.0-rc.11
## 05/14/2020
1. [](#new)
* Added support for native `loading=lazy` attributes on images. Can be set in `system.images.defaults` or per md image with `?loading=lazy` [#2910](https://github.com/getgrav/grav/issues/2910)
1. [](#improved)
* Added `PageCollection::all()` to mimic Pages class
* Added system configuration support for `HTTP_X_Forwarded` headers (host disabled by default)
* Updated `PHPUserAgentParser` to 1.0.0
* Improved docblocks
* Fixed some phpstan issues
* Tighten vendor requirements
1. [](#bugfix)
* Fix for uppercase image extensions
* Fix for `&` errors in HTML when passed to `Excerpts.php`
# v1.7.0-rc.10
## 04/30/2020
1. [](#new)
* Changed `Response::get()` used by **GPM/Admin** to use [Symfony HttpClient v4.4](https://symfony.com/doc/current/components/http_client.html) (`composer install --nodev` required for Git installations)
* Added new `Excerpts::processLinkHtml()` method
1. [](#bugfix)
* Fixed `Flex Pages` admin with PHP `intl` extension enabled when using custom page order
* Fixed saving non-numeric-prefix `Flex Page` changing to numeric-prefix [flex-objects#56](https://github.com/trilbymedia/grav-plugin-flex-objects/issues/56)
* Copying `Flex Page` in admin does nothing [flex-objects#55](https://github.com/trilbymedia/grav-plugin-flex-objects/issues/55)
* Force GPM progress to be between 0-100%
# v1.7.0-rc.9
## 04/27/2020
1. [](#new)
* Support for `webp` image format in Page Media [#1168](https://github.com/getgrav/grav/issues/1168)
* Added `Route::getBase()` method
1. [](#improved)
* Support symlinks when saving `File`
1. [](#bugfix)
* Fixed flex objects with integer keys not working [#2863](https://github.com/getgrav/grav/issues/2863)
* Fixed `Pages::instances()` returning null values when using `Flex Pages` [#2889](https://github.com/getgrav/grav/issues/2889)
* Fixed Flex Page parent `header.admin.children_display_order` setting being ignored in Admin [#2881](https://github.com/getgrav/grav/issues/2881)
* Implemented missing Flex `$pageCollection->batch()` and `$pageCollection->order()` methods
* Fixed user avatar creation for new `Flex Users` when using folder storage
* Fixed `Trying to access array offset on value of type null` PHP 7.4 error in `Plugin.php`
* Fixed Gregwar Image library using `.jpeg` for cached images, rather use `.jpg`
* Fixed `Flex Pages` with `00.home` page not having ordering set
* Fixed `Flex Pages` not updating empty content on save [#2890](https://github.com/getgrav/grav/issues/2890)
* Fixed creating new Flex User with file storage
* Fixed saving new `Flex Object` with custom key
* Fixed broken `Plugin::config()` method
# v1.7.0-rc.8
## 03/19/2020
1. [](#new)
* Added `MediaTrait::freeMedia()` method to free media (and memory)
* Added `Folder::hasChildren()` method to determine if a folder has child folders
1. [](#improved)
* Save memory when updating large flex indexes
* Better `Content-Encoding` handling in Apache when content compression is disabled [#2619](https://github.com/getgrav/grav/issues/2619)
1. [](#bugfix)
* Fixed creating new `Flex User` when folder storage has been selected
* Fixed some bugs in Flex root page methods
* Fixed bad default redirect code in `ControllerResponseTrait::createRedirectResponse()`
* Fixed issue with PHP `HTTP_X_HTTP_METHOD_OVERRIDE` [#2847](https://github.com/getgrav/grav/issues/2847)
* Fixed numeric usernames not working in `Flex Users`
* Implemented missing Flex `$page->move()` method
# v1.7.0-rc.7
## 03/05/2020
1. [](#new)
* Added `Session::regenerateId()` method to properly prevent session fixation issues
* Added configuration option `system.strict_mode.blueprint_compat` to maintain old `validation: strict` behavior [#1273](https://github.com/getgrav/grav/issues/1273)
1. [](#improved)
* Improved Flex events
* Updated CLI commands to use the new methods to initialize Grav
1. [](#bugfix)
* Fixed Flex Pages having broken `isFirst()`, `isLast()`, `prevSibling()`, `nextSibling()` and `adjacentSibling()`
* Fixed broken ordering sometimes when saving/moving visible `Flex Page` [#2837](https://github.com/getgrav/grav/issues/2837)
* Fixed ordering being lost when saving modular `Flex Page`
* Fixed `validation: strict` not working in blueprints (see `system.strict_mode.blueprint_compat` setting) [#1273](https://github.com/getgrav/grav/issues/1273)
* Fixed `Blueprint::extend()` and `Blueprint::embed()` not initializing dynamic properties
* Fixed fatal error on storing flex flash using new object without a key
* Regression: Fixed unchecking toggleable having no effect in Flex forms
* Fixed changing page template in Flex Pages [#2828](https://github.com/getgrav/grav/issues/2828)
# v1.7.0-rc.6
## 02/11/2020
1. [](#new)
* Plugins & Themes: Call `$plugin->autoload()` and `$theme->autoload()` automatically when object gets initialized
* CLI: Added `$grav->initializeCli()` method
* Flex Directory: Implemented customizable configuration
* Flex Storages: Added support for renaming directory entries
1. [](#improved)
* Vendor updates to latest
1. [](#bugfix)
* Regression: Fixed fatal error in blueprints [#2811](https://github.com/getgrav/grav/issues/2811)
* Regression: Fixed bad method call in FlexDirectory::getAuthorizeRule()
* Regression: Fixed fatal error in admin if the site has custom permissions in `onAdminRegisterPermissions`
* Regression: Fixed flex user index with folder storage
* Regression: Fixed fatal error in `bin/plugin` command
* Fixed `FlexObject::triggerEvent()` not emitting events [#2816](https://github.com/getgrav/grav/issues/2816)
* Grav 1.7: Fixed saving Flex configuration with ignored values becoming null
* Grav 1.7: Fixed `bin/plugin` initialization
* Grav 1.7: Fixed Flex Page cache key not taking account active language
# v1.7.0-rc.5
## 02/03/2020
1. [](#bugfix)
* Regression: Flex not working in PHP 7.2 or older
* Fixed creating first user from admin not clearing Flex User directory cache [#2809](https://github.com/getgrav/grav/issues/2809)
* Fixed Flex Pages allowing root page to be deleted
# v1.7.0-rc.4
## 02/03/2020
1. [](#new)
* _POTENTIAL BREAKING CHANGE:_ Upgraded Parsedown to 1.7 for Parsedown-Extra 0.8. Plugins that extend Parsedown may need a fix to render as HTML
* Added `$grav['flex']` to access all registered Flex Directories
* Added `$grav->dispatchEvent()` method for PSR-14 events
* Added `FlexRegisterEvent` which triggers when `$grav['flex']` is being accessed the first time
* Added Flex cache configuration options
* Added `PluginsLoadedEvent` which triggers after plugins have been loaded but not yet initialized
* Added `SessionStartEvent` which triggers when session is started
* Added `PermissionsRegisterEvent` which triggers when `$grav['permissions']` is being accessed the first time
* Added support for Flex Directory specific configuration
* Added support for more advanced ACL
* Added `flatten_array` filter to form field validation
* Added support for `security@: or: [admin.super, admin.pages]` in blueprints (nested AND/OR mode support)
1. [](#improved)
* Blueprint validation: Added `validate: value_type: bool|int|float|string|trim` to `array` to filter all the values inside the array
* Twig `url()` takes now third parameter (`true`) to return URL on non-existing file instead of returning false
1. [](#bugfix)
* Grav 1.7: Fixed blueprint loading issues [#2782](https://github.com/getgrav/grav/issues/2782)
* Fixed PHP 7.4 compatibility issue with `Stream`
* Fixed new `Flex Users` being stored with wrong filename, login issues [#2785](https://github.com/getgrav/grav/issues/2785)
* Fixed `ignore_empty: true` not removing empty values in blueprint filtering
* Fixed `{{ false|string }}` twig to return '0' instead of ''
* Fixed twig `url()` failing if stream has extra slash in it (e.g. `user:///data`)
* Fixed `Blueprint::filter()` returning null instead of array if there is nothing to return
* Fixed `Cannot use a scalar value as an array` error in `Utils::arrayUnflattenDotNotation()`, ignore nested structure instead
* Fixed `Route` instance in multi-site setups
* Fixed `system.translations: false` breaking `Inflector` methods
* Fixed filtering ignored (eg. `security@: admin.super`) fields causing `Flex Objects` to lose data on save
* Grav 1.7: Fixed `Flex Pages` unserialize issues if Flex-Objects Plugin has not been installed
* Grav 1.7: Require Flex-Objects Plugin to edit Flex Accounts
* Grav 1.7: Fixed bad result on testing `isPage()` when using Flex Pages
# v1.7.0-rc.3
## 01/02/2020
1. [](#new)
* Added root page support for `Flex Pages`
1. [](#improved)
* Twig filter `|yaml_serialize`: added support for `JsonSerializable` objects and other array-like objects
* Added support for returning Flex Page specific permissions for admin and testing
* Updated copyright dates to `2020`
* Various vendor updates
1. [](#bugfix)
* Grav 1.7: Fixed error on page initialization [#2753](https://github.com/getgrav/grav/issues/2753)
* Fixed checking ACL for another user (who is not currently logged in) in a Flex Object or Directory
* Fixed bug in Windows where `Filesystem::dirname()` returns backslashes
* Fixed Flex object issues in Windows [#2773](https://github.com/getgrav/grav/issues/2773)
# v1.7.0-rc.2
## 12/04/2019
1. [](#new)
* Updated Symfony Components to 4.4
* Added support for page specific CRUD permissions (`Flex Pages` only)
* Added new `-r <job-id>` option for Scheduler CLI command to force-run a job [#2720](https://github.com/getgrav/grav/issues/2720)
* Added `Utils::isAssoc()` and `Utils::isNegative()` helper methods
* Changed `UserInterface::authorize()` to return `null` having the same meaning as `false` if access is denied because of no matching rule
* Changed `FlexAuthorizeInterface::isAuthorized()` to return `null` having the same meaning as `false` if access is denied because of no matching rule
* Moved all Flex type classes under `Grav\Common\Flex`
* DEPRECATED `Grav\Common\User\Group` in favor of `$grav['user_groups']`, which contains Flex UserGroup collection
* DEPRECATED `$page->modular()` in favor of `$page->isModule()` for better readability
* Fixed phpstan issues in all code up to level 3
1. [](#improved)
* Improved twig `|array` filter to work with iterators and objects with `toArray()` method
* Updated Flex `SimpleStorage` code to feature match the other storages
* Improved user and group ACL to support deny permissions (`Flex Users` only)
* Improved twig `authorize()` function to work better with nested rule parameters
* Output the current username that Scheduler is using if crontab not setup
* Translations: rename MODULAR to MODULE everywhere
* Optimized `Flex Pages` collection filtering
* Frontend optimizations for `Flex Pages`
1. [](#bugfix)
* Regression: Fixed Grav update bug [#2722](https://github.com/getgrav/grav/issues/2722)
* Fixed fatal error when calling `{{ grav.undefined }}`
* Grav 1.7: Reverted `$object->getStorageKey()` interface as it was not a good idea, added `getMasterKey()` for pages
* Grav 1.7: Fixed logged in user being able to delete his own account from admin account manager
# v1.7.0-rc.1
## 11/06/2019
1. [](#new)
* Added `Flex Pages` to Grav core and removed Flex Objects plugin dependency
* Added `Utils::simpleTemplate()` method for very simple variable templating
* Added `array_diff()` twig function
* Added `template_from_string()` twig function
* Updated Symfony Components to 4.3
1. [](#improved)
* Improved `Scheduler` cron command check and more useful CLI information
* Improved `Flex Users`: obey blueprints and allow Flex to be used in admin only
* Improved `Flex` to support custom site template paths
* Changed Twig `{% cache %}` tag to not need unique key, and `lifetime` is now optional
* Added mime support for file formatters
* Updated built-in `composer.phar` to latest `1.9.0`
* Updated vendor libraries
* Use `Symfony EventDispatcher` directly and not rockettheme/toolbox wrapper
1. [](#bugfix)
* Fixed exception caused by missing template type based on `Accept:` header [#2705](https://github.com/getgrav/grav/issues/2705)
* Fixed `Page::untranslatedLanguages()` not being symmetrical to `Page::translatedLanguages()`
* Fixed `Flex Pages` not calling `onPageProcessed` event when cached
* Fixed phpstan issues in Framework up to level 7
* Fixed issue with duplicate configuration settings in Flex Directory
* Fixed fatal error if there are numeric folders in `Flex Pages`
* Fixed error on missing `Flex` templates in if `Flex Objects` plugin isn't installed
* Fixed `PageTranslateTrait::getAllLanguages()` and `getAllLanguages()` to include default language
* Fixed multi-language saving issues with default language in `Flex Pages`
* Selfupgrade CLI: Fixed broken selfupgrade assets reference [#2681](https://github.com/getgrav/grav/issues/2681)
* Grav 1.7: Fixed PHP 7.1 compatibility issues
* Grav 1.7: Fixed fatal error in multi-site setups
* Grav 1.7: Fixed `Flex Pages` routing if using translated slugs or `system.hide_in_urls` setting
* Grav 1.7: Fixed bug where Flex index file couldn't be disabled
# v1.7.0-beta.10
## 10/03/2019
1. [](#improved)
* Flex: Removed extra exists check when creating object (messes up "non-existing" pages)
* Support customizable null character replacement in `CSVFormatter::decode()`
1. [](#bugfix)
* Fixed wrong Grav param separator when using `Route` class
* Fixed Flex User Avatar not fully backwards compatible with old user
* Grav 1.7: Fixed prev/next page missing pages if pagination was turned on in page header
* Grav 1.7: Reverted setting language for every page during initialization
* Grav 1.7: Fixed numeric language inconsistencies
# v1.7.0-beta.9
## 09/26/2019
1. [](#new)
* Added a new `{% cache %}` Twig tag eliminating need for `twigcache` extension.
1. [](#improved)
* Improved blueprint initialization in Flex Objects (fixes content aware fields)
* Improved Flex FolderStorage class to better hide storage specific logic
* Exception will output a badly formatted line in `CsvFormatter::decode()`
1. [](#bugfix)
* Fixed error when activating Flex Accounts in GRAV system configuration (PHP 7.1)
* Fixed Grav parameter handling in `RouteFactory::createFromString()`
# v1.7.0-beta.8
## 09/19/2019
1. [](#new)
* Added new `Security::sanitizeSVG()` function
* Backwards compatibility break: `FlexStorageInterface::getStoragePath()` and `getMediaPath()` can now return null
1. [](#improved)
* Several FlexObject loading improvements
* Added `bin/grav page-system-validator [-r|--record] [-c|--check]` to test Flex Pages
* Improved language support for `Route` class
1. [](#bugfix)
* Regression: Fixed language fallback
* Regression: Fixed translations when language code is used for non-language purposes
* Regression: Allow SVG avatar images for users
* Fixed error in `Session::getFlashObject()` if Flex Form is being used
* Fixed broken Twig `dump()`
* Fixed `Page::modular()` and `Page::modularTwig()` returning `null` for folders and other non-initialized pages
* Fixed 404 error when you click to non-routable menu item with children: redirect to the first child instead
* Fixed wrong `Pages::dispatch()` calls (with redirect) when we really meant to call `Pages::find()`
* Fixed avatars not being displayed with flex users [#2431](https://github.com/getgrav/grav/issues/2431)
* Fixed initial Flex Object state when creating a new objects in a form
# v1.7.0-beta.7
## 08/30/2019
1. [](#improved)
* Improved language support
1. [](#bugfix)
* `FlexForm`: Fixed some compatibility issues with Form plugin
# v1.7.0-beta.6
## 08/29/2019
1. [](#new)
* Added experimental support for `Flex Pages` (**Flex Objects** plugin required)
1. [](#improved)
* Improved `bin/grav yamllinter` CLI command by adding an option to find YAML Linting issues from the whole site or custom folder
* Added support for not instantiating pages, useful to speed up tasks
* Greatly improved speed of loading Flex collections
1. [](#bugfix)
* Fixed `$page->summary()` always striping HTML tags if the summary was set by `$page->setSummary()`
* Fixed `Flex->getObject()` when using Flex Key
* Grav 1.7: Fixed enabling PHP Debug Bar causes fatal error in Gantry [#2634](https://github.com/getgrav/grav/issues/2634)
* Grav 1.7: Fixed broken taxonomies [#2633](https://github.com/getgrav/grav/issues/2633)
* Grav 1.7: Fixed unpublished blog posts being displayed on the front-end [#2650](https://github.com/getgrav/grav/issues/2650)
# v1.7.0-beta.5
## 08/11/2019
1. [](#new)
* Added a new `bin/grav server` CLI command to easily run Symfony or PHP built-in webservers
* Added `hasFlexFeature()` method to test if `FlexObject` or `FlexCollection` implements a given feature
* Added `getFlexFeatures()` method to return all features that `FlexObject` or `FlexCollection` implements
* DEPRECATED `FlexDirectory::update()` and `FlexDirectory::remove()`
* Added `FlexStorage::getMetaData()` to get updated object meta information for listed keys
* Added `Language::getPageExtensions()` to get full list of supported page language extensions
* Added `$grav->close()` method to properly terminate the request with a response
* Added `Pages::getCollection()` method
1. [](#improved)
* Better support for Symfony local server `symfony server:start`
* Make `Route` objects immutable
* `FlexDirectory::getObject()` can now be called without any parameters to create a new object
* Flex objects no longer return temporary key if they do not have one; empty key is returned instead
* Updated vendor libraries
* Moved `collection()` and `evaluate()` logic from `Page` class into `Pages` class
1. [](#bugfix)
* Fixed `Form` not to use deleted flash object until the end of the request fixing issues with reset
* Fixed `FlexForm` to allow multiple form instances with non-existing objects
* Fixed `FlexObject` search by using `key`
* Grav 1.7: Fixed clockwork messages with arrays and objects
# v1.7.0-beta.4
## 07/01/2019
1. [](#new)
* Updated with Grav 1.6.12 features, improvements & fixes
* Added new configuration option `system.debugger.censored` to hide potentially sensitive information
* Added new configuration option `system.languages.include_default_lang_file_extension` to keep default language in `.md` files if set to `false`
* Added configuration option to set fallback content languages individually for every language
1. [](#improved)
* Updated Vendor libraries
1. [](#bugfix)
* Fixed `.md` page to be assigned to the default language and to be listed in translated/untranslated page list
* Fixed `Language::getFallbackPageExtensions()` to fall back only to default language instead of going through all languages
* Fixed `Language::getFallbackPageExtensions()` returning wrong file extensions when passing custom page extension
# v1.7.0-beta.3
## 06/24/2019
1. [](#bugfix)
* Fixed Clockwork on Windows machines
* Fixed parent field issues on Windows machines
* Fixed unreliable Clockwork calls in sub-folders
# v1.7.0-beta.2
## 06/21/2019
1. [](#new)
* Updated with Grav 1.6.11 fixes
1. [](#improved)
* Updated the Clockwork text
# v1.7.0-beta.1
## 06/14/2019
1. [](#new)
* Added support for [Clockwork](https://underground.works/clockwork) developer tools (now default debugger)
* Added support for [Tideways XHProf](https://github.com/tideways/php-xhprof-extension) PHP Extension for profiling method calls
* Added Twig profiling for Clockwork debugger
* Added support for Twig 2.11 (compatible with Twig 1.40+)
* Optimization: Initialize debugbar only after the configuration has been loaded
* Optimization: Combine some early Grav processors into a single one
# v1.6.28
## 10/07/2020
1. [](#new)
* Back-ported twig `{% cache %}` tag from Grav 1.7
* Back-ported `Utils::fullPath()` helper function from Grav 1.7
* Back-ported `{{ svg_image() }}` Twig function from Grav 1.7
* Back-ported `Folder::countChildren()` function from Grav 1.7
1. [](#improved)
* Use new `{{ theme_var() }}` enhanced logic from Grav 1.7
* Improved `Excerpts` class with fixes and functionality from Grav 1.7
* Ensure `onBlueprintCreated()` is initialized first
* Do not cache default `404` error page
* Composer update of vendor libraries
* Switched `Caddyfile` to use new Caddy2 syntax + improved usability
1. [](#bugfix)
* Fixed Referer reference during GPM calls.
* Fixed fatal error with toggled lists
# v1.6.27
## 09/01/2020
1. [](#improved)
* Right trim route for safety
* Use the proper ellipsis for summary [#2939](https://github.com/getgrav/grav/pull/2939)
* Left pad schedule times with zeros [#2921](https://github.com/getgrav/grav/pull/2921)
# v1.6.26
## 06/08/2020
1. [](#improved)
* Added new configuration option to control the supported attributes in markdown links [#2882](https://github.com/getgrav/grav/issues/2882)
1. [](#bugfix)
* Fixed blueprint for `system.pages.hide_empty_folders` [#1925](https://github.com/getgrav/grav/issues/2925)
* JSON Route of homepage with no route set is valid
* Fix case-insensitive search of location header [form#425](https://github.com/getgrav/grav-plugin-form/issues/425)
# v1.6.25
## 05/14/2020
1. [](#improved)
* Added system configuration support for `HTTP_X_Forwarded` headers (host disabled by default)
* Updated `PHPUserAgentParser` to 1.0.0
* Bump `Go` to version 1.13 in `travis.yaml`
# v1.6.24
## 04/27/2020
1. [](#improved)
* Added support for `X-Forwarded-Host` [#2891](https://github.com/getgrav/grav/pull/2891)
* Disable XDebug in Travis builds
# v1.6.23
## 03/19/2020
1. [](#new)
* Moved `Parsedown` 1.6 and `ParsedownExtra` 0.7 into `Grav\Framework\Parsedown` to allow fixes
* Added `aliases.php` with references to direct `\Parsedown` and `\ParsedownExtra` references
1. [](#improved)
* Upgraded `jQuery` to latest 3.4.1 version [#2859](https://github.com/getgrav/grav/issues/2859)
1. [](#bugfix)
* Fixed PHP 7.4 issue in ParsedownExtra [#2832](https://github.com/getgrav/grav/issues/2832)
* Fix for [user reported](https://twitter.com/OriginalSicksec) CVE path-based open redirect
* Fix for `stream_set_option` error with PHP 7.4 via Toolbox#28 [#2850](https://github.com/getgrav/grav/issues/2850)
# v1.6.22
## 03/05/2020
1. [](#new)
* Added `Pages::reset()` method
1. [](#improved)
* Updated Negotiation library to address issues [#2513](https://github.com/getgrav/grav/issues/2513)
1. [](#bugfix)
* Fixed issue with search plugins not being able to switch between page translations
* Fixed issues with `Pages::baseRoute()` not picking up active language reliably
* Reverted `validation: strict` fix as it breaks sites, see [#1273](https://github.com/getgrav/grav/issues/1273)
# v1.6.21
## 02/11/2020
1. [](#new)
* Added `ConsoleCommand::setLanguage()` method to set language to be used from CLI
* Added `ConsoleCommand::initializeGrav()` method to properly set up Grav instance to be used from CLI
* Added `ConsoleCommand::initializePlugins()`method to properly set up all plugins to be used from CLI
* Added `ConsoleCommand::initializeThemes()`method to properly set up current theme to be used from CLI
* Added `ConsoleCommand::initializePages()` method to properly set up pages to be used from CLI
1. [](#improved)
* Vendor updates
1. [](#bugfix)
* Fixed `bin/plugin` CLI calling `$themes->init()` way too early (removed it, use above methods instead)
* Fixed call to `$grav['page']` crashing CLI
* Fixed encoding problems when PHP INI setting `default_charset` is not `utf-8` [#2154](https://github.com/getgrav/grav/issues/2154)
# v1.6.20
## 02/03/2020
1. [](#bugfix)
* Fixed incorrect routing caused by `str_replace()` in `Uri::init()` [#2754](https://github.com/getgrav/grav/issues/2754)
* Fixed session cookie is being set twice in the HTTP header [#2745](https://github.com/getgrav/grav/issues/2745)
* Fixed session not restarting if user was invalid (downgrading from Grav 1.7)
* Fixed filesystem iterator calls with non-existing folders
* Fixed `checkbox` field not being saved, requires also Form v4.0.2 [#1225](https://github.com/getgrav/grav/issues/1225)
* Fixed `validation: strict` not working in blueprints [#1273](https://github.com/getgrav/grav/issues/1273)
* Fixed `Data::filter()` removing empty fields (such as empty list) by default [#2805](https://github.com/getgrav/grav/issues/2805)
* Fixed fatal error with non-integer page param value [#2803](https://github.com/getgrav/grav/issues/2803)
* Fixed `Assets::addInlineJs()` parameter type mismatch between v1.5 and v1.6 [#2659](https://github.com/getgrav/grav/issues/2659)
* Fixed `site.metadata` saving issues [#2615](https://github.com/getgrav/grav/issues/2615)
# v1.6.19
## 12/04/2019
1. [](#new)
* Catch PHP 7.4 deprecation messages and report them in debugbar instead of throwing fatal error
1. [](#bugfix)
* Fixed fatal error when calling `{{ grav.undefined }}`
* Fixed multiple issues when there are no pages in the site
* PHP 7.4 fix for [#2750](https://github.com/getgrav/grav/issues/2750)
# v1.6.18
## 12/02/2019
1. [](#bugfix)
* PHP 7.4 fix in `Pages::buildSort()`
* Updated vendor libraries for PHP 7.4 fixes in Twig and other libraries
* Fixed fatal error when `$page->id()` is null [#2731](https://github.com/getgrav/grav/pull/2731)
* Fixed cache conflicts on pages with no set id
* Fix rewrite rule for for `lighttpd` default config [#721](https://github.com/getgrav/grav/pull/2721)
# v1.6.17
## 11/06/2019
1. [](#new)
* Added working ETag (304 Not Modified) support based on the final rendered HTML
1. [](#improved)
* Safer file handling + customizable null char replacement in `CsvFormatter::decode()`
* Change of Behavior: `Inflector::hyphenize` will now automatically trim dashes at beginning and end of a string.
* Change in Behavior for `Folder::all()` so no longer fails if trying to copy non-existent dot file [#2581](https://github.com/getgrav/grav/pull/2581)
* renamed composer `test-plugins` script to `phpstan-plugins` to be more explicit [#2637](https://github.com/getgrav/grav/pull/2637)
1. [](#bugfix)
* Fixed PHP 7.1 bug in FlexMedia
* Fix cache image generation when using cropResize [#2639](https://github.com/getgrav/grav/pull/2639)
* Fix `array_merge()` exception with non-array page header metadata [#2701](https://github.com/getgrav/grav/pull/2701)
# v1.6.16
## 09/19/2019
1. [](#bugfix)
* Fixed Flex user creation if file storage is being used [#2444](https://github.com/getgrav/grav/issues/2444)
* Fixed `Badly encoded JSON data` warning when uploading files [#2663](https://github.com/getgrav/grav/issues/2663)
# v1.6.15
## 08/20/2019
1. [](#improved)
* Improved robots.txt [#2632](https://github.com/getgrav/grav/issues/2632)
1. [](#bugfix)
* Fixed broken markdown Twig tag [#2635](https://github.com/getgrav/grav/issues/2635)
* Force Symfony 4.2 in Grav 1.6 to remove a bunch of deprecated messages
# v1.6.14
## 08/18/2019
1. [](#bugfix)
* Actually include fix for `system\router.php` [#2627](https://github.com/getgrav/grav/issues/2627)
# v1.6.13
## 08/16/2019
1. [](#bugfix)
* Regression fix for `system\router.php` [#2627](https://github.com/getgrav/grav/issues/2627)
# v1.6.12
## 08/14/2019
1. [](#new)
* Added support for custom `FormFlash` save locations
* Added a new `Utils::arrayLower()` method for lowercasing arrays
* Support new GRAV_BASEDIR environment variable [#2541](https://github.com/getgrav/grav/pull/2541)
* Allow users to override plugin handler priorities [#2165](https://github.com/getgrav/grav/pull/2165)
1. [](#improved)
* Use new `Utils::getSupportedPageTypes()` to enforce `html,htm` at the front of the list [#2531](https://github.com/getgrav/grav/issues/2531)
* Updated vendor libraries
* Markdown filter is now page-aware so that it works with modular references [admin#1731](https://github.com/getgrav/grav-plugin-admin/issues/1731)
* Check of `GRAV_USER_INSTANCE` constant is already defined [#2621](https://github.com/getgrav/grav/pull/2621)
1. [](#bugfix)
* Fixed some potential issues when `$grav['user']` is not set
* Fixed error when calling `Media::add($name, null)`
* Fixed `url()` returning wrong path if using stream with grav root path in it, eg: `user-data://shop` when Grav is in `/shop`
* Fixed `url()` not returning a path to non-existing file (`user-data://shop` => `/user/data/shop`) if it is set to fail gracefully
* Fixed `url()` returning false on unknown streams, such as `ftp://domain.com`, they should be treated as external URL
* Fixed Flex User to have permissions to save and delete his own user
* Fixed new Flex User creation not being possible because of username could not be given
* Fixed fatal error 'Expiration date must be an integer, a DateInterval or null, "double" given' [#2529](https://github.com/getgrav/grav/issues/2529)
* Fixed non-existing Flex object having a bad media folder
* Fixed collections using `page@.self:` should allow modular pages if requested
* Fixed an error when trying to delete a file from non-existing Flex Object
* Fixed `FlexObject::exists()` failing sometimes just after the object has been saved
* Fixed CSV formatter not encoding strings with `"` and `,` properly
* Fixed var order in `Validation.php` [#2610](https://github.com/getgrav/grav/issues/2610)
# v1.6.11
## 06/21/2019
1. [](#new)
* Added `FormTrait::getAllFlashes()` method to get all the available form flash objects for the form
* Added creation and update timestamps to `FormFlash` objects
1. [](#improved)
* Added `FormFlashInterface`, changed constructor to take `$config` array
1. [](#bugfix)
* Fixed error in `ImageMedium::url()` if the image cache folder does not exist
* Fixed empty form flash name after file upload or form state update
* Fixed a bug in `Route::withParam()` method
* Fixed issue with `FormFlash` objects when there is no session initialized
# v1.6.10
## 06/14/2019
1. [](#improved)
* Added **page blueprints** to `YamlLinter` CLI and Admin reports
* Removed `Gitter` and `Slack` [#2502](https://github.com/getgrav/grav/issues/2502)
* Optimizations for Plugin/Theme loading
* Generalized markdown classes so they can be used outside of `Page` scope with a custom `Excerpts` class instance
* Change minimal port number to 0 (unix socket) [#2452](https://github.com/getgrav/grav/issues/2452)
1. [](#bugfix)
* Force question to install demo content in theme update [#2493](https://github.com/getgrav/grav/issues/2493)
* Fixed GPM errors from blueprints not being logged [#2505](https://github.com/getgrav/grav/issues/2505)
* Don't error when IP is invalid [#2507](https://github.com/getgrav/grav/issues/2507)
* Fixed regression with `bin/plugin` not listing the plugins available (1c725c0)
* Fixed bitwise operator in `TwigExtension::exifFunc()` [#2518](https://github.com/getgrav/grav/issues/2518)
* Fixed issue with lang prefix incorrectly identifying as admin [#2511](https://github.com/getgrav/grav/issues/2511)
* Fixed issue with `U0ils::pathPrefixedBYLanguageCode()` and trailing slash [#2510](https://github.com/getgrav/grav/issues/2511)
* Fixed regresssion issue of `Utils::Url()` not returning `false` on failure. Added new optional `fail_gracefully` 3rd attribute to return string that caused failure [#2524](https://github.com/getgrav/grav/issues/2524)
# v1.6.9
## 05/09/2019
1. [](#new)
* Added `Route::withoutParams()` methods
* Added `Pages::setCheckMethod()` method to override page configuration in Admin Plugin
* Added `Cache::clearCache('invalidate')` parameter for just invalidating the cache without deleting any cached files
* Made `UserCollectionInderface` to extend `Countable` to get the count of existing users
1. [](#improved)
* Flex admin: added default search options for flex objects
* Flex collection and object now fall back to the default template if template file doesn't exist
* Updated Vendor libraries including Twig 1.40.1
* Updated language files from `https://crowdin.com/project/grav-core`
1. [](#bugfix)
* Fixed `$grav['route']` from being modified when the route instance gets modified
* Fixed Assets options array mixed with standalone priority [#2477](https://github.com/getgrav/grav/issues/2477)
* Fix for `avatar_url` provided by 3rd party providers
* Fixed non standard `lang` code lengths in `Utils` and `Session` detection
* Fixed saving a new object in Flex `SimpleStorage`
* Fixed exception in `Flex::getDirectories()` if the first parameter is set
* Output correct "Last Updated" in `bin/gpm info` command
* Checkbox getting interpreted as string, so created new `Validation::filterCheckbox()`
* Fixed backwards compatibility to `select` field with `selectize.create` set to true [git-sync#141](https://github.com/trilbymedia/grav-plugin-git-sync/issues/141)
* Fixed `YamlFormatter::decode()` to always return array [#2494](https://github.com/getgrav/grav/pull/2494)
* Fixed empty `$grav['request']->getAttribute('route')->getExtension()`
# v1.6.8
## 04/23/2019
1. [](#new)
* Added `FlexCollection::filterBy()` method
1. [](#bugfix)
* Revert `Use Null Coalesce Operator` [#2466](https://github.com/getgrav/grav/pull/2466)
* Fixed `FormTrait::render()` not providing config variable
* Updated `bin/grav clean` to clear `cache/compiled` and `user/config/security.yaml`
# v1.6.7
## 04/22/2019
1. [](#new)
* Added a new `bin/grav yamllinter` CLI command to find YAML Linting issues [#2468](https://github.com/getgrav/grav/issues/2468#issuecomment-485151681)
1. [](#improved)
* Improve `FormTrait` backwards compatibility with existing forms
* Added a new `Utils::getSubnet()` function for IPv4/IPv6 parsing [#2465](https://github.com/getgrav/grav/pull/2465)
1. [](#bugfix)
* Remove disabled fields from the form schema
* Fix issue when excluding `inlineJs` and `inlineCss` from Assets pipeline [#2468](https://github.com/getgrav/grav/issues/2468)
* Fix for manually set position on external URLs [#2470](https://github.com/getgrav/grav/issues/2470)
# v1.6.6
## 04/17/2019
1. [](#new)
* `FormInterface` now implements `RenderInterface`
* Added new `FormInterface::getTask()` method which reads the task from `form.task` in the blueprint
1. [](#improved)
* Updated vendor libraries to latest
1. [](#bugfix)
* Rollback `redirect_default_route` logic as it has issues with multi-lang [#2459](https://github.com/getgrav/grav/issues/2459)
* Fix potential issue with `|contains` Twig filter on PHP 7.3
* Fixed bug in text field filtering: return empty string if value isn't a string or number [#2460](https://github.com/getgrav/grav/issues/2460)
* Force Asset `priority` to be an integer and not throw error if invalid string passed [#2461](https://github.com/getgrav/grav/issues/2461)
* Fixed bug in text field filtering: return empty string if value isn't a string or number
* Fixed `FlexForm` missing getter methods for defining form variables
# v1.6.5
## 04/15/2019
1. [](#bugfix)
* Backwards compatiblity with old `Uri::__toString()` output
# v1.6.4
## 04/15/2019
1. [](#bugfix)
* Improved `redirect_default_route` logic as well as `Uri::toArray()` to take into account `root_path` and `extension`
* Rework logic to pull out excluded files from pipeline more reliably [#2445](https://github.com/getgrav/grav/issues/2445)
* Better logic in `Utils::normalizePath` to handle externals properly [#2216](https://github.com/getgrav/grav/issues/2216)
* Fixed to force all `Page::taxonomy` to be treated as strings [#2446](https://github.com/getgrav/grav/issues/2446)
* Fixed issue with `Grav['user']` not being available [form#332](https://github.com/getgrav/grav-plugin-form/issues/332)
* Updated rounding logic for `Utils::parseSize()` [#2394](https://github.com/getgrav/grav/issues/2394)
* Fixed Flex simple storage not being properly initialized if used with caching
# v1.6.3
## 04/12/2019
1. [](#new)
* Added `Blueprint::addDynamicHandler()` method to allow custom dynamic handlers, for example `custom-options@: getCustomOptions`
1. [](#bugfix)
* Missed a `CacheCommand` reference in `bin/grav` [#2442](https://github.com/getgrav/grav/issues/2442)
* Fixed issue with `Utils::normalizePath` messing with external URLs [#2216](https://github.com/getgrav/grav/issues/2216)
* Fix for `vUndefined` versions when upgrading
# v1.6.2
## 04/11/2019
1. [](#bugfix)
* Revert renaming of `ClearCacheCommand` to ensure CLI GPM upgrades go smoothly
# v1.6.1
## 04/11/2019
1. [](#improved)
* Improved CSS for the bottom filter bar of DebugBar
1. [](#bugfix)
* Fixed issue with `@import` not being added to top of pipelined css [#2440](https://github.com/getgrav/grav/issues/2440)
# v1.6.0
## 04/11/2019
1. [](#new)
* Set minimum requirements to [PHP 7.1.3](https://getgrav.org/blog/raising-php-requirements-2018)
* New `Scheduler` functionality for periodic jobs
* New `Backup` functionality with multiple backup profiles and scheduler integration
* Refactored `Assets Manager` to be more powerful and flexible
* Updated Doctrine Collections to 1.6
* Updated Doctrine Cache to 1.8
* Updated Symfony Components to 4.2
* Added new Cache purge functionality old cache manually via CLI/Admin as well as scheduler integration
* Added new `{% throw 404 'Not Found' %}` twig tag (with custom code/message)
* Added `Grav\Framework\File` classes for handling YAML, Markdown, JSON, INI and PHP serialized files
* Added `Grav\Framework\Collection\AbstractIndexCollection` class
* Added `Grav\Framework\Object\ObjectIndex` class
* Added `Grav\Framework\Flex` classes
* Added support for hiding form fields in blueprints by using dynamic property like `security@: admin.foobar`, `scope@: object` or `scope-ignore@: object` to any field
* New experimental **FlexObjects** powered `Users` for increased performance and capability (**disabled** by default)
* Added PSR-7 and PSR-15 classes
* Added `Grav\Framework\DI\Container` class
* Added `Grav\Framework\RequestHandler\RequestHandler` class
* Added `Page::httpResponseCode()` and `Page::httpHeaders()` methods
* Added `Grav\Framework\Form\Interfaces\FormInterface`
* Added `Grav\Framework\Form\Interfaces\FormFactoryInterface`
* Added `Grav\Framework\Form\FormTrait`
* Added `Page::forms()` method to get normalized list of all form headers defined in the page
* Added `onPageAction`, `onPageTask`, `onPageAction.{$action}` and `onPageTask.{$task}` events
* Added `Blueprint::processForm()` method to filter form inputs
* Move `processMarkdown()` method from `TwigExtension` to more general `Utils` class
* Added support to include extra files into `Media` (such as uploaded files)
* Added form preview support for `FlexObject`, including a way to render newly uploaded files before saving them
* Added `FlexObject::getChanges()` to determine what fields change during an update
* Added `arrayDiffMultidimensional`, `arrayIsAssociative`, `arrayCombine` Util functions
* New `$grav['users']` service to allow custom user classes implementing `UserInterface`
* Added `LogViewer` helper class and CLI command: `bin/grav logviewer`
* Added `select()` and `unselect()` methods to `CollectionInterface` and its base classes
* Added `orderBy()` and `limit()` methods to `ObjectCollectionInterface` and its base classes
* Added `user-data://` which is a writable stream (`user://data` is not and should be avoided)
* Added support for `/action:{$action}` (like task but used without nonce when only receiving data)
* Added `onAction.{$action}` event
* Added `Grav\Framework\Form\FormFlash` class to contain AJAX uploaded files in more reliable way
* Added `Grav\Framework\Form\FormFlashFile` class which implements `UploadedFileInterface` from PSR-7
* Added `Grav\Framework\Filesystem\Filesystem` class with methods to manipulate stream URLs
* Added new `$grav['filesystem']` service using an instance of the new `Filesystem` object
* Added `{% render object layout: 'default' with { variable: true } %}` for Flex objects and collections
* Added `$grav->setup()` to simplify CLI and custom access points
* Added `CsvFormatter` and `CsvFile` classes
* Added new system config option to `pages.hide_empty_folders` if a folder has no valid `.md` file available. Default behavior is `false` for compatibility.
* Added new system config option for `languages.pages_fallback_only` forcing only 'fallback' to find page content through supported languages, default behavior is to display any language found if active language is missing
* Added `Utils::arrayFlattenDotNotation()` and `Utils::arrayUnflattenDotNotation()` helper methods
1. [](#improved)
* Add the page to onMarkdownInitialized event [#2412](https://github.com/getgrav/grav/issues/2412)
* Doctrine filecache is now namespaced with prefix to support purging
* Register all page types into `blueprint://pages` stream
* Removed `apc` and `xcache` support, made `apc` alias of `apcu`
* Support admin and regular translations via the `|t` twig filter and `t()` twig function
* Improved Grav Core installer/updater to run installer script
* Updated vendor libraries including Symfony `4.2.3`
* Renamed old `User` class to `Grav\Common\User\DataUser\User` with multiple improvements and small fixes
* `User` class now acts as a compatibility layer to older versions of Grav
* Deprecated `new User()`, `User::load()`, `User::find()` and `User::delete()` in favor of `$grav['users']` service
* `Media` constructor has now support to not to initialize the media objects
* Cleanly handle session corruption due to changing Flex object types
* Added `FlexObjectInterface::getDefaultValue()` and `FormInterface::getDefaultValue()`
* Added new `onPageContent()` event for every call to `Page::content()`
* Added phpstan: PHP Static Analysis Tool [#2393](https://github.com/getgrav/grav/pull/2393)
* Added `composer test-plugins` to test plugin issues with the current version of Grav
* Added `Flex::getObjects()` and `Flex::getMixedCollection()` methods for co-mingled collections
* Added support to use single Flex key parameter in `Flex::getObject()` method
* Added `FlexObjectInterface::search()` and `FlexCollectionInterface::search()` methods
* Override `system.media.upload_limit` with PHP's `post_max_size` or `upload_max_filesize`
* Class `Grav\Common\Page\Medium\AbstractMedia` now use array traits instead of extending `Grav\Common\Getters`
* Implemented `Grav\Framework\Psr7` classes as `Nyholm/psr7` decorators
* Added a new `cache-clear` scheduled job to go along with `cache-purge`
* Renamed `Grav\Framework\File\Formatter\FormatterInterface` to `Grav\Framework\File\Interfaces\FileFormatterInterface`
* Improved `File::save()` to use a temporary file if file isn't locked
* Improved `|t` filter to better support admin `|tu` style filter if in admin
* Update all classes to rely on `PageInterface` instead of `Page` class
* Better error checking in `bin/plugin` for existence and enabled
* Removed `media.upload_limit` references
* Twig `nicenumber`: do not use 0 + string casting hack
* Converted Twig tags to use namespaced Twig classes
* Site shows error on page rather than hard-crash when page has invalid frontmatter [#2343](https://github.com/getgrav/grav/issues/2343)
* Added `languages.default_lang` option to override the default lang (usually first supported language)
* Added `Content-Type: application/json` body support for PSR-7 `ServerRequest`
* Remove PHP time limit in `ZipArchive`
* DebugBar: Resolve twig templates in deprecated backtraces in order to help locating Twig issues
* Added `$grav['cache']->getSimpleCache()` method for getting PSR-16 compatible cache
* MediaTrait: Use PSR-16 cache
* Improved `Utils::normalizePath()` to support non-protocol URLs
* Added ability to reset `Page::metadata` to allow rebuilding from automatically generated values
* Added back missing `page.types` field in system content configuration [admin#1612](https://github.com/getgrav/grav-plugin-admin/issues/1612)
* Console commands: add method for invalidating cache
* Updated languages
* Improved `$page->forms()` call, added `$page->addForms()`
* Updated languages from crowdin
* Fixed `ImageMedium` constructor warning when file does not exist
* Improved `Grav\Common\User` class; added `$user->update()` method
* Added trim support for text input fields `validate: trim: true`
* Improved `Grav\Framework\File\Formatter` classes to have abstract parent class and some useful methods
* Support negotiated content types set via the Request `Accept:` header
* Support negotiated language types set via the Request `Accept-Language:` header
* Cleaned up and sorted the Service `idMap`
* Updated `Grav` container object to implement PSR-11 `ContainerInterface`
* Updated Grav `Processor` classes to implement PSR-15 `MiddlewareInterface`
* Make `Data` class to extend `JsonSerializable`
* Modified debugger icon to use retina space-dude version
* Added missing `Video::preload()` method
* Set session name based on `security.salt` rather than `GRAV_ROOT` [#2242](https://github.com/getgrav/grav/issues/2242)
* Added option to configure list of `xss_invalid_protocols` in `Security` config [#2250](https://github.com/getgrav/grav/issues/2250)
* Smarter `security.salt` checking now we use `security.yaml` for other options
* Added apcu autoloader optimization
* Additional helper methods in `Language`, `Languages`, and `LanguageCodes` classes
* Call `onFatalException` event also on internal PHP errors
* Built-in PHP Webserver: log requests before handling them
* Added support for syslog and syslog facility logging (default: 'file')
* Improved usability of `System` configuration blueprint with side-tabs
1. [](#bugfix)
* Fixed issue with `Truncator::truncateWords` and `Truncator::truncateLetters` when string not wrapped in tags [#2432](https://github.com/getgrav/grav/issues/2432)
* Fixed `Undefined method closure::fields()` when getting avatar for user, thanks @Romarain [#2422](https://github.com/getgrav/grav/issues/2422)
* Fixed cached images not being updated when source image is modified
* Fixed deleting last list item in the form
* Fixed issue with `Utils::url()` method would append extra `base_url` if URL already included it
* Fixed `mkdir(...)` race condition
* Fixed `Obtaining write lock failed on file...`
* Fixed potential undefined property in `onPageNotFound` event handling
* Fixed some potential issues/bugs found by phpstan
* Fixed regression in GPM packages casted to Array (ref, getgrav/grav-plugin-admin@e3fc4ce)
* Fixed session_start(): Setting option 'session.name' failed [#2408](https://github.com/getgrav/grav/issues/2408)
* Fixed validation for select field type with selectize
* Fixed validation for boolean toggles
* Fixed non-namespaced exceptions in scheduler
* Fixed trailing slash redirect in multlang environment [#2350](https://github.com/getgrav/grav/issues/2350)
* Fixed some issues related to Medium objects losing query string attributes
* Broke out Medium timestamp so it's not cleared on `reset()`s
* Fixed issue with `redirect_trailing_slash` losing query string [#2269](https://github.com/getgrav/grav/issues/2269)
* Fixed failed login if user attempts to log in with upper case non-english letters
* Removed extra authenticated/authorized fields when saving existing user from a form
* Fixed `Grav\Framework\Route::__toString()` returning relative URL, not relative route
* Fixed handling of `append_url_extension` inside of `Page::templateFormat()` [#2264](https://github.com/getgrav/grav/issues/2264)
* Fixed a broken language string [#2261](https://github.com/getgrav/grav/issues/2261)
* Fixed clearing cache having no effect on Doctrine cache
* Fixed `Medium::relativePath()` for streams
* Fixed `Object` serialization breaking if overriding `jsonSerialize()` method
* Fixed `YamlFormatter::decode()` when calling `init_set()` with integer
* Fixed session throwing error in CLI if initialized
* Fixed `Uri::hasStandardPort()` to support reverse proxy configurations [#1786](https://github.com/getgrav/grav/issues/1786)
* Use `append_url_extension` from page header to set template format if set [#2604](https://github.com/getgrav/grav/pull/2064)
* Fixed some bugs in Grav environment selection logic
* Use login provider User avatar if set
* Fixed `Folder::doDelete($folder, false)` removing symlink when it should not
* Fixed asset manager to not add empty assets when they don't exist in the filesystem
* Update `script` and `style` Twig tags to use the new `Assets` classes
* Fixed asset pipeline to rewrite remote URLs as well as local [#2216](https://github.com/getgrav/grav/issues/2216)
# v1.5.10
## 03/21/2019
1. [](#new)
* Added new `deferred` Twig extension
# v1.5.9
## 03/20/2019
1. [](#new)
* Added new `onPageContent()` event for every call to `Page::content()`
1. [](#improved)
* Fixed phpdoc generation
* Updated vendor libraries
* Force Toolbox v1.4.2
1. [](#bugfix)
* EXIF fix for streams
* Fix for User avatar not working due to uppercase or spaces in email [#2403](https://github.com/getgrav/grav/pull/2403)
# v1.5.8
## 02/07/2019
@@ -16,7 +1002,7 @@
* Updated vendor libraries
1. [](#bugfix)
* Support spaces with filenames in responsive images [#2300](https://github.com/getgrav/grav/pull/2300)
# v1.5.6
## 12/14/2018

View File

@@ -29,7 +29,7 @@ The issue tracker is the preferred channel for [bug reports](#bugs),
requests](#pull-requests), but please respect the following restrictions:
* Please **do not** use the issue tracker for support requests. Use
[the Forum](http://getgrav.org/forum) or [the Gitter chat](https://gitter.im/getgrav/grav).
[the Forum](http://getgrav.org/forum) or [the Chat](https://chat.getgrav.org/).
<a name="bugs"></a>
@@ -110,7 +110,8 @@ Good pull requests - patches, improvements, new features - are a fantastic
help. They should remain focused in scope and avoid containing unrelated
commits.
**Please ask first** in [Slack](https://getgrav.org/slack) or in the Forum before embarking on any significant pull request (e.g.
**Please ask first** in [the Forum](http://getgrav.org/forum) or [the Chat](https://chat.getgrav.org/)
before embarking on any significant pull request (e.g.
implementing features, refactoring code..),
otherwise you risk spending a lot of time working on something that the
project's developers might not want to merge into the project.

View File

@@ -1,24 +1,27 @@
# ![](https://avatars1.githubusercontent.com/u/8237355?v=2&s=50) Grav
[![SensioLabsInsight](https://insight.sensiolabs.com/projects/cfd20465-d0f8-4a0a-8444-467f5b5f16ad/mini.png)](https://insight.sensiolabs.com/projects/cfd20465-d0f8-4a0a-8444-467f5b5f16ad) [![Discord](https://img.shields.io/discord/501836936584101899.svg?logo=discord&colorB=728ADA&label=Discord%20Chat)](https://chat.getgrav.org) [![Build Status](https://travis-ci.org/getgrav/grav.svg?branch=develop)](https://travis-ci.org/getgrav/grav) [![OpenCollective](https://opencollective.com/grav/backers/badge.svg)](#backers) [![OpenCollective](https://opencollective.com/grav/sponsors/badge.svg)](#sponsors)
[![PHPStan](https://img.shields.io/badge/PHPStan-enabled-brightgreen.svg?style=flat)](https://github.com/phpstan/phpstan)
[![SensioLabsInsight](https://insight.sensiolabs.com/projects/cfd20465-d0f8-4a0a-8444-467f5b5f16ad/mini.png)](https://insight.sensiolabs.com/projects/cfd20465-d0f8-4a0a-8444-467f5b5f16ad)
[![Discord](https://img.shields.io/discord/501836936584101899.svg?logo=discord&colorB=728ADA&label=Discord%20Chat)](https://chat.getgrav.org)
[![Build Status](https://travis-ci.org/getgrav/grav.svg?branch=develop)](https://travis-ci.org/getgrav/grav) [![OpenCollective](https://opencollective.com/grav/backers/badge.svg)](#backers) [![OpenCollective](https://opencollective.com/grav/sponsors/badge.svg)](#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](http://twig.sensiolabs.org/): for powerful control of the user interface
* [Markdown](http://en.wikipedia.org/wiki/Markdown): for easy content creation
* [YAML](http://yaml.org): for simple configuration
* [Parsedown](http://parsedown.org/): for fast Markdown and Markdown Extra support
* [Doctrine Cache](http://doctrine-orm.readthedocs.io/projects/doctrine-orm/en/latest/reference/caching.html): layer for performance
* [Pimple Dependency Injection Container](http://pimple.sensiolabs.org/): for extensibility and maintainability
* [Symfony Event Dispatcher](http://symfony.com/doc/current/components/event_dispatcher/introduction.html): for plugin event handling
* [Symfony Console](http://symfony.com/doc/current/components/console/introduction.html): for CLI interface
* [Twig Templating](https://twig.sensiolabs.org/): 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
* [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
# Requirements
- PHP 5.6.4 or higher. Check the [required modules list](https://learn.getgrav.org/basics/requirements#php-requirements)
- PHP 7.1.3 or higher. Check the [required modules list](https://learn.getgrav.org/basics/requirements#php-requirements)
- Check the [Apache](https://learn.getgrav.org/basics/requirements#apache-requirements) or [IIS](https://learn.getgrav.org/basics/requirements#iis-requirements) requirements
# QuickStart
@@ -103,6 +106,7 @@ If you discover a possible security issue related to Grav or one of its plugins,
* Dive into more [advanced](https://learn.getgrav.org/advanced) functions
* Learn about the [Grav CLI](https://learn.getgrav.org/cli-console/grav-cli)
* Review examples in the [Grav Cookbook](https://learn.getgrav.org/cookbook)
* 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)]

337
UPGRADE-1.7.md Normal file
View File

@@ -0,0 +1,337 @@
# UPGRADE FROM 1.6 TO 1.7
## ADMINISTRATORS
### YAML files
* Please run `bin/grav yamllinter` to find any YAML parsing errors in your site. You should run this command before and after upgrade. Grav falls back to older YAML parser if it detects an error, but it will slow down your site.
## Forms
* **BC BREAK** Fixed `validation: strict`. Please search through all your forms if you were using this feature. If you were, either remove the line or test if the form still works.
* Added configuration option `system.strict_mode.blueprint_compat` to maintain old `validation: strict` behavior
* If you disable compatibiity, form validation will be much more strict (recommended, but may break existing forms)
### Pages
* **BC BREAK** Fixed 404 error page when you go to non-routable page with routable child pages under it. Now you get redirected to the first routable child page instead. This is probably what you wanted in the first place. If you do not want this new behavior, you need to **TODO**
### Media
* Support for `webp` image format
* Markdown: Added support for native `loading=lazy` attributes on images. Can be set in `system.images.defaults` or per md image with `?loading=lazy`
### Multi-language
* Improved language support
* **BC BREAK** Please check that your fallback languages are correct. Old implementation had a fallback to any other language, now only default language is being used unless you use `system.languages.content_fallback` configuration option to override the default behavior.
### Admin
* If you upgrade from older 1.7 RC, you need to go to Flex Objects plugin settings and turn on `Pages`, `User Accounts` and `User Groups` directories (upgrading 1.6 automatically turns them on)
* Disabling `User Accounts` and `User Groups` directories in Flex Objects plugin should be kept enabled; fine tuned **ACL** may not work without
### Sessions
* Session ID now changes on login to prevent session fixation issues
### CLI
* Added new `bin/grav server` CLI command to easily run Symfony or PHP built-in web servers
* Added new `bin/grav page-system-validator [-r|--record] [-c|--check]` CLI command to test Flex Pages
* Improved `Scheduler` cron command check and more useful CLI information
* Added new `-r <job-id>` option for Scheduler CLI command to force-run a job
* Improved `bin/grav yamllinter` CLI command by adding an option to find YAML Linting issues from the whole site or custom folder
### Configuration
* Added new configuration option `system.debugger.provider` to choose between debugbar and clockwork
* Added new configuration option `system.debugger.censored` to hide potentially sensitive information
* Added new configuration option `system.pages.type` to enable Flex Pages
* Added new configuration option `system.languages.include_default_lang_file_extension` to keep default language in `.md` files if set to `false`
* Added new configuration option `system.languages.content_fallback` to set fallback content languages individually for every language
* Added new configuration option `security.sanitize_svg` to remove potentially dangerous code from SVG files
* Added system configuration support for `HTTP_X_Forwarded` headers (host disabled by default)
* Added new configuration option `system.strict_mode.blueprint_compat` to maintain old `validation: strict` behavior
### Debugging
* Added support for [Clockwork](https://underground.works/clockwork) developer tools (now default debugger)
* Added support for [Tideways XHProf](https://github.com/tideways/php-xhprof-extension) PHP Extension for profiling method calls
* Added Twig profiling for Clockwork debugger
## DEVELOPERS
### Use composer autoloader
* Please add `composer.json` file to your plugin and run `composer update --no-dev` (and remember to keep it updated):
composer.json
```json
{
"name": "getgrav/grav-plugin-example",
"type": "grav-plugin",
"description": "Example plugin for Grav CMS",
"keywords": ["example", "plugin"],
"homepage": "https://github.com/getgrav/grav-plugin-example",
"license": "MIT",
"authors": [
{
"name": "...",
"email": "...",
"homepage": "...",
"role": "Developer"
}
],
"support": {
"issues": "https://github.com/getgrav/grav-plugin-example/issues",
"docs": "https://github.com/getgrav/grav-plugin-example/blob/master/README.md"
},
"require": {
"php": ">=7.1.3"
},
"autoload": {
"psr-4": {
"Grav\\Plugin\\Example\\": "classes/",
"Grav\\Plugin\\Console\\": "cli/"
},
"classmap": [
"example.php"
]
},
"config": {
"platform": {
"php": "7.1.3"
}
}
}
```
See [Composer schema](https://getcomposer.org/doc/04-schema.md)
* Please use autoloader instead of `require` in the code:
example.php
```php
/**
* @return array
*/
public static function getSubscribedEvents(): array
{
return [
'onPluginsInitialized' => [
// This is only required in Grav 1.6. Grav 1.7 automatically calls $plugin->autolaod() method.
['autoload', 100000],
]
];
}
/**
* Composer autoload.
*
* @return \Composer\Autoload\ClassLoader
*/
public function autoload(): \Composer\Autoload\ClassLoader
{
return require __DIR__ . '/vendor/autoload.php';
}
```
* Plugins & Themes: Call `$plugin->autoload()` and `$theme->autoload()` automatically when object gets initialized
* Make sure your code does not use `require` or `include` for loading classes
### Plugin/Theme Blueprints (`blueprints.yaml`)
* Please add:
```yaml
slug: folder-name
type: plugin|theme
```
* Make sure you update your dependencies. I recommend setting Grav to either 1.6 or 1.7 and update your code/vendor to PHP 7.1
```yaml
dependencies:
- { name: grav, version: '>=1.6.0' }
```
### Sessions
* Added `Session::regenerateId()` method to properly prevent session fixation issues
### ACL
* `user.authorize()` now requires user to be authorized (passed 2FA check), unless the rule contains `login` in its name.
* Added support for more advanced ACL (CRUD)
* **BC BREAK** `user.authorize()` and Flex `object.isAuthorized()` now have two deny states: `false` and `null`.
Make sure you do not have strict checks against false: `$user->authorize($action) === false` (PHP) or `user.authorize(action) is same as(false)` (Twig).
For the negative checks you should be using `!user->authorize($action)` (PHP) or `not user.authorize(action)` (Twig).
The change has been done to allow strong deny rules by chaining the actions if previous ones do not match: `user.authorize(action1) ?? user.authorize(action2) ?? user.authorize(action3)`.
Note that Twig function `authorize()` will still **keeps** the old behavior!
### Pages
* Added experimental support for `Flex Pages` in the frontend (not recommended to use yet)
* Admin uses `Flex Pages` by default (can be disabled from `Flex-Objects` plugin)
* Added page specific admin permissions support for `Flex Pages`
* Added root page support for `Flex Pages`
* Fixed wrong `Pages::dispatch()` calls (with redirect) when we really meant to call `Pages::find()`
* Added `Pages::getCollection()` method
* Moved `collection()` and `evaluate()` logic from `Page` class into `Pages` class
* **DEPRECATED** `$page->modular()` in favor of `$page->isModule()`
* **BC BREAK** Fixed `Page::modular()` and `Page::modularTwig()` returning `null` for folders and other non-initialized pages. Should not affect your code unless you were checking against `false` or `null`.
* **BC BREAK** Always use `\Grav\Common\Page\Interfaces\PageInterface` instead of `\Grav\Common\Page\Page` in method signatures
* Admin now uses `Flex Pages` by default, collection will behave in slightly different way
* **BC BREAK** `$page->topParent()` may return page itself instead of null
### Media
* Added `MediaTrait::freeMedia()` method to free media (and memory)
* Added support for uploading and deleting images directly in `Media` by using PSR-7
* **BC BREAK** Media no longer extends `Getters`, accessing `$media->$filename` no longer works, use `$media[$filename]` instead!
### Markdown
* **BC BREAK** Upgraded Parsedown to 1.7 for Parsedown-Extra 0.8. Plugins that extend Parsedown may need a fix to render as HTML
* Added new `Excerpts::processLinkHtml()` method
### Users
* Added experimental support for `Flex Users` in the frontend (not recommended to use yet)
* Admin uses `Flex Users` by default (can be disabled from `Flex-Objects` plugin)
* Improved `Flex Users`: obey blueprints and allow Flex to be used in admin only
* Improved `Flex Users`: user and group ACL now supports deny permissions
* Changed `UserInterface::authorize()` to return `null` having the same meaning as `false` if access is denied because of no matching rule
* **DEPRECATED** `\Grav\Common\User\Group` in favor of `$grav['user_groups']`, which contains Flex UserGroup collection
* **BC BREAK** Always use `\Grav\Common\User\Interfaces\UserInterface` instead of `\Grav\Common\User\User` in method signatures
### Flex
* Do not use `Framework` Flex classes directly, it's better to use or extend classes under `Grav\Common\Flex\Types\Generic` namespace
* Added `$grav['flex']` to access all registered Flex Directories
* Added `FlexRegisterEvent` which triggers when `$grav['flex']` is being accessed the first time
* Added `hasFlexFeature()` method to test if `FlexObject` or `FlexCollection` implements a given feature
* Added `getFlexFeatures()` method to return all features that `FlexObject` or `FlexCollection` implements
* Added `FlexStorage::getMetaData()` to get updated object meta information for listed keys
* `FlexDirectory::getObject()` can now be called without any parameters to create a new object
* **DEPRECATED** `FlexDirectory::update()` and `FlexDirectory::remove()`
* **BC BREAK** Moved all Flex type classes under `Grav\Common\Flex`
* **BC BREAK** `FlexStorageInterface::getStoragePath()` and `getMediaPath()` can now return null
* **BC BREAK** Flex objects no longer return temporary key if they do not have one; empty key is returned instead
* You can add `edit_list.html.twig` file to a form field in order to customize look in the listing view
### Templating
* Added support for Twig 2.12 (still using Twig 1.42)
* Added a new `{% cache %}` Twig tag eliminating need for `twigcache` extension.
* Added `array_diff()` twig function
* Added `template_from_string()` twig function
* Improved `url()` twig function to take third parameter (`true`) to return URL on non-existing file instead of returning false
* Improved `|array` twig filter to work with iterators and objects with `toArray()` method
* Improved `authorize()` twig function to work better with nested rule parameters
* Improved `|yaml_serialize` twig filter: added support for `JsonSerializable` objects and other array-like objects
### Multi-language
* Improved language support for `Route` class
* Translations: rename MODULAR to MODULE everywhere
* Added `Language::getPageExtensions()` to get full list of supported page language extensions
* **BC BREAK** Fixed `Language::getFallbackPageExtensions()` to fall back only to default language instead of going through all languages
### Blueprints
* Added `flatten_array` filter to form field validation
* Added support for `security@: or: [admin.super, admin.pages]` in blueprints (nested AND/OR mode support)
* Blueprint validation: Added `validate: value_type: bool|int|float|string|trim` to `array` to filter all the values inside the array
* If your plugins has blueprints folder, initializing it in the event will be too late. Do this instead:
```php
class MyPlugin extends Plugin
{
/** @var array */
public $features = [
'blueprints' => 0, // Use priority 0
];
}
```
### Events
* Use `Symfony EventDispatcher` directly instead of `rockettheme/toolbox` wrapper.
* Added `$grav->dispatchEvent()` method for PSR-14 events
* Added `PluginsLoadedEvent` which triggers after plugins have been loaded but not yet initialized
* Added `SessionStartEvent` which triggers when session is started
* Added `FlexRegisterEvent` which triggers when `$grav['flex']` is being accessed the first time
* Added `PermissionsRegisterEvent` which triggers when `$grav['permissions']` is being accessed the first time
* Added `onAfterCacheClear` event
* Check `onAdminTwigTemplatePaths` event, it should NOT be:
```php
public function onAdminTwigTemplatePaths($event)
{
// This code breaks all the other plugins in admin, including Flex Objects
$event['paths'] = [__DIR__ . '/admin/themes/grav/templates'];
}
```
but:
```php
public function onAdminTwigTemplatePaths($event)
{
// Add plugin template path for admin.
$paths = $event['paths'];
$paths[] = __DIR__ . '/admin/themes/grav/templates';
$event['paths'] = $paths;
}
```
### Misc
* Added `Utils::isAssoc()` and `Utils::isNegative()` helper methods
* Added `Utils::simpleTemplate()` method for very simple variable templating
* Support customizable null character replacement in `CSVFormatter::decode()`
* Added new `Security::sanitizeSVG()` function
* Added `$grav->close()` method to properly terminate the request with a response
* Added `Folder::hasChildren()` method to determine if a folder has child folders
* Support symlinks when saving `File`
* Added `Route::getBase()` method
* **BC BREAK** Make `Route` objects immutable. This means that you need to do: `{% set route = route.withExtension('.html') %}` (for all `withX` methods) to keep the updated version.
* Better `Content-Encoding` handling in Apache when content compression is disabled
### CLI
* **BC BREAK** Many plugins initialize Grav in a wrong way, it is not safe to initialize plugins and theme by yourself
* Following calls require Grav 1.6.21 or later, so it is recommended to set Grav dependency to that version
* Inside `serve()` method:
* Call `$this->setLanguage($langCode);` before doing anything else if you want to set the language (or use default)
* Call one of following:
* `$this->initializeGrav();` Already called if you're in `bin/plugin`, otherwise you may need to call this one
* `$this->initializePlugins();` This initializes grav, plugins (up to `onPluginsInitialized`)
* `$this->initializeThemes();` This initializes grav, plugins and theme
* `$this->initializePages();` This initializes grav, plugins, theme and everything needed by pages
* It is a good idea to prefix your CLI command classes with your plugin name, otherwise there may be naming conflicts (we already have some!)
### Composer dependencies
* Updated Symfony Components to 4.4, please update any deprecated features in your code
* **BC BREAK** Please run `bin/grav yamllinter -f user://` to find any YAML parsing errors in your site (including your plugins and themes).
## PLUGINS
### Admin
* **BC BREAK** Admin will not initialize frontend pages anymore, this has been done to greatly speed up Admin plugin.
Please call `$grav['admin']->enablePages()` or `{% do admin.enablePages() %}` if you need to access frontend pages. This call can be safely made multiple times.
If you're using `Flex Pages`, please use Flex Directory instead, it will make your code so much faster.
* Admin now uses Flex for editing `Accounts` and `Pages`. If your plugin hooks into either of those, please make sure they still work.
* Admin cache is enabled by default, make sure your plugin clears cache when needed. Please avoid clearing all cache!
### Shortcode Core
* **DEPRECATED** Every shortcode needs to have `init()` method, classes without it will stop working in the future.

Binary file not shown.

38
bin/gpm
View File

@@ -1,26 +1,24 @@
#!/usr/bin/env php
<?php
define('GRAV_CLI', true);
if (!file_exists(__DIR__ . '/../vendor')){
require_once __DIR__ . '/../system/src/Grav/Common/Composer.php';
}
use Grav\Common\Composer;
use Grav\Common\Config\Setup;
use Symfony\Component\Console\Application;
use Grav\Common\Grav;
if (!file_exists(__DIR__ . '/../vendor')){
\define('GRAV_CLI', true);
\define('GRAV_REQUEST_TIME', microtime(true));
if (!file_exists(__DIR__ . '/../vendor/autoload.php')){
// Before we can even start, we need to run composer first
require_once __DIR__ . '/../system/src/Grav/Common/Composer.php';
$composer = Composer::getComposerExecutor();
echo "Preparing to install vendor dependencies...\n\n";
echo system($composer.' --working-dir="'.__DIR__.'/../" --no-interaction --no-dev --prefer-dist -o install');
echo "\n\n";
}
use Symfony\Component\Console\Application;
use Grav\Common\Grav;
$autoload = require_once(__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));
@@ -30,7 +28,14 @@ if (!ini_get('date.timezone')) {
date_default_timezone_set('UTC');
}
if (!file_exists(ROOT_DIR . 'index.php')) {
// 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');
if (!file_exists(GRAV_ROOT . '/index.php')) {
exit('FATAL: Must be run from ROOT directory of Grav!');
}
@@ -48,15 +53,16 @@ $climate->arguments->add([
]
]);
$climate->arguments->parse();
$environment = $climate->arguments->get('environment');
// Set up environment based on params.
Setup::$environment = $environment;
$environment = $climate->arguments->get('environment');
$grav = Grav::instance(array('loader' => $autoload));
$grav['uri']->init();
$grav->setup($environment);
$grav['config']->init();
$grav['streams'];
$grav['uri']->init();
$grav['accounts'];
$app = new Application('Grav Package Manager', GRAV_VERSION);
$app->addCommands(array(

View File

@@ -1,24 +1,25 @@
#!/usr/bin/env php
<?php
define('GRAV_CLI', true);
if (!file_exists(__DIR__ . '/../vendor')){
require_once __DIR__ . '/../system/src/Grav/Common/Composer.php';
}
use Grav\Common\Composer;
use Grav\Common\Grav;
use Grav\Console\Cli;
use Symfony\Component\Console\Application;
if (!file_exists(__DIR__ . '/../vendor')){
\define('GRAV_CLI', true);
\define('GRAV_REQUEST_TIME', microtime(true));
if (!file_exists(__DIR__ . '/../vendor/autoload.php')){
// Before we can even start, we need to run composer first
require_once __DIR__ . '/../system/src/Grav/Common/Composer.php';
$composer = Composer::getComposerExecutor();
echo "Preparing to install vendor dependencies...\n\n";
echo system($composer.' --working-dir="'.__DIR__.'/../" --no-interaction --no-dev --prefer-dist -o install');
echo "\n\n";
}
use Symfony\Component\Console\Application;
require_once __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));
@@ -28,19 +29,48 @@ if (!ini_get('date.timezone')) {
date_default_timezone_set('UTC');
}
if (!file_exists(ROOT_DIR . 'index.php')) {
// 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');
$climate = new League\CLImate\CLImate;
$climate->arguments->add([
'environment' => [
'prefix' => 'e',
'longPrefix' => 'env',
'description' => 'Configuration Environment',
'defaultValue' => 'localhost'
]
]);
$climate->arguments->parse();
// Set up environment based on params.
$environment = $climate->arguments->get('environment');
$grav = Grav::instance(array('loader' => $autoload));
$grav->setup($environment);
if (!file_exists(GRAV_ROOT . '/index.php')) {
exit('FATAL: Must be run from ROOT directory of Grav!');
}
$app = new Application('Grav CLI Application', GRAV_VERSION);
$app->addCommands(array(
new \Grav\Console\Cli\InstallCommand(),
new \Grav\Console\Cli\ComposerCommand(),
new \Grav\Console\Cli\SandboxCommand(),
new \Grav\Console\Cli\CleanCommand(),
new \Grav\Console\Cli\ClearCacheCommand(),
new \Grav\Console\Cli\BackupCommand(),
new \Grav\Console\Cli\NewProjectCommand(),
new \Grav\Console\Cli\SecurityCommand(),
new Cli\InstallCommand(),
new Cli\ComposerCommand(),
new Cli\SandboxCommand(),
new Cli\CleanCommand(),
new Cli\ClearCacheCommand(),
new Cli\BackupCommand(),
new Cli\NewProjectCommand(),
new Cli\SchedulerCommand(),
new Cli\SecurityCommand(),
new Cli\LogViewerCommand(),
new Cli\YamlLinterCommand(),
new Cli\ServerCommand(),
new Cli\PageSystemValidatorCommand(),
));
$app->run();

View File

@@ -1,30 +1,28 @@
#!/usr/bin/env php
<?php
define('GRAV_CLI', true);
if (!file_exists(__DIR__ . '/../vendor')) {
require_once __DIR__ . '/../system/src/Grav/Common/Composer.php';
}
use Grav\Common\Composer;
if (!file_exists(__DIR__ . '/../vendor')) {
// Before we can even start, we need to run composer first
$composer = Composer::getComposerExecutor();
echo "Preparing to install vendor dependencies...\n\n";
echo system($composer . ' --working-dir="' . __DIR__ . '/../" --no-interaction --no-dev --prefer-dist -o install');
echo "\n\n";
}
use Symfony\Component\Console\Application;
use Symfony\Component\Console\Input\ArgvInput;
use Symfony\Component\Console\Output\ConsoleOutput;
use Symfony\Component\Console\Formatter\OutputFormatterStyle;
use Grav\Common\Grav;
use Grav\Common\Config\Setup;
use Grav\Common\Filesystem\Folder;
$autoload = require_once(__DIR__ . '/../vendor/autoload.php');
\define('GRAV_CLI', true);
\define('GRAV_REQUEST_TIME', microtime(true));
if (!file_exists(__DIR__ . '/../vendor/autoload.php')){
// Before we can even start, we need to run composer first
require_once __DIR__ . '/../system/src/Grav/Common/Composer.php';
$composer = Composer::getComposerExecutor();
echo "Preparing to install vendor dependencies...\n\n";
echo system($composer.' --working-dir="'.__DIR__.'/../" --no-interaction --no-dev --prefer-dist -o install');
echo "\n\n";
}
$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));
@@ -34,7 +32,14 @@ if (!ini_get('date.timezone')) {
date_default_timezone_set('UTC');
}
if (!file_exists(ROOT_DIR . 'index.php')) {
// 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');
if (!file_exists(GRAV_ROOT . '/index.php')) {
exit('FATAL: Must be run from ROOT directory of Grav!');
}
@@ -48,18 +53,13 @@ $climate->arguments->add([
]
]);
$climate->arguments->parse();
$environment = $climate->arguments->get('environment');
// Set up environment based on params.
Setup::$environment = $environment;
// Bootstrap Grav container.
$grav = Grav::instance(array('loader' => $autoload));
$grav['uri']->init();
$grav['config']->init();
$grav['streams'];
$grav['plugins']->init();
$grav['themes']->init();
$grav->setup($environment);
$grav->initializeCli();
$app = new Application('Grav Plugins Commands', GRAV_VERSION);
$pattern = '([A-Z]\w+Command\.php)';
@@ -75,6 +75,7 @@ $argv = array_merge([$bin], $argv);
$input = new ArgvInput($argv);
/** @var \Grav\Common\Data\Data $plugin */
$plugin = $grav['plugins']->get($name);
$output = new ConsoleOutput();
@@ -83,13 +84,14 @@ $output->getFormatter()->setStyle('white', new OutputFormatterStyle('white', nul
if (!$name) {
$output->writeln('');
$output->writeln("<red>Usage:</red>");
$output->writeln('<red>Usage:</red>');
$output->writeln(" {$bin} [slug] [command] [arguments]");
$output->writeln('');
$output->writeln("<red>Example:</red>");
$output->writeln('<red>Example:</red>');
$output->writeln(" {$bin} error log -l 1 --trace");
$list = Folder::all('plugins://', ['compare' => 'Pathname', 'pattern' => '/\/cli\/' . $pattern . '$/usm', 'levels' => 2]);
$total = 0;
if (count($list)) {
$available = [];
$output->writeln('');
@@ -98,19 +100,34 @@ if (!$name) {
$split = explode('/', $entry);
$entry = array_shift($split);
$index = str_pad($index++ + 1, 2, '0', STR_PAD_LEFT);
if (in_array($entry, $available)) {
$total = str_pad($total++ + 1, 2, '0', STR_PAD_LEFT);
if (\in_array($entry, $available, true)) {
$total--;
continue;
}
$available[] = $entry;
$output->writeln(' ' . $index . ". <red>" . str_pad($entry, 15) . "</red> <white>${bin} ${entry} list</white>");
$commands_count = $index - $total + 1;
$output->writeln(' ' . $total . '. <red>' . str_pad($entry, 15) . "</red> <white>{$bin} {$entry} list</white>");
}
}
exit;
}
if (null === $plugin) {
$output->writeln('');
$output->writeln("<red>$name plugin not found</red>");
die;
}
if (!$plugin->enabled) {
$output->writeln('');
$output->writeln("<red>$name not enabled</red>");
die;
}
if ($plugin === null) {
$output->writeln("<red>Grav Plugin <white>'{$name}'</white> is not installed</red>");
exit;

View File

@@ -2,51 +2,82 @@
"name": "getgrav/grav",
"type": "project",
"description": "Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS",
"keywords": ["cms","flat-file cms","flat cms","flatfile cms","php"],
"keywords": [
"cms",
"flat-file cms",
"flat cms",
"flatfile cms",
"php"
],
"homepage": "https://getgrav.org",
"license": "MIT",
"require": {
"php": ">=5.6.4",
"twig/twig": "~1.24",
"erusev/parsedown": "1.6.4",
"erusev/parsedown-extra": "~0.7",
"symfony/yaml": "~3.4",
"symfony/console": "~3.4",
"symfony/event-dispatcher": "~3.4",
"symfony/var-dumper": "~3.4",
"symfony/polyfill-iconv": "~1.0",
"doctrine/cache": "^1.6",
"doctrine/collections": "^1.4",
"psr/simple-cache": "^1.0",
"psr/http-message": "^1.0",
"guzzlehttp/psr7": "^1.4",
"filp/whoops": "~2.0",
"matthiasmullie/minify": "^1.3",
"monolog/monolog": "~1.0",
"gregwar/image": "2.*",
"donatj/phpuseragentparser": "~0.3",
"pimple/pimple": "~3.2",
"rockettheme/toolbox": "~1.4",
"maximebf/debugbar": "~1.10",
"php": ">=7.1.3",
"ext-json": "*",
"ext-mbstring": "*",
"ext-openssl": "*",
"ext-curl": "*",
"ext-zip": "*",
"ext-json": "*",
"league/climate": "^3.2",
"ext-dom": "*",
"ext-libxml": "*",
"symfony/polyfill-iconv": "^1.15",
"symfony/polyfill-php72": "^1.15",
"symfony/polyfill-php73": "^1.15",
"psr/simple-cache": "^1.0",
"psr/http-message": "^1.0",
"psr/http-server-middleware": "^1.0",
"kodus/psr7-server": "*",
"nyholm/psr7": "^1.2",
"twig/twig": "~1.42",
"erusev/parsedown": "^1.7",
"erusev/parsedown-extra": "~0.8",
"symfony/contracts": "~1.1",
"symfony/yaml": "~4.4",
"symfony/console": "~4.4",
"symfony/event-dispatcher": "~4.4",
"symfony/var-dumper": "~4.4",
"symfony/process": "~4.4",
"doctrine/cache": "^1.10",
"doctrine/collections": "^1.6",
"guzzlehttp/psr7": "^1.6",
"filp/whoops": "~2.7",
"matthiasmullie/minify": "^1.3",
"monolog/monolog": "~1.25",
"gregwar/image": "~2.0",
"donatj/phpuseragentparser": "~1.0",
"pimple/pimple": "~3.2",
"rockettheme/toolbox": "~1.5",
"maximebf/debugbar": "~1.16",
"league/climate": "^3.5",
"antoligy/dom-string-iterators": "^1.0",
"miljar/php-exif": "^0.6.3",
"composer/ca-bundle": "^1.0"
"miljar/php-exif": "^0.6",
"composer/ca-bundle": "^1.2",
"dragonmantank/cron-expression": "^1.2",
"phive/twig-extensions-deferred": "^1.0",
"willdurand/negotiation": "2.x-dev",
"itsgoingd/clockwork": "^4.1",
"enshrined/svg-sanitize": "~0.13",
"symfony/http-client": "^4.4"
},
"require-dev": {
"codeception/codeception": "^2.1",
"phpunit/php-code-coverage": "~2.0",
"fzaninotto/faker": "^1.5",
"codeception/codeception": "^2.5",
"phpstan/phpstan": "^0.11",
"phpstan/phpstan-deprecation-rules": "^0.11",
"phpunit/php-code-coverage": "~6.1",
"fzaninotto/faker": "^1.9",
"victorjonsson/markdowndocs": "dev-master"
},
"suggest": {
"ext-zend-opcache": "Recommended for better performance",
"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"
},
"config": {
"apcu-autoloader": true,
"platform": {
"php": "5.6.4"
"php": "7.1.3"
}
},
"repositories": [
@@ -59,13 +90,23 @@
"psr-4": {
"Grav\\": "system/src/Grav"
},
"files": ["system/defines.php"]
"files": [
"system/defines.php"
]
},
"archive": {
"exclude": ["VERSION"]
"exclude": [
"VERSION"
]
},
"scripts": {
"api-17": "vendor/bin/phpdoc-md generate system/src > user/pages/14.api/default.17.md",
"api-16": "vendor/bin/phpdoc-md generate system/src > user/pages/14.api/default.16.md",
"api-15": "vendor/bin/phpdoc-md generate system/src > user/pages/14.api/default.md",
"post-create-project-cmd": "bin/grav install",
"phpstan": "vendor/bin/phpstan analyse -l 3 -c ./tests/phpstan/phpstan.neon --memory-limit=400M system/src",
"phpstan-framework": "vendor/bin/phpstan analyse -l 7 -c ./tests/phpstan/phpstan.neon --memory-limit=256M system/src/Grav/Framework",
"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"
},

3717
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -9,39 +9,43 @@
namespace Grav;
define('GRAV_PHP_MIN', '5.6.4');
// Ensure vendor libraries exist
$autoload = __DIR__ . '/vendor/autoload.php';
if (!is_file($autoload)) {
die("Please run: <i>bin/grav install</i>");
}
if (PHP_SAPI === 'cli-server') {
if (!isset($_SERVER['PHP_CLI_ROUTER'])) {
die("PHP webserver requires a router to run Grav, please use: <pre>php -S {$_SERVER['SERVER_NAME']}:{$_SERVER['SERVER_PORT']} system/router.php</pre>");
}
}
use Grav\Common\Grav;
use RocketTheme\Toolbox\Event\Event;
\define('GRAV_REQUEST_TIME', microtime(true));
\define('GRAV_PHP_MIN', '7.1.3');
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));
}
// Register the auto-loader.
$loader = require $autoload;
if (PHP_SAPI === 'cli-server') {
$symfony_server = stripos(getenv('_'), 'symfony') !== false || stripos($_SERVER['SERVER_SOFTWARE'], 'symfony
') !== false;
if (!isset($_SERVER['PHP_CLI_ROUTER']) && !$symfony_server) {
die("PHP webserver requires a router to run Grav, please use: <pre>php -S {$_SERVER['SERVER_NAME']}:{$_SERVER['SERVER_PORT']} system/router.php</pre>");
}
}
// 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 mbstring loaded
if (!extension_loaded('mbstring')) {
// 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)) {
die('Please run: <i>bin/grav install</i>');
}
// Register the auto-loader.
$loader = require $autoload;
use Grav\Common\Grav;
use RocketTheme\Toolbox\Event\Event;
// Get the Grav instance
$grav = Grav::instance(
array(
@@ -52,6 +56,9 @@ $grav = Grav::instance(
// Process the page
try {
$grav->process();
} catch (\Error $e) {
$grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
throw $e;
} catch (\Exception $e) {
$grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
throw $e;

4
now.json Normal file
View File

@@ -0,0 +1,4 @@
{
"version": 2,
"builds": [{ "src": "*.php", "use": "@now/php" }]
}

View File

@@ -10,3 +10,4 @@ Disallow: /user/
Allow: /user/pages/
Allow: /user/themes/
Allow: /user/images/
Allow: /

View File

@@ -1,54 +0,0 @@
div.phpdebugbar {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.phpdebugbar pre {
padding: 1rem;
}
.phpdebugbar div.phpdebugbar-header > div > * {
padding: 5px 15px;
}
.phpdebugbar div.phpdebugbar-header > div.phpdebugbar-header-right > * {
padding: 5px 8px;
}
.phpdebugbar div.phpdebugbar-header, .phpdebugbar a.phpdebugbar-restore-btn {
background-image: url(grav.png);
}
.phpdebugbar a.phpdebugbar-restore-btn {
width: 13px;
}
.phpdebugbar a.phpdebugbar-tab.phpdebugbar-active {
background: #3DB9EC;
color: #fff;
margin-top: -1px;
padding-top: 6px;
}
.phpdebugbar .phpdebugbar-widgets-toolbar {
padding-left: 5px;
}
.phpdebugbar input[type=text] {
padding: 0;
display: inline;
}
.phpdebugbar dl.phpdebugbar-widgets-varlist, ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-label {
font-family: "DejaVu Sans Mono", Menlo, Monaco, Consolas, Courier, monospace;
font-size: 12px;
}
ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-label {
text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
top: 0;
}
.phpdebugbar pre, .phpdebugbar code {
margin: 0;
font-size: 14px;
}

View File

@@ -0,0 +1,2 @@
/** Clockwork Debugger CSS **/
.clockwork-badge{position:fixed;z-index:10;bottom:0;left:0;padding:2px 4px;background-color:#eee;border:1px solid #ccc;border-bottom:0;border-left:0;display:flex;align-items:center}.clockwork-badge:hover{width:auto}.clockwork-badge:hover:after{content:'Grav Clockwork debugger enabled. Install Clockwork Browser extension (Chrome or Firefox), open your Developer tools and then select the Clockwork tab.'}.clockwork-badge:after{margin-left:10px;font-family:Monaco,Consolas,"Lucida Console",monospace;font-size:12px;line-height:1.5;color:#666}.clockwork-badge i{display:block;float:left;height:22px;width:22px;min-width:22px;background-size:contain;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAA/1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeHh4AAAD///8EBAT7+/sLCwv29vYVFRUvLy/t7e3m5ubCwsKxsbE/Pz+mpqZMTEwcHBzy8vLp6emfn5+AgIA2Njbi4uLf39+rq6tzc3NWVlYhISHa2trW1tbS0tLMzMy7u7uZmZmUlJSMjIxvb29kZGRHR0c7Ozt5eXkqKiq1tbWQkJBqampbW1tSUlLHx8eHh4ckJCRDQ0M3wD42AAAAI3RSTlMA/PibTbQ0x76TVAlw4LhZLOuEYCAN9Hjx0a2ppGZEGYw97djhXHwAAATZSURBVFjDlVcHW+MwDO1eFCjj2McNOzvdpXTTXVbL/P+/5SQ7QSSX5Di1X1onfi/Sk+Q4sTDbKqWK+YuznZ2zi3wxVdqK/Zf92M1nT9gnO8rmd398GX6Z3xaoOFoiAQcx3E5efgmeSuN8F6Xg1x3G06l/wjNpMR1B0uif4EhnIuFb+0diIoFXk3IVfokisR+h52GO4JKgyjmfaMhAFNlSaPR7DpwI+lzn/E4QKIqmKIJirxCMP4izBPPZPXhgXwMBYgULw0nfg/BF5scDbslb7QeJ08yqqTEmGYoB95d4H8ETL8+n9wBqrLu6ao3bBsMwAnxISf/9BHcqxNB8Y7cWl3Zz7TAUfPrvAT6AoNEFFXvsjutL01yOuMrtBxnFXsmT/1wQHmdWAFNnI3uI48Yj0FUcHbKf62GfUfr8eeQt7Uk3mQZpZNoVRPEui5vtEz5zFEpgWnyqVBZMc6oaGNriH2hGVZ0OxEvInPeMaZWJBA7vmPbCr5jjws5HBnAUxvDMH40aCIf4G5BjRQSs8E8HFFYf8bGxgDvD55bzGhwWkoBcuIyHR/AMdaCagxXDhtL6tSqoWpd4BMnlIR+Or+rYTK/a3EAGcc6e4AWHISnWv20iCCojsHoVlQdjrMexFF2C7UMg2A2WEGWbQhXN6l3eXC6XGp4b9qxbuEB2EBGBwtocrK90cVG5mbRXm6vmx/0phq1sIAGKDgLOBiN1MrO5a9aDl+D0W6x0Ar9BCTRuIIANa90Y7LrLVRXzwVtDInCqMRWcf2bUOEAsa4wJqFowQALL9EiAtVRk8QC4OW+1pOM9jIaVASwYagyNXDj+W0NcfuZNzjtXOiL0Zzg30Llj+ptfxQs4+vBPNiL5PawFCBkgXpUaVtqGl+A8dgZHL34BcBUQrwPptToW+o37Ku+UH9eYByJIx3YkAeFnMFuGO7S5gEp7YhXxa5OOAM39RXDPXb0qmpROsswZe+twXdU55oUIZAiEv3bD1UFwIYKkmGqytPCDCwKFQCKK0yL7qtSAPX54UAbtsLuBHkb9zyLmPQSNjsSgmQwKUOIfEY8F8t4B34DvndJY9BA8tNBJq1Nev9axmaStFcQLhgYoCTo0salkIaW8OUDdWjMTR2sHPhrAFZqx6cqcKE4pl2BJJ4K6hfwvqNgAnXfKX/HU6X3Zrhnu0k7tLNZtTBRv1hkwTDBY1NzFU6doDYjJbWdQkQhWwuU7/LvhTh3SDoco4ECL4i5dwURbc8NdDZz2IwKicE8d0KIqWetLE3+lL4hvUuGSeRfVWNLfj/gpOw4smBJBkKQHCzlHGwvAj4woB1gq5NGGLSXtORBPnUQPV5/MPVkDMxbpwG7w4x0xL6Ltxka0A/4NBvV09UVk4DoSn/jl2+JQS9q9KYawisAD4CfhsZ4TH3htylsdEHARIQBusqCKyUpymycgbbkkXEXjT3z7/oKQFTFVuZD2FMJHZIDsO5x2d4aAr2jR+GLwZhtAb028/0yJ9J8dE87jQyKObcjtTXT8dH+fDuKF4/eiPwzH44wTf/yUi6wrpRIOZ9lM1EtXAifFI+CJn9+iX/t2xMQwOMth/UZbASi8btAwR9FHWSpJr75g9Oqbin3VDg+SpwlP6k6TB4ex/7JvmcJx8jydy6XPk8eFTKhyfwCgX71MSvaBHgAAAABJRU5ErkJggg==)}

View File

@@ -0,0 +1,3 @@
/** Clockwork Debugger JS **/
document.addEventListener("DOMContentLoaded",function () {
var e=document.createElement("div");e.appendChild(document.createElement("i")),e.className="clockwork-badge",document.body.appendChild(e)});

View File

@@ -0,0 +1,70 @@
div.phpdebugbar {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.phpdebugbar pre {
padding: 1rem;
}
.phpdebugbar div.phpdebugbar-header > div > * {
padding: 5px 15px;
}
.phpdebugbar div.phpdebugbar-header > div.phpdebugbar-header-right > * {
padding: 5px 8px;
}
.phpdebugbar div.phpdebugbar-header, .phpdebugbar a.phpdebugbar-restore-btn {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAA/1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeHh4AAAD///8EBAT7+/sLCwv29vYVFRUvLy/t7e3m5ubCwsKxsbE/Pz+mpqZMTEwcHBzy8vLp6emfn5+AgIA2Njbi4uLf39+rq6tzc3NWVlYhISHa2trW1tbS0tLMzMy7u7uZmZmUlJSMjIxvb29kZGRHR0c7Ozt5eXkqKiq1tbWQkJBqampbW1tSUlLHx8eHh4ckJCRDQ0M3wD42AAAAI3RSTlMA/PibTbQ0x76TVAlw4LhZLOuEYCAN9Hjx0a2ppGZEGYw97djhXHwAAATZSURBVFjDlVcHW+MwDO1eFCjj2McNOzvdpXTTXVbL/P+/5SQ7QSSX5Di1X1onfi/Sk+Q4sTDbKqWK+YuznZ2zi3wxVdqK/Zf92M1nT9gnO8rmd398GX6Z3xaoOFoiAQcx3E5efgmeSuN8F6Xg1x3G06l/wjNpMR1B0uif4EhnIuFb+0diIoFXk3IVfokisR+h52GO4JKgyjmfaMhAFNlSaPR7DpwI+lzn/E4QKIqmKIJirxCMP4izBPPZPXhgXwMBYgULw0nfg/BF5scDbslb7QeJ08yqqTEmGYoB95d4H8ETL8+n9wBqrLu6ao3bBsMwAnxISf/9BHcqxNB8Y7cWl3Zz7TAUfPrvAT6AoNEFFXvsjutL01yOuMrtBxnFXsmT/1wQHmdWAFNnI3uI48Yj0FUcHbKf62GfUfr8eeQt7Uk3mQZpZNoVRPEui5vtEz5zFEpgWnyqVBZMc6oaGNriH2hGVZ0OxEvInPeMaZWJBA7vmPbCr5jjws5HBnAUxvDMH40aCIf4G5BjRQSs8E8HFFYf8bGxgDvD55bzGhwWkoBcuIyHR/AMdaCagxXDhtL6tSqoWpd4BMnlIR+Or+rYTK/a3EAGcc6e4AWHISnWv20iCCojsHoVlQdjrMexFF2C7UMg2A2WEGWbQhXN6l3eXC6XGp4b9qxbuEB2EBGBwtocrK90cVG5mbRXm6vmx/0phq1sIAGKDgLOBiN1MrO5a9aDl+D0W6x0Ar9BCTRuIIANa90Y7LrLVRXzwVtDInCqMRWcf2bUOEAsa4wJqFowQALL9EiAtVRk8QC4OW+1pOM9jIaVASwYagyNXDj+W0NcfuZNzjtXOiL0Zzg30Llj+ptfxQs4+vBPNiL5PawFCBkgXpUaVtqGl+A8dgZHL34BcBUQrwPptToW+o37Ku+UH9eYByJIx3YkAeFnMFuGO7S5gEp7YhXxa5OOAM39RXDPXb0qmpROsswZe+twXdU55oUIZAiEv3bD1UFwIYKkmGqytPCDCwKFQCKK0yL7qtSAPX54UAbtsLuBHkb9zyLmPQSNjsSgmQwKUOIfEY8F8t4B34DvndJY9BA8tNBJq1Nev9axmaStFcQLhgYoCTo0salkIaW8OUDdWjMTR2sHPhrAFZqx6cqcKE4pl2BJJ4K6hfwvqNgAnXfKX/HU6X3Zrhnu0k7tLNZtTBRv1hkwTDBY1NzFU6doDYjJbWdQkQhWwuU7/LvhTh3SDoco4ECL4i5dwURbc8NdDZz2IwKicE8d0KIqWetLE3+lL4hvUuGSeRfVWNLfj/gpOw4smBJBkKQHCzlHGwvAj4woB1gq5NGGLSXtORBPnUQPV5/MPVkDMxbpwG7w4x0xL6Ltxka0A/4NBvV09UVk4DoSn/jl2+JQS9q9KYawisAD4CfhsZ4TH3htylsdEHARIQBusqCKyUpymycgbbkkXEXjT3z7/oKQFTFVuZD2FMJHZIDsO5x2d4aAr2jR+GLwZhtAb028/0yJ9J8dE87jQyKObcjtTXT8dH+fDuKF4/eiPwzH44wTf/yUi6wrpRIOZ9lM1EtXAifFI+CJn9+iX/t2xMQwOMth/UZbASi8btAwR9FHWSpJr75g9Oqbin3VDg+SpwlP6k6TB4ex/7JvmcJx8jydy6XPk8eFTKhyfwCgX71MSvaBHgAAAABJRU5ErkJggg==);
}
.phpdebugbar a.phpdebugbar-restore-btn {
width: 13px;
}
.phpdebugbar a.phpdebugbar-tab.phpdebugbar-active {
background: #3DB9EC;
color: #fff;
margin-top: -1px;
padding-top: 6px;
}
.phpdebugbar .phpdebugbar-widgets-toolbar {
border-top: 1px solid #ddd;
padding-left: 5px;
padding-right: 2px;
padding-top: 2px;
background-color: #fafafa !important;
width: auto !important;
left: 0;
right: 0;
}
.phpdebugbar .phpdebugbar-widgets-toolbar input {
background: transparent !important;
}
.phpdebugbar .phpdebugbar-widgets-toolbar .phpdebugbar-widgets-filter {
}
.phpdebugbar input[type=text] {
padding: 0;
display: inline;
}
.phpdebugbar dl.phpdebugbar-widgets-varlist, ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-label {
font-family: "DejaVu Sans Mono", Menlo, Monaco, Consolas, Courier, monospace;
font-size: 12px;
}
ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-label {
text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
top: 0;
}
.phpdebugbar pre, .phpdebugbar code {
margin: 0;
font-size: 14px;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 548 B

After

Width:  |  Height:  |  Size: 1.6 KiB

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,125 @@
title: PLUGIN_ADMIN.BACKUPS
form:
validation: loose
fields:
history_title:
type: section
title: PLUGIN_ADMIN.BACKUPS_HISTORY
underline: true
history:
type: backupshistory
config_title:
type: section
title: PLUGIN_ADMIN.BACKUPS_PURGE_CONFIG
underline: true
purge.trigger:
type: select
label: PLUGIN_ADMIN.BACKUPS_STORAGE_PURGE_TRIGGER
size: medium
default: space
options:
space: Maximum Backup Space
number: Maximum Number of Backups
time: maximum Retention Time
validate:
required: true
purge.max_backups_count:
type: number
label: PLUGIN_ADMIN.BACKUPS_MAX_COUNT
default: 25
size: x-small
help: PLUGIN_ADMIN.BACKUPS_MAX_COUNT
validate:
min: 0
type: number
required: true
message: Must be a number 0 or greater
purge.max_backups_space:
type: number
label: PLUGIN_ADMIN.BACKUPS_MAX_SPACE
append: in GB
size: x-small
default: 5
validate:
min: 1
type: number
required: true
message: Space must be 1GB or greater
purge.max_backups_time:
type: number
label: PLUGIN_ADMIN.BACKUPS_MAX_RETENTION_TIME
append: PLUGIN_ADMIN.BACKUPS_MAX_RETENTION_TIME_APPEND
size: x-small
default: 365
validate:
min: 7
type: number
required: true
message: Rentenion days must be 7 or greater
profiles_title:
type: section
title: PLUGIN_ADMIN.BACKUPS_PROFILES
underline: true
profiles:
type: list
style: vertical
label:
classes: backups-list compact
sort: false
fields:
.name:
type: text
label: PLUGIN_ADMIN.NAME
placeholder: PLUGIN_ADMIN.BACKUPS_PROFILE_NAME
validate:
max: 20
message: 'Name must be less than 20 characters'
required: true
.root:
type: text
label: PLUGIN_ADMIN.BACKUPS_PROFILE_ROOT_FOLDER
help: PLUGIN_ADMIN.BACKUPS_PROFILE_ROOT_FOLDER_HELP
placeholder: '/'
default: '/'
validate:
required: true
.exclude_paths:
type: textarea
label: PLUGIN_ADMIN.BACKUPS_PROFILE_EXCLUDE_PATHS
rows: 5
placeholder: "/backup\r/cache\r/images\r/logs\r/tmp"
help: PLUGIN_ADMIN.BACKUPS_PROFILE_EXCLUDE_PATHS_HELP
.exclude_files:
type: textarea
label: PLUGIN_ADMIN.BACKUPS_PROFILE_EXCLUDE_FILES
rows: 5
placeholder: ".DS_Store\r.git\r.svn\r.hg\r.idea\r.vscode\rnode_modules"
help: PLUGIN_ADMIN.BACKUPS_PROFILE_EXCLUDE_FILES_HELP
.schedule:
type: toggle
label: PLUGIN_ADMIN.BACKUPS_PROFILE_SCHEDULE
highlight: 1
default: 1
options:
1: PLUGIN_ADMIN.YES
0: PLUGIN_ADMIN.NO
validate:
type: bool
.schedule_at:
type: cron
label: PLUGIN_ADMIN.BACKUPS_PROFILE_SCHEDULE_AT
default: '* 3 * * *'
validate:
required: true

View File

@@ -0,0 +1,76 @@
title: PLUGIN_ADMIN.SCHEDULER
form:
validation: loose
fields:
status_title:
type: section
title: PLUGIN_ADMIN.SCHEDULER_STATUS
underline: true
status:
type: cronstatus
validate:
type: commalist
jobs_title:
type: section
title: PLUGIN_ADMIN.SCHEDULER_JOBS
underline: true
custom_jobs:
type: list
style: vertical
label:
classes: cron-job-list compact
key: id
fields:
.id:
type: key
label: ID
placeholder: 'process-name'
validate:
required: true
pattern: '[a-zа-я0-9_\-]+'
max: 20
message: 'ID must be lowercase with dashes/underscores only and less than 20 characters'
.command:
type: text
label: PLUGIN_ADMIN.COMMAND
placeholder: 'cd ~;ls -lah;'
validate:
required: true
.args:
type: text
label: PLUGIN_ADMIN.EXTRA_ARGUMENTS
.at:
type: cron
label: PLUGIN_ADMIN.SCHEDULER_RUNAT
help: PLUGIN_ADMIN.SCHEDULER_RUNAT_HELP
placeholder: '* * * * *'
validate:
required: true
.output:
type: text
label: PLUGIN_ADMIN.SCHEDULER_OUTPUT
help: PLUGIN_ADMIN.SCHEDULER_OUTPUT_HELP
placeholder: 'logs/ls-cron.out'
.output_mode:
type: select
label: PLUGIN_ADMIN.SCHEDULER_OUTPUT_TYPE
help: PLUGIN_ADMIN.SCHEDULER_OUTPUT_TYPE_HELP
default: append
options:
append: Append
overwrite: Overwrite
.email:
type: text
label: PLUGIN_ADMIN.SCHEDULER_EMAIL
help: PLUGIN_ADMIN.SCHEDULER_EMAIL_HELP
placeholder: 'notifications@yoursite.com'

View File

@@ -41,6 +41,14 @@ form:
validate:
type: bool
xss_invalid_protocols:
type: selectize
size: large
label: PLUGIN_ADMIN.XSS_INVALID_PROTOCOLS_LIST
classes: fancy
validate:
type: commalist
xss_enabled.moz_binding:
type: toggle
label: PLUGIN_ADMIN.XSS_MOZ_BINDINGS
@@ -97,3 +105,15 @@ form:
validate:
type: commalist
sanitize_svg:
type: toggle
label: PLUGIN_ADMIN.SANITIZE_SVG
help: PLUGIN_ADMIN.SANITIZE_SVG_HELP
highlight: 1
options:
1: PLUGIN_ADMIN.YES
0: PLUGIN_ADMIN.NO
default: true
validate:
type: bool

View File

@@ -65,7 +65,7 @@ form:
summary.size:
type: text
size: x-small
size: small
append: PLUGIN_ADMIN.CHARACTERS
label: PLUGIN_ADMIN.SUMMARY_SIZE
help: PLUGIN_ADMIN.SUMMARY_SIZE_HELP

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
title: Flex User Accounts
description: Manage your User Accounts in Flex.
type: flex-objects
# Deprecated in Grav 1.7.0-rc.4: file was renamed to user-accounts.yaml
extends@:
type: user-accounts
context: blueprints://flex

View File

@@ -0,0 +1,17 @@
form:
compatibility:
type: tab
title: Compatibility
fields:
object.compat.events:
type: toggle
toggleable: true
label: Admin event compatibility
help: Enables onAdminSave and onAdminAfterSave events for plugins
highlight: 1
default: 1
options:
1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool

View File

@@ -0,0 +1,212 @@
title: Pages
description: Manage your Grav Pages in Flex.
type: flex-objects
# Extends a page (blueprint gets overridden inside the object)
extends@:
type: default
context: blueprints://pages
#
# HIGHLY SPECIALIZED FLEX TYPE, AVOID USING PAGES AS BASE FOR YOUR OWN TYPE.
#
# Flex configuration
config:
# Administration Configuration (needs Flex Objects plugin)
admin:
# Admin router
router:
path: '/pages'
# Permissions
permissions:
# Primary permissions
admin.pages:
type: crudl
label: Pages
admin.configuration.pages:
type: default
label: Pages Configuration
# Admin menu
menu:
list:
route: '/pages'
title: PLUGIN_ADMIN.PAGES
icon: fa-file-text
authorize: ['admin.pages.list', 'admin.super']
priority: 5
# Admin template type (folder)
template: pages
# Allowed admin actions
actions:
list: true
create: true
read: true
update: true
delete: true
# List view
list:
# Fields shown in the list view
fields:
published:
width: 8
alias: header.published
visible:
width: 8
field:
label: Visible
type: toggle
menu:
link: edit
alias: header.menu
full_route:
field:
label: Route
type: text
link: edit
sort:
field: key
name:
width: 8
field:
label: Type
type: text
translations:
width: 8
field:
label: Translations
type: text
# updated_date:
# alias: header.update_date
# Extra options
options:
# Default number of records for pagination
per_page: 20
# Default ordering
order:
by: key
dir: asc
# TODO: not used yet
buttons:
back:
icon: reply
title: PLUGIN_ADMIN.BACK
add:
icon: plus
label: PLUGIN_ADMIN.ADD
edit:
title:
template: "{% if object.root %}Root <small>( &lt;root&gt; ){% else %}{{ (form.value('header.title') ?? form.value('folder'))|e }} <small>( {{ (object.getRoute().toString(false) ?: '/')|e }} )</small>{% endif %}"
# TODO: not used yet
buttons:
back:
icon: reply
title: PLUGIN_ADMIN.BACK
preview:
icon: eye
title: PLUGIN_ADMIN.PREVIEW
add:
icon: plus
label: PLUGIN_ADMIN.ADD
copy:
icon: copy
label: PLUGIN_ADMIN.COPY
move:
icon: arrows
label: PLUGIN_ADMIN.MOVE
delete:
icon: close
label: PLUGIN_ADMIN.DELETE
save:
icon: check
label: PLUGIN_ADMIN.SAVE
# Preview View
preview:
enabled: true
# Configure view
configure:
authorize: 'admin.configuration.pages'
# Site Configuration
site:
# Hide from flex types
hidden: true
templates:
collection:
# Lookup for the template layout files for collections of objects
paths:
- 'flex/{TYPE}/collection/{LAYOUT}{EXT}'
object:
# Lookup for the template layout files for objects
paths:
- 'flex/{TYPE}/object/{LAYOUT}{EXT}'
defaults:
# Default template {TYPE}; overridden by filename of this blueprint if template folder exists
type: pages
# Default template {LAYOUT}; can be overridden in render calls (usually Twig in templates)
layout: default
# Default filters for frontend.
filter:
- withPublished
# Data Configuration
data:
object: 'Grav\Common\Flex\Types\Pages\PageObject'
collection: 'Grav\Common\Flex\Types\Pages\PageCollection'
index: 'Grav\Common\Flex\Types\Pages\PageIndex'
storage:
class: 'Grav\Common\Flex\Types\Pages\Storage\PageStorage'
options:
formatter:
class: 'Grav\Framework\File\Formatter\MarkdownFormatter'
folder: 'page://'
# Keep index file in filesystem to speed up lookups
indexed: true
# Set default ordering of the pages
ordering:
key: ASC
search:
# Search options
options:
contains: 1
# Fields to be searched
fields:
- key
- menu
- title
- name
blueprints:
configure:
fields:
import@:
type: configure/compat
context: blueprints://flex
# Regular form definition
form:
fields:
lang:
type: hidden
value: ''
tabs:
fields:
security:
type: tab
title: PLUGIN_ADMIN.SECURITY
import@:
type: partials/security
context: blueprints://pages

View File

@@ -0,0 +1,70 @@
form:
validation: loose
fields:
tabs:
type: tabs
fields:
cache:
type: tab
title: Caching
fields:
object.cache.index.enabled:
type: toggle
toggleable: true
label: PLUGIN_ADMIN.FLEX_INDEX_CACHE_ENABLED
highlight: 1
config-default@: system.flex.cache.index.enabled
options:
1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool
object.cache.index.lifetime:
type: text
toggleable: true
label: PLUGIN_ADMIN.FLEX_INDEX_CACHE_LIFETIME
config-default@: system.flex.cache.index.lifetime
validate:
type: int
object.cache.object.enabled:
type: toggle
toggleable: true
label: PLUGIN_ADMIN.FLEX_OBJECT_CACHE_ENABLED
highlight: 1
config-default@: system.flex.cache.object.enabled
options:
1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool
object.cache.object.lifetime:
type: text
toggleable: true
label: PLUGIN_ADMIN.FLEX_OBJECT_CACHE_LIFETIME
config-default@: system.flex.cache.object.lifetime
validate:
type: int
object.cache.render.enabled:
type: toggle
toggleable: true
label: PLUGIN_ADMIN.FLEX_RENDER_CACHE_ENABLED
highlight: 1
config-default@: system.flex.cache.render.enabled
options:
1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool
object.cache.render.lifetime:
type: text
toggleable: true
label: PLUGIN_ADMIN.FLEX_RENDER_CACHE_LIFETIME
config-default@: system.flex.cache.render.lifetime
validate:
type: int

View File

@@ -0,0 +1,142 @@
title: User Accounts
description: Manage your User Accounts in Flex.
type: flex-objects
# Extends user account
extends@:
type: account
context: blueprints://user
#
# HIGHLY SPECIALIZED FLEX TYPE, AVOID USING USER ACCOUNTS AS BASE FOR YOUR OWN TYPE.
#
# Flex configuration
config:
# Administration Configuration (needs Flex Objects plugin)
admin:
# Admin router
router:
path: '/accounts/users'
actions:
configure:
path: '/accounts/configure'
redirects:
'/user': '/accounts/users'
'/accounts': '/accounts/users'
# Permissions
permissions:
# Primary permissions
admin.users:
type: crudl
label: User Accounts
admin.configuration.users:
type: default
label: Accounts Configuration
# Admin menu
menu:
base:
location: '/accounts'
route: '/accounts/users'
index: 0
title: PLUGIN_ADMIN.ACCOUNTS
icon: fa-users
authorize: ['admin.users.list', 'admin.super']
priority: 6
# Admin template type (folder)
template: user-accounts
# List view
list:
# Fields shown in the list view
fields:
username:
link: edit
search: true
field:
label: PLUGIN_ADMIN.USERNAME
email:
search: true
fullname:
search: true
# Extra options
options:
per_page: 20
order:
by: username
dir: asc
# Edit view
edit:
title:
template: "{{ form.value('fullname') ?? form.value('username') }} &lt;{{ form.value('email') }}&gt;"
# Configure view
configure:
hidden: true
authorize: 'admin.configuration.users'
form: 'accounts'
title:
template: "{{ 'PLUGIN_ADMIN.ACCOUNTS'|tu }} {{ 'PLUGIN_ADMIN.CONFIGURATION'|tu }}"
# Site Configuration
site:
# Hide from flex types
hidden: true
templates:
collection:
# Lookup for the template layout files for collections of objects
paths:
- 'flex/{TYPE}/collection/{LAYOUT}{EXT}'
object:
# Lookup for the template layout files for objects
paths:
- 'flex/{TYPE}/object/{LAYOUT}{EXT}'
defaults:
# Default template {TYPE}; overridden by filename of this blueprint if template folder exists
type: user-accounts
# Default template {LAYOUT}; can be overridden in render calls (usually Twig in templates)
layout: default
# Data Configuration
data:
object: 'Grav\Common\Flex\Types\Users\UserObject'
collection: 'Grav\Common\Flex\Types\Users\UserCollection'
index: 'Grav\Common\Flex\Types\Users\UserIndex'
storage:
class: 'Grav\Common\Flex\Types\Users\Storage\UserFileStorage'
options:
formatter:
class: 'Grav\Framework\File\Formatter\YamlFormatter'
folder: 'account://'
pattern: '{FOLDER}/{KEY}{EXT}'
indexed: true
key: username
case_sensitive: false
search:
options:
contains: 1
fields:
- key
- email
blueprints:
configure:
fields:
import@:
type: configure/compat
context: blueprints://flex
# Regular form definition
form:
fields:
username:
flex-disabled@: exists
disabled: false
flex-readonly@: exists
readonly: false
validate:
required: true

View File

@@ -0,0 +1,122 @@
title: User Groups
description: Manage your User Groups in Flex.
type: flex-objects
# Extends user group
extends@:
type: group
context: blueprints://user
# Flex configuration
config:
# Administration Configuration (needs Flex Objects plugin)
admin:
# Admin router
router:
path: '/accounts/groups'
actions:
configure:
path: '/accounts/configure'
redirects:
'/accounts': '/accounts/groups'
# Permissions
permissions:
# Primary permissions
admin.users:
type: crudl
label: User Accounts
admin.configuration.users:
type: default
label: Accounts Configuration
# Admin menu
menu:
base:
location: '/accounts'
route: '/accounts/groups'
index: 1
title: PLUGIN_ADMIN.ACCOUNTS
icon: fa-users
authorize: ['admin.users.list', 'admin.super']
priority: 6
# Admin template type (folder)
template: user-groups
# List view
list:
# Fields shown in the list view
fields:
groupname:
link: edit
search: true
readableName:
search: true
description:
search: true
# Extra options
options:
per_page: 20
order:
by: groupname
dir: asc
# Edit view
edit:
title:
template: "{{ form.value('readableName') ?? form.value('groupname') }}"
# Configure view
configure:
hidden: true
authorize: 'admin.configuration.users'
form: 'accounts'
title:
template: "{{ 'PLUGIN_ADMIN.ACCOUNTS'|tu }} {{ 'PLUGIN_ADMIN.CONFIGURATION'|tu }}"
# Site Configuration
site:
# Hide from flex types
hidden: true
templates:
collection:
# Lookup for the template layout files for collections of objects
paths:
- 'flex/{TYPE}/collection/{LAYOUT}{EXT}'
object:
# Lookup for the template layout files for objects
paths:
- 'flex/{TYPE}/object/{LAYOUT}{EXT}'
defaults:
# Default template {TYPE}; overridden by filename of this blueprint if template folder exists
type: user-groups
# Default template {LAYOUT}; can be overridden in render calls (usually Twig in templates)
layout: default
# Data Configuration
data:
object: 'Grav\Common\Flex\Types\UserGroups\UserGroupObject'
collection: 'Grav\Common\Flex\Types\UserGroups\UserGroupCollection'
index: 'Grav\Common\Flex\Types\UserGroups\UserGroupIndex'
storage:
class: 'Grav\Framework\Flex\Storage\SimpleStorage'
options:
formatter:
class: 'Grav\Framework\File\Formatter\YamlFormatter'
folder: 'user://config/groups.yaml'
key: groupname
search:
options:
contains: 1
fields:
- key
- groupname
- description
blueprints:
configure:
fields:
import@:
type: configure/compat
context: blueprints://flex

View File

@@ -1,4 +1,4 @@
title: PLUGIN_ADMIN.MODULAR
title: PLUGIN_ADMIN.MODULE
extends@: default
form:
@@ -13,7 +13,7 @@ form:
modular_title:
type: spacer
title: PLUGIN_ADMIN.MODULAR_SETUP
title: PLUGIN_ADMIN.MODULE_SETUP
header.content.items:
type: text
@@ -34,5 +34,3 @@ form:
help: '"desc" or "asc" are valid values'
placeholder: desc
size: small

View File

@@ -0,0 +1,71 @@
form:
fields:
_site:
type: section
title: PLUGIN_ADMIN.PAGE_ACCESS
underline: true
fields:
header.visibility_requires_access:
type: toggle
toggleable: true
label: PLUGIN_ADMIN.PAGE_VISIBILITY_REQUIRES_ACCESS
help: PLUGIN_ADMIN.PAGE_VISIBILITY_REQUIRES_ACCESS_HELP
highlight: 0
options:
1: PLUGIN_ADMIN.YES
0: PLUGIN_ADMIN.NO
validate:
type: bool
header.access:
type: acl_picker
label: PLUGIN_ADMIN.PAGE_ACCESS
help: PLUGIN_ADMIN.PAGE_ACCESS_HELP
ignore_empty: true
data_type: access
validate:
type: array
value_type: bool
_admin:
security@: {or: [admin.super, admin.configuration.pages]}
type: section
title: PLUGIN_ADMIN.PAGE PERMISSIONS
underline: true
fields:
header.permissions.inherit:
type: toggle
toggleable: true
label: PLUGIN_ADMIN.PAGE_INHERIT_PERMISSIONS
help: PLUGIN_ADMIN.PAGE_INHERIT_PERMISSIONS_HELP
highlight: 1
options:
1: PLUGIN_ADMIN.YES
0: PLUGIN_ADMIN.NO
validate:
type: bool
header.permissions.authors:
type: list
toggleable: true
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
label: PLUGIN_ADMIN.PAGE_GROUPS
help: PLUGIN_ADMIN.PAGE_GROUPS_HELP
ignore_empty: true
data_type: permissions

View File

@@ -0,0 +1,16 @@
title: PLUGIN_ADMIN.ROOT
rules:
slug:
pattern: '[a-zA-Zа-яA-Я0-9_\-]+'
min: 1
max: 200
form:
validation: loose
fields:
tabs:
type: tabs
active: 1

View File

@@ -4,122 +4,137 @@ form:
fields:
info:
type: userinfo
size: large
info:
type: userinfo
size: large
avatar:
type: file
size: large
destination: 'user://accounts/avatars'
multiple: false
random_name: true
avatar:
type: file
size: large
destination: 'user://accounts/avatars'
multiple: false
random_name: true
content:
type: section
title: PLUGIN_ADMIN.ACCOUNT
underline: true
content:
type: section
title: PLUGIN_ADMIN.ACCOUNT
underline: true
username:
type: text
size: large
label: PLUGIN_ADMIN.USERNAME
disabled: true
readonly: true
username:
type: text
size: large
label: PLUGIN_ADMIN.USERNAME
disabled: true
readonly: true
email:
type: email
size: large
label: PLUGIN_ADMIN.EMAIL
validate:
type: email
message: PLUGIN_ADMIN.EMAIL_VALIDATION_MESSAGE
required: true
email:
type: email
size: large
label: PLUGIN_ADMIN.EMAIL
validate:
type: email
message: PLUGIN_ADMIN.EMAIL_VALIDATION_MESSAGE
required: true
password:
type: password
size: large
label: PLUGIN_ADMIN.PASSWORD
autocomplete: new-password
validate:
required: false
message: PLUGIN_ADMIN.PASSWORD_VALIDATION_MESSAGE
config-pattern@: system.pwd_regex
password:
type: password
size: large
label: PLUGIN_ADMIN.PASSWORD
autocomplete: new-password
validate:
required: false
message: PLUGIN_ADMIN.PASSWORD_VALIDATION_MESSAGE
config-pattern@: system.pwd_regex
fullname:
type: text
size: large
label: PLUGIN_ADMIN.FULL_NAME
validate:
required: true
fullname:
type: text
size: large
label: PLUGIN_ADMIN.FULL_NAME
validate:
required: true
title:
type: text
size: large
label: PLUGIN_ADMIN.TITLE
title:
type: text
size: large
label: PLUGIN_ADMIN.TITLE
language:
type: select
label: PLUGIN_ADMIN.LANGUAGE
size: medium
classes: fancy
data-options@: '\Grav\Plugin\Admin\Admin::adminLanguages'
default: 'en'
help: PLUGIN_ADMIN.LANGUAGE_HELP
language:
type: select
label: PLUGIN_ADMIN.LANGUAGE
size: medium
classes: fancy
data-options@: '\Grav\Plugin\Admin\Admin::adminLanguages'
default: 'en'
help: PLUGIN_ADMIN.LANGUAGE_HELP
twofa_check:
type: conditional
condition: config.plugins.admin.twofa_enabled
content_editor:
type: select
label: PLUGIN_ADMIN.CONTENT_EDITOR
size: medium
classes: fancy
data-options@: 'Grav\Plugin\Admin\Admin::contentEditor'
default: 'default'
help: PLUGIN_ADMIN.CONTENT_EDITOR_HELP
fields:
twofa_check:
type: conditional
condition: config.plugins.admin.twofa_enabled
twofa:
title: PLUGIN_ADMIN.2FA_TITLE
type: section
underline: true
fields:
twofa_enabled:
type: toggle
label: PLUGIN_ADMIN.2FA_ENABLED
classes: twofa-toggle
highlight: 1
default: 0
options:
1: PLUGIN_ADMIN.YES
0: PLUGIN_ADMIN.NO
validate:
type: bool
twofa:
title: PLUGIN_ADMIN.2FA_TITLE
type: section
underline: true
twofa_enabled:
type: toggle
label: PLUGIN_ADMIN.2FA_ENABLED
classes: twofa-toggle
highlight: 1
default: 0
options:
1: PLUGIN_ADMIN.YES
0: PLUGIN_ADMIN.NO
validate:
type: bool
twofa_secret:
type: 2fa_secret
outerclasses: 'twofa-secret'
markdown: true
label: PLUGIN_ADMIN.2FA_SECRET
sublabel: PLUGIN_ADMIN.2FA_SECRET_HELP
twofa_secret:
type: 2fa_secret
outerclasses: 'twofa-secret'
markdown: true
label: PLUGIN_ADMIN.2FA_SECRET
sublabel: PLUGIN_ADMIN.2FA_SECRET_HELP
security:
title: PLUGIN_ADMIN.ACCESS_LEVELS
type: section
security: admin.super
underline: true
fields:
groups:
type: select
multiple: true
size: large
label: PLUGIN_ADMIN.GROUPS
data-options@: '\Grav\Common\User\Group::groupNames'
classes: fancy
help: PLUGIN_ADMIN.GROUPS_HELP
validate:
type: commalist
access:
type: permissions
label: PLUGIN_ADMIN.PERMISSIONS
ignore_empty: true
validate:
type: array
security:
security@: admin.super
title: PLUGIN_ADMIN.ACCESS_LEVELS
type: section
underline: true
fields:
groups:
security@: admin.super
type: select
multiple: true
size: large
label: PLUGIN_ADMIN.GROUPS
data-options@: '\Grav\Common\User\Group::groupNames'
classes: fancy
help: PLUGIN_ADMIN.GROUPS_HELP
validate:
type: commalist
access:
security@: admin.super
type: permissions
check_authorize: true
label: PLUGIN_ADMIN.PERMISSIONS
ignore_empty: true
validate:
type: array
value_type: bool

View File

@@ -12,5 +12,7 @@ form:
type: text
label: PLUGIN_ADMIN.USERNAME
help: PLUGIN_ADMIN.USERNAME_HELP
unset-disabled@: true
unset-readonly@: true
validate:
required: true

View File

@@ -1,37 +1,55 @@
title: Group
rules:
slug:
pattern: '[a-zA-Zа-яA-Я0-9_\-]+'
min: 1
max: 200
form:
validation: loose
validation: loose
fields:
spacer:
type: spacer
text: '<br>'
fields:
groupname:
type: text
size: large
label: PLUGIN_ADMIN.GROUP_NAME
flex-disabled@: exists
flex-readonly@: exists
validate:
required: true
rule: slug
groupname:
type: text
size: large
label: PLUGIN_ADMIN.NAME
disabled: true
readonly: true
readableName:
type: text
size: large
label: PLUGIN_ADMIN.DISPLAY_NAME
readableName:
type: text
size: large
label: PLUGIN_ADMIN_PRO.READABLE_NAME
description:
type: text
size: large
label: PLUGIN_ADMIN.DESCRIPTION
description:
type: text
size: large
label: PLUGIN_ADMIN.DESCRIPTION
icon:
type: text
size: small
label: PLUGIN_ADMIN.ICON
icon:
type: text
size: small
label: PLUGIN_ADMIN_PRO.ICON
enabled:
type: toggle
label: PLUGIN_ADMIN.ENABLED
highlight: 1
default: 1
options:
1: PLUGIN_ADMIN.YES
0: PLUGIN_ADMIN.NO
validate:
type: bool
access:
type: permissions
label: PLUGIN_ADMIN.PERMISSIONS
ignore_empty: true
validate:
type: array
access:
type: permissions
check_authorize: false
label: PLUGIN_ADMIN.PERMISSIONS
ignore_empty: true
validate:
type: array
value_type: bool

View File

@@ -1,5 +1,11 @@
title: PLUGIN_ADMIN_PRO.ADD_GROUP
rules:
slug:
pattern: '[a-zA-Zа-яA-Я0-9_\-]+'
min: 1
max: 200
form:
validation: loose
fields:
@@ -14,3 +20,4 @@ form:
help: PLUGIN_ADMIN_PRO.GROUP_NAME_HELP
validate:
required: true
rule: slug

View File

@@ -0,0 +1,15 @@
purge:
trigger: space
max_backups_count: 25
max_backups_space: 5
max_backups_time: 365
profiles:
-
name: 'Default Site Backup'
root: '/'
schedule: false
schedule_at: '0 3 * * *'
exclude_paths: "/backup\r\n/cache\r\n/images\r\n/logs\r\n/tmp"
exclude_files: ".DS_Store\r\n.git\r\n.svn\r\n.hg\r\n.idea\r\n.vscode\r\nnode_modules"

View File

@@ -24,6 +24,10 @@ types:
type: image
thumb: media/thumb-png.png
mime: image/png
webp:
type: image
thumb: media/thumb-webp.png
mime: image/webp
gif:
type: animated
thumb: media/thumb-gif.png

View File

@@ -0,0 +1,53 @@
actions:
site:
type: access
label: Site
admin:
type: access
label: Admin
admin.pages:
type: access
label: Pages
admin.users:
type: access
label: User Accounts
types:
default:
type: access
crud:
type: compact
letters:
c:
action: create
label: PLUGIN_ADMIN.CREATE
r:
action: read
label: PLUGIN_ADMIN.READ
u:
action: update
label: PLUGIN_ADMIN.UPDATE
d:
action: delete
label: PLUGIN_ADMIN.DELETE
crudp:
type: crud
letters:
p:
action: publish
label: PLUGIN_ADMIN.PUBLISH
crudl:
type: crud
letters:
l:
action: list
label: PLUGIN_ADMIN.LIST
crudpl:
type: crud
use:
- crudp
- crudl

View File

@@ -5,6 +5,13 @@ xss_enabled:
moz_binding: true
html_inline_styles: true
dangerous_tags: true
xss_invalid_protocols:
- javascript
- livescript
- vbscript
- mocha
- feed
- data
xss_dangerous_tags:
- applet
- meta
@@ -29,3 +36,4 @@ uploads_dangerous_extensions:
- htm
- js
- exe
sanitize_svg: true

View File

@@ -17,17 +17,17 @@ summary:
delimiter: === # The summary delimiter
redirects:
# '/redirect-test': '/' # Redirect test goes to home page
# '/old/(.*)': '/new/$1' # Would redirect /old/my-page to /new/my-page
# '/redirect-test': '/' # Redirect test goes to home page
# '/old/(.*)': '/new/$1' # Would redirect /old/my-page to /new/my-page
routes:
# '/something/else': '/blog/sample-3' # Alias for /blog/sample-3
# '/new/(.*)': '/blog/$1' # Regex any /new/my-page URL to /blog/my-page Route
# '/something/else': '/blog/sample-3' # Alias for /blog/sample-3
# '/new/(.*)': '/blog/$1' # Regex any /new/my-page URL to /blog/my-page Route
blog:
route: '/blog' # Custom value added (accessible via system.blog.route)
#menu: # Sample Menu Example
#menu: # Menu Example
# - text: Source
# icon: github
# url: https://github.com/getgrav/grav

View File

@@ -1,6 +1,6 @@
schemes:
image:
type: ReadOnlyStream
type: Stream
paths:
- user://images
- system://images

View File

@@ -10,11 +10,19 @@ custom_base_url: '' # Set the base_url manually, e.
username_regex: '^[a-z0-9_-]{3,16}$' # Only lowercase chars, digits, dashes, underscores. 3 - 16 chars
pwd_regex: '(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}' # At least one number, one uppercase and lowercase letter, and be at least 8+ chars
intl_enabled: true # Special logic for PHP International Extension (mod_intl)
http_x_forwarded: # Configuration options for the various HTTP_X_FORWARD headers
protocol: true
host: false
port: true
ip: true
languages:
supported: [] # List of languages supported. eg: [en, fr, de]
default_lang: # Default is the first supported language. Must be one of the supported languages
include_default_lang: true # Include the default lang prefix in all URLs
translations: true # Enable translations by default
include_default_lang_file_extension: true # If true, include language code for the default language in file extension: default.en.md
pages_fallback_only: false # Only fallback to find page content through supported languages
translations: true # If false, translation keys are used instead of translated strings
translations_fallback: true # Fallback through supported translations if active lang doesn't exist
session_store_active: false # Store active language in session
http_accept_language: false # Attempt to set the language based on http_accept_language header in the browser
@@ -25,6 +33,7 @@ home:
hide_in_urls: false # Hide the home route in URLs
pages:
type: regular # EXPERIMENTAL: Page type: regular or flex
theme: quark # Default theme (defaults to "quark" theme)
order:
by: default # Order pages by "default", "alpha" or "date"
@@ -52,7 +61,13 @@ pages:
special_chars: # List of special characters to automatically convert to entities
'>': 'gt'
'<': 'lt'
types: [txt,xml,html,htm,json,rss,atom] # list of valid page types
valid_link_attributes: # Valid attributes to pass through via markdown links
- rel
- target
- id
- class
- classes
types: [html,htm,xml,txt,json,rss,atom] # list of valid page types
append_url_extension: '' # Append page's extension in Page urls (e.g. '.html' results in /path/page.html)
expires: 604800 # Page expires time in seconds (604800 seconds = 7 days)
cache_control: # Can be blank for no setting, or a valid `cache-control` text value
@@ -65,6 +80,7 @@ pages:
ignore_files: [.DS_Store] # Files to ignore in Pages
ignore_folders: [.git, .idea] # Folders to ignore in Pages
ignore_hidden: true # Ignore all Hidden files and folders
hide_empty_folders: false # If folder has no .md file, should it be hidden
url_taxonomy_filters: true # Enable auto-magic URL-based taxonomy filters for page collections
frontmatter:
process_twig: false # Should the frontmatter be processed to replace Twig variables?
@@ -74,8 +90,11 @@ cache:
enabled: true # Set to true to enable caching
check:
method: file # Method to check for updates in pages: file|folder|hash|none
driver: auto # One of: auto|file|apc|xcache|memcache|wincache
driver: auto # One of: auto|file|apcu|memcache|wincache
prefix: 'g' # Cache prefix string (prevents cache conflicts)
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: true # By default grav will include processed images in cache clear, this can be disabled
cli_compatibility: false # Ensures only non-volatile drivers are used (file, redis, memcache, etc.)
lifetime: 604800 # Lifetime of cached data in seconds (0 = infinite)
@@ -112,8 +131,15 @@ errors:
display: 0 # Display either (1) Full backtrace | (0) Simple Error | (-1) System Error
log: true # Log errors to /logs folder
log:
handler: file # Log handler. Currently supported: file | syslog
syslog:
facility: local6 # Syslog facilities output
debugger:
enabled: false # Enable Grav debugger and following settings
provider: clockwork # Debugger provider: debugbar | clockwork
censored: false # Censor potentially sensitive information (POST parameters, cookies, files, configuration and most array/object data in log messages)
shutdown:
close_connection: true # Close the connection before calling onShutdown(). false for debugging
@@ -122,7 +148,10 @@ images:
cache_all: false # Cache all image by default
cache_perms: '0755' # MUST BE IN QUOTES!! Default cache folder perms. Usually '0755' or '0775'
debug: false # Show an overlay over images indicating the pixel depth of the image when working with retina for example
auto_fix_orientation: false # Automatically fix the image orientation based on the Exif data
auto_fix_orientation: true # Automatically fix the image orientation based on the Exif data
seofriendly: false # SEO-friendly processed image names
defaults:
loading: auto # Let browser pick [auto|lazy|eager]
media:
enable_media_timestamp: false # Enable media timestamps
@@ -135,18 +164,36 @@ session:
initialize: true # Initialize session from Grav (if false, plugin needs to start the session)
timeout: 1800 # Timeout in seconds
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
httponly: true # Set session HTTP only. If true, indicates that cookies should be used only over HTTP, and JavaScript modification is not allowed.
split: true # Sessions should be independent between site and plugins (such as admin)
path:
gpm:
releases: stable # Set to either 'stable' or 'testing'
releases: testing # 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
accounts:
type: regular # EXPERIMENTAL: Account type: regular or flex
storage: file # EXPERIMENTAL: Flex storage type: file or folder
flex:
cache:
index:
enabled: true # Set to true to enable Flex index caching. Is used to cache timestamps in files
lifetime: 60 # Lifetime of cached index in seconds (0 = infinite)
object:
enabled: true # Set to true to enable Flex object caching. Is used to cache object data
lifetime: 600 # Lifetime of cached objects in seconds (0 = infinite)
render:
enabled: true # Set to true to enable Flex render caching. Is used to cache rendered output
lifetime: 600 # Lifetime of cached HTML in seconds (0 = infinite)
strict_mode:
yaml_compat: true # Grav 1.5+: Enables YAML backwards compatibility
twig_compat: true # Grav 1.5+: Enables deprecated Twig autoescape setting (autoescape: false)
blueprint_compat: true # Grav 1.7+: Enables backward compatible strict support for blueprints

View File

@@ -1,19 +1,19 @@
<?php
/**
* @package Grav.Core
* @package Grav\Core
*
* @copyright Copyright (C) 2015 - 2018 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (C) 2015 - 2020 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
// Some standard defines
define('GRAV', true);
define('GRAV_VERSION', '1.5.8');
define('GRAV_TESTING', false);
define('GRAV_VERSION', '1.7.0-rc.17');
define('GRAV_TESTING', true);
define('DS', '/');
if (!defined('GRAV_PHP_MIN')) {
define('GRAV_PHP_MIN', '5.6.4');
define('GRAV_PHP_MIN', '7.1.3');
}
// Directories and Paths

15
system/install.php Normal file
View File

@@ -0,0 +1,15 @@
<?php
/**
* @package Grav\Core
*
* @copyright Copyright (C) 2015 - 2020 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
if (!defined('GRAV_ROOT')) {
die();
}
require_once __DIR__ . '/src/Grav/Installer/Install.php';
return Grav\Installer\Install::instance();

View File

@@ -1,75 +1,63 @@
---
FRONTMATTER_ERROR_PAGE: |
---
العنوان: %1$s
---
# خطأ: مادة أمامية غير صحيحة
مسار: '%2$s'
**%3$s**
, , ,
%4$s
, , ,
NICETIME:
NO_DATE_PROVIDED: لم يتم تقديم التاريخ
BAD_DATE: تاريخ خاطئ
AGO: من قبل
FROM_NOW: من الآن
SECOND: ثانية
MINUTE: دقيقة
HOUR: ساعة
DAY: يوم
WEEK: أسبوع
MONTH: شهر
YEAR: سنة
DECADE: عقد
SEC: ثانية
MIN: دقيقة
HR: ساعة
WK: أسبوع
MO: شهر
YR: سنة
DEC: عقد
SECOND_PLURAL: ثواني
MINUTE_PLURAL: ‮دقائق
HOUR_PLURAL: ساعات
DAY_PLURAL: أيام
WEEK_PLURAL: أسابيع
MONTH_PLURAL: أشهر
YEAR_PLURAL: سنوات
DECADE_PLURAL: عقود
SEC_PLURAL: ثواني
MIN_PLURAL: دقائق
HR_PLURAL: ساعات
WK_PLURAL: أسابيع
MO_PLURAL: أشهر
YR_PLURAL: سنوات
DEC_PLURAL: عقود
FORM:
VALIDATION_FAIL: '<b>فشل التحقق من صحة:</b>'
INVALID_INPUT: إدخال غير صحيح في
MISSING_REQUIRED_FIELD: 'حقل مطلوب مفقود:'
MONTHS_OF_THE_YEAR:
- كانون الثاني
- شباط
- آذار/ مارس
- نيسان
- أيار
- حزيران
- تموز
- آب
- أيلول
- تشرين الأول
- تشرين الثاني
- كانون الأول
DAYS_OF_THE_WEEK:
- الاثنين
- الثلاثاء
- الأربعاء
- الخميس
- الجمعة
- السبت
- الأحد
GRAV:
FRONTMATTER_ERROR_PAGE: "---\nالعنوان: %1$s\n---\n# خطأ: مادة أمامية غير صحيحة\n\nمسار: '%2$s'\n\n**%3$s**\n\n, , ,\n\n%4$s\n, , ,"
NICETIME:
NO_DATE_PROVIDED: لم يتم تقديم التاريخ
BAD_DATE: تاريخ خاطئ
AGO: من قبل
FROM_NOW: من الآن
SECOND: ثانية
MINUTE: دقيقة
HOUR: ساعة
DAY: يوم
WEEK: أسبوع
MONTH: شهر
YEAR: سنة
DECADE: عقد
SEC: ثانية
MIN: دقيقة
HR: ساعة
WK: أسبوع
MO: شهر
YR: سنة
DEC: عقد
SECOND_PLURAL: ثواني
MINUTE_PLURAL: '‮دقائق'
HOUR_PLURAL: ساعات
DAY_PLURAL: أيام
WEEK_PLURAL: أسابيع
MONTH_PLURAL: أشهر
YEAR_PLURAL: سنوات
DECADE_PLURAL: عقود
SEC_PLURAL: ثواني
MIN_PLURAL: دقائق
HR_PLURAL: ساعات
WK_PLURAL: أسابيع
MO_PLURAL: أشهر
YR_PLURAL: سنوات
DEC_PLURAL: عقود
FORM:
VALIDATION_FAIL: <b>فشل التحقق من صحة:</b>
INVALID_INPUT: إدخال غير صحيح في
MISSING_REQUIRED_FIELD: 'حقل مطلوب مفقود:'
MONTHS_OF_THE_YEAR:
- 'كانون الثاني'
- 'شباط'
- 'آذار/ مارس'
- 'نيسان'
- 'أيار'
- 'حزيران'
- 'تموز'
- 'آب'
- 'أيلول'
- 'تشرين الأول'
- 'تشرين الثاني'
- 'كانون الأول'
DAYS_OF_THE_WEEK:
- 'الاثنين'
- 'الثلاثاء'
- 'الأربعاء'
- 'الخميس'
- 'الجمعة'
- 'السبت'
- 'الأحد'

62
system/languages/bg.yaml Normal file
View File

@@ -0,0 +1,62 @@
---
GRAV:
NICETIME:
NO_DATE_PROVIDED: Не е въведена дата
BAD_DATE: Невалидна дата
AGO: преди
FROM_NOW: от сега
SECOND: секунда
MINUTE: минута
HOUR: час
DAY: ден
WEEK: седмица
MONTH: месец
YEAR: година
DECADE: десетилетие
SEC: сек
MIN: мин
HR: ч
WK: седм
MO: мес
YR: г
DEC: дстлт
SECOND_PLURAL: секунди
MINUTE_PLURAL: минути
HOUR_PLURAL: часа
DAY_PLURAL: дена
WEEK_PLURAL: седмици
MONTH_PLURAL: месеца
YEAR_PLURAL: години
DECADE_PLURAL: десетилетия
SEC_PLURAL: сек
MIN_PLURAL: мин
HR_PLURAL: ч
WK_PLURAL: седм
MO_PLURAL: мес
YR_PLURAL: г
DEC_PLURAL: дстлт
FORM:
VALIDATION_FAIL: <b>Неуспешна проверка:</b>
INVALID_INPUT: Невалидно въвеждане в
MISSING_REQUIRED_FIELD: 'Липсва задължително поле:'
MONTHS_OF_THE_YEAR:
- 'януари'
- 'февруари'
- 'март'
- 'април'
- 'май'
- 'юни'
- 'юли'
- 'август'
- 'септември'
- 'октомври'
- 'ноември'
- 'декември'
DAYS_OF_THE_WEEK:
- 'понеделник'
- 'вторник'
- 'сряда'
- 'четвъртък'
- 'петък'
- 'събота'
- 'неделя'

View File

@@ -1,75 +1,62 @@
---
FRONTMATTER_ERROR_PAGE: |
---
title: %1$s
---
# S'ha produït un error: Frontmatter invàlid
Ruta: `%2$s`
**%3$s**
```
%4$s
```
NICETIME:
NO_DATE_PROVIDED: "No s'ha proporcionat data"
BAD_DATE: Data invàlida
AGO: abans
FROM_NOW: "des d'ara"
SECOND: segon
MINUTE: minut
HOUR: hora
DAY: dia
WEEK: setmana
MONTH: mes
YEAR: any
DECADE: dècada
SEC: s
MIN: min
HR: h
WK: setm.
MO: m.
YR: a.
DEC: dèc.
SECOND_PLURAL: segons
MINUTE_PLURAL: minuts
HOUR_PLURAL: hores
DAY_PLURAL: dies
WEEK_PLURAL: setmanes
MONTH_PLURAL: mesos
YEAR_PLURAL: anys
DECADE_PLURAL: dècades
SEC_PLURAL: s
MIN_PLURAL: min
HR_PLURAL: h
WK_PLURAL: setm.
MO_PLURAL: mesos
YR_PLURAL: anys
DEC_PLURAL: dèc.
FORM:
VALIDATION_FAIL: '<b>Ha fallat la validació:</b>'
INVALID_INPUT: Entrada no vàlida a
MISSING_REQUIRED_FIELD: 'Falta camp obligatori:'
MONTHS_OF_THE_YEAR:
- Gener
- Febrer
- Març
- Abril
- Maig
- Juny
- Juliol
- Agost
- Setembre
- Octubre
- Novembre
- Desembre
DAYS_OF_THE_WEEK:
- Dilluns
- Dimarts
- Dimecres
- Dijous
- Divendres
- Dissabte
- Diumenge
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntitle: %1$s\n---\n\n# S'ha produït un error: Frontmatter invàlid\n\nRuta: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
NICETIME:
NO_DATE_PROVIDED: No s'ha proporcionat data
BAD_DATE: Data invàlida
AGO: abans
FROM_NOW: des d'ara
SECOND: segon
MINUTE: minut
HOUR: hora
DAY: dia
WEEK: setmana
MONTH: mes
YEAR: any
DECADE: dècada
SEC: s
HR: h
WK: setm.
MO: m.
YR: a.
DEC: dèc.
SECOND_PLURAL: segons
MINUTE_PLURAL: minuts
HOUR_PLURAL: hores
DAY_PLURAL: dies
WEEK_PLURAL: setmanes
MONTH_PLURAL: mesos
YEAR_PLURAL: anys
DECADE_PLURAL: dècades
SEC_PLURAL: s
MIN_PLURAL: min
HR_PLURAL: h
WK_PLURAL: setm.
MO_PLURAL: mesos
YR_PLURAL: anys
DEC_PLURAL: dèc.
FORM:
VALIDATION_FAIL: <b>Ha fallat la validació:</b>
INVALID_INPUT: Entrada no vàlida a
MISSING_REQUIRED_FIELD: 'Falta camp obligatori:'
MONTHS_OF_THE_YEAR:
- 'Gener'
- 'Febrer'
- 'Març'
- 'Abril'
- 'Maig'
- 'Juny'
- 'Juliol'
- 'Agost'
- 'Setembre'
- 'Octubre'
- 'Novembre'
- 'Desembre'
DAYS_OF_THE_WEEK:
- 'Dilluns'
- 'Dimarts'
- 'Dimecres'
- 'Dijous'
- 'Divendres'
- 'Dissabte'
- 'Diumenge'

View File

@@ -1,81 +1,144 @@
---
INFLECTOR_UNCOUNTABLE:
- vybavení
- informace
- rýže
- peníze
- druhy
- série
- ryba
- ovce
INFLECTOR_IRREGULAR:
person: lidé
man: muži
child: děti
sex: pohlaví
move: pohyby
INFLECTOR_ORDINALS:
default: '.'
first: '.'
second: '.'
third: '.'
NICETIME:
NO_DATE_PROVIDED: Datum nebylo vloženo
BAD_DATE: Chybné datum
AGO: zpět
FROM_NOW: od teď
SECOND: sekunda
MINUTE: minuta
HOUR: hodina
DAY: den
WEEK: týden
MONTH: měsíc
YEAR: rok
DECADE: dekáda
SEC: sek
MIN: min
HR: hod
WK: t
MO: m
YR: r
DEC: dek
SECOND_PLURAL: sekundy
MINUTE_PLURAL: minuty
HOUR_PLURAL: hodiny
DAY_PLURAL: dny
WEEK_PLURAL: týdny
MONTH_PLURAL: měsíce
YEAR_PLURAL: roky
DECADE_PLURAL: dekády
SEC_PLURAL: sek
MIN_PLURAL: min
HR_PLURAL: hod
WK_PLURAL: t
MO_PLURAL: m
YR_PLURAL: r
DEC_PLURAL: dek
FORM:
VALIDATION_FAIL: '<b>Ověření se nezdařilo:</b>'
INVALID_INPUT: Neplatný vstup v
MISSING_REQUIRED_FIELD: 'Chybí požadované pole:'
MONTHS_OF_THE_YEAR:
- ledna
- února
- března
- dubna
- května
- června
- července
- srpna
- září
- října
- listopadu
- prosince
DAYS_OF_THE_WEEK:
- Pondělí
- Úterý
- Středa
- Čtvrtek
- Pátek
- Sobota
- Neděle
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntitle: %1$s\n---\n\n# Chyba: Chybný frontmatter\n\nPath: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_PLURALS:
'/(quiz)$/i': '\1zes'
'/^(ox)$/i': '\1en'
'/([m|l])ouse$/i': '\1ice'
'/(matr|vert|ind)ix|ex$/i': '\1ices'
'/(x|ch|ss|sh)$/i': '\1es'
'/([^aeiouy]|qu)ies$/i': '\1y'
'/([^aeiouy]|qu)y$/i': '\1ies'
'/(hive)$/i': '\1s'
'/(?:([^f])fe|([lr])f)$/i': '\1\2ves'
'/sis$/i': 'ses'
'/([ti])um$/i': '\1a'
'/(buffal|tomat)o$/i': '\1oes'
'/(bu)s$/i': '\1ses'
'/(alias|status)/i': '\1es'
'/(octop|vir)us$/i': '\1i'
'/(ax|test)is$/i': '\1es'
'/s$/i': 's'
'/$/': 's'
INFLECTOR_SINGULAR:
'/(quiz)zes$/i': '\1'
'/(matr)ices$/i': '\1ix'
'/(vert|ind)ices$/i': '\1ex'
'/^(ox)en/i': '\1'
'/(alias|status)es$/i': '\1'
'/([octop|vir])i$/i': '\1us'
'/(cris|ax|test)es$/i': '\1is'
'/(shoe)s$/i': '\1'
'/(o)es$/i': '\1'
'/(bus)es$/i': '\1'
'/([m|l])ice$/i': '\1ouse'
'/(x|ch|ss|sh)es$/i': '\1'
'/(m)ovies$/i': '\1ovie'
'/(s)eries$/i': '\1eries'
'/([^aeiouy]|qu)ies$/i': '\1y'
'/([lr])ves$/i': '\1f'
'/(tive)s$/i': '\1'
'/(hive)s$/i': '\1'
'/([^f])ves$/i': '\1fe'
'/(^analy)ses$/i': '\1sis'
'/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i': '\1\2sis'
'/([ti])a$/i': '\1um'
'/(n)ews$/i': '\1ews'
INFLECTOR_UNCOUNTABLE:
- 'vybavení'
- 'informace'
- 'rýže'
- 'peníze'
- 'druhy'
- 'série'
- 'ryba'
- 'ovce'
INFLECTOR_IRREGULAR:
'person': 'lidé'
'man': 'muži'
'child': 'děti'
'sex': 'pohlaví'
'move': 'pohyby'
INFLECTOR_ORDINALS:
'default': '.'
'first': '.'
'second': '.'
'third': '.'
NICETIME:
NO_DATE_PROVIDED: Datum nebylo vloženo
BAD_DATE: Chybné datum
AGO: zpět
FROM_NOW: od teď
JUST_NOW: právě teď
SECOND: sekunda
MINUTE: minuta
HOUR: hodina
DAY: den
WEEK: týden
MONTH: měsíc
YEAR: rok
DECADE: dekáda
SEC: sek
MIN: min
HR: hod
WK: t
MO: m
YR: r
DEC: dek
SECOND_PLURAL: sekundy
MINUTE_PLURAL: minuty
HOUR_PLURAL: hodiny
DAY_PLURAL: dny
WEEK_PLURAL: týdny
MONTH_PLURAL: měsíce
YEAR_PLURAL: roky
DECADE_PLURAL: dekády
SEC_PLURAL: sek
MIN_PLURAL: min
HR_PLURAL: hod
WK_PLURAL: t
MO_PLURAL: m
YR_PLURAL: r
DEC_PLURAL: dek
FORM:
VALIDATION_FAIL: <b>Ověření se nezdařilo:</b>
INVALID_INPUT: Neplatný vstup v
MISSING_REQUIRED_FIELD: 'Chybí požadované pole:'
MONTHS_OF_THE_YEAR:
- 'leden'
- 'únor'
- 'březen'
- 'duben'
- 'květen'
- 'červen'
- 'červenec'
- 'srpen'
- 'září'
- 'říjen'
- 'listopad'
- 'prosinec'
DAYS_OF_THE_WEEK:
- 'pondělí'
- 'úterý'
- 'středa'
- 'čtvrtek'
- 'pátek'
- 'sobota'
- 'neděle'
CRON:
EVERY: každý
EVERY_HOUR: každou hodinu
EVERY_MINUTE: každou minutu
EVERY_DAY_OF_WEEK: každý den v týdnu
EVERY_DAY_OF_MONTH: každý den v měsíci
EVERY_MONTH: každý měsíc
TEXT_PERIOD: Every <b />
TEXT_MINS: ' at <b /> minute(s) past the hour'
TEXT_TIME: ' at <b />:<b />'
TEXT_DOW: ' on <b />'
TEXT_MONTH: ' of <b />'
TEXT_DOM: ' on <b />'
ERROR1: Tag %s není podporován!
ERROR2: Chybný počet prvků
ERROR3: jquery_element musí být nastaven v nastaveních pro jqCron
ERROR4: Nerozpoznaný výraz

View File

@@ -1,75 +1,62 @@
---
FRONTMATTER_ERROR_PAGE: |
---
Titel: %1$s
---
# Fejl: Ugyldigt frontmatter
Sti: `%2$s`
**%3$s**
```
%4$s
```
NICETIME:
NO_DATE_PROVIDED: Ingen dato angivet
BAD_DATE: Ugyldig dato
AGO: siden
FROM_NOW: fra nu
SECOND: sekund
MINUTE: minut
HOUR: time
DAY: dag
WEEK: uge
MONTH: måned
YEAR: år
DECADE: årti
SEC: sek
MIN: min
HR: t
WK: u
MO: md
YR: år
DEC: årti
SECOND_PLURAL: sekunder
MINUTE_PLURAL: minutter
HOUR_PLURAL: timer
DAY_PLURAL: dage
WEEK_PLURAL: uger
MONTH_PLURAL: måneder
YEAR_PLURAL: år
DECADE_PLURAL: årtier
SEC_PLURAL: sek
MIN_PLURAL: min
HR_PLURAL: timer
WK_PLURAL: uger
MO_PLURAL: mdr
YR_PLURAL: år
DEC_PLURAL: årtier
FORM:
VALIDATION_FAIL: '<b>Validering mislykkedes:</b>'
INVALID_INPUT: Ugyldigt input i
MISSING_REQUIRED_FIELD: 'Mangler obligatorisk felt:'
MONTHS_OF_THE_YEAR:
- Januar
- Februar
- Marts
- April
- Maj
- Juni
- Juli
- August
- September
- Oktober
- November
- December
DAYS_OF_THE_WEEK:
- Mandag
- Tirsdag
- Onsdag
- Torsdag
- Fredag
- Lørdag
- Søndag
GRAV:
FRONTMATTER_ERROR_PAGE: "---\nTitel: %1$s\n---\n\n# Fejl: Ugyldigt frontmatter\n\nSti: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
NICETIME:
NO_DATE_PROVIDED: Ingen dato angivet
BAD_DATE: Ugyldig dato
AGO: siden
FROM_NOW: fra nu
SECOND: sekund
MINUTE: minut
HOUR: time
DAY: dag
WEEK: uge
MONTH: måned
YEAR: år
DECADE: årti
SEC: sek
HR: t
WK: u
MO: md
YR: år
DEC: årti
SECOND_PLURAL: sekunder
MINUTE_PLURAL: minutter
HOUR_PLURAL: timer
DAY_PLURAL: dage
WEEK_PLURAL: uger
MONTH_PLURAL: måneder
YEAR_PLURAL: år
DECADE_PLURAL: årtier
SEC_PLURAL: sek
MIN_PLURAL: min
HR_PLURAL: timer
WK_PLURAL: uger
MO_PLURAL: mdr
YR_PLURAL: år
DEC_PLURAL: årtier
FORM:
VALIDATION_FAIL: <b>Validering mislykkedes:</b>
INVALID_INPUT: Ugyldigt input i
MISSING_REQUIRED_FIELD: 'Mangler obligatorisk felt:'
MONTHS_OF_THE_YEAR:
- 'januar'
- 'februar'
- 'mars'
- 'april'
- 'mai'
- 'juni'
- 'juli'
- 'august'
- 'september'
- 'oktober'
- 'november'
- 'desember'
DAYS_OF_THE_WEEK:
- 'mandag'
- 'tirsdag'
- 'onsdag'
- 'torsdag'
- 'fredag'
- 'lørdag'
- 'søndag'

View File

@@ -1,89 +1,144 @@
---
FRONTMATTER_ERROR_PAGE: |
---
title: %1$s
---
# Fehler: Frontmatter enthält Fehler
Pfad: `%2$s`
**%3$s **
```
%4$s
```
INFLECTOR_UNCOUNTABLE:
1: Informationen
2: Reis
3: Geld
INFLECTOR_IRREGULAR:
person: Personen
man: Menschen
child: Kinder
sex: Geschlecht
move: Züge
INFLECTOR_ORDINALS:
default: '.'
first: '.'
second: '.'
third: '.'
NICETIME:
NO_DATE_PROVIDED: Kein Datum angegeben
BAD_DATE: Falsches Datum
AGO: her
FROM_NOW: ab jetzt
SECOND: Sekunde
MINUTE: Minute
HOUR: Stunde
DAY: Tag
WEEK: Woche
MONTH: Monat
YEAR: Jahr
DECADE: Jahrzehnt
SEC: Sek.
MIN: Min.
HR: Std.
WK: Wo.
MO: Mo.
YR: J.
DEC: Dek.
SECOND_PLURAL: Sekunden
MINUTE_PLURAL: Minuten
HOUR_PLURAL: Stunden
DAY_PLURAL: Tage
WEEK_PLURAL: Wochen
MONTH_PLURAL: Monate
YEAR_PLURAL: Jahre
DECADE_PLURAL: Jahrzehnte
SEC_PLURAL: Sekunden
MIN_PLURAL: Minuten
HR_PLURAL: Stunden
WK_PLURAL: Wochen
MO_PLURAL: Monate
YR_PLURAL: Jahre
DEC_PLURAL: Jahrzehnten
FORM:
VALIDATION_FAIL: '<b>Überprüfung fehlgeschlagen:</b>'
INVALID_INPUT: Ungültige Eingabe in
MISSING_REQUIRED_FIELD: 'Erforderliches Feld fehlt:'
MONTHS_OF_THE_YEAR:
- Januar
- Februar
- März
- April
- Mai
- Juni
- Juli
- August
- September
- Oktober
- November
- Dezember
DAYS_OF_THE_WEEK:
- Montag
- Dienstag
- Mittwoch
- Donnerstag
- Freitag
- Samstag
- Sonntag
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntitle: %1$s\n---\n# Fehler: Frontmatter enthält Fehler\n\nPfad: `%2$s`\n\n**%3$s ** \n\n```\n%4$s\n```"
INFLECTOR_PLURALS:
'/(quiz)$/i': '\1zes'
'/^(ox)$/i': '\1en'
'/([m|l])ouse$/i': '\1ice'
'/(matr|vert|ind)ix|ex$/i': '\1ice'
'/(x|ch|ss|sh)$/i': '\1es'
'/([^aeiouy]|qu)ies$/i': '\1y'
'/([^aeiouy]|qu)y$/i': '\1ies'
'/(hive)$/i': '\1s'
'/(?:([^f])fe|([lr])f)$/i': '\1\2ves'
'/sis$/i': 'ses'
'/([ti])um$/i': '\1a'
'/(buffal|tomat)o$/i': '\1oes'
'/(bu)s$/i': '\1ses'
'/(alias|status)/i': '\1es'
'/(octop|vir)us$/i': '\1i'
'/(ax|test)is$/i': '\1es'
'/s$/i': 's'
'/$/': 's'
INFLECTOR_SINGULAR:
'/(quiz)zes$/i': '\1'
'/(matr)ices$/i': '\1ix'
'/(vert|ind)ices$/i': '\1ex'
'/^(ox)en/i': '\1'
'/(alias|status)es$/i': '\1'
'/([octop|vir])i$/i': '\1us'
'/(cris|ax|test)es$/i': '\1ies'
'/(shoe)s$/i': '\1'
'/(o)es$/i': '\1'
'/(bus)es$/i': '\1'
'/([m|l])ice$/i': '\1ouse'
'/(x|ch|ss|sh)es$/i': '\1'
'/(m)ovies$/i': '\1ovie'
'/(s)eries$/i': '\1eries'
'/([^aeiouy]|qu)ies$/i': '\1y'
'/([lr])ves$/i': '\1f'
'/(tive)s$/i': '\1'
'/(hive)s$/i': '\1'
'/([^f])ves$/i': '\1fe'
'/(^analy)ses$/i': '\1sis'
'/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i': '\1\2ves'
'/([ti])a$/i': '\1um'
'/(n)ews$/i': '\1ews'
INFLECTOR_UNCOUNTABLE:
- 'Ausstattung'
- 'Informationen'
- 'Reis'
- 'Geld'
- 'Arten'
- 'Serie'
- 'Fisch'
- 'Schaf'
INFLECTOR_IRREGULAR:
'person': 'Personen'
'man': 'Menschen'
'child': 'Kinder'
'sex': 'Geschlecht'
'move': 'Züge'
INFLECTOR_ORDINALS:
'default': '.'
'first': '.'
'second': '.'
'third': '.'
NICETIME:
NO_DATE_PROVIDED: Kein Datum angegeben
BAD_DATE: Falsches Datum
AGO: her
FROM_NOW: ab jetzt
JUST_NOW: jetzt gerade
SECOND: Sekunde
MINUTE: Minute
HOUR: Stunde
DAY: Tag
WEEK: Woche
MONTH: Monat
YEAR: Jahr
DECADE: Jahrzehnt
SEC: Sek.
MIN: Min.
HR: Std.
WK: Wo.
MO: Mo.
YR: J.
DEC: Dez
SECOND_PLURAL: Sekunden
MINUTE_PLURAL: Minuten
HOUR_PLURAL: Stunden
DAY_PLURAL: Tage
WEEK_PLURAL: Wochen
MONTH_PLURAL: Monate
YEAR_PLURAL: Jahre
DECADE_PLURAL: Jahrzehnte
SEC_PLURAL: Sekunden
MIN_PLURAL: Minuten
HR_PLURAL: Stunden
WK_PLURAL: Wochen
MO_PLURAL: Monate
YR_PLURAL: Jahre
DEC_PLURAL: Jahrzehnten
FORM:
VALIDATION_FAIL: <b>Überprüfung fehlgeschlagen:</b>
INVALID_INPUT: Ungültige Eingabe in
MISSING_REQUIRED_FIELD: 'Erforderliches Feld fehlt:'
MONTHS_OF_THE_YEAR:
- 'Januar'
- 'Februar'
- 'März'
- 'April'
- 'Mai'
- 'Juni'
- 'Juli'
- 'August'
- 'September'
- 'Oktober'
- 'November'
- 'Dezember'
DAYS_OF_THE_WEEK:
- 'Montag'
- 'Dienstag'
- 'Mittwoch'
- 'Donnerstag'
- 'Freitag'
- 'Samstag'
- 'Sonntag'
CRON:
EVERY: jede
EVERY_HOUR: jede Stunde
EVERY_MINUTE: Jede Minute
EVERY_DAY_OF_WEEK: jeden Tag der Woche
EVERY_DAY_OF_MONTH: jeden Tag des Monats
EVERY_MONTH: jeden Monat
TEXT_PERIOD: Alle <b />
TEXT_MINS: ' bei <b /> Minuten nach der vollen Stunde (n)'
TEXT_TIME: ' bei <b />:<b />'
TEXT_DOW: ' auf <b />'
TEXT_MONTH: ' von <b />'
TEXT_DOM: ' auf <b />'
ERROR1: Der Tag %s wird nicht unterstützt!
ERROR2: Ungültige Anzahl von Elementen
ERROR3: jquery_element sollte in den jqCron Einstellungen gesetzt werden
ERROR4: Unbekannter Ausdruck

View File

@@ -1,22 +1,63 @@
---
MONTHS_OF_THE_YEAR:
- Ιανουάριος
- Φεβρουάριος
- Μάρτιος
- Απρίλιος
- Μάιος
- Ιούνιος
- Ιούλιος
- Αύγουστος
- Σεπτέμβριος
- Οκτώβριος
- Νοέμβριος
- Δεκέμβριος
DAYS_OF_THE_WEEK:
- Δευτέρα
- Τρίτη
- Τετάρτη
- Πέμπτη
- Παρασκευή
- Σάββατο
- Κυριακή
GRAV:
FRONTMATTER_ERROR_PAGE: "---\nΤίτλος: %1$s\n---\n\n# Σφάλμα: Μη έγκυρη διαδρομή Frontmatter\n\nΔιαδρομή: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
NICETIME:
NO_DATE_PROVIDED: Δεν δόθηκε καμία ημερομηνία
BAD_DATE: Εσφαλμένη ημερομηνία
AGO: πρίν
FROM_NOW: από τώρα
SECOND: δευτερόλεπτο
MINUTE: λεπτό
HOUR: ώρα
DAY: ημέρα
WEEK: εβδομάδα
MONTH: μήνας
YEAR: έτος
DECADE: δεκαετία
SEC: δευτερόλεπτο
MIN: λεπτό
HR: ώρα
WK: εβδ
MO: μην
YR: έτος
DEC: δεκαετία
SECOND_PLURAL: δευτερόλεπτα
MINUTE_PLURAL: λεπτά
HOUR_PLURAL: ώρες
DAY_PLURAL: ημέρες
WEEK_PLURAL: εβδομάδες
MONTH_PLURAL: μήνες
YEAR_PLURAL: έτη
DECADE_PLURAL: δεκαετίες
SEC_PLURAL: δευτ.
MIN_PLURAL: λεπτά
HR_PLURAL: ώρες
WK_PLURAL: εβδομάδες
MO_PLURAL: μήνες
YR_PLURAL: έτη
DEC_PLURAL: δεκαετίες
FORM:
VALIDATION_FAIL: <b>Η επικύρωση απέτυχε:</b>
INVALID_INPUT: Μη έγκυρα δεδομένα σε
MISSING_REQUIRED_FIELD: 'Λείπει το απαιτούμενο πεδίο:'
MONTHS_OF_THE_YEAR:
- 'Ιανουάριος'
- 'Φεβρουάριος'
- 'Μάρτιος'
- 'Απρίλιος'
- 'Μάιος'
- 'Ιούνιος'
- 'Ιούλιος'
- 'Αύγουστος'
- 'Σεπτέμβριος'
- 'Οκτώβριος'
- 'Νοέμβριος'
- 'Δεκέμβριος'
DAYS_OF_THE_WEEK:
- 'Δευτέρα'
- 'Τρίτη'
- 'Τετάρτη'
- 'Πέμπτη'
- 'Παρασκευή'
- 'Σάββατο'
- 'Κυριακή'

View File

@@ -1,99 +1,120 @@
FRONTMATTER_ERROR_PAGE: "---\ntitle: %1$s\n---\n\n# Error: Invalid Frontmatter\n\nPath: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_PLURALS:
'/(quiz)$/i': '\1zes'
'/^(ox)$/i': '\1en'
'/([m|l])ouse$/i': '\1ice'
'/(matr|vert|ind)ix|ex$/i': '\1ices'
'/(x|ch|ss|sh)$/i': '\1es'
'/([^aeiouy]|qu)ies$/i': '\1y'
'/([^aeiouy]|qu)y$/i': '\1ies'
'/(hive)$/i': '\1s'
'/(?:([^f])fe|([lr])f)$/i': '\1\2ves'
'/sis$/i': 'ses'
'/([ti])um$/i': '\1a'
'/(buffal|tomat)o$/i': '\1oes'
'/(bu)s$/i': '\1ses'
'/(alias|status)/i': '\1es'
'/(octop|vir)us$/i': '\1i'
'/(ax|test)is$/i': '\1es'
'/s$/i': 's'
'/$/': 's'
INFLECTOR_SINGULAR:
'/(quiz)zes$/i': '\1'
'/(matr)ices$/i': '\1ix'
'/(vert|ind)ices$/i': '\1ex'
'/^(ox)en/i': '\1'
'/(alias|status)es$/i': '\1'
'/([octop|vir])i$/i': '\1us'
'/(cris|ax|test)es$/i': '\1is'
'/(shoe)s$/i': '\1'
'/(o)es$/i': '\1'
'/(bus)es$/i': '\1'
'/([m|l])ice$/i': '\1ouse'
'/(x|ch|ss|sh)es$/i': '\1'
'/(m)ovies$/i': '\1ovie'
'/(s)eries$/i': '\1eries'
'/([^aeiouy]|qu)ies$/i': '\1y'
'/([lr])ves$/i': '\1f'
'/(tive)s$/i': '\1'
'/(hive)s$/i': '\1'
'/([^f])ves$/i': '\1fe'
'/(^analy)ses$/i': '\1sis'
'/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i': '\1\2sis'
'/([ti])a$/i': '\1um'
'/(n)ews$/i': '\1ews'
'/s$/i': ''
INFLECTOR_UNCOUNTABLE: ['equipment', 'information', 'rice', 'money', 'species', 'series', 'fish', 'sheep']
INFLECTOR_IRREGULAR:
'person': 'people'
'man': 'men'
'child': 'children'
'sex': 'sexes'
'move': 'moves'
INFLECTOR_ORDINALS:
'default': 'th'
'first': 'st'
'second': 'nd'
'third': 'rd'
NICETIME:
NO_DATE_PROVIDED: No date provided
BAD_DATE: Bad date
AGO: ago
FROM_NOW: from now
JUST_NOW: just now
SECOND: second
MINUTE: minute
HOUR: hour
DAY: day
WEEK: week
MONTH: month
YEAR: year
DECADE: decade
SEC: sec
MIN: min
HR: hr
WK: wk
MO: mo
YR: yr
DEC: dec
SECOND_PLURAL: seconds
MINUTE_PLURAL: minutes
HOUR_PLURAL: hours
DAY_PLURAL: days
WEEK_PLURAL: weeks
MONTH_PLURAL: months
YEAR_PLURAL: years
DECADE_PLURAL: decades
SEC_PLURAL: secs
MIN_PLURAL: mins
HR_PLURAL: hrs
WK_PLURAL: wks
MO_PLURAL: mos
YR_PLURAL: yrs
DEC_PLURAL: decs
FORM:
VALIDATION_FAIL: <b>Validation failed:</b>
INVALID_INPUT: Invalid input in
MISSING_REQUIRED_FIELD: Missing required field:
MONTHS_OF_THE_YEAR: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
DAYS_OF_THE_WEEK: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
---
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntitle: %1$s\n---\n\n# Error: Invalid Frontmatter\n\nPath: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_PLURALS:
'/(quiz)$/i': '\1zes'
'/^(ox)$/i': '\1en'
'/([m|l])ouse$/i': '\1ice'
'/(matr|vert|ind)ix|ex$/i': '\1ices'
'/(x|ch|ss|sh)$/i': '\1es'
'/([^aeiouy]|qu)ies$/i': '\1y'
'/([^aeiouy]|qu)y$/i': '\1ies'
'/(hive)$/i': '\1s'
'/(?:([^f])fe|([lr])f)$/i': '\1\2ves'
'/sis$/i': 'ses'
'/([ti])um$/i': '\1a'
'/(buffal|tomat)o$/i': '\1oes'
'/(bu)s$/i': '\1ses'
'/(alias|status)/i': '\1es'
'/(octop|vir)us$/i': '\1i'
'/(ax|test)is$/i': '\1es'
'/s$/i': 's'
'/$/': 's'
INFLECTOR_SINGULAR:
'/(quiz)zes$/i': '\1'
'/(matr)ices$/i': '\1ix'
'/(vert|ind)ices$/i': '\1ex'
'/^(ox)en/i': '\1'
'/(alias|status)es$/i': '\1'
'/([octop|vir])i$/i': '\1us'
'/(cris|ax|test)es$/i': '\1is'
'/(shoe)s$/i': '\1'
'/(o)es$/i': '\1'
'/(bus)es$/i': '\1'
'/([m|l])ice$/i': '\1ouse'
'/(x|ch|ss|sh)es$/i': '\1'
'/(m)ovies$/i': '\1ovie'
'/(s)eries$/i': '\1eries'
'/([^aeiouy]|qu)ies$/i': '\1y'
'/([lr])ves$/i': '\1f'
'/(tive)s$/i': '\1'
'/(hive)s$/i': '\1'
'/([^f])ves$/i': '\1fe'
'/(^analy)ses$/i': '\1sis'
'/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i': '\1\2sis'
'/([ti])a$/i': '\1um'
'/(n)ews$/i': '\1ews'
'/s$/i': ''
INFLECTOR_UNCOUNTABLE: ['equipment', 'information', 'rice', 'money', 'species', 'series', 'fish', 'sheep']
INFLECTOR_IRREGULAR:
'person': 'people'
'man': 'men'
'child': 'children'
'sex': 'sexes'
'move': 'moves'
INFLECTOR_ORDINALS:
'default': 'th'
'first': 'st'
'second': 'nd'
'third': 'rd'
NICETIME:
NO_DATE_PROVIDED: No date provided
BAD_DATE: Bad date
AGO: ago
FROM_NOW: from now
JUST_NOW: just now
SECOND: second
MINUTE: minute
HOUR: hour
DAY: day
WEEK: week
MONTH: month
YEAR: year
DECADE: decade
SEC: sec
MIN: min
HR: hr
WK: wk
MO: mo
YR: yr
DEC: dec
SECOND_PLURAL: seconds
MINUTE_PLURAL: minutes
HOUR_PLURAL: hours
DAY_PLURAL: days
WEEK_PLURAL: weeks
MONTH_PLURAL: months
YEAR_PLURAL: years
DECADE_PLURAL: decades
SEC_PLURAL: secs
MIN_PLURAL: mins
HR_PLURAL: hrs
WK_PLURAL: wks
MO_PLURAL: mos
YR_PLURAL: yrs
DEC_PLURAL: decs
FORM:
VALIDATION_FAIL: <b>Validation failed:</b>
INVALID_INPUT: Invalid input in
MISSING_REQUIRED_FIELD: Missing required field:
MONTHS_OF_THE_YEAR: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
DAYS_OF_THE_WEEK: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
YES: "Yes"
NO: "No"
CRON:
EVERY: every
EVERY_HOUR: every hour
EVERY_MINUTE: every minute
EVERY_DAY_OF_WEEK: every day of the week
EVERY_DAY_OF_MONTH: every day of the month
EVERY_MONTH: every month
TEXT_PERIOD: Every <b />
TEXT_MINS: ' at <b /> minute(s) past the hour'
TEXT_TIME: ' at <b />:<b />'
TEXT_DOW: ' on <b />'
TEXT_MONTH: ' of <b />'
TEXT_DOM: ' on <b />'
ERROR1: The tag %s is not supported!
ERROR2: Bad number of elements
ERROR3: The jquery_element should be set into jqCron settings
ERROR4: Unrecognized expression

View File

@@ -1,90 +1,95 @@
---
FRONTMATTER_ERROR_PAGE: |
---
title: %1$s
---
# Error: Frontmatter Inválido
Ruta: `%2$s`
**%3$s**
```
%4$s
```
INFLECTOR_UNCOUNTABLE:
0: equipo
1: información
3: dinero
5: series
6: pescado
7: oveja
INFLECTOR_IRREGULAR:
man: hombres
child: niños
sex: sexos
INFLECTOR_ORDINALS:
first: ro
second: do
third: ro
NICETIME:
NO_DATE_PROVIDED: No se proporcionó fecha
BAD_DATE: Fecha erronea
AGO: antes
FROM_NOW: desde ahora
SECOND: segundo
MINUTE: minuto
HOUR: hora
DAY: día
WEEK: semana
MONTH: mes
YEAR: año
DECADE: década
SEC: seg
MIN: min
HR: h
WK: sem
MO: mes
YR: año
DEC: dec
SECOND_PLURAL: segundos
MINUTE_PLURAL: minutos
HOUR_PLURAL: horas
DAY_PLURAL: días
WEEK_PLURAL: semanas
MONTH_PLURAL: meses
YEAR_PLURAL: años
DECADE_PLURAL: décadas
SEC_PLURAL: segs
MIN_PLURAL: mins
HR_PLURAL: hs
WK_PLURAL: sem
MO_PLURAL: mes
YR_PLURAL: años
DEC_PLURAL: décadas
FORM:
VALIDATION_FAIL: '<b>Falló la validación. </b>'
INVALID_INPUT: 'Dato inválido en: '
MISSING_REQUIRED_FIELD: 'Falta el campo requerido: '
MONTHS_OF_THE_YEAR:
- Enero
- Febrero
- Marzo
- Abril
- Mayo
- Junio
- Julio
- Agosto
- Septiembre
- Octubre
- Noviembre
- Diciembre
DAYS_OF_THE_WEEK:
- Lunes
- Martes
- Miércoles
- Jueves
- Viernes
- Sábado
- Domingo
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntítulo: %1$s\n---\n\n# Error: Frontmatter no válido\n\nRuta: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_UNCOUNTABLE:
- 'equipo'
- 'información'
- 'rice'
- 'dinero'
- 'species'
- 'series'
- 'pescado'
- 'oveja'
INFLECTOR_IRREGULAR:
'man': 'hombres'
'child': 'niños'
'sex': 'sexos'
INFLECTOR_ORDINALS:
'first': 'ro'
'second': 'do'
'third': 'ro'
NICETIME:
NO_DATE_PROVIDED: No se proporcionó fecha
BAD_DATE: Fecha errónea
AGO: antes
FROM_NOW: desde ahora
JUST_NOW: hace un momento
SECOND: segundo
MINUTE: minuto
HOUR: hora
DAY: día
WEEK: semana
MONTH: mes
YEAR: año
DECADE: década
SEC: seg
HR: h
WK: sem
MO: mes
YR: año
SECOND_PLURAL: segundos
MINUTE_PLURAL: minutos
HOUR_PLURAL: horas
DAY_PLURAL: días
WEEK_PLURAL: semanas
MONTH_PLURAL: meses
YEAR_PLURAL: años
DECADE_PLURAL: décadas
SEC_PLURAL: segs
HR_PLURAL: hs
WK_PLURAL: sem
MO_PLURAL: mes
YR_PLURAL: os
DEC_PLURAL: décadas
FORM:
VALIDATION_FAIL: '<b>Falló la validación: </b>'
INVALID_INPUT: 'Dato inválido en: '
MISSING_REQUIRED_FIELD: 'Falta el campo requerido: '
MONTHS_OF_THE_YEAR:
- 'Enero'
- 'Febrero'
- 'Marzo'
- 'Abril'
- 'Mayo'
- 'Junio'
- 'Julio'
- 'Agosto'
- 'Septiembre'
- 'Octubre'
- 'Noviembre'
- 'Diciembre'
DAYS_OF_THE_WEEK:
- 'Lunes'
- 'Martes'
- 'Miércoles'
- 'Jueves'
- 'Viernes'
- 'Sábado'
- 'Domingo'
CRON:
EVERY: cada
EVERY_HOUR: cada hora
EVERY_MINUTE: cada minuto
EVERY_DAY_OF_WEEK: cada día de la semana
EVERY_DAY_OF_MONTH: cada día del mes
EVERY_MONTH: cada mes
TEXT_PERIOD: Cada <b />
TEXT_MINS: ' a <b /> minuto(s) despues de la hora'
TEXT_TIME: ' a <b />:<b />'
TEXT_DOW: ' en <b />'
TEXT_MONTH: ' de<b />'
TEXT_DOM: ' en<b />'
ERROR1: La etiqueta %s no está soportada!
ERROR2: El número de elementos es erroneo
ERROR3: El jquery_element debería establecerse en la configuración del jqCron
ERROR4: Expresión no reconocida

85
system/languages/et.yaml Normal file
View File

@@ -0,0 +1,85 @@
---
GRAV:
FRONTMATTER_ERROR_PAGE: "---\npealkiri: %1$s\n---\n\n# Viga: vigane Frontmatter'i\n\nasukoht: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_UNCOUNTABLE:
- 'equipment'
- 'informatsioon'
- 'rice'
- 'money'
- 'species'
- 'series'
- 'kala'
- 'lammas'
INFLECTOR_IRREGULAR:
'person': 'inimesed'
'man': 'mees'
'child': 'lapsed'
INFLECTOR_ORDINALS:
'default': '.'
'first': '.'
'second': '.'
'third': '.'
NICETIME:
NO_DATE_PROVIDED: Kuupäev määramata
BAD_DATE: Vigane kuupäev
AGO: tagasi
FROM_NOW: praegusest
JUST_NOW: just nüüd
SECOND: sekund
MINUTE: minut
HOUR: tundi
DAY: päev
WEEK: nädal
MONTH: kuu
YEAR: aasta
DECADE: 10 aastat
SEC: sek
HR: t
WK: näd
MO: k.
YR: a.
DEC: dekaad
SECOND_PLURAL: sekundit
MINUTE_PLURAL: minutit
HOUR_PLURAL: tundi
DAY_PLURAL: päeva
WEEK_PLURAL: nädalat
MONTH_PLURAL: kuud
YEAR_PLURAL: aastat
DECADE_PLURAL: dekaadi
SEC_PLURAL: sekundit
MIN_PLURAL: min
HR_PLURAL: t
WK_PLURAL: näd
MO_PLURAL: kuud
YR_PLURAL: aastat
DEC_PLURAL: dek.
FORM:
VALIDATION_FAIL: <b>Kinnitamine nurjus:</b>
INVALID_INPUT: 'Vigane sisend:'
MISSING_REQUIRED_FIELD: 'Nõutud väli puudub:'
MONTHS_OF_THE_YEAR:
- 'jaanuar'
- 'veebruar'
- 'märts'
- 'aprill'
- 'mai'
- 'juuni'
- 'juuli'
- 'august'
- 'september'
- 'oktoober'
- 'november'
- 'detsember'
DAYS_OF_THE_WEEK:
- 'esmaspäev'
- 'teisipäev'
- 'kolmapäev'
- 'neljapäev'
- 'reede'
- 'laupäev'
- 'pühapäev'
CRON:
EVERY: iga
EVERY_MONTH: iga kuu
TEXT_PERIOD: Iga <b />

62
system/languages/eu.yaml Normal file
View File

@@ -0,0 +1,62 @@
---
GRAV:
FRONTMATTER_ERROR_PAGE: "--- title: %1$s --- # Errorea: Baliogabeko Frontmatter Bidea: `%2$s` **%3$s** ``` %4$s ```"
NICETIME:
NO_DATE_PROVIDED: Ez da datarik ezarri
BAD_DATE: Okerreko data
AGO: ' duela'
FROM_NOW: oraindik aurrera
SECOND: segundo
MINUTE: minutu
HOUR: ordua
DAY: egun
WEEK: astea
MONTH: hilabetea
YEAR: urtea
DECADE: hamarkada
SEC: seg
HR: h
WK: ast
MO: hil
YR: urt
DEC: ham
SECOND_PLURAL: segundo
MINUTE_PLURAL: minutu
HOUR_PLURAL: ordu
DAY_PLURAL: egun
WEEK_PLURAL: aste
MONTH_PLURAL: hilabete
YEAR_PLURAL: urte
DECADE_PLURAL: hamarkada
SEC_PLURAL: segundo
MIN_PLURAL: minutu
HR_PLURAL: h
WK_PLURAL: ast
MO_PLURAL: hil
YR_PLURAL: urt
DEC_PLURAL: ham
FORM:
VALIDATION_FAIL: <b>Balidazioak huts egin du</b>
INVALID_INPUT: Baliogabeko sarrera
MISSING_REQUIRED_FIELD: 'Derrigorrezko eremua bete gabe:'
MONTHS_OF_THE_YEAR:
- 'Urtarrila'
- 'Otsaila'
- 'Martxoa'
- 'Apirila'
- 'Maiatza'
- 'Ekaina'
- 'Uztaila'
- 'Abuztua'
- 'Iraila'
- 'Urria'
- 'Azaroa'
- 'Abendua'
DAYS_OF_THE_WEEK:
- 'Astelehena'
- 'Asteartea'
- 'Azteazkena'
- 'Osteguna'
- 'Ostirala'
- 'Larunbata'
- 'Igandea'

62
system/languages/fa.yaml Normal file
View File

@@ -0,0 +1,62 @@
---
GRAV:
FRONTMATTER_ERROR_PAGE: "---\nعنوان: %1$s\n---\n\n# خطا: Frontmatter غلط\n\nمسیر: %2$s\n\n**%3$s**\n\n```\n%4$s\n```"
NICETIME:
NO_DATE_PROVIDED: تاریخی ارائه نشده
BAD_DATE: تاریخ اشتباه
AGO: قبل
FROM_NOW: از حالا
SECOND: ثانیه
MINUTE: دقیقه
HOUR: ساعت
DAY: روز
WEEK: هفته
MONTH: ماه
YEAR: سال
DECADE: دهه
SEC: ثانیه
MIN: دقیقه
HR: ساعت
WK: هفته
MO: ماه
YR: سال
DEC: دهه
SECOND_PLURAL: ثانیه
MINUTE_PLURAL: دقیقه
HOUR_PLURAL: ساعت
DAY_PLURAL: روز
WEEK_PLURAL: هفته
MONTH_PLURAL: ماه
YEAR_PLURAL: سال
DECADE_PLURAL: دهه
SEC_PLURAL: ثانیه
MIN_PLURAL: دقیقه
HR_PLURAL: ساعت
WK_PLURAL: هفته
YR_PLURAL: سال
DEC_PLURAL: دهه
FORM:
VALIDATION_FAIL: <b>سنجش اعتبار ناموفق بود</b>
INVALID_INPUT: ورودی نامعتبر در
MISSING_REQUIRED_FIELD: 'قسمت ضروری جا افتاده:'
MONTHS_OF_THE_YEAR:
- 'ژانویه'
- 'فوریه'
- 'مارس'
- 'آوریل'
- 'می'
- 'ژوئن'
- 'ژوئیه'
- 'اوت'
- 'سپتامبر'
- 'اکتبر'
- 'نوامبر'
- 'دسامبر'
DAYS_OF_THE_WEEK:
- 'دوشنبه'
- 'سه‌ شنبه'
- 'چهارشنبه'
- 'پنج شنبه'
- 'جمعه'
- 'شنبه'
- 'یک‌شنبه'

View File

@@ -1,60 +1,134 @@
---
NICETIME:
NO_DATE_PROVIDED: Päivämäärää ei annettu
BAD_DATE: Virheellinen päivämäärä
AGO: sitten
FROM_NOW: tästä lähtien
SECOND: sekunti
MINUTE: minuutti
HOUR: tunti
DAY: päivä
WEEK: viikko
MONTH: kuukausi
YEAR: vuosi
DECADE: vuosikymmen
SEC: sek
MIN: min
HR: h
WK: vk
MO: kk
YR: v
DEC: vuosikymmen
SECOND_PLURAL: sekuntia
MINUTE_PLURAL: minuuttia
HOUR_PLURAL: tuntia
DAY_PLURAL: päivää
WEEK_PLURAL: viikkoa
MONTH_PLURAL: kuukautta
YEAR_PLURAL: vuotta
DECADE_PLURAL: vuosikymmentä
SEC_PLURAL: sek
MIN_PLURAL: min
HR_PLURAL: h
WK_PLURAL: v
MO_PLURAL: kk
YR_PLURAL: v
DEC_PLURAL: vuosikymmentä
FORM:
VALIDATION_FAIL: '<b>Vahvistus epäonnistui:</b>'
MISSING_REQUIRED_FIELD: 'Puuttuva pakollinen kenttä:'
MONTHS_OF_THE_YEAR:
- Tammikuu
- Helmikuu
- Maaliskuu
- Huhtikuu
- Toukokuu
- Kesäkuuta
- Heinäkuu
- Elokuu
- Syyskuu
- Lokakuu
- Marraskuu
- Joulukuu
DAYS_OF_THE_WEEK:
- Maanantai
- Tiistai
- Keskiviikko
- Torstai
- Perjantai
- Lauantai
- Sunnuntai
GRAV:
FRONTMATTER_ERROR_PAGE: "---\notsikko: %1$s\n---\n\n# Virhe: Virheellinen Frontmatter\n\nPolku: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_PLURALS:
'/(quiz)$/i': '\1zes'
'/^(ox)$/i': '\1en'
'/([m|l])ouse$/i': '\1ice'
'/(matr|vert|ind)ix|ex$/i': '\1ices'
'/(x|ch|ss|sh)$/i': '\1es'
'/([^aeiouy]|qu)ies$/i': '\1y'
'/([^aeiouy]|qu)y$/i': '\1ies'
'/(hive)$/i': '\1s'
'/(?:([^f])fe|([lr])f)$/i': '\1\2ves'
'/sis$/i': 'ses'
'/([ti])um$/i': '\1a'
'/(buffal|tomat)o$/i': '\1oes'
'/(bu)s$/i': '\1ses'
'/(alias|status)/i': '\1es'
'/(octop|vir)us$/i': '\1i'
'/(ax|test)is$/i': '\1es'
'/s$/i': 's'
'/$/': 's'
INFLECTOR_SINGULAR:
'/(quiz)zes$/i': '\1'
'/(matr)ices$/i': '\1ix'
'/(vert|ind)ices$/i': '\1ex'
'/^(ox)en/i': '\1'
'/(alias|status)es$/i': '\1'
'/([octop|vir])i$/i': '\1us'
'/(cris|ax|test)es$/i': '\1is'
'/(shoe)s$/i': '\1'
'/(o)es$/i': '\1'
'/(bus)es$/i': '\1'
'/([m|l])ice$/i': '\1ouse'
'/(x|ch|ss|sh)es$/i': '\1'
'/(m)ovies$/i': '\1ovie'
'/(s)eries$/i': '\1eries'
'/([^aeiouy]|qu)ies$/i': '\1y'
'/([lr])ves$/i': '\1f'
'/(tive)s$/i': '\1'
'/(hive)s$/i': '\1'
'/([^f])ves$/i': '\1fe'
'/(^analy)ses$/i': '\1sis'
'/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i': '\1\2sis'
'/([ti])a$/i': '\1um'
'/(n)ews$/i': '\1ews'
INFLECTOR_UNCOUNTABLE:
- 'equipment'
- 'information'
- 'riisi'
- 'raha'
- 'lajit'
- 'series'
- 'kala'
- 'lammas'
INFLECTOR_IRREGULAR:
'person': 'ihmiset'
'man': 'miehet'
'child': 'lapset'
'sex': 'sukupuoli'
INFLECTOR_ORDINALS:
'default': '.'
'first': '.'
'second': '.'
'third': '.'
NICETIME:
NO_DATE_PROVIDED: Päivämäärää ei annettu
BAD_DATE: Virheellinen päivämäärä
AGO: sitten
FROM_NOW: tästä lähtien
JUST_NOW: juuri nyt
SECOND: sekuntti
MINUTE: minuutti
HOUR: tunti
DAY: päivä
WEEK: viikko
MONTH: kuukausi
YEAR: vuosi
DECADE: vuosikymmen
SEC: sek
MIN: min
HR: h
WK: vk
MO: kk
YR: v
DEC: vuosikymmen
SECOND_PLURAL: sekuntia
MINUTE_PLURAL: minuuttia
HOUR_PLURAL: tuntia
DAY_PLURAL: päivää
WEEK_PLURAL: viikkoa
MONTH_PLURAL: kuukautta
YEAR_PLURAL: vuotta
DECADE_PLURAL: vuosikymmentä
SEC_PLURAL: sek
MIN_PLURAL: min
HR_PLURAL: h
WK_PLURAL: v
MO_PLURAL: kk
YR_PLURAL: v
DEC_PLURAL: vuosikymmentä
FORM:
VALIDATION_FAIL: <b>Vahvistus epäonnistui:</b>
INVALID_INPUT: Syöte ei kelpaa
MISSING_REQUIRED_FIELD: 'Puuttuva pakollinen kenttä:'
MONTHS_OF_THE_YEAR:
- 'Tammikuu'
- 'Helmikuu'
- 'Maaliskuu'
- 'Huhtikuu'
- 'Toukokuu'
- 'Kesäkuuta'
- 'Heinäkuu'
- 'Elokuu'
- 'Syyskuu'
- 'Lokakuu'
- 'Marraskuu'
- 'Joulukuu'
DAYS_OF_THE_WEEK:
- 'Maanantai'
- 'Tiistai'
- 'Keskiviikko'
- 'Torstai'
- 'Perjantai'
- 'Lauantai'
- 'Sunnuntai'
CRON:
EVERY: joka
EVERY_HOUR: joka tunti
EVERY_MINUTE: joka minuutti
EVERY_DAY_OF_WEEK: viikon jokaisena päivänä
EVERY_DAY_OF_MONTH: kuukauden jokaisena päivänä
EVERY_MONTH: joka kuukausi
TEXT_PERIOD: Joka <b />

View File

@@ -1,138 +1,123 @@
---
FRONTMATTER_ERROR_PAGE: |
---
title: %1$s
---
# Erreur : Frontmatter invalide
Path: `%2$s`
**%3$s**
```
%4$s
```
INFLECTOR_PLURALS:
/(quiz)$/i: '\1zes'
/^(ox)$/i: '\1en'
"/([m|l])ouse$/i": '\1ice'
/(matr|vert|ind)ix|ex$/i: '\1ices'
/(x|ch|ss|sh)$/i: '\1es'
"/([^aeiouy]|qu)ies$/i": '\1y'
"/([^aeiouy]|qu)y$/i": '\1ies'
/(hive)$/i: '\1s'
"/(?:([^f])fe|([lr])f)$/i": '\1\2ves'
/sis$/i: ses
"/([ti])um$/i": '\1a'
/(buffal|tomat)o$/i: '\1oes'
/(bu)s$/i: '\1ses'
/(alias|status)/i: '\1es'
/(octop|vir)us$/i: '\1i'
/(ax|test)is$/i: '\1es'
/s$/i: s
/$/: s
INFLECTOR_SINGULAR:
/(quiz)zes$/i: '\1'
/(matr)ices$/i: '\1ix'
/(vert|ind)ices$/i: '\1ex'
/^(ox)en/i: '\1'
/(alias|status)es$/i: '\1'
"/([octop|vir])i$/i": '\1us'
/(cris|ax|test)es$/i: '\1is'
/(shoe)s$/i: '\1'
/(o)es$/i: '\1'
/(bus)es$/i: '\1'
"/([m|l])ice$/i": '\1ouse'
/(x|ch|ss|sh)es$/i: '\1'
/(m)ovies$/i: '\1ovie'
/(s)eries$/i: '\1eries'
"/([^aeiouy]|qu)ies$/i": '\1y'
"/([lr])ves$/i": '\1f'
/(tive)s$/i: '\1'
/(hive)s$/i: '\1'
"/([^f])ves$/i": '\1fe'
/(^analy)ses$/i: '\1sis'
/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i: '\1\2sis'
"/([ti])a$/i": '\1um'
/(n)ews$/i: '\1ews'
INFLECTOR_UNCOUNTABLE:
- équipement
- informations
- riz
- argent
- espèces
- séries
- poisson
- mouton
INFLECTOR_IRREGULAR:
person: personnes
man: hommes
child: enfants
sex: sexes
move: déplacements
INFLECTOR_ORDINALS:
default: ème
first: er
second: ème
third: ème
NICETIME:
NO_DATE_PROVIDED: Aucune date fournie
BAD_DATE: Date erronée
AGO: plus tôt
FROM_NOW: à partir de maintenant
SECOND: seconde
MINUTE: minute
HOUR: heure
DAY: jour
WEEK: semaine
MONTH: mois
YEAR: année
DECADE: décennie
SEC: s
MIN: m
HR: h
WK: sem
MO: m
YR: an
DEC: déc
SECOND_PLURAL: secondes
MINUTE_PLURAL: minutes
HOUR_PLURAL: heures
DAY_PLURAL: jours
WEEK_PLURAL: semaines
MONTH_PLURAL: mois
YEAR_PLURAL: années
DECADE_PLURAL: décennies
SEC_PLURAL: s
MIN_PLURAL: m
HR_PLURAL: h
WK_PLURAL: sem
MO_PLURAL: mois
YR_PLURAL: a
DEC_PLURAL: décs
FORM:
VALIDATION_FAIL: '<b>La validation a échoué :</b>'
INVALID_INPUT: Saisie non valide
MISSING_REQUIRED_FIELD: 'Champ obligatoire manquant :'
MONTHS_OF_THE_YEAR:
- Janvier
- Février
- Mars
- Avril
- Mai
- Juin
- Juillet
- Août
- Septembre
- Octobre
- Novembre
- Décembre
DAYS_OF_THE_WEEK:
- Lundi
- Mardi
- Mercredi
- Jeudi
- Vendredi
- Samedi
- Dimanche
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntitre: %1$s\n---\n\n# Erreur : Frontmatter invalide\n\nChemin: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_PLURALS:
'/(quiz)$/i': '\1zes'
'/^(ox)$/i': '\1en'
'/([m|l])ouse$/i': '\1ice'
'/(matr|vert|ind)ix|ex$/i': '\1ices'
'/(x|ch|ss|sh)$/i': '\1es'
'/([^aeiouy]|qu)ies$/i': '\1y'
'/([^aeiouy]|qu)y$/i': '\1ies'
'/(hive)$/i': '\1s'
'/(?:([^f])fe|([lr])f)$/i': '\1\2ves'
'/sis$/i': 'ses'
'/([ti])um$/i': '\1a'
'/(buffal|tomat)o$/i': '\1es'
'/(bu)s$/i': 'Bus'
'/(alias|status)/i': 'alias|status'
'/(ax|test)is$/i': '\1s'
'/s$/i': 's'
'/$/': 's'
INFLECTOR_SINGULAR:
'/(quiz)zes$/i': '\1'
'/(alias|status)es$/i': '\1'
'/([octop|vir])i$/i': '\1us'
INFLECTOR_UNCOUNTABLE:
- 'équipement'
- 'information'
- 'riz'
- 'argent'
- 'espèces'
- 'séries'
- 'poisson'
- 'mouton'
INFLECTOR_IRREGULAR:
'person': 'personnes'
'man': 'hommes'
'child': 'enfants'
'sex': 'sexes'
'move': 'déplacements'
INFLECTOR_ORDINALS:
'default': 'ème'
'first': 'er'
'second': 'ème'
'third': 'ème'
NICETIME:
NO_DATE_PROVIDED: Aucune date fournie
BAD_DATE: Date erronée
AGO: plus tôt
FROM_NOW: à partir de maintenant
JUST_NOW: à l'instant
SECOND: seconde
MINUTE: minute
HOUR: heure
DAY: jour
WEEK: semaine
MONTH: mois
YEAR: année
DECADE: décennie
SEC: s
MIN: m
HR: h
WK: sem
MO: m
YR: an
DEC: déc
SECOND_PLURAL: secondes
MINUTE_PLURAL: minutes
HOUR_PLURAL: heures
DAY_PLURAL: jours
WEEK_PLURAL: semaines
MONTH_PLURAL: mois
YEAR_PLURAL: années
DECADE_PLURAL: décennies
SEC_PLURAL: s
MIN_PLURAL: m
HR_PLURAL: h
WK_PLURAL: sem
MO_PLURAL: mois
YR_PLURAL: a
DEC_PLURAL: décs
FORM:
VALIDATION_FAIL: <b>La validation a échoué :</b>
INVALID_INPUT: Saisie non valide
MISSING_REQUIRED_FIELD: 'Champ obligatoire manquant :'
MONTHS_OF_THE_YEAR:
- 'Janvier'
- 'Février'
- 'Mars'
- 'Avril'
- 'Mai'
- 'Juin'
- 'Juillet'
- 'Août'
- 'Septembre'
- 'Octobre'
- 'Novembre'
- 'Décembre'
DAYS_OF_THE_WEEK:
- 'Lundi'
- 'Mardi'
- 'Mercredi'
- 'Jeudi'
- 'Vendredi'
- 'Samedi'
- 'Dimanche'
CRON:
EVERY: chaque
EVERY_HOUR: toutes les heures
EVERY_MINUTE: chaque minute
EVERY_DAY_OF_WEEK: tous les jours de la semaine
EVERY_DAY_OF_MONTH: tous les jours du mois
EVERY_MONTH: chaque mois
TEXT_PERIOD: Chaque<b/>
TEXT_MINS: ' à <b /> minute(s) après l''heure'
TEXT_TIME: ' à<b/>:<b/>'
TEXT_DOW: ' sur <b/>'
TEXT_MONTH: ' de <b />'
TEXT_DOM: ' sur <b/>'
ERROR1: La balise %s n'est pas supportée!
ERROR2: Nombre invalide d'éléments
ERROR3: L'élément jquery_element doit être défini dans les paramètres jqCron
ERROR4: Expression non reconnue

63
system/languages/he.yaml Normal file
View File

@@ -0,0 +1,63 @@
---
GRAV:
FRONTMATTER_ERROR_PAGE: "---\nכותרת: %1$s\n---\n# שגיאה: Fronmatter לא חוקי\nנתיב: `%2$s`\n**%3$s**\n```\n%4$s\n```"
NICETIME:
NO_DATE_PROVIDED: לא סופק תאריך
BAD_DATE: תאריך פגום
AGO: לפני
FROM_NOW: כרגע
SECOND: שנייה
MINUTE: דקה
HOUR: שעה
DAY: יום
WEEK: שבוע
MONTH: חודש
YEAR: שנה
DECADE: עשור
SEC: שנ'
MIN: דק'
HR: ש'
WK: שב'
MO: חו'
YR: שני'
DEC: עש'
SECOND_PLURAL: שניות
MINUTE_PLURAL: דקות
HOUR_PLURAL: שעות
DAY_PLURAL: ימים
WEEK_PLURAL: שבועות
MONTH_PLURAL: חודשים
YEAR_PLURAL: שנים
DECADE_PLURAL: עשורים
SEC_PLURAL: שנ'
MIN_PLURAL: דק'
HR_PLURAL: ש'
WK_PLURAL: שב'
MO_PLURAL: חו'
YR_PLURAL: שני'
DEC_PLURAL: עש'
FORM:
VALIDATION_FAIL: <b>האימות נכשל:</b>
INVALID_INPUT: קלט לא חוקי
MISSING_REQUIRED_FIELD: 'שדות חובה חסרים:'
MONTHS_OF_THE_YEAR:
- 'ינואר'
- 'פברואר'
- 'מרץ'
- 'אפריל'
- 'מאי'
- 'יוני'
- 'יולי'
- 'אוגוסט'
- 'ספטמבר'
- 'אוקטובר'
- 'נובמבר'
- 'דצמבר'
DAYS_OF_THE_WEEK:
- 'שני'
- 'שלישי'
- 'רביעי'
- 'חמישי'
- 'שישי'
- 'שבת'
- 'ראשון'

View File

@@ -1,75 +1,76 @@
---
INFLECTOR_UNCOUNTABLE:
- oprema
- informacije
- riža
- novac
- vrsta
- serija
- riba
- ovca
INFLECTOR_IRREGULAR:
person: osobe
man: ljudi
child: djeca
sex: spolovi
move: Pomakni
NICETIME:
NO_DATE_PROVIDED: Datum nije upisan
BAD_DATE: Pogrešan datum
AGO: prije
FROM_NOW: od sada
SECOND: sekunda
MINUTE: minuta
HOUR: sat
DAY: dan
WEEK: tjedan
MONTH: mjesec
YEAR: godina
DECADE: desetljeće
SEC: sek
HR: sat
WK: t
MO: m
YR: g
DEC: des
SECOND_PLURAL: sekundi
MINUTE_PLURAL: minuta
HOUR_PLURAL: sati
DAY_PLURAL: dan
WEEK_PLURAL: tjedana
MONTH_PLURAL: mjeseci
YEAR_PLURAL: godina
DECADE_PLURAL: desetljeća
SEC_PLURAL: sek
MIN_PLURAL: min
HR_PLURAL: sat
WK_PLURAL: t
MO_PLURAL: m
YR_PLURAL: g
DEC_PLURAL: des
FORM:
VALIDATION_FAIL: '<b>Validacija nije uspjela:</b>'
INVALID_INPUT: Pogrešan unos u
MISSING_REQUIRED_FIELD: 'Nedostaje obavezno polje:'
MONTHS_OF_THE_YEAR:
- Siječanj
- Veljača
- Ožujak
- Travanj
- Svibanj
- Lipanj
- Srpanj
- Kolovoz
- Rujan
- Listopad
- Studeni
- Prosinac
DAYS_OF_THE_WEEK:
- Ponedjeljak
- Utorak
- Srijeda
- Četvrtak
- Petak
- Subota
- Nedjelja
GRAV:
INFLECTOR_UNCOUNTABLE:
- 'oprema'
- 'informacije'
- 'riža'
- 'novac'
- 'vrsta'
- 'serija'
- 'riba'
- 'ovca'
INFLECTOR_IRREGULAR:
'person': 'osobe'
'man': 'ljudi'
'child': 'djeca'
'sex': 'spolovi'
'move': 'Pomakni'
NICETIME:
NO_DATE_PROVIDED: Datum nije upisan
BAD_DATE: Pogrešan datum
AGO: prije
FROM_NOW: od sada
SECOND: sekunda
MINUTE: minuta
HOUR: sat
DAY: dan
WEEK: tjedan
MONTH: mjesec
YEAR: godina
DECADE: desetljeće
SEC: sek
HR: sat
WK: t
MO: m
YR: g
DEC: des
SECOND_PLURAL: sekundi
MINUTE_PLURAL: minuta
HOUR_PLURAL: sati
DAY_PLURAL: dan
WEEK_PLURAL: tjedana
MONTH_PLURAL: mjeseci
YEAR_PLURAL: godina
DECADE_PLURAL: desetljeća
SEC_PLURAL: sek
MIN_PLURAL: min
HR_PLURAL: sat
WK_PLURAL: t
MO_PLURAL: m
YR_PLURAL: g
DEC_PLURAL: des
FORM:
VALIDATION_FAIL: <b>Validacija nije uspjela:</b>
INVALID_INPUT: Pogrešan unos u
MISSING_REQUIRED_FIELD: 'Nedostaje obavezno polje:'
MONTHS_OF_THE_YEAR:
- 'Siječanj'
- 'Veljača'
- 'Ožujak'
- 'Travanj'
- 'Svibanj'
- 'Lipanj'
- 'Srpanj'
- 'Kolovoz'
- 'Rujan'
- 'Listopad'
- 'Studeni'
- 'Prosinac'
DAYS_OF_THE_WEEK:
- 'Ponedjeljak'
- 'Utorak'
- 'Srijeda'
- 'Četvrtak'
- 'Petak'
- 'Subota'
- 'Nedjelja'

View File

@@ -1,138 +1,97 @@
---
FRONTMATTER_ERROR_PAGE: |
---
cím: %1$s
---
# Hiba: Érvénytelen Frontmatter
Elérési út: `%2$s`
**%3$s**
```
%4$s
```
INFLECTOR_PLURALS:
/(quiz)$/i: '\1zes'
/^(ox)$/i: '\1en'
"/([m|l])ouse$/i": '\1ice'
/(matr|vert|ind)ix|ex$/i: '\1ices'
/(x|ch|ss|sh)$/i: '\1es'
"/([^aeiouy]|qu)ies$/i": '\1y'
"/([^aeiouy]|qu)y$/i": '\1ies'
/(hive)$/i: '\1s'
"/(?:([^f])fe|([lr])f)$/i": '\1\2ves'
/sis$/i: ses
"/([ti])um$/i": '\1a'
/(buffal|tomat)o$/i: '\1oes'
/(bu)s$/i: '\1ses'
/(alias|status)/i: '\1es'
/(octop|vir)us$/i: '\1i'
/(ax|test)is$/i: '\1es'
/s$/i: s
/$/: s
INFLECTOR_SINGULAR:
/(quiz)zes$/i: '\1'
/(matr)ices$/i: '\1ix'
/(vert|ind)ices$/i: '\1ex'
/^(ox)en/i: '\1'
/(alias|status)es$/i: '\1'
"/([octop|vir])i$/i": '\1us'
/(cris|ax|test)es$/i: '\1is'
/(shoe)s$/i: '\1'
/(o)es$/i: '\1'
/(bus)es$/i: '\1'
"/([m|l])ice$/i": '\1ouse'
/(x|ch|ss|sh)es$/i: '\1'
/(m)ovies$/i: '\1ovie'
/(s)eries$/i: '\1eries'
"/([^aeiouy]|qu)ies$/i": '\1y'
"/([lr])ves$/i": '\1f'
/(tive)s$/i: '\1'
/(hive)s$/i: '\1'
"/([^f])ves$/i": '\1fe'
/(^analy)ses$/i: '\1sis'
/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i: '\1\2sis'
"/([ti])a$/i": '\1um'
/(n)ews$/i: '\1ews'
INFLECTOR_UNCOUNTABLE:
- felszerelés
- információ
- rizs
- pénz
- fajok
- sorozat
- hal
- juh
INFLECTOR_IRREGULAR:
person: személyek
man: férfiak
child: gyerekek
sex: nemek
move: lépések
INFLECTOR_ORDINALS:
default: '.'
first: '.'
second: '.'
third: '.'
NICETIME:
NO_DATE_PROVIDED: Nincs dátum megadva
BAD_DATE: Hibás dátum
AGO: elteltével
FROM_NOW: mostantól
SECOND: másodperc
MINUTE: perc
HOUR: óra
DAY: nap
WEEK: t
MONTH: hónap
YEAR: év
DECADE: évtized
SEC: mp
MIN: p
HR: ó
WK: hét
MO:
YR: év
DEC: évt
SECOND_PLURAL: másodperc
MINUTE_PLURAL: perc
HOUR_PLURAL: óra
DAY_PLURAL: nap
WEEK_PLURAL: hét
MONTH_PLURAL: hónap
YEAR_PLURAL: év
DECADE_PLURAL: évtized
SEC_PLURAL: mp
MIN_PLURAL: perc
HR_PLURAL: ó
WK_PLURAL: hét
MO_PLURAL:
YR_PLURAL: év
DEC_PLURAL: évt
FORM:
VALIDATION_FAIL: '<b>A validáció hibát talált:</b>'
INVALID_INPUT: 'Az itt megadott érték érvénytelen:'
MISSING_REQUIRED_FIELD: 'Ez a kötelező mező nincs kitöltve:'
MONTHS_OF_THE_YEAR:
- január
- február
- március
- április
- május
- június
- július
- augusztus
- szeptember
- október
- november
- december
DAYS_OF_THE_WEEK:
- hétfő
- kedd
- szerda
- csütörtök
- péntek
- szombat
- vasárnap
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ncím: %1$s\n---\n\n# Hiba: Érvénytelen Frontmatter\n\nElérési út: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_UNCOUNTABLE:
- 'felszerelés'
- 'információ'
- 'rizs'
- 'pénz'
- 'fajok'
- 'sorozat'
- 'hal'
- 'juh'
INFLECTOR_IRREGULAR:
'person': 'személyek'
'man': 'férfiak'
'child': 'gyerekek'
'sex': 'nemek'
'move': 'lépések'
INFLECTOR_ORDINALS:
'default': '.'
'first': '.'
'second': '.'
'third': '.'
NICETIME:
NO_DATE_PROVIDED: Nincs dátum megadva
BAD_DATE: Hibás dátum
AGO: elteltével
FROM_NOW: mostantól
JUST_NOW: épp most
SECOND: másodperc
MINUTE: perc
HOUR: óra
DAY: nap
WEEK: hét
MONTH: hónap
YEAR: év
DECADE: évtized
SEC: mp
MIN: p
HR: ó
WK: hét
MO:
YR: év
DEC: évt
SECOND_PLURAL: másodperc
MINUTE_PLURAL: perc
HOUR_PLURAL: óra
DAY_PLURAL: nap
WEEK_PLURAL: hét
MONTH_PLURAL: hónap
YEAR_PLURAL: év
DECADE_PLURAL: évtized
SEC_PLURAL: mp
MIN_PLURAL: perc
HR_PLURAL: ó
WK_PLURAL: hét
MO_PLURAL:
YR_PLURAL: év
DEC_PLURAL: évt
FORM:
VALIDATION_FAIL: <b>Érvényesítés nem sikerült:</b>
INVALID_INPUT: 'A megadott érték érvénytelen:'
MISSING_REQUIRED_FIELD: 'Ez a kötelező mező nincs kitöltve:'
MONTHS_OF_THE_YEAR:
- 'január'
- 'február'
- 'március'
- 'április'
- 'május'
- 'június'
- 'július'
- 'augusztus'
- 'szeptember'
- 'október'
- 'november'
- 'december'
DAYS_OF_THE_WEEK:
- 'hétfő'
- 'kedd'
- 'szerda'
- 'csütörtök'
- 'péntek'
- 'szombat'
- 'vasárnap'
CRON:
EVERY: minden
EVERY_HOUR: óránként
EVERY_MINUTE: percenként
EVERY_DAY_OF_WEEK: a hét minden napján
EVERY_DAY_OF_MONTH: a hónap minden napján
EVERY_MONTH: minden hónapban
TEXT_PERIOD: Minden <b />
TEXT_MINS: '<b /> perccel az óra elteltével'
ERROR1: A %s címke nem engedélyezett!
ERROR2: Hibás elemszám
ERROR3: A jquery_element-et a jqCron beállítsokban kell meghatározni
ERROR4: Ismeretlen kifejezés

95
system/languages/id.yaml Normal file
View File

@@ -0,0 +1,95 @@
---
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntitle: %1$s\n---\n\n# Error: Frontmatter tidak valid\n\nLokasi: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_UNCOUNTABLE:
- 'peralatan'
- 'informasi'
- 'nasi'
- 'uang'
- 'spesies'
- 'rangkaian'
- 'ikan'
- 'domba'
INFLECTOR_IRREGULAR:
'person': 'orang-orang'
'man': 'laki-laki'
'child': 'anak-anak'
'sex': 'jenis kelamin'
'move': 'pindahkan'
NICETIME:
NO_DATE_PROVIDED: Tanggal tidak tersedia
BAD_DATE: Format tanggal salah
AGO: yang lalu
FROM_NOW: dari saat ini
JUST_NOW: baru saja
SECOND: detik
MINUTE: menit
HOUR: jam
DAY: hari
WEEK: pekan
MONTH: bulan
YEAR: tahun
DECADE: dekade
SEC: dtk
MIN: mnt
HR: j
WK: mng
MO: bln
YR: thn
DEC: desimal
SECOND_PLURAL: detik
MINUTE_PLURAL: menit
HOUR_PLURAL: jam
DAY_PLURAL: hari
WEEK_PLURAL: pekan
MONTH_PLURAL: bulan
YEAR_PLURAL: tahun
DECADE_PLURAL: dekade
SEC_PLURAL: dtk
MIN_PLURAL: mnt
HR_PLURAL: j
WK_PLURAL: mgg
MO_PLURAL: bln
YR_PLURAL: thn
DEC_PLURAL: dekade
FORM:
VALIDATION_FAIL: <b>Validasi gagal:</b>
INVALID_INPUT: Input tidak valid di
MISSING_REQUIRED_FIELD: 'Data yang diperlukan belum terisi:'
MONTHS_OF_THE_YEAR:
- 'Januari'
- 'Februari'
- 'Maret'
- 'April'
- 'Mei'
- 'Juni'
- 'Juli'
- 'Agustus'
- 'September'
- 'Oktober'
- 'November'
- 'Desember'
DAYS_OF_THE_WEEK:
- 'Senin'
- 'Selasa'
- 'Rabu'
- 'Kamis'
- 'Jumat'
- 'Sabtu'
- 'Minggu'
CRON:
EVERY: Setiap
EVERY_HOUR: Setiap jam
EVERY_MINUTE: Setiap menit
EVERY_DAY_OF_WEEK: Setiap hari selama seminggu
EVERY_DAY_OF_MONTH: pada tanggal setiap bulannya
EVERY_MONTH: setiap bulan
TEXT_PERIOD: Setiap <b />
TEXT_TIME: ' pada <b />:<b />'
TEXT_DOW: ' pada <b />'
TEXT_MONTH: ' pada <b />'
TEXT_DOM: ' pada <b />'
ERROR1: Tag %s tidak didukung!
ERROR2: Jumlah elemen tidak valid
ERROR3: jquery_element harus ditetapkan ke pengaturan jqCron
ERROR4: Ekspresi tidak dikenali

80
system/languages/is.yaml Normal file
View File

@@ -0,0 +1,80 @@
---
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntitill: %1$s\n---\n\n# Villa: Ógilt efni á forsíðu\n\nSlóð: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_UNCOUNTABLE:
- 'equipment'
- 'upplýsingar'
- 'rice'
- 'money'
- 'species'
- 'series'
- 'fish'
- 'sheep'
NICETIME:
NO_DATE_PROVIDED: Engin dagsetning gefin
BAD_DATE: Röng dagsetning
AGO: síðan
JUST_NOW: í þessu
SECOND: sekúndu
MINUTE: mínútu
HOUR: klukkustund
DAY: degi
WEEK: viku
MONTH: mánuði
YEAR: ári
DECADE: áratug
SEC: sek
MIN: mín
HR: klst
WK: vk
MO: mán
YR: ár
DEC: árat
SECOND_PLURAL: sekúndum
MINUTE_PLURAL: mínútum
HOUR_PLURAL: klukkustundum
DAY_PLURAL: dögum
WEEK_PLURAL: vikum
MONTH_PLURAL: mánuðum
YEAR_PLURAL: árum
DECADE_PLURAL: áratugum
SEC_PLURAL: sek
MIN_PLURAL: mín
HR_PLURAL: klst
WK_PLURAL: vik
MO_PLURAL: mán
YR_PLURAL: árum
DEC_PLURAL: árat
FORM:
VALIDATION_FAIL: <b>Sannvottun mistókst:</b>
INVALID_INPUT: Ógilt inntak í
MISSING_REQUIRED_FIELD: 'Vantar nauðsynlegan reit:'
MONTHS_OF_THE_YEAR:
- 'janúar'
- 'Febrúar'
- 'Mars'
- 'Apríl'
- 'Maí'
- 'Júní'
- 'Júlí'
- 'Ágúst'
- 'September'
- 'Október'
- 'Nóvember'
- 'Desember'
DAYS_OF_THE_WEEK:
- 'Mánudagur'
- 'Þriðjudagur'
- 'Miðvikudagur'
- 'Fimmtudagur'
- 'Föstudagur'
- 'Laugardagur'
- 'Sunnudagur'
CRON:
TEXT_TIME: ' á <b />:<b />'
TEXT_DOW: ' á <b />'
TEXT_MONTH: ' af <b />'
TEXT_DOM: ' á <b />'
ERROR1: Merkið %s er ekki stutt!
ERROR3: Það ætti að setja jquery_element inn í stillingar jqCron
ERROR4: Óþekkt segð

View File

@@ -1,62 +1,101 @@
---
FRONTMATTER_ERROR_PAGE: "---Titolo: %1$s---# Errore: Frontmatter non valido: '%2$s' * *%3$s * * ' '%4$s ' '"
NICETIME:
NO_DATE_PROVIDED: Nessuna data fornita
BAD_DATE: Data non valida
AGO: fa
FROM_NOW: da adesso
SECOND: secondo
MINUTE: minuto
HOUR: ora
DAY: giorno
WEEK: settimana
MONTH: mese
YEAR: anno
DECADE: decennio
SEC: sec
MIN: min
HR: ora
WK: settimana
MO: mese
YR: anno
DEC: decennio
SECOND_PLURAL: secondi
MINUTE_PLURAL: minuti
HOUR_PLURAL: ore
DAY_PLURAL: giorni
WEEK_PLURAL: settimane
MONTH_PLURAL: mesi
YEAR_PLURAL: anni
DECADE_PLURAL: decadi
SEC_PLURAL: secondi
MIN_PLURAL: minuti
HR_PLURAL: ore
WK_PLURAL: settimane
MO_PLURAL: mesi
YR_PLURAL: anni
DEC_PLURAL: decenni
FORM:
VALIDATION_FAIL: '<b>Validazione fallita:</b>'
INVALID_INPUT: Input non valido in
MISSING_REQUIRED_FIELD: 'Campo richiesto mancante:'
MONTHS_OF_THE_YEAR:
- Gennaio
- Febbraio
- Marzo
- Aprile
- Maggio
- Giugno
- Luglio
- Agosto
- Settembre
- Ottobre
- Novembre
- Dicembre
DAYS_OF_THE_WEEK:
- Lunedì
- Martedì
- Mercoledì
- Giovedì
- Venerdì
- Sabato
- Domenica
GRAV:
FRONTMATTER_ERROR_PAGE: "---Titolo: %1$s---# Errore: Frontmatter non valido: '%2$s' * *%3$s * * ' '%4$s ' '"
INFLECTOR_UNCOUNTABLE:
- 'dotazione'
- 'informazione'
- 'riso'
- 'denaro'
- 'specie'
- 'serie'
- 'pesce'
- 'pecora'
INFLECTOR_IRREGULAR:
'person': 'persone'
'man': 'uomini'
'child': 'bambino'
'sex': 'sessi'
'move': 'sposta'
INFLECTOR_ORDINALS:
'default': '°'
'first': '°'
'second': 'o'
'third': 'o'
NICETIME:
NO_DATE_PROVIDED: Nessuna data fornita
BAD_DATE: Data non valida
AGO: fa
FROM_NOW: da adesso
JUST_NOW: ora
SECOND: secondo
MINUTE: minuto
HOUR: ora
DAY: giorno
WEEK: settimana
MONTH: mese
YEAR: anno
DECADE: decennio
SEC: sec
MIN: min
HR: ora
WK: settimana
MO: mese
YR: anno
DEC: decennio
SECOND_PLURAL: secondi
MINUTE_PLURAL: minuti
HOUR_PLURAL: ore
DAY_PLURAL: giorni
WEEK_PLURAL: settimane
MONTH_PLURAL: mesi
YEAR_PLURAL: anni
DECADE_PLURAL: decadi
SEC_PLURAL: secondi
MIN_PLURAL: minuti
HR_PLURAL: ore
WK_PLURAL: settimane
MO_PLURAL: mesi
YR_PLURAL: anni
DEC_PLURAL: decenni
FORM:
VALIDATION_FAIL: <b>Validazione fallita:</b>
INVALID_INPUT: Input non valido in
MISSING_REQUIRED_FIELD: 'Campo richiesto mancante:'
MONTHS_OF_THE_YEAR:
- 'Gennaio'
- 'Febbraio'
- 'Marzo'
- 'Aprile'
- 'Maggio'
- 'Giugno'
- 'Luglio'
- 'Agosto'
- 'Settembre'
- 'Ottobre'
- 'Novembre'
- 'Dicembre'
DAYS_OF_THE_WEEK:
- 'Lunedì'
- 'Martedì'
- 'Mercoledì'
- 'Giovedì'
- 'Venerdì'
- 'Sabato'
- 'Domenica'
CRON:
EVERY: ogni
EVERY_HOUR: ogni ora
EVERY_MINUTE: ogni minuto
EVERY_DAY_OF_WEEK: ogni giorno della settimana
EVERY_DAY_OF_MONTH: ogni giorno del mese
EVERY_MONTH: ogni mese
TEXT_PERIOD: Ogni <b />
TEXT_MINS: ' a <b /> minuto(i) dall''inizio dell''ora'
TEXT_TIME: ' alle <b />:<b />'
TEXT_DOW: ' su <b />'
TEXT_MONTH: ' di <b />'
TEXT_DOM: ' di <b />'
ERROR1: Il tag %s non è supportato!
ERROR2: Numero di elementi non valido
ERROR3: Il jquery_element deve essere impostato nelle impostazioni di jqCron
ERROR4: Espressione non riconosciuta

View File

@@ -1,24 +1,15 @@
FRONTMATTER_ERROR_PAGE: "---\ntitle: %1$s\n---\n\n# Error: Invalid Frontmatter\n\nPath: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_PLURALS: []
INFLECTOR_SINGULAR: []
INFLECTOR_UNCOUNTABLE: []
INFLECTOR_IRREGULAR:
---
GRAV:
INFLECTOR_IRREGULAR:
'person': 'みんな'
'man': '人'
'child': '子供'
'sex': '性別'
'move': '移動'
INFLECTOR_ORDINALS: []
NICETIME:
NICETIME:
NO_DATE_PROVIDED: 日付が設定されていません
BAD_DATE: 不正な日付
AGO:
FROM_NOW: from now
SECOND:
MINUTE:
HOUR:
@@ -33,7 +24,6 @@ NICETIME:
WK:
MO:
YR:
DEC: dec
SECOND_PLURAL:
MINUTE_PLURAL:
HOUR_PLURAL:
@@ -49,9 +39,28 @@ NICETIME:
MO_PLURAL:
YR_PLURAL:
DEC_PLURAL: 10年
FORM:
FORM:
VALIDATION_FAIL: <b>バリデーション失敗 :</b>
INVALID_INPUT: 不正な入力:
MISSING_REQUIRED_FIELD: 必須項目が入力されていません:
MONTHS_OF_THE_YEAR: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
DAYS_OF_THE_WEEK: ['月', '火', '水', '木', '金', '土', '日']
MISSING_REQUIRED_FIELD: '必須項目が入力されていません:'
MONTHS_OF_THE_YEAR:
- '1月'
- '2月'
- '3月'
- '4月'
- '5月'
- '6月'
- '7月'
- '8月'
- '9月'
- '10月'
- '11月'
- '12月'
DAYS_OF_THE_WEEK:
- '月'
- '火'
- '水'
- '木'
- '金'
- '土'
- '日'

63
system/languages/ko.yaml Normal file
View File

@@ -0,0 +1,63 @@
---
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntitle: %1$s\n---\n\n# 오류: 무효의 Frontmatter\n\n경로: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
NICETIME:
NO_DATE_PROVIDED: 제공된 날짜가 없습니다
BAD_DATE: 잘못된 날짜
AGO:
FROM_NOW:
SECOND:
MINUTE:
HOUR: 시간
DAY:
WEEK:
MONTH: 개월
YEAR:
DECADE: 년간
SEC:
MIN:
HR: 시간
WK:
MO: 개월
YR:
DEC: 년간
SECOND_PLURAL:
MINUTE_PLURAL:
HOUR_PLURAL: 시간
DAY_PLURAL:
WEEK_PLURAL:
MONTH_PLURAL: 개월
YEAR_PLURAL:
DECADE_PLURAL: 년간
SEC_PLURAL:
MIN_PLURAL:
HR_PLURAL: 시간
WK_PLURAL:
MO_PLURAL: 개월
YR_PLURAL:
DEC_PLURAL: 년간
FORM:
VALIDATION_FAIL: <b>유효성 검사 실패:</b>
INVALID_INPUT: 잘못된 입력
MISSING_REQUIRED_FIELD: '누락 된 필수 필드:'
MONTHS_OF_THE_YEAR:
- '일월'
- '이월'
- '삼월'
- '사월'
- '오월'
- '유월'
- '칠월'
- '팔월'
- '구월'
- '시월'
- '십일월'
- '십이월'
DAYS_OF_THE_WEEK:
- '월요일'
- '화요일'
- '수요일'
- '목요일'
- '금요일'
- '토요일'
- '일요일'

View File

@@ -1,69 +1,78 @@
---
INFLECTOR_UNCOUNTABLE:
2: ryžiai
3: pinigai
4: prieskoniai
5: serijos
6: žuvis
7: avis
INFLECTOR_IRREGULAR:
person: žmonės
man: žmogus
child: vaikai
sex: lytys
move: juda
NICETIME:
NO_DATE_PROVIDED: Nenurodyta data
BAD_DATE: Neteisinga data
AGO: prieš
FROM_NOW: nuo dabar
SECOND: sekundė
MINUTE: minutė
HOUR: valanda
DAY: diena
WEEK: savaitė
MONTH: mėnuo
YEAR: metai
DECADE: dešimtmetis
SEC: sek
MIN: min
HR: val
WK: sav
MO: mėn
YR: m
MINUTE_PLURAL: minutės
HOUR_PLURAL: valandos
DAY_PLURAL: dienos
WEEK_PLURAL: savaitės
MONTH_PLURAL: mėnesiai
YEAR_PLURAL: metai
DECADE_PLURAL: dešimtmečiai
SEC_PLURAL: sek
MIN_PLURAL: min
HR_PLURAL: val
WK_PLURAL: sav
MO_PLURAL: mėn
YR_PLURAL: m
FORM:
MISSING_REQUIRED_FIELD: 'Būtina užpildyti laukelį:'
MONTHS_OF_THE_YEAR:
- Sausis
- Vasaris
- Kovas
- Balandis
- Gegužė
- Birželis
- Liepa
- Rugpjūtis
- Rugsėjis
- Spalis
- Lakpritis
- Gruodis
DAYS_OF_THE_WEEK:
- Pirmadienis
- Antradienis
- Trečiadienis
- Ketvirtadienis
- Penktadienis
- Šeštadienis
- Sekmadienis
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntitle: %1$s\n---\n\n# Klaida: klaidinga įžanginė konfigūracija\n\nPath: `%2$s`\n\n**%3$s**\n\n```\n %4$s\n```"
INFLECTOR_UNCOUNTABLE:
- 'equipment'
- 'information'
- 'ryžiai'
- 'pinigai'
- 'prieskoniai'
- 'serijos'
- 'žuvis'
- 'avis'
INFLECTOR_IRREGULAR:
'person': 'žmonės'
'man': 'žmogus'
'child': 'vaikai'
'sex': 'lytys'
'move': 'juda'
NICETIME:
NO_DATE_PROVIDED: Nenurodyta data
BAD_DATE: Neteisinga data
AGO: prieš
FROM_NOW: nuo dabar
SECOND: sekundė
MINUTE: minu
HOUR: valanda
DAY: diena
WEEK: savaitė
MONTH: mėnuo
YEAR: metai
DECADE: dešimtmetis
SEC: sek.
MIN: min.
HR: val.
WK: sav.
MO: mėn.
YR: m.
DEC: dešimtmetis
SECOND_PLURAL: sekundės
MINUTE_PLURAL: minutės
HOUR_PLURAL: valandos
DAY_PLURAL: dienos
WEEK_PLURAL: savaitės
MONTH_PLURAL: mėnesiai
YEAR_PLURAL: metai
DECADE_PLURAL: dešimtmečiai
SEC_PLURAL: sek.
MIN_PLURAL: min.
HR_PLURAL: val.
WK_PLURAL: sav.
MO_PLURAL: mėn.
YR_PLURAL: m.
DEC_PLURAL: dešimtmečiai
FORM:
VALIDATION_FAIL: <b>Patvirtinimas nepavyko:</b>
INVALID_INPUT: Neteisingai įvesta į
MISSING_REQUIRED_FIELD: 'Būtina užpildyti laukelį:'
MONTHS_OF_THE_YEAR:
- 'Sausis'
- 'Vasaris'
- 'Kovas'
- 'Balandis'
- 'Gegužė'
- 'Birželis'
- 'Liepa'
- 'Rugpjūtis'
- 'Rugsėjis'
- 'Spalis'
- 'Lakpritis'
- 'Gruodis'
DAYS_OF_THE_WEEK:
- 'Pirmadienis'
- 'Antradienis'
- 'Trečiadienis'
- 'Ketvirtadienis'
- 'Penktadienis'
- 'Šeštadienis'
- 'Sekmadienis'

View File

@@ -1,2 +1,4 @@
MONTHS_OF_THE_YEAR: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember']
DAYS_OF_THE_WEEK: ['mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag', 'søndag']
---
GRAV:
MONTHS_OF_THE_YEAR: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember']
DAYS_OF_THE_WEEK: ['mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag', 'søndag']

View File

@@ -1,64 +1,144 @@
---
INFLECTOR_IRREGULAR:
person: personen
man: mensen
child: kinderen
sex: geslacht
move: verplaatsen
NICETIME:
NO_DATE_PROVIDED: geen datum opgegeven
BAD_DATE: Datumformaat onjuist
AGO: geleden
FROM_NOW: vanaf nu
SECOND: seconde
MINUTE: minuut
HOUR: uur
DAY: dag
WEEK: week
MONTH: maand
YEAR: jaar
DECADE: decenium
SEC: s
MIN: min
HR: u
MO: ma
YR: j
SECOND_PLURAL: seconden
MINUTE_PLURAL: minuten
HOUR_PLURAL: uren
DAY_PLURAL: dagen
WEEK_PLURAL: weken
MONTH_PLURAL: maanden
YEAR_PLURAL: jaren
DECADE_PLURAL: decennia
SEC_PLURAL: seconden
MIN_PLURAL: minuten
HR_PLURAL: uren
WK_PLURAL: weken
MO_PLURAL: maanden
YR_PLURAL: jaren
FORM:
VALIDATION_FAIL: '<b>Validatie mislukt:</b>'
INVALID_INPUT: Ongeldige invoer in
MISSING_REQUIRED_FIELD: 'Verplicht veld ontbreekt:'
MONTHS_OF_THE_YEAR:
- Januari
- Februari
- Maart
- april
- Mei
- Juni
- Juli
- Augustus
- september
- Oktober
- november
- december
DAYS_OF_THE_WEEK:
- Maandag
- Dinsdag
- Woensdag
- Donderdag
- Vrijdag
- Zaterdag
- Zondag
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntitel: %1$s\n---\n\n# Fout: ongeldige frontmatter\n\nPad: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_PLURALS:
'/(quiz)$/i': '\1zes'
'/^(ox)$/i': '\1en'
'/([m|l])ouse$/i': '\1ice'
'/(matr|vert|ind)ix|ex$/i': '\1ices'
'/(x|ch|ss|sh)$/i': '\1es'
'/([^aeiouy]|qu)ies$/i': '\1y'
'/([^aeiouy]|qu)y$/i': '\1ies'
'/(hive)$/i': '\1s'
'/(?:([^f])fe|([lr])f)$/i': '\1\2ves'
'/sis$/i': 'ses'
'/([ti])um$/i': '\1a'
'/(buffal|tomat)o$/i': '\1oes'
'/(bu)s$/i': '\1ses'
'/(alias|status)/i': '\1es'
'/(octop|vir)us$/i': '\1i'
'/(ax|test)is$/i': '\1es'
'/s$/i': 's'
'/$/': 's'
INFLECTOR_SINGULAR:
'/(quiz)zes$/i': '\1'
'/(matr)ices$/i': '\1ix'
'/(vert|ind)ices$/i': '\1ex'
'/^(ox)en/i': '\1'
'/(alias|status)es$/i': '\1'
'/([octop|vir])i$/i': '\1us'
'/(cris|ax|test)es$/i': '\1is'
'/(shoe)s$/i': '\1'
'/(o)es$/i': '\1'
'/(bus)es$/i': '\1'
'/([m|l])ice$/i': '\1ouse'
'/(x|ch|ss|sh)es$/i': '\1'
'/(m)ovies$/i': '\1ovie'
'/(s)eries$/i': '\1eries'
'/([^aeiouy]|qu)ies$/i': '\1y'
'/([lr])ves$/i': '\1f'
'/(tive)s$/i': '\1'
'/(hive)s$/i': '\1'
'/([^f])ves$/i': '\1fe'
'/(^analy)ses$/i': '\1sis'
'/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i': '\1\2sis'
'/([ti])a$/i': '\1um'
'/(n)ews$/i': '\1ews'
INFLECTOR_UNCOUNTABLE:
- 'uitrusting'
- 'informatie'
- 'rijst'
- 'geld'
- 'soorten'
- 'reeks'
- 'vis'
- 'schaap'
INFLECTOR_IRREGULAR:
'person': 'personen'
'man': 'mensen'
'child': 'kinderen'
'sex': 'geslacht'
'move': 'verplaatsen'
INFLECTOR_ORDINALS:
'default': 'th'
'first': 'st'
'second': 'nd'
'third': 'rd'
NICETIME:
NO_DATE_PROVIDED: geen datum opgegeven
BAD_DATE: Datumformaat onjuist
AGO: geleden
FROM_NOW: vanaf nu
JUST_NOW: zojuist
SECOND: seconde
MINUTE: minuut
HOUR: uur
DAY: dag
WEEK: week
MONTH: maand
YEAR: jaar
DECADE: decennium
SEC: s
MIN: min
HR: u
WK: week
MO: ma
YR: j
DEC: decennia
SECOND_PLURAL: seconden
MINUTE_PLURAL: minuten
HOUR_PLURAL: uren
DAY_PLURAL: dagen
WEEK_PLURAL: weken
MONTH_PLURAL: maanden
YEAR_PLURAL: jaren
DECADE_PLURAL: decennia
SEC_PLURAL: seconden
MIN_PLURAL: minuten
HR_PLURAL: uren
WK_PLURAL: weken
MO_PLURAL: maanden
YR_PLURAL: jaren
DEC_PLURAL: decennia
FORM:
VALIDATION_FAIL: <b>Validatie mislukt:</b>
INVALID_INPUT: Ongeldige invoer in
MISSING_REQUIRED_FIELD: 'Ontbrekend verplicht veld:'
MONTHS_OF_THE_YEAR:
- 'Januari'
- 'Februari'
- 'Maart'
- 'April'
- 'Mei'
- 'Juni'
- 'Juli'
- 'Augustus'
- 'September'
- 'Oktober'
- 'November'
- 'December'
DAYS_OF_THE_WEEK:
- 'Maandag'
- 'Dinsdag'
- 'Woensdag'
- 'Donderdag'
- 'Vrijdag'
- 'Zaterdag'
- 'Zondag'
CRON:
EVERY: elke
EVERY_HOUR: elk uur
EVERY_MINUTE: elke minuut
EVERY_DAY_OF_WEEK: elke dag van de week
EVERY_DAY_OF_MONTH: elke dag van de maand
EVERY_MONTH: elke maand
TEXT_PERIOD: Elke <b />
TEXT_MINS: ' <b /> minuten te laat'
TEXT_TIME: ' op <b />:<b />'
TEXT_DOW: ' op <b />'
TEXT_MONTH: ' van <b />'
TEXT_DOM: ' op <b />'
ERROR1: De tag %s wordt niet ondersteund!
ERROR2: Slecht aantal elementen
ERROR3: Het jquery_element moet ingesteld worden in de jqCron instellingen
ERROR4: Onbekende expressie

View File

@@ -1,93 +1,77 @@
---
FRONTMATTER_ERROR_PAGE: |
---
Tittel: %1$s
---
# Feilmelding: Ugyldig Frontmatter
Pane: '%2$s'
**%3$s **
```
%4$s
```
INFLECTOR_PLURALS:
/(quiz)$/i: '\1zes'
/^(ox)$/i: '\1en'
INFLECTOR_UNCOUNTABLE:
- utstyr
- informasjon
- ris
- penger
- arter
- serier
- fisk
- sau
INFLECTOR_IRREGULAR:
person: folk
man: menn
child: barn
sex: kjønn
move: trekk
NICETIME:
NO_DATE_PROVIDED: Ingen dato gitt
BAD_DATE: Dårlig dato
AGO: siden
FROM_NOW: fra nå
SECOND: sekund
MINUTE: minutt
HOUR: time
DAY: dag
WEEK: uke
MONTH: måned
YEAR: år
DECADE: tiår
SEC: sek
MIN: min
HR: t
WK: uke
MO: må
YR: år
DEC: des
SECOND_PLURAL: sekunder
MINUTE_PLURAL: minutter
HOUR_PLURAL: timer
DAY_PLURAL: dager
WEEK_PLURAL: uker
MONTH_PLURAL: måneder
YEAR_PLURAL: år
DECADE_PLURAL: tiår
SEC_PLURAL: sek
MIN_PLURAL: min
HR_PLURAL: timer
WK_PLURAL: uker
MO_PLURAL: mdr
YR_PLURAL: år
DEC_PLURAL: årtier
FORM:
VALIDATION_FAIL: '<b>Validering mislyktes:</b>'
INVALID_INPUT: Ugyldig innhold i
MISSING_REQUIRED_FIELD: 'Mangler påkrevd felt:'
MONTHS_OF_THE_YEAR:
- januar
- februar
- mars
- april
- mai
- juni
- juli
- august
- september
- oktober
- november
- desember
DAYS_OF_THE_WEEK:
- mandag
- tirsdag
- onsdag
- torsdag
- fredag
- lørdag
- søndag
GRAV:
FRONTMATTER_ERROR_PAGE: "---\nTittel: %1$s\n---\n\n# Feilmelding: Ugyldig Frontmatter\n\nSti: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_UNCOUNTABLE:
- 'utstyr'
- 'informasjon'
- 'ris'
- 'penger'
- 'arter'
- 'serier'
- 'fisk'
- 'sau'
INFLECTOR_IRREGULAR:
'person': 'folk'
'man': 'menn'
'child': 'barn'
'sex': 'kjønn'
'move': 'trekk'
NICETIME:
NO_DATE_PROVIDED: Ingen dato gitt
BAD_DATE: Ugyldig dato
AGO: siden
FROM_NOW: fra nå
SECOND: sekund
MINUTE: minutt
HOUR: time
DAY: dag
WEEK: uke
MONTH: måned
YEAR: år
DECADE: tiår
SEC: sek
HR: t
WK: uke
MO:
YR: år
DEC: tiår
SECOND_PLURAL: sekunder
MINUTE_PLURAL: minutter
HOUR_PLURAL: timer
DAY_PLURAL: dager
WEEK_PLURAL: uker
MONTH_PLURAL: måneder
YEAR_PLURAL: år
DECADE_PLURAL: tiår
SEC_PLURAL: sek
MIN_PLURAL: min
HR_PLURAL: timer
WK_PLURAL: uker
MO_PLURAL: md
YR_PLURAL: år
DEC_PLURAL: årtier
FORM:
VALIDATION_FAIL: <b>Godkjenning mislyktes:</b>
INVALID_INPUT: Ugyldig innhold i
MISSING_REQUIRED_FIELD: 'Mangler påkrevd felt:'
MONTHS_OF_THE_YEAR:
- 'januar'
- 'februar'
- 'mars'
- 'april'
- 'mai'
- 'juni'
- 'juli'
- 'august'
- 'september'
- 'oktober'
- 'november'
- 'desember'
DAYS_OF_THE_WEEK:
- 'mandag'
- 'tirsdag'
- 'onsdag'
- 'torsdag'
- 'fredag'
- 'lørdag'
- 'søndag'

View File

@@ -1,75 +1,62 @@
---
FRONTMATTER_ERROR_PAGE: |
---
title: %1$s
---
# Error: Nieprawidłowy Frontmatter
Path: `%2$s`
**%3$s**
```
%4$s
```
NICETIME:
NO_DATE_PROVIDED: Nie podano daty
BAD_DATE: Zła data
AGO: temu
FROM_NOW: od teraz
SECOND: sekunda
MINUTE: minuta
HOUR: godzina
DAY: dzień
WEEK: tydzi
MONTH: miesiąc
YEAR: rok
DECADE: dekada
SEC: sek
MIN: min
HR: godz
WK: tydz
MO: m-c
YR: rok
DEC: dekada
SECOND_PLURAL: sekund
MINUTE_PLURAL: minut
HOUR_PLURAL: godzin
DAY_PLURAL: dni
WEEK_PLURAL: tygodnie
MONTH_PLURAL: miesięcy
YEAR_PLURAL: lat
DECADE_PLURAL: dekad
SEC_PLURAL: sek
MIN_PLURAL: min
HR_PLURAL: godz
WK_PLURAL: tyg
MO_PLURAL: m-ce
YR_PLURAL: lat
DEC_PLURAL: dekad
FORM:
VALIDATION_FAIL: '<b>Weryfikacja nie powiodła się:</b>'
INVALID_INPUT: Nieprawidłowe dane wejściowe
MISSING_REQUIRED_FIELD: 'Opuszczono wymagane pole:'
MONTHS_OF_THE_YEAR:
- Styczeń
- Luty
- Marzec
- Kwiecień
- Maj
- Czerwiec
- Lipiec
- Sierpień
- Wrzesień
- Październik
- Listopad
- Grudzień
DAYS_OF_THE_WEEK:
- Poniedziałek
- Wtorek
- Środa
- Czwartek
- Piątek
- Sobota
- Niedziela
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntitle: %1$s\n---\n\n# Error: Nieprawidłowy Frontmatter\n\nPath: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
NICETIME:
NO_DATE_PROVIDED: Nie podano daty
BAD_DATE: Zła data
AGO: temu
FROM_NOW: od teraz
SECOND: sekunda
MINUTE: minuta
HOUR: godzina
DAY: dzień
WEEK: tydzień
MONTH: miesiąc
YEAR: rok
DECADE: dekada
SEC: sek
HR: godz
WK: tydz
MO: m-c
YR: rok
DEC: dekada
SECOND_PLURAL: sekund
MINUTE_PLURAL: minut
HOUR_PLURAL: godzin
DAY_PLURAL: dni
WEEK_PLURAL: tygodnie
MONTH_PLURAL: miesięcy
YEAR_PLURAL: lat
DECADE_PLURAL: dekad
SEC_PLURAL: sek
MIN_PLURAL: min
HR_PLURAL: godz
WK_PLURAL: tyg
MO_PLURAL: m-ce
YR_PLURAL: lat
DEC_PLURAL: dekad
FORM:
VALIDATION_FAIL: <b>Weryfikacja nie powiodła się:</b>
INVALID_INPUT: Nieprawidłowe dane wejściowe
MISSING_REQUIRED_FIELD: 'Opuszczono wymagane pole:'
MONTHS_OF_THE_YEAR:
- 'Styczeń'
- 'Luty'
- 'Marzec'
- 'Kwiecień'
- 'Maj'
- 'Czerwiec'
- 'Lipiec'
- 'Sierpień'
- 'Wrzesień'
- 'Październik'
- 'Listopad'
- 'Grudzień'
DAYS_OF_THE_WEEK:
- 'Poniedziałek'
- 'Wtorek'
- 'Środa'
- 'Czwartek'
- 'Piątek'
- 'Sobota'
- 'Niedziela'

View File

@@ -1,79 +1,46 @@
---
FRONTMATTER_ERROR_PAGE: |
---
título: %1$s
---
# Erro: Frontmatter inválida
Caminho: `%2$s`
**%3$s**
```
%4$s
```
INFLECTOR_UNCOUNTABLE:
1: informação
2: arroz
3: dinheiro
INFLECTOR_IRREGULAR:
man: homens
sex: sexos
NICETIME:
NO_DATE_PROVIDED: Não foi fornecida data
BAD_DATE: Data inválida
AGO: atrás
FROM_NOW: a partir de agora
SECOND: segundo
MINUTE: minuto
HOUR: hora
DAY: dia
WEEK: semana
MONTH: mês
YEAR: ano
DECADE: década
SEC: seg
MIN: mín
HR: h
WK: sem
MO: m
YR: a
DEC: dec
SECOND_PLURAL: segundos
MINUTE_PLURAL: minutos
HOUR_PLURAL: horas
DAY_PLURAL: dias
WEEK_PLURAL: semanas
MONTH_PLURAL: meses
YEAR_PLURAL: anos
DECADE_PLURAL: décadas
SEC_PLURAL: seg
MIN_PLURAL: mins
HR_PLURAL: hrs
WK_PLURAL: sems
YR_PLURAL: anos
FORM:
VALIDATION_FAIL: '<b>Validação falhada: </b>'
MISSING_REQUIRED_FIELD: 'Campo obrigatório ausente:'
MONTHS_OF_THE_YEAR:
- Janeiro
- Fevereiro
- Março
- Abril
- Maio
- Junho
- Julho
- Agosto
- Setembro
- Outubro
- Novembro
- Dezembro
DAYS_OF_THE_WEEK:
- Segunda
- Terça
- Quarta
- Quinta
- Sexta
- Sábado
- Domingo
GRAV:
NICETIME:
NO_DATE_PROVIDED: Nenhuma data fornecida
AGO: atrás
SECOND: segundo
MINUTE: minuto
HOUR: hora
DAY: dia
WEEK: semana
MONTH: mês
YEAR: ano
DECADE: década
SEC: segundos
MIN: minutos
MINUTE_PLURAL: minutos
DAY_PLURAL: dias
WEEK_PLURAL: semanas
MONTH_PLURAL: meses
YEAR_PLURAL: anos
DECADE_PLURAL: decadas
FORM:
VALIDATION_FAIL: <b>Falha na validação!</b>
MISSING_REQUIRED_FIELD: 'Campo obrigatório requerido:'
MONTHS_OF_THE_YEAR:
- 'Janeiro'
- 'Fevereiro'
- 'Março'
- 'Abril'
- 'Maio'
- 'Junho'
- 'Julho'
- 'Agosto'
- 'Setembro'
- 'Outubro'
- 'Novembro'
- 'Dezembro'
INFLECTOR_UNCOUNTABLE:
- 'equipment'
- 'information'
- 'arroz'
- 'money'
- 'species'
- 'series'
- 'fish'
- 'sheep'

View File

@@ -1,101 +1,96 @@
---
FRONTMATTER_ERROR_PAGE: |
---
Titlu: %1$s
---
# Eroare: Frontmatter este invalid
Calea: `%2$s`
**%3$s**
```
%4$s
INFLECTOR_PLURALS:
/(quiz)$/i: '\1zes'
/^(ox)$/i: '\1en'
"/([m|l])ouse$/i": '\1ice'
/(matr|vert|ind)ix|ex$/i: '\1ices'
/(x|ch|ss|sh)$/i: '\1es'
"/([^aeiouy]|qu)ies$/i": '\1y'
"/([^aeiouy]|qu)y$/i": '\1ies'
/(hive)$/i: '\1s'
"/(?:([^f])fe|([lr])f)$/i": '\1\2ves'
/sis$/i: ses
"/([ti])um$/i": '\1a'
/(buffal|tomat)o$/i: '\1oes'
INFLECTOR_UNCOUNTABLE:
- echipament
- informaţie
- orez
- bani
- specii
- serii
- peşte
- oaie
INFLECTOR_IRREGULAR:
person: persoane
man: bărbați
child: copii
sex: sexe
move: mutări
NICETIME:
NO_DATE_PROVIDED: Nu există o dată prevăzută
BAD_DATE: Dată incorectă
AGO: în urmă
FROM_NOW: de acum
SECOND: secundă
MINUTE: minut
HOUR: oră
DAY: zi
WEEK: săptămână
MONTH: lună
YEAR: an
DECADE: decadă
SEC: sec
MIN: min
HR: oră
WK: săpt
MO: lună
YR: an
DEC: decadă
SECOND_PLURAL: secunde
MINUTE_PLURAL: minute
HOUR_PLURAL: ore
DAY_PLURAL: zile
WEEK_PLURAL: săptămâni
MONTH_PLURAL: luni
YEAR_PLURAL: ani
DECADE_PLURAL: decade
SEC_PLURAL: sec
MIN_PLURAL: min
HR_PLURAL: ore
WK_PLURAL: săpt
MO_PLURAL: luni
YR_PLURAL: ani
DEC_PLURAL: decenii
FORM:
VALIDATION_FAIL: '<b>Validare nereușită</b>'
INVALID_INPUT: Date incorecte în
MISSING_REQUIRED_FIELD: 'Câmp obligatoriu lipsă:'
MONTHS_OF_THE_YEAR:
- Ianuarie
- Februarie
- Martie
- Aprilie
- Mai
- Iunie
- Iulie
- August
- Septembrie
- Octombrie
- Noiembrie
- Decembrie
DAYS_OF_THE_WEEK:
- Luni
- Marți
- Miercuri
- Joi
- Vineri
- Sâmbătă
- Duminică
GRAV:
FRONTMATTER_ERROR_PAGE: "---\nTitlu: %1$s\n---\n# Eroare: Frontmatter este invalid\n\nCalea: `%2$s`\n\n**%3$s**\n\n```\n%4$s"
INFLECTOR_UNCOUNTABLE:
- 'echipament'
- 'informaţie'
- 'orez'
- 'bani'
- 'specii'
- 'serii'
- 'peşte'
- 'oaie'
INFLECTOR_IRREGULAR:
'person': 'persoane'
'man': 'bărbați'
'child': 'copii'
'sex': 'sexe'
'move': 'mutări'
NICETIME:
NO_DATE_PROVIDED: Nu există o dată prevăzută
BAD_DATE: Dată incorectă
AGO: în urmă
FROM_NOW: de acum
JUST_NOW: chiar acum
SECOND: secundă
MINUTE: minut
HOUR: oră
DAY: zi
WEEK: săptămână
MONTH: lună
YEAR: an
DECADE: decadă
SEC: secunde
MIN: minute
HR: oră
WK: săpt
MO: lună
YR: an
DEC: decadă
SECOND_PLURAL: secunde
MINUTE_PLURAL: minute
HOUR_PLURAL: ore
DAY_PLURAL: zile
WEEK_PLURAL: săptămâni
MONTH_PLURAL: luni
YEAR_PLURAL: ani
DECADE_PLURAL: decade
SEC_PLURAL: sec
MIN_PLURAL: min
HR_PLURAL: ore
WK_PLURAL: săpt
MO_PLURAL: luni
YR_PLURAL: ani
DEC_PLURAL: decenii
FORM:
VALIDATION_FAIL: <b>Validare nereușită</b>
INVALID_INPUT: Date incorecte în
MISSING_REQUIRED_FIELD: 'Câmp obligatoriu lipsă:'
MONTHS_OF_THE_YEAR:
- 'Ianuarie'
- 'Februarie'
- 'Martie'
- 'Aprilie'
- 'Mai'
- 'Iunie'
- 'Iulie'
- 'August'
- 'Septembrie'
- 'Octombrie'
- 'Noiembrie'
- 'Decembrie'
DAYS_OF_THE_WEEK:
- 'Luni'
- 'Marți'
- 'Miercuri'
- 'Joi'
- 'Vineri'
- 'Sâmbătă'
- 'Duminică'
CRON:
EVERY: la fiecare
EVERY_HOUR: la fiecare oră
EVERY_MINUTE: la fiecare minut
EVERY_DAY_OF_WEEK: fiecare zi a săptămânii
EVERY_DAY_OF_MONTH: fiecare zi a lunii
EVERY_MONTH: fiecare lună
TEXT_PERIOD: Fiecare <b />
TEXT_MINS: ' la <b /> minut(e) ale fiecărei ore'
TEXT_TIME: ' la <b />:<b />'
TEXT_DOW: ' pe <b />'
TEXT_MONTH: 'al(e) <b />'
TEXT_DOM: ' pe <b />'
ERROR1: Eticheta %s nu este acceptată!
ERROR2: Număr nevalid de elemente
ERROR3: jquery_element ar trebui setat în opțiunile jqCron
ERROR4: Expresie necunoscută

View File

@@ -1,81 +1,101 @@
---
FRONTMATTER_ERROR_PAGE: |
---
title: %1$s
---
# Ошибка: Недопустимое содержимое
Path: `%2$s`
**%3$s**
```
%4$s
```
INFLECTOR_IRREGULAR:
person: люди
man: человек
child: ребенок
sex: пол
move: движется
NICETIME:
NO_DATE_PROVIDED: Дата не указана
BAD_DATE: Неверная дата
AGO: назад
FROM_NOW: теперь
SECOND: секунда
MINUTE: минута
HOUR: час
DAY: д
WEEK: неделя
MONTH: месяц
YEAR: год
DECADE: десятилетие
SEC: с
MIN: мин
HR: ч
WK: нед.
MO: мес.
YR: г.
DEC: гг.
SECOND_PLURAL: секунды
MINUTE_PLURAL: минуты
HOUR_PLURAL: часы
DAY_PLURAL: д
WEEK_PLURAL: недели
MONTH_PLURAL: месяцы
YEAR_PLURAL: годы
DECADE_PLURAL: десятилетия
SEC_PLURAL: с
MIN_PLURAL: мин
HR_PLURAL: ч
WK_PLURAL: нед
MO_PLURAL: мес
YR_PLURAL: г.
DEC_PLURAL: гг.
FORM:
VALIDATION_FAIL: '<b>Проверка не удалась:</b>'
INVALID_INPUT: Неверный ввод в
MISSING_REQUIRED_FIELD: 'Отсутствует необходимое поле:'
MONTHS_OF_THE_YEAR:
- Январь
- Февраль
- Март
- Апрель
- Май
- Июнь
- Июль
- Август
- Сентябрь
- Октябрь
- Ноябрь
- Декабрь
DAYS_OF_THE_WEEK:
- Понедельник
- Вторник
- Среда
- Четверг
- Пятница
- Суббота
- Воскресенье
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntitle: %1$s\n---\n\n# Ошибка: недопустимое содержимое Frontmatter\n\nПуть: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_UNCOUNTABLE:
- 'экипировка'
- 'информация'
- 'рис'
- 'деньги'
- 'виды'
- 'серии'
- 'рыба'
- 'овца'
INFLECTOR_IRREGULAR:
'person': 'люди'
'man': 'человек'
'child': 'ребенок'
'sex': 'пол'
'move': 'движется'
INFLECTOR_ORDINALS:
'default': 'й'
'first': 'й'
'second': 'й'
'third': 'й'
NICETIME:
NO_DATE_PROVIDED: Дата не указана
BAD_DATE: Неверная дата
AGO: назад
FROM_NOW: теперь
JUST_NOW: только что
SECOND: секунда
MINUTE: минута
HOUR: час
DAY: день
WEEK: неделя
MONTH: месяц
YEAR: год
DECADE: десятилетие
SEC: сек
MIN: мин
HR: ч
WK: нед
MO: мес
YR: г
DEC: дстлт
SECOND_PLURAL: сек
MINUTE_PLURAL: мин
HOUR_PLURAL: ч
DAY_PLURAL: д
WEEK_PLURAL: нед
MONTH_PLURAL: мес
YEAR_PLURAL: г
DECADE_PLURAL: дстлт
SEC_PLURAL: сек
MIN_PLURAL: мин
HR_PLURAL: ч
WK_PLURAL: нед
MO_PLURAL: мес
YR_PLURAL: г
DEC_PLURAL: дстлт
FORM:
VALIDATION_FAIL: <b>Проверка не удалась:</b>
INVALID_INPUT: Неверный ввод в
MISSING_REQUIRED_FIELD: 'Отсутствует необходимое поле:'
MONTHS_OF_THE_YEAR:
- 'январь'
- 'февраль'
- 'март'
- 'апрель'
- 'май'
- 'июнь'
- 'Июль'
- 'Август'
- 'Сентябрь'
- 'Октябрь'
- 'Ноябрь'
- 'Декабрь'
DAYS_OF_THE_WEEK:
- 'понедельник'
- 'вторник'
- 'среда'
- 'четверг'
- 'пятница'
- 'суббота'
- 'воскресенье'
CRON:
EVERY: раз в
EVERY_HOUR: раз в час
EVERY_MINUTE: раз в минуту
EVERY_DAY_OF_WEEK: каждый день недели
EVERY_DAY_OF_MONTH: каждый день недели
EVERY_MONTH: раз в месяц
TEXT_PERIOD: Каждый <b />
TEXT_MINS: ' в <b /> минуте(ах) за час'
TEXT_TIME: ' в <b />:<b />'
TEXT_DOW: ' на <b />'
TEXT_MONTH: ' из <b />'
TEXT_DOM: ' на <b />'
ERROR1: Тег %s не поддерживается!
ERROR2: Неверное количество элементов
ERROR3: jquery_element должен быть установлен в настройки jqCron
ERROR4: Выражение не распознано

View File

@@ -1,42 +1,144 @@
---
NICETIME:
NO_DATE_PROVIDED: Neposkytnutý žiaden dátum
BAD_DATE: Nesprávny dátum
AGO: pred
FROM_NOW: odteraz
SECOND: sekunda
MINUTE: minúta
HOUR: hodina
DAY: deň
WEEK: týždeň
MONTH: mesiac
YEAR: rok
DECADE: desaťročie
SEC: sek
MIN: min
HR: hod
FORM:
VALIDATION_FAIL: '<b>Overenie zlyhalo:</b>'
INVALID_INPUT: Neplatný vstup v
MISSING_REQUIRED_FIELD: 'Chýba vyžadované pole:'
MONTHS_OF_THE_YEAR:
- Január
- Február
- Marec
- Apríl
- Máj
- Jún
- Júl
- August
- September
- Október
- November
- December
DAYS_OF_THE_WEEK:
- Pondelok
- Utorok
- Streda
- Štvrtok
- Piatok
- Sobota
- Nedeľa
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntitle: %1$s\n---\n\n# Chyba: Chybný frontmatter\n\nPath: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_PLURALS:
'/(quiz)$/i': '\1zes'
'/^(ox)$/i': '\1en'
'/([m|l])ouse$/i': '\1ice'
'/(matr|vert|ind)ix|ex$/i': '\1ices'
'/(x|ch|ss|sh)$/i': '\1es'
'/([^aeiouy]|qu)ies$/i': '\1y'
'/([^aeiouy]|qu)y$/i': '\1ies'
'/(hive)$/i': '\1s'
'/(?:([^f])fe|([lr])f)$/i': '\1\2ves'
'/sis$/i': 'ses'
'/([ti])um$/i': '\1a'
'/(buffal|tomat)o$/i': '\1oes'
'/(bu)s$/i': '\1ses'
'/(alias|status)/i': '\1es'
'/(octop|vir)us$/i': '\1i'
'/(ax|test)is$/i': '\1es'
'/s$/i': 's'
'/$/': 's'
INFLECTOR_SINGULAR:
'/(quiz)zes$/i': '\1'
'/(matr)ices$/i': '\1ix'
'/(vert|ind)ices$/i': '\1ex'
'/^(ox)en/i': '\1'
'/(alias|status)es$/i': '\1'
'/([octop|vir])i$/i': '\1us'
'/(cris|ax|test)es$/i': '\1is'
'/(shoe)s$/i': '\1'
'/(o)es$/i': '\1'
'/(bus)es$/i': '\1'
'/([m|l])ice$/i': '\1ouse'
'/(x|ch|ss|sh)es$/i': '\1'
'/(m)ovies$/i': '\1ovie'
'/(s)eries$/i': '\1eries'
'/([^aeiouy]|qu)ies$/i': '\1y'
'/([lr])ves$/i': '\1f'
'/(tive)s$/i': '\1'
'/(hive)s$/i': '\1'
'/([^f])ves$/i': '\1fe'
'/(^analy)ses$/i': '\1sis'
'/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i': '\1\2sis'
'/([ti])a$/i': '\1um'
'/(n)ews$/i': '\1ews'
INFLECTOR_UNCOUNTABLE:
- 'vybavenie'
- 'informácie'
- 'ryža'
- 'peniaze'
- 'druhy'
- 'séria'
- 'ryba'
- 'ovce'
INFLECTOR_IRREGULAR:
'person': 'ľudia'
'man': 'muži'
'child': 'deti'
'sex': 'pohlavia'
'move': 'pohyby'
INFLECTOR_ORDINALS:
'default': '.'
'first': '.'
'second': '.'
'third': '.'
NICETIME:
NO_DATE_PROVIDED: Neposkytnutý žiaden dátum
BAD_DATE: Nesprávny dátum
AGO: pred
FROM_NOW: odteraz
JUST_NOW: práve teraz
SECOND: sekunda
MINUTE: minúta
HOUR: hodina
DAY: deň
WEEK: týždeň
MONTH: mesiac
YEAR: rok
DECADE: desaťročie
SEC: sek
MIN: min
HR: hod
WK: t
MO: m
YR: r
DEC: dec
SECOND_PLURAL: sekúnd
MINUTE_PLURAL: minút
HOUR_PLURAL: hodín
DAY_PLURAL: dní
WEEK_PLURAL: týždňov
MONTH_PLURAL: mesiacov
YEAR_PLURAL: rokov
DECADE_PLURAL: dekád
SEC_PLURAL: sek
MIN_PLURAL: min
HR_PLURAL: hod
WK_PLURAL: t
MO_PLURAL: mes.
YR_PLURAL: rokov
DEC_PLURAL: dekád
FORM:
VALIDATION_FAIL: <b>Overenie zlyhalo:</b>
INVALID_INPUT: Neplatný vstup v
MISSING_REQUIRED_FIELD: 'Chýba vyžadované pole:'
MONTHS_OF_THE_YEAR:
- 'Január'
- 'Február'
- 'Marec'
- 'Apríl'
- 'Máj'
- 'Jún'
- 'Júl'
- 'August'
- 'September'
- 'Október'
- 'November'
- 'December'
DAYS_OF_THE_WEEK:
- 'Pondelok'
- 'Utorok'
- 'Streda'
- 'Štvrtok'
- 'Piatok'
- 'Sobota'
- 'Nedeľa'
CRON:
EVERY: každý
EVERY_HOUR: každú hodinu
EVERY_MINUTE: každú minútu
EVERY_DAY_OF_WEEK: každý deň v týždni
EVERY_DAY_OF_MONTH: každý deň v mesiaci
EVERY_MONTH: každý mesiac
TEXT_PERIOD: Každý <b />
TEXT_MINS: ' at <b /> minute(s) past the hour'
TEXT_TIME: ' at <b />:<b />'
TEXT_DOW: ' on <b />'
TEXT_MONTH: ' of <b />'
TEXT_DOM: ' on <b />'
ERROR1: Tag %s nieje podporovaný!
ERROR2: Chybný počet položiek
ERROR3: jquery_element musí byť nastavený v nastaveniach pre jqCron
ERROR4: Neznámy výraz

62
system/languages/sl.yaml Normal file
View File

@@ -0,0 +1,62 @@
---
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntitle: %1$s\n---\n\n# Napaka: Neveljavna Frontmatter\n\nPath: `%2$s`\n\n**%3$s ** \n\n```\n%4$s \n```"
NICETIME:
NO_DATE_PROVIDED: Datum ni na voljo
BAD_DATE: Neveljaven datum
AGO: pred
FROM_NOW: od zdaj
SECOND: sekunda
MINUTE: minuta
HOUR: ura
DAY: dan
WEEK: teden
MONTH: mesec
YEAR: leto
DECADE: desetletje
SEC: sek
HR: ur
WK: T.
MO: m
YR: l
DEC: des
SECOND_PLURAL: sekund
MINUTE_PLURAL: minut
HOUR_PLURAL: ure
DAY_PLURAL: dnevi
WEEK_PLURAL: tednov
MONTH_PLURAL: mesecev
YEAR_PLURAL: leta
DECADE_PLURAL: desetletja
SEC_PLURAL: s
MIN_PLURAL: min
HR_PLURAL: ur
WK_PLURAL: t
MO_PLURAL: m
YR_PLURAL: l
DEC_PLURAL: des
FORM:
VALIDATION_FAIL: <b>Preverjanje veljavnosti ni uspelo:</b>
INVALID_INPUT: Neveljaven vnos v
MISSING_REQUIRED_FIELD: 'Manjka obvezno polje:'
MONTHS_OF_THE_YEAR:
- 'Januar'
- 'Februar'
- 'Marec'
- 'April'
- 'Maj'
- 'Junij'
- 'Julij'
- 'Avgust'
- 'September'
- 'Oktober'
- 'November'
- 'December'
DAYS_OF_THE_WEEK:
- 'Ponedeljek'
- 'Torek'
- 'Sreda'
- 'Četrtek'
- 'Petek'
- 'Sobota'
- 'Nedelja'

View File

@@ -1,62 +1,72 @@
---
FRONTMATTER_ERROR_PAGE: '--- titel: %1$s --- # Fel: Ogiltig Frontmatter-sökväg: `%2$s` **%3$s** ``` %4$s ```'
NICETIME:
NO_DATE_PROVIDED: Inget datum har angivits
BAD_DATE: Ogiltigt datum
AGO: sedan
FROM_NOW: från nu
SECOND: sekund
MINUTE: minut
HOUR: timme
DAY: dag
WEEK: vecka
MONTH: månad
YEAR: år
DECADE: årtionde
SEC: sek
MIN: min
HR: t
WK: v
MO: m
YR: år
DEC: dec
SECOND_PLURAL: sekunder
MINUTE_PLURAL: minuter
HOUR_PLURAL: timmar
DAY_PLURAL: dagar
WEEK_PLURAL: veckor
MONTH_PLURAL: månader
YEAR_PLURAL: år
DECADE_PLURAL: årtionden
SEC_PLURAL: sek
MIN_PLURAL: min
HR_PLURAL: t
WK_PLURAL: v
MO_PLURAL:
YR_PLURAL: år
DEC_PLURAL: dec
FORM:
VALIDATION_FAIL: '<b>Kontrollen misslyckades:</b>'
INVALID_INPUT: Ogiltig indata i
MISSING_REQUIRED_FIELD: 'Obligatoriskt fält måste fyllas i:'
MONTHS_OF_THE_YEAR:
- Januari
- Februrari
- Mars
- April
- Maj
- Juni
- Juli
- Augusti
- September
- Oktober
- November
- December
DAYS_OF_THE_WEEK:
- Måndag
- Tisdag
- Onsdag
- Torsdag
- Fredag
- Lördag
- Söndag
GRAV:
FRONTMATTER_ERROR_PAGE: "--- titel: %1$s --- # Fel: Ogiltig Frontmatter-sökväg: `%2$s` **%3$s** ``` %4$s ```"
INFLECTOR_UNCOUNTABLE:
- 'utrustning'
- 'information'
- 'ris'
- 'pengar'
- 'arter'
- 'serier'
- 'fisk'
- 'får'
INFLECTOR_IRREGULAR:
'person': 'personer'
NICETIME:
NO_DATE_PROVIDED: Inget datum har angivits
BAD_DATE: Ogiltigt datum
AGO: sedan
FROM_NOW: fr.o.m nu
SECOND: sekund
MINUTE: minut
HOUR: timme
DAY: dag
WEEK: vecka
MONTH: månad
YEAR: år
DECADE: årtionde
SEC: sek
HR: t
WK: v
MO: m
YR: år
SECOND_PLURAL: sekunder
MINUTE_PLURAL: minuter
HOUR_PLURAL: timmar
DAY_PLURAL: dagar
WEEK_PLURAL: veckor
MONTH_PLURAL: månader
YEAR_PLURAL: år
DECADE_PLURAL: årtionden
SEC_PLURAL: sek
MIN_PLURAL: min
HR_PLURAL: t
WK_PLURAL: v
MO_PLURAL:
YR_PLURAL: år
DEC_PLURAL: dec
FORM:
VALIDATION_FAIL: <b>Kontrollen misslyckades:</b>
INVALID_INPUT: Ogiltig indata i
MISSING_REQUIRED_FIELD: 'Obligatoriskt fält måste fyllas i:'
MONTHS_OF_THE_YEAR:
- 'Januari'
- 'Februari'
- 'Mars'
- 'April'
- 'Maj'
- 'Juni'
- 'Juli'
- 'Augusti'
- 'September'
- 'Oktober'
- 'November'
- 'December'
DAYS_OF_THE_WEEK:
- 'Måndag'
- 'Tisdag'
- 'Onsdag'
- 'Torsdag'
- 'Fredag'
- 'Lördag'
- 'Söndag'

View File

@@ -1,75 +1,56 @@
---
FRONTMATTER_ERROR_PAGE: |
---
ชื่อเรื่อง: %1$s
---
# ข้อผิดพลาด: Invalid Frontmatter
Path: `%2$s`
**%3$s**
```
%4$s
```
NICETIME:
NO_DATE_PROVIDED: ไม่มีวันที่ให้
BAD_DATE: รูปแบบวันที่ผิด
AGO: ที่ผ่านมา
FROM_NOW: จากตอนนี้
SECOND: วินาที
MINUTE: นาที
HOUR: ชั่วโมง
DAY: วัน
WEEK: สัปดาห์
MONTH: เดือน
YEAR: ปี
DECADE: ทศวรรษที่ผ่านมา
SEC: วิ
MIN: นาที
HR: ชม.
WK: wk
MO: mo
YR: yr
DEC: dec
SECOND_PLURAL: วินาที
MINUTE_PLURAL: นาที
HOUR_PLURAL: ชั่วโมง
DAY_PLURAL: วัน
WEEK_PLURAL: สัปดาห์
MONTH_PLURAL: เดือน
YEAR_PLURAL: ปี
DECADE_PLURAL: ทศวรรษที่ผ่านมา
SEC_PLURAL: วินาที
MIN_PLURAL: นาที
HR_PLURAL: ชั่วโมง
WK_PLURAL: wks
MO_PLURAL: mos
YR_PLURAL: ปี
DEC_PLURAL: decs
FORM:
VALIDATION_FAIL: '<b>ตรวจสอบล้มเหลว: </b>'
INVALID_INPUT: ป้อนข้อมูลไม่ถูกต้องใน
MISSING_REQUIRED_FIELD: 'ขาดข้อมูลที่จำเป็น:'
MONTHS_OF_THE_YEAR:
- มกราคม
- กุมภาพันธ์
- มีนาคม
- เมษายน
- พฤษภาคม
- มิถุนายน
- กรกฏาคม
- สิงหาคม
- กันยายน
- ตุลาคม
- พฤศจิกายน
- ธันวาคม
DAYS_OF_THE_WEEK:
- จันทร์
- อังคาร
- พุธ
- พฤหัสบดี
- ศุกร์
- เสาร์
- อาทิตย์
GRAV:
FRONTMATTER_ERROR_PAGE: "---\nชื่อเรื่อง: %1$s\n---\n\n# ข้อผิดพลาด: Invalid Frontmatter\n\nPath: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
NICETIME:
NO_DATE_PROVIDED: ไม่มีวันที่ให้
BAD_DATE: รูปแบบวันที่ผิด
AGO: ที่ผ่านมา
FROM_NOW: จากตอนนี้
SECOND: วินาที
MINUTE: นาที
HOUR: ชั่วโมง
DAY: วัน
WEEK: สัปดาห์
MONTH: เดือน
YEAR: ปี
DECADE: ทศวรรษที่ผ่านมา
SEC: วิ
MIN: นาที
HR: ชม.
SECOND_PLURAL: วินาที
MINUTE_PLURAL: นาที
HOUR_PLURAL: ชั่วโมง
DAY_PLURAL: วัน
WEEK_PLURAL: สัปดาห์
MONTH_PLURAL: เดือน
YEAR_PLURAL: ปี
DECADE_PLURAL: ทศวรรษที่ผ่านมา
SEC_PLURAL: วินาที
MIN_PLURAL: นาที
HR_PLURAL: ชั่วโมง
YR_PLURAL: ปี
FORM:
VALIDATION_FAIL: '<b>ตรวจสอบล้มเหลว: </b>'
INVALID_INPUT: ป้อนข้อมูลไม่ถูกต้องใน
MISSING_REQUIRED_FIELD: 'ขาดข้อมูลที่จำเป็น:'
MONTHS_OF_THE_YEAR:
- 'มกราคม'
- 'กุมภาพันธ์'
- 'มีนาคม'
- 'เมษายน'
- 'พฤษภาคม'
- 'มิถุนายน'
- 'กรกฏาคม'
- 'สิงหาคม'
- 'กันยายน'
- 'ตุลาคม'
- 'พฤศจิกายน'
- 'ธันวาคม'
DAYS_OF_THE_WEEK:
- 'จันทร์'
- 'อังคาร'
- 'พุธ'
- 'พฤหัสบดี'
- 'ศุกร์'
- 'เสาร์'
- 'อาทิตย์'

View File

@@ -1,59 +1,63 @@
---
NICETIME:
NO_DATE_PROVIDED: Tarih yok
BAD_DATE: Yanlış tarih
AGO: önce
FROM_NOW: (şimdiden)
SECOND: saniye
MINUTE: dakika
HOUR: saat
DAY: gün
WEEK: hafta
MONTH: ay
YEAR: yıl
DECADE: onyıl
SEC: sn
MIN: dk
HR: sa
WK: hft
MO: ay
YR: yl
DEC: onyl
SECOND_PLURAL: saniye
MINUTE_PLURAL: dakika
HOUR_PLURAL: saat
DAY_PLURAL: gün
WEEK_PLURAL: hafta
MONTH_PLURAL: ay
YEAR_PLURAL: yıl
DECADE_PLURAL: onyıl
SEC_PLURAL: sn
MIN_PLURAL: dk
HR_PLURAL: sa
WK_PLURAL: hft
MO_PLURAL: ay
YR_PLURAL: yl
DEC_PLURAL: onyl
FORM:
VALIDATION_FAIL: '<b>Doğrulama başarısız:</b>'
MONTHS_OF_THE_YEAR:
- Ocak
- Şubat
- Mart
- Nisan
- Mayıs
- Haziran
- Temmuz
- Ağustos
- Eylül
- Ekim
- Kasım
- Aralık
DAYS_OF_THE_WEEK:
- Pazartesi
- Salı
- Çarşamba
- Perşembe
- Cuma
- Cumartesi
- Pazar
GRAV:
FRONTMATTER_ERROR_PAGE: "---\nBaşlık: %1$s\n---\n\n# Hata: Geçersiz Önbölüm\n\nYol: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
NICETIME:
NO_DATE_PROVIDED: Sağlanan tarih yok
BAD_DATE: Yanlış tarih
AGO: önce
FROM_NOW: şu andan itibaren
SECOND: saniye
MINUTE: dakika
HOUR: saat
DAY: gün
WEEK: hafta
MONTH: ay
YEAR: yıl
DECADE: onyıl
SEC: sn
MIN: dk
HR: sa
WK: hft
MO: ay
YR: yl
DEC: onyl
SECOND_PLURAL: saniye
MINUTE_PLURAL: dakika
HOUR_PLURAL: saat
DAY_PLURAL: gün
WEEK_PLURAL: hafta
MONTH_PLURAL: ay
YEAR_PLURAL: yıl
DECADE_PLURAL: onyıl
SEC_PLURAL: sn
MIN_PLURAL: dk
HR_PLURAL: sa
WK_PLURAL: hft
MO_PLURAL: ay
YR_PLURAL: yıl
DEC_PLURAL: onyl
FORM:
VALIDATION_FAIL: <b>Doğrulama başarısız:</b>
INVALID_INPUT: Geçersiz bilgi girişi
MISSING_REQUIRED_FIELD: 'Gerekli alan eksik:'
MONTHS_OF_THE_YEAR:
- 'Ocak'
- 'Şubat'
- 'Mart'
- 'Nisan'
- 'Mayıs'
- 'Haziran'
- 'Temmuz'
- 'Ağustos'
- 'Eylül'
- 'Ekim'
- 'Kasım'
- 'Aralık'
DAYS_OF_THE_WEEK:
- 'Pazartesi'
- 'Salı'
- 'Çarşamba'
- 'Perşembe'
- 'Cuma'
- 'Cumartesi'
- 'Pazar'

View File

@@ -1,75 +1,63 @@
---
FRONTMATTER_ERROR_PAGE: |
---
title: %1$s
---
# Помилка: Недопустимий вміст
Path: `%2$s`
**%3$s**
```
%4$s
```
NICETIME:
NO_DATE_PROVIDED: Не вказана дата
BAD_DATE: Невірна дата
AGO: назад
FROM_NOW: відтепер
SECOND: секунда
MINUTE: хвилина
HOUR: година
DAY: день
WEEK: тиждень
MONTH: місяць
YEAR: рік
DECADE: десятиріччя
SEC: с
MIN: хв
HR: год
WK: тиж.
MO: міс.
YR: р.
DEC: рр.
SECOND_PLURAL: секунди
MINUTE_PLURAL: хвилини
HOUR_PLURAL: години
DAY_PLURAL: дні
WEEK_PLURAL: тижні
MONTH_PLURAL: місяці
YEAR_PLURAL: роки
DECADE_PLURAL: десятиріччя
SEC_PLURAL: с
MIN_PLURAL: хв
HR_PLURAL: год
WK_PLURAL: тиж.
MO_PLURAL: міс.
YR_PLURAL: рр.
DEC_PLURAL: рр.
FORM:
VALIDATION_FAIL: '<b>Перевірка не вдалася:</b>'
INVALID_INPUT: Невірне введення в
MISSING_REQUIRED_FIELD: 'Відсутнє необхідне поле:'
MONTHS_OF_THE_YEAR:
- Січень
- Лютий
- Березень
- Квітень
- Травень
- Червень
- Липень
- Серпень
- Вересень
- Жовтень
- Листопад
- Грудень
DAYS_OF_THE_WEEK:
- Понеділок
- Вівторок
- Середа
- Четвер
- "П'ятниця"
- Субота
- Неділя
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntitle: %1$s\n---\n\n# Помилка: Недопустимий вміст\n\nPath: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
NICETIME:
NO_DATE_PROVIDED: Не вказана дата
BAD_DATE: Невірна дата
AGO: назад
FROM_NOW: відтепер
SECOND: секунда
MINUTE: хвилина
HOUR: година
DAY: день
WEEK: тиждень
MONTH: місяць
YEAR: рік
DECADE: десятиріччя
SEC: с
MIN: хв
HR: год
WK: тиж.
MO: міс.
YR: р.
DEC: рр.
SECOND_PLURAL: секунди
MINUTE_PLURAL: хвилини
HOUR_PLURAL: години
DAY_PLURAL: дні
WEEK_PLURAL: тижні
MONTH_PLURAL: місяці
YEAR_PLURAL: роки
DECADE_PLURAL: десятиріччя
SEC_PLURAL: с
MIN_PLURAL: хв
HR_PLURAL: год
WK_PLURAL: тиж.
MO_PLURAL: міс.
YR_PLURAL: рр.
DEC_PLURAL: рр.
FORM:
VALIDATION_FAIL: <b>Перевірка не вдалася:</b>
INVALID_INPUT: Невірне введення в
MISSING_REQUIRED_FIELD: 'Відсутнє обов''язкове поле:'
MONTHS_OF_THE_YEAR:
- 'Січень'
- 'Лютий'
- 'Березень'
- 'Квітень'
- 'Травень'
- 'Червень'
- 'Липень'
- 'Серпень'
- 'Вересень'
- 'Жовтень'
- 'Листопад'
- 'Грудень'
DAYS_OF_THE_WEEK:
- 'Понеділок'
- 'Вівторок'
- 'Середа'
- 'Четвер'
- 'П''ятниця'
- 'Субота'
- 'Неділя'

View File

@@ -1,75 +1,63 @@
---
FRONTMATTER_ERROR_PAGE: |
---
title: %1$s
---
# Error: Invalid Frontmatter
Path: `%2$s`
**%3$s**
```
%4$s
```
NICETIME:
NO_DATE_PROVIDED: Không có ngày được cung cấp
BAD_DATE: Ngày không hợp lệ
AGO: cách đây
FROM_NOW: từ bây giờ
SECOND: giây
MINUTE: phút
HOUR: giờ
DAY: ngày
WEEK: tuần
MONTH: tháng
YEAR: năm
DECADE: thập kỷ
SEC: giây
MIN: phút
HR: giờ
WK: tuần
MO: tháng
YR: năm
DEC: thập kỷ
SECOND_PLURAL: giây
MINUTE_PLURAL: phút
HOUR_PLURAL: giờ
DAY_PLURAL: ngày
WEEK_PLURAL: tuần
MONTH_PLURAL: tháng
YEAR_PLURAL: năm
DECADE_PLURAL: thập kỷ
SEC_PLURAL: giây
MIN_PLURAL: phút
HR_PLURAL: giờ
WK_PLURAL: tuần
MO_PLURAL: tháng
YR_PLURAL: năm
DEC_PLURAL: thập kỷ
FORM:
VALIDATION_FAIL: '<b>Xác nhận thất bại:</b>'
INVALID_INPUT: Dữ liệu nhập không hợp lệ cho
MISSING_REQUIRED_FIELD: 'Thiếu trường bắt buộc:'
MONTHS_OF_THE_YEAR:
- Tháng 1
- Tháng 2
- Tháng 3
- Tháng 4
- Tháng 5
- Tháng 6
- Tháng 7
- Tháng 8
- Tháng 9
- Tháng 10
- Tháng Mười 11
- Tháng 12
DAYS_OF_THE_WEEK:
- Thứ 2
- Thứ 3
- Thứ 4
- Thứ 5
- Thứ 6
- Thứ 7
- Chủ Nhật
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntiêu đề: %1$s\n---\n\n# Error: Trang không hợp lệ\n\nĐường dẫn: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
NICETIME:
NO_DATE_PROVIDED: Không có ngày được cung cấp
BAD_DATE: Ngày không hợp lệ
AGO: cách đây
FROM_NOW: từ bây giờ
SECOND: giây
MINUTE: phút
HOUR: giờ
DAY: ngày
WEEK: tuần
MONTH: tháng
YEAR: năm
DECADE: thập kỷ
SEC: giây
MIN: phút
HR: giờ
WK: tuần
MO: tháng
YR: năm
DEC: thập kỷ
SECOND_PLURAL: giây
MINUTE_PLURAL: phút
HOUR_PLURAL: giờ
DAY_PLURAL: ngày
WEEK_PLURAL: tuần
MONTH_PLURAL: tháng
YEAR_PLURAL: năm
DECADE_PLURAL: thập kỷ
SEC_PLURAL: giây
MIN_PLURAL: phút
HR_PLURAL: giờ
WK_PLURAL: tuần
MO_PLURAL: tháng
YR_PLURAL: năm
DEC_PLURAL: thập kỷ
FORM:
VALIDATION_FAIL: <b>Xác nhận thất bại:</b>
INVALID_INPUT: Dữ liệu nhập không hợp lệ cho
MISSING_REQUIRED_FIELD: 'Thiếu trường bắt buộc:'
MONTHS_OF_THE_YEAR:
- 'Tháng 1'
- 'Tháng 2'
- 'Tháng 3'
- 'Tháng 4'
- 'Tháng 5'
- 'Tháng 6'
- 'Tháng 7'
- 'Tháng 8'
- 'Tháng 9'
- 'Tháng 10'
- 'Tháng 11'
- 'Tháng 12'
DAYS_OF_THE_WEEK:
- 'Thứ 2'
- 'Thứ 3'
- 'Thứ 4'
- 'Thứ 5'
- 'Thứ 6'
- 'Thứ 7'
- 'Chủ Nhật'

View File

@@ -0,0 +1,62 @@
---
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntitle: %1$s\n---\n\n# 錯誤: 不正確的 Frontmatter\n\n路徑 `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
NICETIME:
NO_DATE_PROVIDED: 沒有提供日期
BAD_DATE: 錯誤日期
AGO: 之前
FROM_NOW: 之後
JUST_NOW: 剛剛
SECOND:
MINUTE:
HOUR: 小時
DAY:
WEEK:
MONTH:
YEAR:
DECADE: 十年
SEC:
MIN:
HR: 小時
WK:
MO:
YR:
DEC: 十年
SECOND_PLURAL:
MINUTE_PLURAL:
HOUR_PLURAL: 小時
DAY_PLURAL:
WEEK_PLURAL:
MONTH_PLURAL:
YEAR_PLURAL:
DECADE_PLURAL: 十年
SEC_PLURAL:
MIN_PLURAL:
HR_PLURAL:
WK_PLURAL:
MO_PLURAL:
YR_PLURAL:
DEC_PLURAL: 十年
FORM:
MISSING_REQUIRED_FIELD: 遺漏必填欄位:
MONTHS_OF_THE_YEAR:
- '一月'
- '二月'
- '三月'
- '四月'
- '五月'
- '六月'
- '七月'
- '八月'
- '九月'
- '十月'
- '十一月'
- '十二月'
DAYS_OF_THE_WEEK:
- '星期一'
- '星期二'
- '星期三'
- '星期四'
- '星期五'
- '星期六'
- '星期日'

144
system/languages/zh.yaml Normal file
View File

@@ -0,0 +1,144 @@
---
GRAV:
FRONTMATTER_ERROR_PAGE: "---\n标题: %1$s\n---\n\n# 错误:无效参数\n\n位置 `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_PLURALS:
'/(quiz)$/i': '\1zes'
'/^(ox)$/i': '\1en'
'/([m|l])ouse$/i': '\1ice'
'/(matr|vert|ind)ix|ex$/i': '\1ices'
'/(x|ch|ss|sh)$/i': '\1es'
'/([^aeiouy]|qu)ies$/i': '\1y'
'/([^aeiouy]|qu)y$/i': '\1ies'
'/(hive)$/i': '\1s'
'/(?:([^f])fe|([lr])f)$/i': '\1\2ves'
'/sis$/i': 'ses'
'/([ti])um$/i': '\1a'
'/(buffal|tomat)o$/i': '\1oes'
'/(bu)s$/i': '\1ses'
'/(alias|status)/i': '\1es'
'/(octop|vir)us$/i': '\1i'
'/(ax|test)is$/i': '\1es'
'/s$/i': 's'
'/$/': 's'
INFLECTOR_SINGULAR:
'/(quiz)zes$/i': '\1'
'/(matr)ices$/i': '\1ix'
'/(vert|ind)ices$/i': '\1ex'
'/^(ox)en/i': '\1'
'/(alias|status)es$/i': '\1'
'/([octop|vir])i$/i': '\1us'
'/(cris|ax|test)es$/i': '\1is'
'/(shoe)s$/i': '\1'
'/(o)es$/i': '\1'
'/(bus)es$/i': '\1'
'/([m|l])ice$/i': '\1ouse'
'/(x|ch|ss|sh)es$/i': '\1'
'/(m)ovies$/i': '\1ovie'
'/(s)eries$/i': '\1eries'
'/([^aeiouy]|qu)ies$/i': '\1y'
'/([lr])ves$/i': '\1f'
'/(tive)s$/i': '\1'
'/(hive)s$/i': '\1'
'/([^f])ves$/i': '\1fe'
'/(^analy)ses$/i': '\1sis'
'/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i': '\1\2sis'
'/([ti])a$/i': '\1um'
'/(n)ews$/i': '\1ews'
INFLECTOR_UNCOUNTABLE:
- '装备'
- '信息'
- '大米'
- '钱'
- '物种'
- '系列'
- '鱼'
- '羊'
INFLECTOR_IRREGULAR:
'person': '人员'
'man': '男人'
'child': '儿童'
'sex': '性别'
'move': '移动'
INFLECTOR_ORDINALS:
'default': 'th'
'first': 'st'
'second': 'md'
'third': 'rd'
NICETIME:
NO_DATE_PROVIDED: 无日期信息
BAD_DATE: 无效日期
AGO:
FROM_NOW: 距今
JUST_NOW: 刚刚
SECOND:
MINUTE: 分钟
HOUR: 小时
DAY:
WEEK:
MONTH:
YEAR:
DECADE: 十年
SEC:
MIN: 分钟
HR: 小时
WK:
MO:
YR:
DEC: 年代
SECOND_PLURAL:
MINUTE_PLURAL:
HOUR_PLURAL: 小时
DAY_PLURAL:
WEEK_PLURAL:
MONTH_PLURAL:
YEAR_PLURAL:
DECADE_PLURAL: 十年
SEC_PLURAL:
MIN_PLURAL:
HR_PLURAL:
WK_PLURAL:
MO_PLURAL:
YR_PLURAL:
DEC_PLURAL: 年代
FORM:
VALIDATION_FAIL: <b>验证失败:</b>
INVALID_INPUT: 无效输入
MISSING_REQUIRED_FIELD: 必填字段缺失:
MONTHS_OF_THE_YEAR:
- '1月'
- '2月'
- '3月'
- '4月'
- '5月'
- '6月'
- '7月'
- '8月'
- '9月'
- '10月'
- '11月'
- '12月'
DAYS_OF_THE_WEEK:
- '星期一'
- '星期二'
- '星期三'
- '星期四'
- '星期五'
- '星期六'
- '星期日'
CRON:
EVERY: 每隔
EVERY_HOUR: 每小时
EVERY_MINUTE: 每分钟
EVERY_DAY_OF_WEEK: 一周中的每一天
EVERY_DAY_OF_MONTH: 月份中的每一天
EVERY_MONTH: 每月
TEXT_PERIOD: 所有 <b />
TEXT_MINS: ' 在 <b /> 小时过后的分钟'
TEXT_TIME: ' 在 <b />:<b />'
TEXT_DOW: ' on <b />'
TEXT_MONTH: ' of <b />'
TEXT_DOM: ' on <b />'
ERROR1: 不支持分享类型 %s
ERROR2: 无效数字
ERROR3: 请在 jqCron 设置中设定 jquery_element
ERROR4: 无法识别表达式

View File

@@ -2,4 +2,5 @@
title: Not Found
routable: false
notfound: true
expires: 0
---

View File

@@ -1,13 +1,14 @@
<?php
/**
* @package Grav.Core
* @package Grav\Core
*
* @copyright Copyright (C) 2015 - 2018 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (C) 2015 - 2020 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
if (PHP_SAPI !== 'cli-server') {
exit('This script cannot be run from browser. Run it from a CLI.');
die('This script cannot be run from browser. Run it from a CLI.');
}
$_SERVER['PHP_CLI_ROUTER'] = true;
@@ -16,11 +17,22 @@ if (is_file($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . $_SERVER['SCRIPT_N
return false;
}
$_SERVER = array_merge($_SERVER, $_ENV);
$_SERVER['SCRIPT_FILENAME'] = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'index.php';
$_SERVER['SCRIPT_NAME'] = DIRECTORY_SEPARATOR . 'index.php';
$_SERVER['PHP_SELF'] = DIRECTORY_SEPARATOR . 'index.php';
$grav_index = 'index.php';
require 'index.php';
/* Check the GRAV_BASEDIR environment variable and use if set */
$grav_basedir = getenv('GRAV_BASEDIR') ?: '';
if ($grav_basedir) {
$grav_index = ltrim($grav_basedir, '/') . DIRECTORY_SEPARATOR . $grav_index;
$grav_basedir = DIRECTORY_SEPARATOR . trim($grav_basedir, DIRECTORY_SEPARATOR);
define('GRAV_ROOT', str_replace(DIRECTORY_SEPARATOR, '/', getcwd()) . $grav_basedir);
}
$_SERVER = array_merge($_SERVER, $_ENV);
$_SERVER['SCRIPT_FILENAME'] = $_SERVER['DOCUMENT_ROOT'] . $grav_basedir .DIRECTORY_SEPARATOR . 'index.php';
$_SERVER['SCRIPT_NAME'] = $grav_basedir . DIRECTORY_SEPARATOR . 'index.php';
$_SERVER['PHP_SELF'] = $grav_basedir . DIRECTORY_SEPARATOR . 'index.php';
error_log(sprintf('%s:%d [%d]: %s', $_SERVER['REMOTE_ADDR'], $_SERVER['REMOTE_PORT'], http_response_code(), $_SERVER['REQUEST_URI']), 4);
require $grav_index;

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,232 @@
<?php
/**
* @package Grav\Common\Assets
*
* @copyright Copyright (C) 2015 - 2020 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
namespace Grav\Common\Assets;
use Grav\Common\Assets\Traits\AssetUtilsTrait;
use Grav\Common\Grav;
use Grav\Common\Uri;
use Grav\Common\Utils;
use Grav\Framework\Object\PropertyObject;
use SplFileInfo;
/**
* Class BaseAsset
* @package Grav\Common\Assets
*/
abstract class BaseAsset extends PropertyObject
{
use AssetUtilsTrait;
protected const CSS_ASSET = true;
protected const JS_ASSET = false;
/** @var string|false */
protected $asset;
/** @var string */
protected $asset_type;
/** @var int */
protected $order;
/** @var string */
protected $group;
/** @var string */
protected $position;
/** @var int */
protected $priority;
/** @var array */
protected $attributes = [];
/** @var string */
protected $timestamp;
/** @var int|false */
protected $modified;
/** @var bool */
protected $remote;
/** @var string */
protected $query = '';
// Private Bits
/** @var bool */
private $css_rewrite = false;
/** @var bool */
private $css_minify = false;
/**
* @return string
*/
abstract function render();
/**
* BaseAsset constructor.
* @param array $elements
* @param string|null $key
*/
public function __construct(array $elements = [], $key = null)
{
$base_config = [
'group' => 'head',
'position' => 'pipeline',
'priority' => 10,
'modified' => null,
'asset' => null
];
// Merge base defaults
$elements = array_merge($base_config, $elements);
parent::__construct($elements, $key);
}
/**
* @param string|false $asset
* @param array $options
* @return $this|false
*/
public function init($asset, $options)
{
$config = Grav::instance()['config'];
$uri = Grav::instance()['uri'];
// set attributes
foreach ($options as $key => $value) {
if ($this->hasProperty($key)) {
$this->setProperty($key, $value);
} else {
$this->attributes[$key] = $value;
}
}
// Force priority to be an int
$this->priority = (int) $this->priority;
// Do some special stuff for CSS/JS (not inline)
if (!Utils::startsWith($this->getType(), 'inline')) {
$this->base_url = rtrim($uri->rootUrl($config->get('system.absolute_urls')), '/') . '/';
$this->remote = static::isRemoteLink($asset);
// Move this to render?
if (!$this->remote) {
$asset_parts = parse_url($asset);
if (isset($asset_parts['query'])) {
$this->query = $asset_parts['query'];
unset($asset_parts['query']);
$asset = Uri::buildUrl($asset_parts);
}
$locator = Grav::instance()['locator'];
if ($locator->isStream($asset)) {
$path = $locator->findResource($asset, true);
} else {
$path = GRAV_ROOT . $asset;
}
// If local file is missing return
if ($path === false) {
return false;
}
$file = new SplFileInfo($path);
$asset = $this->buildLocalLink($file->getPathname());
$this->modified = $file->isFile() ? $file->getMTime() : false;
}
}
$this->asset = $asset;
return $this;
}
/**
* @return string|false
*/
public function getAsset()
{
return $this->asset;
}
/**
* @return bool
*/
public function getRemote()
{
return $this->remote;
}
/**
* @param string $position
* @return $this
*/
public function setPosition($position)
{
$this->position = $position;
return $this;
}
/**
*
* Get the last modification time of asset
*
* @param string $asset the asset string reference
*
* @return string the last modifcation time or false on error
*/
// protected function getLastModificationTime($asset)
// {
// $file = GRAV_ROOT . $asset;
// if (Grav::instance()['locator']->isStream($asset)) {
// $file = $this->buildLocalLink($asset, true);
// }
//
// return file_exists($file) ? filemtime($file) : false;
// }
/**
*
* Build local links including grav asset shortcodes
*
* @param string $asset the asset string reference
*
* @return string|false the final link url to the asset
*/
protected function buildLocalLink($asset)
{
if ($asset) {
return $this->base_url . ltrim(Utils::replaceFirstOccurrence(GRAV_ROOT, '', $asset), '/');
}
return false;
}
/**
* Implements JsonSerializable interface.
*
* @return array
*/
public function jsonSerialize()
{
return ['type' => $this->getType(), 'elements' => $this->getElements()];
}
/**
* Placeholder for AssetUtilsTrait method
*
* @param string $file
* @param string $dir
* @param bool $local
*/
protected function cssRewrite($file, $dir, $local)
{
return;
}
}

View File

@@ -0,0 +1,52 @@
<?php
/**
* @package Grav\Common\Assets
*
* @copyright Copyright (C) 2015 - 2020 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
namespace Grav\Common\Assets;
use Grav\Common\Utils;
/**
* Class Css
* @package Grav\Common\Assets
*/
class Css extends BaseAsset
{
/**
* Css constructor.
* @param array $elements
* @param string|null $key
*/
public function __construct(array $elements = [], $key = null)
{
$base_options = [
'asset_type' => 'css',
'attributes' => [
'type' => 'text/css',
'rel' => 'stylesheet'
]
];
$merged_attributes = Utils::arrayMergeRecursiveUnique($base_options, $elements);
parent::__construct($merged_attributes, $key);
}
/**
* @return string
*/
public function render()
{
if (isset($this->attributes['loading']) && $this->attributes['loading'] === 'inline') {
$buffer = $this->gatherLinks([$this], self::CSS_ASSET);
return "<style>\n" . trim($buffer) . "\n</style>\n";
}
return '<link href="' . trim($this->asset) . $this->renderQueryString() . '"' . $this->renderAttributes() . ">\n";
}
}

View File

@@ -0,0 +1,44 @@
<?php
/**
* @package Grav\Common\Assets
*
* @copyright Copyright (C) 2015 - 2020 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
namespace Grav\Common\Assets;
use Grav\Common\Utils;
/**
* Class InlineCss
* @package Grav\Common\Assets
*/
class InlineCss extends BaseAsset
{
/**
* InlineCss constructor.
* @param array $elements
* @param string|null $key
*/
public function __construct(array $elements = [], $key = null)
{
$base_options = [
'asset_type' => 'css',
'position' => 'after'
];
$merged_attributes = Utils::arrayMergeRecursiveUnique($base_options, $elements);
parent::__construct($merged_attributes, $key);
}
/**
* @return string
*/
public function render()
{
return '<style' . $this->renderAttributes(). ">\n" . trim($this->asset) . "\n</style>\n";
}
}

View File

@@ -0,0 +1,44 @@
<?php
/**
* @package Grav\Common\Assets
*
* @copyright Copyright (C) 2015 - 2020 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
namespace Grav\Common\Assets;
use Grav\Common\Utils;
/**
* Class InlineJs
* @package Grav\Common\Assets
*/
class InlineJs extends BaseAsset
{
/**
* InlineJs constructor.
* @param array $elements
* @param string|null $key
*/
public function __construct(array $elements = [], $key = null)
{
$base_options = [
'asset_type' => 'js',
'position' => 'after'
];
$merged_attributes = Utils::arrayMergeRecursiveUnique($base_options, $elements);
parent::__construct($merged_attributes, $key);
}
/**
* @return string
*/
public function render()
{
return '<script' . $this->renderAttributes(). ">\n" . trim($this->asset) . "\n</script>\n";
}
}

Some files were not shown because too many files have changed in this diff Show More