Compare commits

..

352 Commits

Author SHA1 Message Date
Andy Miller
78b8125eae Merge branch 'release/1.7.44' 2024-01-05 12:43:46 +00:00
Andy Miller
3ea86e1794 remvoed outdated PR as it was DRAFT 2024-01-05 12:43:27 +00:00
Andy Miller
6df03063c8 remove test 2024-01-05 12:34:59 +00:00
Andy Miller
e5990f431d Revert "Added 'outdated' option to scheduler command (#3771)"
This reverts commit a71403f158.

# Conflicts:
#	tests/unit/Grav/Common/Scheduler/SchedulerTest.php
2024-01-05 12:31:53 +00:00
Andy Miller
b3d55ca81a remove a debug 2024-01-05 12:26:08 +00:00
Andy Miller
a0e728b540 Merge tag '1.7.44' into develop
Releaese v1.7.44
2024-01-05 11:59:45 +00:00
Andy Miller
171a5c074c Merge branch 'release/1.7.44' 2024-01-05 11:59:44 +00:00
Andy Miller
f33e89fa45 prepare for release 2024-01-05 11:59:37 +00:00
Andy Miller
e33d71e4b9 updated changelog 2024-01-05 11:58:34 +00:00
Andy Miller
ddbb1362dc updated composer again 2024-01-05 11:58:23 +00:00
maelanleborgne
a71403f158 Added 'outdated' option to scheduler command (#3771) 2024-01-05 11:46:14 +00:00
Ron Wardenier
88eb9f915a Allow empty and maolformed links in markdown (#3782)
When a user adds an invalid link in a page in markdown for example [](https://) and that page is parsed to be shown in a blog listing page that blog listing page crashes with a CRITICAL error. Instead of throwing an error the URL is now ignored. See also https://discord.com/channels/501836936584101899/506916956637495306/1185616779486167141
2024-01-05 11:44:44 +00:00
Andy Miller
70e5262512 Merge branch 'develop' of github.com:getgrav/grav into develop 2024-01-05 11:44:00 +00:00
Andy Miller
a1c116dd82 update copyright year 2024-01-05 11:43:52 +00:00
Rotzbua
cc08da0c74 add php 8.3 to test (#3778)
https://www.php.net/releases/8.3/en.php
2024-01-05 11:43:34 +00:00
Andy Miller
f7eab6b163 composer updates 2024-01-05 11:27:02 +00:00
Andy Miller
f59fa9a291 language updates 2024-01-05 11:26:45 +00:00
Andy Miller
458c64086e Revert "Use new groupNames method"
This reverts commit 470b69c775.
2024-01-05 11:20:40 +00:00
Andy Miller
345086538c updated composer and vendor libraries 2023-11-09 12:38:20 +00:00
Andy Miller
c62e173955 updated changelog 2023-11-09 12:37:02 +00:00
JS Media Creation
1b8e267d0a Add mime type for vCards (.vcf files) (#3772)
Adds support for vCards (.vcf files) in case of e.g. scanning a qr-code with the direct url to the file, so that it can be downloaded. 

Only a thumb-vcf.png should be added then too.
2023-11-08 12:06:04 +00:00
Andy Miller
eb72cb32bb updated changelog 2023-11-06 16:52:28 +00:00
Andy Miller
4e01398545 Added debugger output when routes conflict 2023-11-06 16:50:27 +00:00
Andy Miller
b0dd2358f4 Updated packages (including dom-sanitizer 1.0.7) 2023-11-06 16:50:15 +00:00
Djamil Legato
0c9333e60d Revert "fix whitespace encoding in urls" (#3764)
* Revert "fix whitespace encoding in urls (#3719)"

This reverts commit 6a9b1f2214.

* Revert change
2023-10-27 23:58:08 -07:00
Andy Miller
0b53609fa0 updated changelog 2023-10-25 14:49:52 +01:00
Andy Miller
cfa510e7f7 Merge branch 'master' into develop 2023-10-25 12:38:41 +01:00
Andy Miller
6d5f0ff9ba validaiton math rounding - fixes #3761 2023-10-25 12:38:12 +01:00
Angela Ugrinovska
71939e18be Fixed too few arguments exception thrown in the admin with using flex objects (#3658)
Going through older PRs, thanks for this.
2023-10-24 10:33:58 +01:00
Junky Junkerson
45f8fe4d0b Correcting comment in about custom site.yaml value (#3659)
Corrected blog: route: '/blog' comment from system.blog.route to site.blog.route
2023-10-24 10:32:49 +01:00
Vital
2179ef33a7 Fixed exception: "Property 'jsmodule_pipeline_include_externals' does not exist in the object!" (#3661)
Co-authored-by: Artemkin_V <avr@vital-web.ru>
2023-10-24 10:32:19 +01:00
Rotzbua
d0ae677e61 Update jquery-3.x.min.js to v3.6.4 (#3713)
Source: https://code.jquery.com/jquery-3.6.4.min.js
2023-10-24 10:30:19 +01:00
dirkjf
6a9b1f2214 fix whitespace encoding in urls (#3719)
* fix broken src url encoding

* remove redundant code

* Revert "remove redundant code"

This reverts commit 4e0020114e.

* Revert "fix broken src url encoding"

This reverts commit 3e8259da3a.

* encode whitespaces in url paths
2023-10-24 10:30:00 +01:00
yiwu
b1117e45c9 Update system.yaml (#3721)
add ISO 8601 dateformat
2023-10-24 10:28:44 +01:00
Ricardo Verdugo
382a836d80 Fix invalid input to foreach (#3724)
* Fix invalid input to foreach

This happens with discord oauth, possibly others

* Update UserGroupObject.php

---------

Co-authored-by: Andy Miller <1084697+rhukster@users.noreply.github.com>
2023-10-24 10:28:23 +01:00
Raffael Herrmann
db3e39f0cb Added detection of external triggers of the scheduler (#3726)
Added extension to the isCrontabSetup method to detect external triggers of the scheduler, so that in the admin interface the error message is hidden when the scheduler is called by an external trigger.
2023-10-24 10:25:44 +01:00
Jeremy Angele
80ce87e4a9 Update dangerous extensions (#3756)
Thanks for this!
2023-10-24 10:20:22 +01:00
Jeff
f0f29891d6 Update Inflector::ordinalize() (#3759)
put the init() call before the $ordinals test
2023-10-24 10:19:24 +01:00
Andy Miller
c66da5bedb Merge tag '1.7.43' into develop
Release 1.7.43
2023-10-02 10:41:37 -06:00
Andy Miller
1f21d259ea Merge branch 'release/1.7.43' 2023-10-02 10:41:36 -06:00
Andy Miller
21b218e464 prepare for release 2023-10-02 10:41:26 -06:00
Andy Miller
3b2fb023b8 change version number 2023-10-02 10:36:33 -06:00
Andy Miller
92babda742 updated changelog 2023-10-02 10:30:31 -06:00
pamtbaau
3cdbc5890a Fix url of @import not being rewritten (#3750)
Looks good.  thanks.
2023-10-02 10:04:29 -06:00
Andy Miller
a8042a666c updated composer - fixes #3748 2023-10-02 09:52:50 -06:00
Andy Miller
79f9640b12 move language debug to debugger - fixes #3752 2023-10-02 09:51:22 -06:00
Andy Miller
65aeb82e21 add ability to override modified date via frontmatter 2023-10-02 09:36:22 -06:00
Andy Miller
e3b0aa0c50 inlcude phar in dangerous extensions 2023-08-22 11:57:13 +01:00
Andy Miller
7e617a632e updated security.md 2023-08-22 09:24:41 +01:00
Andy Miller
fb5dd14875 Merge branch 'release/1.7.42.3' 2023-07-18 12:41:08 -06:00
Andy Miller
490bdd6ce7 Merge tag '1.7.42.3' into develop
Release v1.7.42.3
2023-07-18 12:41:08 -06:00
Andy Miller
893b1dd1db prepare for release 2023-07-18 12:40:57 -06:00
Andy Miller
1146959806 fixed a typo 2023-07-18 12:40:27 -06:00
Andy Miller
45103f81b4 Merge branch 'release/1.7.42.2' 2023-07-18 10:50:51 -06:00
Andy Miller
c426f4a9cc Merge tag '1.7.42.2' into develop
Release v1.7.42.2
2023-07-18 10:50:51 -06:00
Andy Miller
0d27f2d77e prepare for release 2023-07-18 10:50:36 -06:00
Andy Miller
b4c62101a4 SSTI attack mitigation - GHSA-9436-3gmp-4f53 2023-07-18 10:49:47 -06:00
Andy Miller
950cd0854f updated vendor libs 2023-06-15 15:32:06 -06:00
Andy Miller
4cd137830b Merge branch 'release/1.7.42.1' 2023-06-15 12:57:56 -06:00
Andy Miller
aa19bcdcbe Merge tag '1.7.42.1' into develop
Release v1.7.42.1
2023-06-15 12:57:56 -06:00
Andy Miller
cf6bf7d1ec prepare for release 2023-06-15 12:57:46 -06:00
Andy Miller
47665dbddb Fixes #3727 - filter field being a closure 2023-06-15 09:03:12 -06:00
Andy Miller
dc209453d0 Merge branch 'release/1.7.42' 2023-06-14 14:19:10 -06:00
Andy Miller
5b89091f13 Merge tag '1.7.42' into develop
Release 1.7.42
2023-06-14 14:19:10 -06:00
Andy Miller
50ee844759 prepare for release 2023-06-14 14:19:00 -06:00
Andy Miller
244758d438 also handle SSTI in reduce twig filter + function 2023-06-14 11:08:17 -06:00
Andy Miller
71bbed12f9 more SSTI fixes in Utils::isDangerousFunction() 2023-06-13 17:57:11 -06:00
Andy Miller
8c2c1cb726 better SSTI in |map and |filter 2023-06-13 17:45:40 -06:00
Andy Miller
9d01140a63 Fix for dangerous tags in |map filter 2023-06-13 17:07:39 -06:00
Andy Miller
259e775db8 Added languages debug option 2023-06-08 14:50:52 -06:00
Andy Miller
d4c617ff19 Merge branch 'release/1.7.41.2' 2023-06-01 15:19:12 -06:00
Andy Miller
c7680bb50a Merge tag '1.7.41.2' into develop
Release v1.7.41.2
2023-06-01 15:19:12 -06:00
Andy Miller
722ce55ccb prepare for release 2023-06-01 15:18:53 -06:00
Andy Miller
5b950ce73f update changelog 2023-06-01 15:17:47 -06:00
Andy Miller
8dfa2110bf fix for special chars in slugs causing redirect loops 2023-06-01 15:16:56 -06:00
Andy Miller
31aeaf6309 improved the Twig Cache Tag with customizable key (lang specific if needed) 2023-05-23 15:54:48 -06:00
Andy Miller
d96b023d72 Merge branch 'release/1.7.41.1' 2023-05-10 08:34:58 -06:00
Andy Miller
4de3cab522 Merge tag '1.7.41.1' into develop
Release v1.7.41.1
2023-05-10 08:34:58 -06:00
Andy Miller
b34f70f91d prepare for release 2023-05-10 08:34:45 -06:00
Andy Miller
9da8cad7fe truncator fix 2023-05-10 08:34:09 -06:00
Andy Miller
e4a30f5966 Merge branch 'release/1.7.41' 2023-05-09 12:44:53 -06:00
Andy Miller
814a050858 Merge tag '1.7.41' into develop
Release v1.7.41
2023-05-09 12:44:53 -06:00
Andy Miller
b6179bd2de prepare for release 2023-05-09 12:44:44 -06:00
Andy Miller
e5ac37e3cf FILTER_SANITIZE_STRING + Toolbox 1.6.5 2023-05-09 12:13:46 -06:00
Andy Miller
66463ddff3 more FILTER_SANITIZE_STRING fixes 2023-05-09 12:13:32 -06:00
Andy Miller
956c2993ae more filter fixes 2023-05-09 11:22:28 -06:00
Andy Miller
3cf67cb2fd deprecation fix 2023-05-09 11:18:36 -06:00
Andy Miller
36afa9d848 won’t work internally in Parsedown 2023-05-08 19:31:37 -06:00
Andy Miller
694ab76d1e added parse_url to the list of Grav Twig functions 2023-05-08 19:03:29 -06:00
Andy Miller
369c2e9ffa remove filter_input in favor of htmlspecialchars + strip_tags 2023-05-08 18:42:52 -06:00
Andy Miller
95ae35216a various cast fixes 2023-05-08 18:41:19 -06:00
Andy Miller
9c0477fa52 fix dynamic class value 2023-05-08 18:41:04 -06:00
Andy Miller
e1ab15e323 another cast fix 2023-05-08 17:44:52 -06:00
Andy Miller
ff77d58acb more casting fixes 2023-05-08 17:37:42 -06:00
Andy Miller
adfbd5730b changelog updated 2023-05-08 17:31:26 -06:00
Andy Miller
bf175983ec various deprecated fixes 2023-05-08 17:31:15 -06:00
Andy Miller
470b69c775 Use new groupNames method 2023-05-08 17:27:54 -06:00
Andy Miller
60648c43db Update to latest getgrav/image package 2023-05-08 17:27:43 -06:00
Andy Miller
75cd4f4306 Various casting fixes for deprecated messages 2023-05-08 17:27:03 -06:00
Andy Miller
2412115f41 TwigDeferredExtension updates 2023-05-08 17:26:22 -06:00
Andy Miller
598836d656 fix parsedown dynamic properties 2023-05-08 12:39:35 -06:00
Andy Miller
e1019c4420 remove FILTER_SANITIZE_STRING as deprecated 2023-05-08 12:21:09 -06:00
Djamil Legato
a8a6c0c520 Better and generic ignore pattern for security.yaml (fixes #3706) 2023-04-06 10:29:35 -07:00
Andy Miller
685d76231a Merge branch 'release/1.7.40' 2023-03-22 11:30:00 -06:00
Andy Miller
0f9b9f780f Merge tag '1.7.40' into develop
Release 1.7.40
2023-03-22 11:30:00 -06:00
Andy Miller
1e2792874d prepare for release 2023-03-22 11:29:52 -06:00
Andy Miller
0a061ce95e bugfix for timestamp logic 2023-03-22 10:18:07 -06:00
Andy Miller
d82ee029e1 updated changelog 2023-03-22 10:09:06 -06:00
Andy Miller
3b83c8204d Merge branch 'develop' of github.com:getgrav/grav into develop 2023-03-22 10:07:18 -06:00
Andy Miller
9ab7a4759a Added timestamp: true|false option for assets 2023-03-22 10:07:14 -06:00
Vilius Šumskas
c261d0d3f7 Fix force_ssl redirect in case of undefined hostname (#3702) 2023-03-17 08:53:45 -06:00
Andy Miller
940415dddb updated changelog 2023-03-07 10:47:55 -07:00
Andy Miller
60506e6f34 fixed duplicate page paths 2023-03-07 10:45:01 -07:00
Djamil Legato
bd7a74d79e Coerce ignore validation to array to cover both array/non-array values 2023-03-06 11:01:15 -08:00
Djamil Legato
5fcf690918 Fixed BlueprintSchema:flattenData to properly handle ignored fields 2023-03-06 10:40:36 -08:00
Anael Mobilia
904ec46a9f Update robots.txt reflecting actual folders (#3625)
* Update robots.txt

"grav" folder no longer exists

* Add folders now existing
2023-03-06 10:21:03 -07:00
Vilius Šumskas
259c148edb Fix whoami command usage (#3695)
Passing process as a string is deprecated since Symfony 4.2.
2023-03-06 10:19:23 -07:00
Rotzbua
0ae980062f Remove outdated setting xcache (#3615)
Already removed in commit ba2c37c216
2023-03-06 10:18:57 -07:00
Ari Cooper Davis
a888f19ad1 Fix LogViewer regex to reduce greediness (#3684) 2023-03-06 09:25:12 -07:00
Andy Miller
479b89134d Update composer.json 2023-02-23 18:46:44 -07:00
Andy Miller
d0d083d985 not just 7.3! 2023-02-23 18:01:01 -07:00
Andy Miller
396b412dda Merge tag '1.7.39.4' into develop
Release v1.7.39.4
2023-02-22 09:20:28 -07:00
Andy Miller
8be02e44c6 Merge branch 'release/1.7.39.4' 2023-02-22 09:20:27 -07:00
Andy Miller
ec115a6a64 prepare for release 2023-02-22 09:20:07 -07:00
Andy Miller
3b92c1aca4 updated changelog 2023-02-22 09:19:24 -07:00
Andy Miller
2d9df03766 Revert "move account info under account section"
This reverts commit 1fae4504a2.
2023-02-22 09:16:54 -07:00
Andy Miller
f086f84ff2 Merge branch 'release/1.7.39.3' 2023-02-21 15:12:34 -07:00
Andy Miller
a2b23ad80e Merge tag '1.7.39.3' into develop
Release 1.7.39.3
2023-02-21 15:12:34 -07:00
Andy Miller
88350d9090 prepare for release 2023-02-21 15:12:24 -07:00
Andy Miller
b2f27fbdf2 cleaner fix for template bug 2023-02-21 12:55:50 -07:00
Andy Miller
72b769aa63 fix for rendering specific templates fixes #3698 2023-02-21 09:39:14 -07:00
Andy Miller
8a7e38751a Merge branch 'release/1.7.39.2' 2023-02-20 14:31:42 -07:00
Andy Miller
3e6c719441 Merge tag '1.7.39.2' into develop
Release v1.7.39.2
2023-02-20 14:31:42 -07:00
Andy Miller
8efb000801 prepare for release 2023-02-20 14:31:30 -07:00
Andy Miller
6d6e92048e flex accounts session fix 2023-02-20 14:02:13 -07:00
Andy Miller
8c365d45a4 Merge branch 'release/1.7.39.1'
# Conflicts:
#	CHANGELOG.md
2023-02-20 11:52:11 -07:00
Andy Miller
ee6448c307 prepare for release 2023-02-20 11:51:36 -07:00
Andy Miller
f8c9e9ada4 css fix for phpdebugbar 2023-02-20 11:49:47 -07:00
Andy Miller
87ab3ae4a7 Fix for debugbar rendering 2023-02-20 10:01:30 -07:00
Andy Miller
68dc461bc0 Merge tag '1.7.39' into develop
Release v1.7.39
2023-02-19 14:52:00 -07:00
Andy Miller
4dd98610a4 Merge branch 'release/1.7.39' 2023-02-19 14:51:59 -07:00
Andy Miller
0358e55aed Merge branch 'master' into develop 2023-02-19 14:51:07 -07:00
Andy Miller
9e5ed10925 typo in types 2023-02-19 14:50:16 -07:00
Andy Miller
3b7eb198cf Merge tag '1.7.39' into develop
Release v1.7.39
2023-02-19 14:44:21 -07:00
Andy Miller
81ed7379a9 Merge branch 'release/1.7.39' 2023-02-19 14:44:21 -07:00
Andy Miller
e1950e985b prepare for release 2023-02-19 14:44:10 -07:00
Andy Miller
84c61af807 updated changelog 2023-02-19 14:43:34 -07:00
Andy Miller
93755c7329 fix UtilsTest for PHPUnit 10 2023-02-19 13:48:13 -07:00
Andy Miller
5329918e2f Merge branch 'develop' of github.com:getgrav/grav into develop 2023-02-19 13:27:58 -07:00
Andy Miller
efd7726646 update packages 2023-02-19 13:27:52 -07:00
Rotzbua
4c762c0ac3 add php 8.2 to test (#3662)
now released https://www.php.net/releases/8.2/en.php
2023-02-19 13:27:19 -07:00
Andy Miller
81a911572c more PHP 8.2 fixes 2023-02-19 13:26:17 -07:00
Andy Miller
c56bb86b61 php 8.2 fixes 2023-02-19 12:07:58 -07:00
Andy Miller
ea010f19f0 Fix for bad rendering of modules 2023-02-17 16:00:46 -07:00
Andy Miller
1fae4504a2 move account info under account section 2023-02-15 15:24:03 -07:00
Andy Miller
d99c84d9f8 empty date to avoid confusion 2023-02-10 15:26:15 -07:00
Andy Miller
c732bfaeef Merge branch 'develop' of github.com:getgrav/grav into develop 2023-01-11 16:16:57 -07:00
Andy Miller
4f0fee684a fix for email validation 2023-01-11 16:16:52 -07:00
Daniel Mason
884faa91bb Update php-fpm socket file to use generic socket file instead of pinning to version (#3669) 2023-01-02 16:19:05 -07:00
Andy Miller
8c261a05cc Merge tag '1.7.38' into develop
Release v1.7.38
2023-01-02 11:24:06 -07:00
Andy Miller
95aa57ca50 Merge branch 'release/1.7.38' 2023-01-02 11:24:05 -07:00
Andy Miller
0bc0e58707 prepare for release 2023-01-02 11:23:56 -07:00
Andy Miller
a86e0d4b96 Update copyright date 2023-01-02 11:09:32 -07:00
Andy Miller
44c819b021 Added new onBeforeSessionStart() Event 2023-01-02 10:46:32 -07:00
Andy Miller
3f13d81c6f Get around a bug where messages were not always being set on session during redirect 2023-01-01 13:10:58 -07:00
Andy Miller
720a965c7e update changelog 2022-12-02 12:23:04 -07:00
Alex
f0e263a404 GitHub Workflows security hardening (#3624)
* build: harden build.yaml permissions

Signed-off-by: Alex <aleksandrosansan@gmail.com>

* build: harden trigger-skeletons.yml permissions

Signed-off-by: Alex <aleksandrosansan@gmail.com>

* build: harden tests.yaml permissions

Signed-off-by: Alex <aleksandrosansan@gmail.com>

Signed-off-by: Alex <aleksandrosansan@gmail.com>
2022-11-30 17:13:49 -08:00
Andy Miller
ad33a63ad2 Revert "dont’ fail hard if pages recurse with same path"
This reverts commit 9c5b8b6496.

# Conflicts:
#	system/src/Grav/Common/Page/Pages.php
2022-10-25 18:20:08 -06:00
Andy Miller
f7b7f3337d fix 2022-10-25 18:01:42 -06:00
Andy Miller
983fcc5e40 Merge branch 'develop' of github.com:getgrav/grav into develop 2022-10-25 17:47:08 -06:00
Andy Miller
9c5b8b6496 dont’ fail hard if pages recurse with same path 2022-10-25 17:47:03 -06:00
Djamil Legato
71fc4eb16b Added .env and .gravenv to gitignore, most likely you don't want them pushed 2022-10-10 14:32:25 -07:00
Andy Miller
ea2858ea2b Merge branch 'develop' of github.com:getgrav/grav into develop 2022-10-05 15:10:37 -06:00
Andy Miller
d080578e83 Upgrade composer to 2.4.2 - fixes #3627 2022-10-05 15:10:32 -06:00
Andy Miller
8427eb6d3e Upgrade composer to 2.4.2 - fixes #3637 2022-10-05 15:09:58 -06:00
Andy Miller
e3a342dabd Merge tag '1.7.37.1' into develop
Release v1.7.37.1
2022-10-05 15:06:23 -06:00
Andy Miller
00b13d1093 Merge branch 'release/1.7.37.1' 2022-10-05 15:06:22 -06:00
Andy Miller
7e5ff71623 prepare for release 2022-10-05 15:06:11 -06:00
Andy Miller
72ba7ccab6 Merge tag '1.7.37' into develop
Release v1.7.37
2022-10-05 11:31:48 -06:00
Andy Miller
ea9c9fdca8 Merge branch 'release/1.7.37' 2022-10-05 11:31:48 -06:00
Andy Miller
5e379bfa39 prepare for release 2022-10-05 11:31:38 -06:00
Matias Griese
fb1e31d0e4 Force user index file to be updated to fix email addresses [getgrav/grav-plugin-login#229] 2022-10-05 19:16:18 +03:00
Andy Miller
8e6b823833 massive change! 2022-10-05 06:38:32 -06:00
Andy Miller
6fcc4ec5d0 Added Pages:: getSimplePagesHash() method 2022-10-05 06:34:16 -06:00
Andy Miller
3e9866920b updated changelog 2022-10-04 17:59:01 -06:00
Andy Miller
3a00ca0457 temp workaround for windows issue - Fixes #2299 2022-10-04 17:55:21 -06:00
Andy Miller
2f6e4b1ad8 Merge branch 'feature/multiple-page-paths' into develop 2022-10-04 11:46:08 -06:00
Andy Miller
01d627e8f7 composer update 2022-10-04 11:45:41 -06:00
Andy Miller
51a386e252 Fix bad default page stream 2022-09-22 17:40:35 -06:00
Andy Miller
30502e8042 fixed composer.json 2022-09-22 12:38:27 -06:00
Andy Miller
01264ef70d initial commit 2022-09-22 12:36:36 -06:00
Andy Miller
de642df06e Added new onPageHeaders() event 2022-09-13 14:28:58 -06:00
Andy Miller
dd8945124e Merge branch 'release/1.7.36' 2022-09-08 11:59:58 -06:00
Andy Miller
0b6428ec29 Merge tag '1.7.36' into develop
Release v1.7.36
2022-09-08 11:59:58 -06:00
Andy Miller
840862c26d prepare for release 2022-09-08 11:59:44 -06:00
Matias Griese
f799a71001 Fixed loggin with a capitalised email address when using old users [getgrav/grav-plugin-login#229] 2022-09-05 21:14:37 +03:00
Matias Griese
3f10c05840 Added support for flex-ignore@ to hide all the nested fields in the blueprint 2022-09-02 19:36:22 +03:00
Matias Griese
dbca0b451c Typo 2022-09-02 19:02:32 +03:00
Matias Griese
6882037b85 Added authorize-*@: support for Flex blueprints 2022-09-02 13:16:19 +03:00
Matias Griese
5d2dc6c329 Composer update 2022-08-18 13:24:34 +03:00
Andy Miller
e9f28ab824 Merge tag '1.7.35' into develop
Release v1.7.35
2022-08-04 15:29:36 -06:00
Andy Miller
186eb8ae6c Merge branch 'release/1.7.35' 2022-08-04 15:29:35 -06:00
Andy Miller
2258adcb05 prepare for release 2022-08-04 15:29:22 -06:00
Andy Miller
20c4cdefe8 minor vendor updates 2022-07-26 12:16:23 -06:00
Matias Griese
aba6382f2e Added variables $environment (string), $request (PSR-7 ServerRequestInterface|null) and $uri (PSR-7 Uri|null) to be used in setup.php 2022-06-30 12:56:31 +03:00
Matias Griese
32dd550178 Fixed FlexDirectory::reloadIndex() to actually get the items from the filesystem 2022-06-29 21:32:50 +03:00
Matias Griese
ec3175fc89 Changelog update 2022-06-29 13:11:14 +03:00
Matias Griese
dac1614306 Composer update 2022-06-29 13:10:26 +03:00
Matias Griese
37e92e4f55 Merge branch 'feature/api' of github.com:getgrav/grav into develop 2022-06-29 13:07:19 +03:00
Matias Griese
1b0c3d1fce Fix phpstan error 2022-06-29 13:06:43 +03:00
Matias Griese
00cb9c3540 Make the new relationships code to work in PHP 7.3 2022-06-29 12:45:16 +03:00
Paweł Bogusławski
b9800b7c35 Allow to configure syslog tag (#3596)
* Allow to configure syslog tag

Author-Change-Id: IB#1120629

* Update InitializeProcessor.php
2022-06-15 10:38:59 -06:00
Matias Griese
b5ab00639b Merge branch 'develop' of github.com:getgrav/grav into feature/api 2022-06-15 14:38:39 +03:00
Andy Miller
cf38cccda1 Merge branch 'release/1.7.34' 2022-06-14 11:09:32 -06:00
Andy Miller
024964eafb Merge tag '1.7.34' into develop
Release v1.7.34
2022-06-14 11:09:32 -06:00
Andy Miller
f8d736b24a prepare for release 2022-06-14 11:09:20 -06:00
Matias Griese
62c4f3c768 Ignore phpstan error 2022-06-14 20:08:04 +03:00
Matias Griese
31920bb153 Composer update 2022-06-14 19:57:42 +03:00
Matias Griese
b18b49a239 Fixed login and user search by email not being case-insensitive when using Flex Users 2022-06-14 10:43:46 +03:00
Matias Griese
9d6a2dba09 Fixed Twig |filter() allowing code execution 2022-06-13 21:11:33 +03:00
Matias Griese
de4af5dbcc Fixed bin/grav install command with arbitrary destination folder name 2022-06-13 20:38:16 +03:00
Matias Griese
f31541250f Fixed broken phpstan tests 2022-06-13 19:29:42 +03:00
Matias Griese
f570cea3bd Fixed alias class references 2022-06-13 19:19:00 +03:00
Matias Griese
0b54a7b4bc Ignore upcoming media.json file in media 2022-06-13 18:22:03 +03:00
Matias Griese
f464492582 Composer update 2022-06-10 11:51:28 +03:00
Matias Griese
81aa4601e4 Changelog update 2022-06-06 11:37:10 +03:00
Yankl-Peretz Blum
6b57f29511 Add Eastern Yiddish
'yi' actually refers to a macrolanguage. The only language in current use in this category is Eastern Yiddish, with language code 'ydd'
2022-06-06 11:14:17 +03:00
yankl
74296a80d0 Add back Yiddish to Language Codes 2022-06-06 11:14:17 +03:00
Matias Griese
8dbc394ae7 Composer update 2022-05-20 16:42:06 +03:00
Matias Griese
89709a7190 Merge branch 'develop' of github.com:getgrav/grav into feature/api
 Conflicts:
	CHANGELOG.md
	composer.lock
2022-05-20 16:41:30 +03:00
Matias Griese
e6320fa327 Changelog update (typo) 2022-05-20 16:40:54 +03:00
Matias Griese
3bf979bd0f Changelog update 2022-05-20 15:57:03 +03:00
Matias Griese
6fa96ca554 Regression: Fixed saving page with a new language causing cache corruption [#2282] 2022-05-20 15:55:38 +03:00
Matias Griese
60ce105fa5 Improved flash media handling in MediaIdentifier 2022-05-20 11:58:09 +03:00
Matias Griese
ec16b5184e Fixed creating empty uploaded file 2022-05-20 10:59:53 +03:00
Matias Griese
a7a9b5d132 Fixed a potential fatal error when using watermark in images 2022-05-13 17:04:56 +03:00
Matias Griese
460ca49f9b Composer update 2022-05-06 17:34:00 +03:00
Matias Griese
32a486f1d4 Added ToManyRelationship::getNthIdentifier() 2022-05-05 11:03:06 +03:00
Matias Griese
1237f0a6d6 Added support for multipart/form-data content type in PUT and PATCH requests 2022-05-04 14:45:59 +03:00
Matias Griese
9ec3e7d731 Minor fix on account relationships 2022-05-03 16:28:02 +03:00
Matias Griese
d6dcd96301 Added relationships support for user accounts 2022-05-03 13:18:57 +03:00
Matias Griese
2957077935 Added relationship logic for flex 2022-05-03 10:27:50 +03:00
Matias Griese
6ba1cff114 Added classes for defining relationships 2022-04-28 13:55:25 +03:00
Matias Griese
6218a4b366 Revert accidental PHP requirement update 2022-04-26 12:30:34 +03:00
Matias Griese
28c4305d46 Composer update 2022-04-26 09:09:14 +03:00
Andy Miller
a2413718f3 Merge branch 'release/1.7.33' 2022-04-25 14:52:04 -06:00
Andy Miller
767a17bf50 Merge tag '1.7.33' into develop
Release v1.7.33
2022-04-25 14:52:04 -06:00
Andy Miller
d75c87ca5e prepare for release 2022-04-25 14:51:51 -06:00
Andy Miller
c2a8145f2c prepare for release 2022-04-25 14:50:34 -06:00
Matias Griese
26e4768bc5 Fixed default collection ordering in pages admin 2022-04-25 18:27:21 +03:00
Matias Griese
4464f29169 Composer update 2022-04-19 10:56:41 +03:00
Matias Griese
2ea39309b6 Composer update 2022-03-31 11:30:35 +03:00
Matias Griese
1c0ed43afa Fixed XSS check not detecting onX events without quotes 2022-03-30 13:26:11 +03:00
Matias Griese
a092aed4ed When saving yaml and markdown, create also a cached version of the file and recompile it in opcache 2022-03-30 12:00:59 +03:00
Matias Griese
7c2b21fb60 Fixed missing changes in yaml & markdown files if saved multiple times during the same second because of a caching issue 2022-03-29 21:35:02 +03:00
Andy Miller
e1ca3c2f70 Merge tag '1.7.32' into develop
Release v1.7.32
2022-03-28 11:36:58 -06:00
Andy Miller
0da5ccb3e1 Merge branch 'release/1.7.32' 2022-03-28 11:36:57 -06:00
Andy Miller
2830ba9120 prepare for release 2022-03-28 11:36:48 -06:00
Matias Griese
5a355fb94e Fixed page search not working with selected language [#3316] 2022-03-25 10:33:05 +02:00
Matias Griese
b0add67cdd Flex search() optimizations 2022-03-25 10:32:34 +02:00
Matias Griese
236c38e65d Changelog update 2022-03-23 15:49:12 +02:00
Matias Griese
c9c23c6c4f Better fix for system.cache.gzip: true 2022-03-23 15:47:45 +02:00
Matias Griese
8f0443a73d Fixed phpstan issues, composer update 2022-03-23 13:05:54 +02:00
Matias Griese
c9271c80a7 Create method cleanOutputBuffers() and use it 2022-03-23 10:49:19 +02:00
Andy Miller
62d9db7650 gzip fixes for downloading 2022-03-22 17:30:55 -06:00
Matias Griese
4f7dad2872 Changelog update 2022-03-21 12:21:12 +02:00
Andy Miller
57d6be0f78 Expose parse_url via parseurl() Twig function 2022-03-20 19:02:36 -06:00
Andy Miller
ae55b4794f Fix for multi-lang issues with Security report 2022-03-20 18:22:12 -06:00
Andy Miller
d82851af10 changelog updated 2022-03-18 13:18:54 -06:00
Andy Miller
730231b8b7 Merge branch 'develop' of github.com:getgrav/grav into develop 2022-03-18 13:15:44 -06:00
Andy Miller
82015d4ae7 gzip enabled breaking in close() 2022-03-18 13:15:37 -06:00
Matias Griese
4376c8ce57 Better multi-byte support for replace_last() filter 2022-03-18 20:39:10 +02:00
Matias Griese
aa1e1bc0ad Optimization for Utils::url() 2022-03-18 20:38:33 +02:00
Matias Griese
35d4d00429 Better fix for multilang URLs in Utils::url() 2022-03-17 16:55:34 +02:00
Matias Griese
3e7f67f589 Set default maximum length for text fields 2022-03-17 13:04:06 +02:00
Matias Griese
c08341046b Added |replace_last(search, replace) filter 2022-03-17 12:15:05 +02:00
Andy Miller
010753bdd6 typo 2022-03-16 14:29:05 -06:00
Andy Miller
d36bc4b8a2 Fix for multilang URLs in Utils::url() 2022-03-16 14:28:07 -06:00
Andy Miller
847f09a2ac Merge branch 'release/1.7.31' 2022-03-14 11:34:43 -06:00
Andy Miller
28469a6bf6 Merge tag '1.7.31' into develop
Release v1.7.31
2022-03-14 11:34:43 -06:00
Andy Miller
0d19bc6e97 prepare for release 2022-03-14 11:34:33 -06:00
Matias Griese
492cc1d2f1 Added XSS check for uploaded SVG files before they get stored (in Form plugin) 2022-03-14 18:55:56 +02:00
Matias Griese
4d4efb31e3 Escape root url pattern in Utils::url() 2022-03-09 12:25:46 +02:00
Andy Miller
c7bc5f5b59 hash for multiavatar only 2022-03-08 14:00:06 -07:00
Andy Miller
41b8fbb0e0 Update changelog + Accounts in sidebar 2022-03-08 10:45:44 -07:00
Djamil Legato
e60ba13d75 Fixed issue with URL method not escaping subpaths slashes 2022-03-08 09:32:28 -08:00
Matias Griese
e0deeeb551 Make new avatar logic more robust 2022-03-08 19:15:46 +02:00
Matias Griese
499b25aad8 Composer update 2022-03-08 19:07:55 +02:00
Andy Miller
9fd580c49b Alternative Multiavatar Approach (#3551)
* Support multiavatar by default

* Support custom hash string
2022-03-08 09:45:41 -07:00
Andy Miller
e09bae918c fix for empty $root 2022-03-05 11:20:54 -07:00
Andy Miller
0abde01442 better fix 2022-03-05 09:22:12 -07:00
Andy Miller
03f71fa49d rolled back but fixed the Utils::url() functionality 2022-03-04 15:37:03 -07:00
Andy Miller
4f92568171 Added system config option legacy_url_root_behavior 2022-03-03 13:16:48 -07:00
Andy Miller
b80fcca0cf fixes for Utils::url() 2022-03-03 12:35:17 -07:00
Andy Miller
879eb27540 updated changelog 2022-03-03 11:21:36 -07:00
Andy Miller
7b7235297e Merge branch 'develop' of github.com:getgrav/grav into develop 2022-03-03 11:21:06 -07:00
Andy Miller
34ab8408fa fix for url() function breaking when path contains root 2022-03-03 11:21:03 -07:00
Matias Griese
f19297d5f7 Added XSS check for uploaded SVG files before they get stored 2022-03-02 13:37:51 +02:00
Matias Griese
78b8051627 Fixed avatar save location when account:// stream points to custom directory 2022-03-02 12:24:27 +02:00
Djamil Legato
3dd0cabeac Fixed entity sanitization for XSS detection 2022-02-23 14:57:36 -08:00
Matias Griese
b992d7f185 Composer update 2022-02-22 11:33:27 +02:00
Matias Griese
a7e82f279a Fixed non-standard video html atributes generated by {{ media.html() }} [#3540] 2022-02-22 11:30:33 +02:00
Matias Griese
6d0d6c22d3 Fixed new Utils::pathinfo() and Utils::basename() being too strict for legacy use [#3542] 2022-02-22 09:46:29 +02:00
Matias Griese
7e52112b21 Fixed phpstan issues (All level 2, Framework level 5) 2022-02-19 12:01:50 +02:00
xaver
a900b89795 Remove variable duplicate (#3539) 2022-02-18 08:39:20 -07:00
Xaver Maierhofer
cad8510dae Merge index exceptions with same handling 2022-02-16 15:52:26 +02:00
Matias Griese
7cafeb2870 Composer update 2022-02-16 09:53:11 +02:00
Matias Griese
b3b5fca16c Fixed 'mbstring' extension is not loaded error, use Polyfill instead [#3504] 2022-02-14 09:38:22 +02:00
Matias Griese
ec884997ef Improve vector image code [#3533] 2022-02-12 10:49:52 +02:00
Matias Griese
3a45748ce6 Added auto_sizes support for SVG vector images [#3533] 2022-02-12 10:41:34 +02:00
Xaver Maierhofer
c4e10cf59f Add Vector image auto_sizes support 2022-02-12 10:26:18 +02:00
Matias Griese
2c252c43b4 Composer update 2022-02-08 12:15:17 +02:00
Matias Griese
382756f79b Fixed pimple link #3527 2022-02-08 08:40:59 +02:00
Andy Miller
11013cbb57 Merge branch 'release/1.7.30' 2022-02-07 12:12:11 -07:00
Andy Miller
2377be9a2b Merge tag '1.7.30' into develop
Release v1.7.30
2022-02-07 12:12:11 -07:00
Andy Miller
b1938c9790 prepare for release 2022-02-07 12:12:03 -07:00
Rotzbua
5d842349e5 add composer suggestion for exif extension 2022-02-07 13:43:23 +02:00
Rotzbua
0323a898cb Normalize variable names 2022-02-07 11:20:16 +02:00
Rotzbua
d275532cf8 Fix documentation of return type 2022-02-07 11:20:16 +02:00
Matias Griese
7306f164e9 Fixed groups filter not matching against readableName [getgrav/grav-plugin-admin#2224] 2022-02-07 10:30:25 +02:00
Matias Griese
3ca58e9ae1 Composer update 2022-02-07 10:11:45 +02:00
Matias Griese
88219fbf0e Fixed accounts filter only matches against email address [getgrav/grav-plugin-admin#2224] 2022-02-07 10:07:00 +02:00
Djamil Legato
5eefc91781 Fixed "Page Authors" field in Security tab, wrongly loading and saving the value (fixes #3525) 2022-02-04 11:23:09 -08:00
Matias Griese
67ef9b221a Fixed error while deleting retina image in admin 2022-02-04 19:58:23 +02:00
Matias Griese
c82a35cea0 Added twig filter |field_parent to get parent field name 2022-02-03 19:51:46 +02:00
Matias Griese
840441bc9b Composer update 2022-02-03 19:50:02 +02:00
Andy Miller
9556e47874 Merge branch 'release/1.7.29.1' 2022-01-31 11:52:21 -07:00
Andy Miller
45fd533186 Merge tag '1.7.29.1' into develop
Release v1.7.29.1
2022-01-31 11:52:21 -07:00
Andy Miller
5248519c37 prepare for release 2022-01-31 11:52:12 -07:00
Matias Griese
5b9a0fb237 Fixed Call to undefined method error when upgrading from Grav 1.6 [#3523] 2022-01-31 11:26:35 +02:00
Matias Griese
389ffe1c7a Composer update 2022-01-31 11:20:09 +02:00
Andy Miller
7b39a1bd8f Merge branch 'release/1.7.29' 2022-01-28 13:08:43 -07:00
Andy Miller
4c5c5925b2 Merge tag '1.7.29' into develop
Release v1.7.29
2022-01-28 13:08:43 -07:00
Andy Miller
96df7deaf4 prepare for release 2022-01-28 13:08:36 -07:00
Matias Griese
7666651324 Fixed error on thumbnail image creation 2022-01-28 19:13:26 +02:00
Djamil Legato
b9db2f3322 Fixed MimeType for gzip (application/x-gzip) 2022-01-27 16:24:50 -08:00
Matias Griese
84a1ab6ca5 Added unicode-safe Utils::basename() and Utils::pathinfo() methods and use them everywhere 2022-01-26 13:54:33 +02:00
Matias Griese
3b89377570 Improved Filesystem::basename() and Filesystem::pathinfo() to be UTF-8 safe 2022-01-26 13:16:35 +02:00
Matias Griese
c3c31880b0 Added support for registering assets from HtmlBlock 2022-01-26 11:06:05 +02:00
Andy Miller
52449246e5 Merge branch 'release/1.7.28' 2022-01-24 11:40:47 -07:00
Andy Miller
b03de18304 Merge tag '1.7.28' into develop
Release v1.7.28
2022-01-24 11:40:47 -07:00
Andy Miller
9bb6f5366e prepare for release 2022-01-24 11:40:25 -07:00
Matias Griese
d126d1b656 Composer update 2022-01-21 11:32:29 +02:00
Matias Griese
6f2fa9311a Fixed XSS check not detecting escaped &#58 2022-01-18 12:34:52 +02:00
Matias Griese
61061220d7 Compoer update, fixed phpstan errors 2022-01-17 09:37:59 +02:00
Matias Griese
aa7e64f2b7 Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	CHANGELOG.md
2022-01-14 11:25:40 +02:00
Matias Griese
b58210de1a Added HtmlBlock support for {% style %}, {% script %} and {% link %} tags 2022-01-14 11:25:21 +02:00
Andy Miller
0bb52c75ce page-level override for redirect_default_route 2022-01-13 06:20:38 -07:00
Matias Griese
da6b41f8a6 Added twig tag for links: {% link icon 'theme://images/favicon.png' priority: 20 with { type: 'image/png' } %} 2022-01-13 13:06:19 +02:00
Matias Griese
1ab2f7083c Added module support for twig script tag: {% script module 'theme://js/module.mjs' %} 2022-01-13 12:52:23 +02:00
Matias Griese
707710d679 Added links and modules support to HtmlBlock class 2022-01-13 12:24:05 +02:00
Andy Miller
c103efea22 Merge tag '1.7.27.1' into develop
Release v1.7.27.1
2022-01-12 15:26:38 -07:00
540 changed files with 6824 additions and 2026 deletions

View File

@@ -4,8 +4,13 @@ on:
release:
types: [published]
permissions: {}
jobs:
build:
permissions:
contents: write # for release creation (svenstaro/upload-release-action)
if: "!github.event.release.prerelease"
runs-on: ubuntu-latest
@@ -52,6 +57,9 @@ jobs:
file_glob: true
slack:
permissions:
actions: read # to list jobs for workflow run (technote-space/workflow-conclusion-action)
name: Slack
needs: build
runs-on: ubuntu-latest

View File

@@ -6,6 +6,9 @@ on:
pull_request:
branches: [ develop ]
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
unit-tests:
@@ -14,7 +17,7 @@ jobs:
strategy:
matrix:
php: [ 8.1, 8.0, 7.4, 7.3]
php: [8.3, 8.2, 8.1, 8.0, 7.4, 7.3]
os: [ubuntu-latest]
steps:

View File

@@ -12,6 +12,9 @@ on:
required: true
default: true
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
build:
runs-on: ubuntu-latest

8
.gitignore vendored
View File

@@ -25,8 +25,11 @@ user/plugins/*
!user/plugins/.*
user/themes/*
!user/themes/.*
user/localhost/config/security.yaml
user/config/security.yaml
user/**/config/security.yaml
# Environments
.env
.gravenv
# OS Generated
.DS_Store*
@@ -45,4 +48,3 @@ tests/cache/*
tests/error.log
system/templates/testing/*
/user/config/versions.yaml
/user/cli/config/security.yaml

View File

@@ -1,8 +1,304 @@
# v1.7.44
## 01/05/2024
1. [](#new)
* Added PHP `8.3` to tests [#3782](https://github.com/getgrav/grav/pull/3782)
* Added debugger messages when Page routes conflict
* Added `ISO 8601` date format [#3721](https://github.com/getgrav/grav/pull/37210)
* Added support for `.vcf` (vCard) in media configuration [#3772](https://github.com/getgrav/grav/pull/3772)
1. [](#improved)
* Update jQuery to `v3.6.4` [#3713](https://github.com/getgrav/grav/pull/3713)
* Updated vendor libraries including Dom-Sanitizer `v1.0.7` that addresses an XSS issue
* Updated `bin/composer.phar` to latest `2.6.6`
* Updated vendor libraries to latest
* Updated language files
* Updated copyright year
1. [](#bugfix)
* Fixed a math rounding issue with number validation when using floating point steps [#3761](https://github.com/getgrav/grav/issues/3761)
* Fixed an issue with `Inflector::ordinalize()` not working as expected [#3759](https://github.com/getgrav/grav/pull/3759)
* Fixed various issues with file extension checking with dangerous extensions [#3756(https://github.com/getgrav/grav/pull/3756)]
* Fix for invalid input to foreach in `UserGroupObject` [#3724](https://github.com/getgrav/grav/pull/3724)
* Fixed exception: `Property 'jsmodule_pipeline_include_externals' does not exist in object` [#3661](https://github.com/getgrav/grav/pull/3661)
* Fixed `too few arguments exception` in FlexObjects [#3658](https://github.com/getgrav/grav/pull/3658)
# v1.7.43
## 10/02/2023
1. [](#new)
* Add the ability to programatically set a page's `modified` timestamp via a `modified:` frontmatter entry
2. [](#improved)
* Update vendor libraries
* Include `phar` in the list of `security.uploads_dangerous_extensions`
* When enabled `system.languages.debug` now dumps **Key -> Value** to debugger [#3752](https://github.com/getgrav/grav/issues/3752)
* Updated built-in composer to latest `2.6.4` [#3748](https://github.com/getgrav/grav/issues/3748)
* Added support for `@import` to ensure paths are rewritten correctly in CSS pipeline [#3750](https://github.com/getgrav/grav/pull/3750)
# v1.7.42.3
## 07/18/2023
2. [](#improved)
* Fixed a typo in `Utils::isDangerousFunction`
# v1.7.42.2
## 07/18/2023
2. [](#improved)
* In `Utils::isDangerousFunction`, handle double `\\` in `|map` twig filter to mitigate SSTI attack
* Better handle empty email in `Validatoin::typeEmail()`
# v1.7.42.1
## 06/15/2023
2. [](#improved)
* Quick fix for `isDangerousFunction` when `$name` was a closure [#3727](https://github.com/getgrav/grav/issues/3727)
# v1.7.42
## 06/14/2023
1. [](#new)
* Added a new `system.languages.debug` option that adds a `<span class="translate-debug"></span>` around strings translated with `|t`. This can be styled by the theme as needed.
1. [](#improved)
* More robust SSTI handling in `filter`, `map`, and `reduce` Twig filters and functions
* Various SSTI improvements `Utils::isDangerousFunction()`
1. [](#bugfix)
* Fixed Twig `|map()` allowing code execution
* Fixed Twig `|reduce()` allowing code execution
# v1.7.41.2
## 06/01/2023
1. [](#improved)
* Added the ability to set a configurable 'key' for the Twig Cache Tag: `{% cache 'my-key' 600 %}`
1. [](#bugfix)
* Fixed an issue with special characters in slug's would cause redirect loops
# v1.7.41.1
## 05/10/2023
1. [](#bugfix)
* Fixed certain UTF-8 characters breaking `Truncator` class [#3716](https://github.com/getgrav/grav/issues/3716)
# v1.7.41
## 05/09/2023
1. [](#improved)
* Removed `FILTER_SANITIZE_STRING` input filter in favor of `htmlspecialchars(strip_tags())` for PHP 8.2+
* Added `GRAV_SANITIZE_STRING` constant to replace `FILTER_SANITIZE_STRING` for PHP 8.2+
* Support non-deprecated style dynamic properties in `Parsedown` class via `ParseDownGravTrait` for PHP 8.2+
* Modified `Truncator` to not use deprecated `mb_convert_encoding()` for PHP 8.2+
* Fixed passing null into `mb_strpos()` deprecated for PHP 8.2+
* Updated internal `TwigDeferredExtension` to be PHP 8.2+ compatible
* Upgraded `getgrav/image` fork to take advantage of various PHP 8.2+ fixes
* Use `UserGroupObject::groupNames` method in blueprints for PHP 8.2+
* Comment out `files-upload` deprecated message as this is not going to be removed
* Added various public `Twig` class variables used by admin to address deprecated messages for PHP 8.2+
* Added `parse_url` to list of PHP functions supported in Twig Extension
* Added support for dynamic functions in `Parsedown` to stop deprecation messages in PHP 8.2+
# v1.7.40
## 03/22/2023
1. [](#new)
* Added a new `timestamp: true|false` option for individual assets
1. [](#improved)
* Removed outdated `xcache` setting [#3615](https://github.com/getgrav/grav/pull/3615)
* Updated `robots.txt` [#3625](https://github.com/getgrav/grav/pull/3625)
1. [](#bugfix)
* Fixed `force_ssl` redirect in case of undefined hostname [#3702](https://github.com/getgrav/grav/pull/3702)
* Fixed an issue with duplicate identical page paths
* Fixed `BlueprintSchema:flattenData` to properly handle ignored fields
* Fixed LogViewer regex greediness [#3684](https://github.com/getgrav/grav/pull/3684)
* Fixed `whoami` command [#3695](https://github.com/getgrav/grav/pull/3695)
# v1.7.39.4
## 02/22/2023
1. [](#bugfix)
* Reverted a reorganization of `account.yaml` that caused username to be disabled [admin#2344](https://github.com/getgrav/grav-plugin-admin/issues/2344)
# v1.7.39.3
## 02/21/2023
1. [](#bugfix)
* Fix for overzealous modular page template rendering fix in 1.7.39 causing Feed plugin to break [#3689](https://github.com/getgrav/grav/issues/3689)
# v1.7.39.2
## 02/20/2023
1. [](#bugfix)
* Fix for invalid session breaking Flex Accounts (when switching from Regular to Flex)
# v1.7.39.1
## 02/20/2023
1. [](#bugfix)
* Fix for broken image CSS with the latest version of DebugBar
# v1.7.39
## 02/19/2023
1. [](#improved)
* Vendor library updates to latest versions
1. [](#bugfix)
* Various PHP 8.2 fixes
* Fixed an issue with modular pages rendering thew wrong template when dynamically changing the page
* Fixed an issue with `email` validation that was failing on UTF-8 characters. Following best practices and now only check for `@` and length.
* Fixed PHPUnit tests to remove deprecation warnings
# v1.7.38
## 01/02/2023
1. [](#new)
* New `onBeforeSessionStart()` event to be used to store data lost during session regeneration (e.g. login)
1. [](#improved)
* Vendor library updates to latest versions
* Updated `bin/composer.phar` to latest `2.4.4` version [#3627](https://github.com/getgrav/grav/issues/3627)
1. [](#bugfix)
* Don't fail hard if pages recurse with same path
* Github workflows security hardening [#3624](https://github.com/getgrav/grav/pull/3624)
# v1.7.37.1
## 10/05/2022
1. [](#bugfix)
* Fixed a bad return type [#3630](https://github.com/getgrav/grav/issues/3630)
# v1.7.37
## 10/05/2022
1. [](#new)
* Added new `onPageHeaders()` event to allow for header modification as needed
* Added a `system.pages.dirs` configuration option to allow for configurable paths, and multiple page paths
* Added new `Pages::getSimplePagesHash` which is useful for caching pages specific data
* Updated to latest vendor libraries
1. [](#bugfix)
* An attempt to workaround windows reading locked file issue [getgrav/grav-plugin-admin#2299](https://github.com/getgrav/grav-plugin-admin/issues/2299)
* Force user index file to be updated to fix email addresses [getgrav/grav-plugin-login#229](https://github.com/getgrav/grav-plugin-login/issues/229)
# v1.7.36
## 09/08/2022
1. [](#new)
* Added `authorize-*@:` support for Flex blueprints, e.g. `authorize-disabled@: not delete` disables the field if user does not have access to delete object
* Added support for `flex-ignore@` to hide all the nested fields in the blueprint
1. [](#bugfix)
* Fixed login with a capitalised email address when using old users [getgrav/grav-plugin-login#229](https://github.com/getgrav/grav-plugin-login/issues/229)
# v1.7.35
## 08/04/2022
1. [](#new)
* Added support for `multipart/form-data` content type in PUT and PATCH requests
* Added support for object relationships
* Added variables `$environment` (string), `$request` (PSR-7 ServerRequestInterface|null) and `$uri` (PSR-7 Uri|null) to be used in `setup.php`
1. [](#improved)
* Minor vendor updates
# v1.7.34
## 06/14/2022
1. [](#new)
* Added back Yiddish to Language Codes [#3336](https://github.com/getgrav/grav/pull/3336)
* Ignore upcoming `media.json` file in media
1. [](#bugfix)
* Regression: Fixed saving page with a new language causing cache corruption [getgrav/grav-plugin-admin#2282](https://github.com/getgrav/grav-plugin-admin/issues/2282)
* Fixed a potential fatal error when using watermark in images
* Fixed `bin/grav install` command with arbitrary destination folder name
* Fixed Twig `|filter()` allowing code execution
* Fixed login and user search by email not being case-insensitive when using Flex Users
# v1.7.33
## 04/25/2022
1. [](#improved)
* When saving yaml and markdown, create also a cached version of the file and recompile it in opcache
2. [](#bugfix)
* Fixed missing changes in **yaml** & **markdown** files if saved multiple times during the same second because of a caching issue
* Fixed XSS check not detecting onX events without quotes
* Fixed default collection ordering in pages admin
# v1.7.32
## 03/28/2022
1. [](#new)
* Added `|replace_last(search, replace)` filter
* Added `parseurl` Twig function to expose PHP's `parse_url` function
2. [](#improved)
* Added multi-language support for page routes in `Utils::url()`
* Set default maximum length for text fields
- `password`: 256
- `email`: 320
- `text`, `url`, `hidden`, `commalist`: 2048
- `text` (multiline), `textarea`: 65536
3. [](#bugfix)
* Fixed issue with `system.cache.gzip: true` resulted in "Fetch Failed" for PHP 8.0.17 and PHP 8.1.4 [PHP issue #8218](https://github.com/php/php-src/issues/8218)
* Fix for multi-lang issues with Security Report
* Fixed page search not working with selected language [#3316](https://github.com/getgrav/grav/issues/3316)
# v1.7.31
## 03/14/2022
1. [](#new)
* Added new local Multiavatar (local generation). **This will be default in Grav 1.8**
* Added support to get image size for SVG vector images [#3533](https://github.com/getgrav/grav/pull/3533)
* Added XSS check for uploaded SVG files before they get stored
* Fixed phpstan issues (All level 2, Framework level 5)
2. [](#improved)
* Moved Accounts out of Experimental section of System configuration to new "Accounts" tab
3. [](#bugfix)
* Fixed `'mbstring' extension is not loaded` error, use Polyfill instead [#3504](https://github.com/getgrav/grav/pull/3504)
* Fixed new `Utils::pathinfo()` and `Utils::basename()` being too strict for legacy use [#3542](https://github.com/getgrav/grav/issues/3542)
* Fixed non-standard video html atributes generated by `{{ media.html() }}` [#3540](https://github.com/getgrav/grav/issues/3540)
* Fixed entity sanitization for XSS detection
* Fixed avatar save location when `account://` stream points to custom directory
* Fixed bug in `Utils::url()` when path contains part of root
# v1.7.30
## 02/07/2022
1. [](#new)
* Added twig filter `|field_parent` to get parent field name
2. [](#bugfix)
* Fixed error while deleting retina image in admin
* Fixed "Page Authors" field in Security tab, wrongly loading and saving the value [#3525](https://github.com/getgrav/grav/issues/3525)
* Fixed accounts filter only matches against email address [getgrav/grav-plugin-admin#2224](https://github.com/getgrav/grav-plugin-admin/issues/2224)
# v1.7.29.1
## 01/31/2022
1. [](#bugfix)
* Fixed `Call to undefined method` error when upgrading from Grav 1.6 [#3523](https://github.com/getgrav/grav/issues/3523)
# v1.7.29
## 01/28/2022
1. [](#new)
* Added support for registering assets from `HtmlBlock`
* Added unicode-safe `Utils::basename()` and `Utils::pathinfo()` methods
2. [](#improved)
* Improved `Filesystem::basename()` and `Filesystem::pathinfo()` to be unicode-safe
* Made path handling unicode-safe, use new `Utils::basename()` and `Utils::pathinfo()` everywhere
3. [](#bugfix)
* Fixed error on thumbnail image creation
* Fixed MimeType for `gzip` (`application/x-gzip`)
# v1.7.28
## 01/24/2022
1. [](#new)
* Added links and modules support to `HtmlBlock` class
* Added module support for twig script tag: `{% script module 'theme://js/module.mjs' %}`
* Added twig tag for links: `{% link icon 'theme://images/favicon.png' priority: 20 with { type: 'image/png' } %}`
* Added `HtmlBlock` support for `{% style %}`, `{% script %}` and `{% link %}` tags
* Support for page-level `redirect_default_route` frontmatter header override
3. [](#bugfix)
* Fixed XSS check not detecting escaped `&#58`
# v1.7.27.1
## 01/12/2022
3. [](#bugfix)
* Fixed a typo in CSS Asset pipeline that was erroneously joining files with `;`
* Fixed a typo in CSS Asset pipeline that was erroneously joining files with `;`
# v1.7.27
## 01/12/2022

View File

@@ -2,7 +2,7 @@
[![PHPStan](https://img.shields.io/badge/PHPStan-enabled-brightgreen.svg?style=flat)](https://github.com/phpstan/phpstan)
[![Discord](https://img.shields.io/discord/501836936584101899.svg?logo=discord&colorB=728ADA&label=Discord%20Chat)](https://chat.getgrav.org)
[![PHP Tests](https://github.com/getgrav/grav/workflows/PHP%20Tests/badge.svg?branch=develop)](https://github.com/getgrav/grav/actions?query=workflow%3A%22PHP+Tests%22) [![OpenCollective](https://opencollective.com/grav/tiers/backers/badge.svg?label=Backers&color=brightgreen)](#backers) [![OpenCollective](https://opencollective.com/grav/tiers/supporters/badge.svg?label=Supporters&color=brightgreen)](#supporters) [![OpenCollective](https://opencollective.com/grav/tiers/sponsors/badge.svg?label=Sponsors&color=brightgreen)](#sponsors)
[![PHP Tests](https://github.com/getgrav/grav/workflows/PHP%20Tests/badge.svg?branch=develop)](https://github.com/getgrav/grav/actions?query=workflow%3A%22PHP+Tests%22) [![OpenCollective](https://opencollective.com/grav/tiers/backers/badge.svg?label=Backers&color=brightgreen)](#backers) [![OpenCollective](https://opencollective.com/grav/tiers/supporters/badge.svg?label=Supporters&color=brightgreen)](#supporters) [![OpenCollective](https://opencollective.com/grav/tiers/sponsors/badge.svg?label=Sponsors&color=brightgreen)](#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.
@@ -13,7 +13,7 @@ The underlying architecture of Grav is designed to use well-established and _bes
* [YAML](https://yaml.org): for simple configuration
* [Parsedown](https://parsedown.org/): for fast Markdown and Markdown Extra support
* [Doctrine Cache](https://www.doctrine-project.org/projects/doctrine-orm/en/latest/reference/caching.html): layer for performance
* [Pimple Dependency Injection Container](https://pimple.sensiolabs.org/): for extensibility and maintainability
* [Pimple Dependency Injection Container](https://github.com/silexphp/Pimple): for extensibility and maintainability
* [Symfony Event Dispatcher](https://symfony.com/doc/current/components/event_dispatcher/introduction.html): for plugin event handling
* [Symfony Console](https://symfony.com/doc/current/components/console/introduction.html): for CLI interface
* [Gregwar Image Library](https://github.com/Gregwar/Image): for dynamic image manipulation

View File

@@ -18,4 +18,12 @@ If you cannot update to the latest stable version available because, for example
## Reporting a Vulnerability
Please contact security@getgrav.org with a detailed explaination of the security issue found and we will work with you to get it resolved as fast as possible.
Please contact security@getgrav.org with a detailed explanation of the security issue found. If it appears to be a legitimate issues, please submit an **advisory via GitHub Security**: https://github.com/getgrav/grav/security/advisories
>> NOTE: Please do not use 3rd party security issue reporting services, we like to keep everything in the GitHub ecosystem for easier manageability.
## Bug Bounties
We do greatly appreciate your efforts to improve Grav, but unfortunately because we are a small open source project, we **do not have the resources to offer bounties** for security issues found.

View File

@@ -1 +1 @@
/* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved. */
/* @copyright Copyright (c) 2015 - 2023 Trilby Media, LLC. All rights reserved. */

View File

@@ -1 +1 @@
/* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved. */
/* @copyright Copyright (c) 2015 - 2023 Trilby Media, LLC. All rights reserved. */

Binary file not shown.

10
bin/gpm
View File

@@ -2,7 +2,7 @@
<?php
/**
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
@@ -25,14 +25,10 @@ if (!file_exists(__DIR__ . '/../vendor/autoload.php')){
$autoload = require __DIR__ . '/../vendor/autoload.php';
if (!ini_get('date.timezone')) {
date_default_timezone_set('UTC');
}
// Set timezone to default, falls back to system if php.ini not set
date_default_timezone_set(@date_default_timezone_get());
// Set internal encoding.
if (!\extension_loaded('mbstring')) {
die("'mbstring' extension is not loaded. This is required for Grav to run correctly");
}
@ini_set('default_charset', 'UTF-8');
mb_internal_encoding('UTF-8');

View File

@@ -2,7 +2,7 @@
<?php
/**
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
@@ -25,14 +25,10 @@ if (!file_exists(__DIR__ . '/../vendor/autoload.php')){
$autoload = require __DIR__ . '/../vendor/autoload.php';
if (!ini_get('date.timezone')) {
date_default_timezone_set('UTC');
}
// Set timezone to default, falls back to system if php.ini not set
date_default_timezone_set(@date_default_timezone_get());
// Set internal encoding.
if (!\extension_loaded('mbstring')) {
die("'mbstring' extension is not loaded. This is required for Grav to run correctly");
}
@ini_set('default_charset', 'UTF-8');
mb_internal_encoding('UTF-8');

View File

@@ -2,7 +2,7 @@
<?php
/**
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
@@ -25,14 +25,10 @@ if (!file_exists(__DIR__ . '/../vendor/autoload.php')){
$autoload = require __DIR__ . '/../vendor/autoload.php';
if (!ini_get('date.timezone')) {
date_default_timezone_set('UTC');
}
// Set timezone to default, falls back to system if php.ini not set
date_default_timezone_set(@date_default_timezone_get());
// Set internal encoding.
if (!\extension_loaded('mbstring')) {
die("'mbstring' extension is not loaded. This is required for Grav to run correctly");
}
@ini_set('default_charset', 'UTF-8');
mb_internal_encoding('UTF-8');

2
cache/.gitkeep vendored
View File

@@ -1 +1 @@
/* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved. */
/* @copyright Copyright (c) 2015 - 2023 Trilby Media, LLC. All rights reserved. */

View File

@@ -19,6 +19,7 @@
"ext-zip": "*",
"ext-dom": "*",
"ext-libxml": "*",
"ext-gd": "*",
"symfony/polyfill-mbstring": "~1.23",
"symfony/polyfill-iconv": "^1.23",
"symfony/polyfill-php74": "^1.23",
@@ -59,11 +60,12 @@
"itsgoingd/clockwork": "^5.0",
"symfony/http-client": "^4.4",
"composer/semver": "^1.4",
"rhukster/dom-sanitizer": "^1.0"
"rhukster/dom-sanitizer": "^1.0",
"multiavatar/multiavatar-php": "^1.0"
},
"require-dev": {
"codeception/codeception": "^4.1",
"phpstan/phpstan": "^1.2",
"phpstan/phpstan": "^1.8",
"phpstan/phpstan-deprecation-rules": "^1.0",
"phpunit/php-code-coverage": "~9.2",
"getgrav/markdowndocs": "^2.0",
@@ -82,7 +84,8 @@
"ext-intl": "Recommended for multi-language sites",
"ext-memcache": "Needed to support Memcache servers",
"ext-memcached": "Needed to support Memcached servers",
"ext-redis": "Needed to support Redis servers"
"ext-redis": "Needed to support Redis servers",
"ext-exif": "Needed to use exif data from images."
},
"config": {
"apcu-autoloader": true,
@@ -114,8 +117,8 @@
"scripts": {
"api-17": "vendor/bin/phpdoc-md generate system/src > user/pages/14.api/default.17.md",
"post-create-project-cmd": "bin/grav install",
"phpstan": "vendor/bin/phpstan analyse -l 1 -c ./tests/phpstan/phpstan.neon --memory-limit=720M system/src",
"phpstan-framework": "vendor/bin/phpstan analyse -l 4 -c ./tests/phpstan/phpstan.neon --memory-limit=480M system/src/Grav/Framework system/src/Grav/Events system/src/Grav/Installer",
"phpstan": "vendor/bin/phpstan analyse -l 2 -c ./tests/phpstan/phpstan.neon --memory-limit=720M system/src",
"phpstan-framework": "vendor/bin/phpstan analyse -l 5 -c ./tests/phpstan/phpstan.neon --memory-limit=480M system/src/Grav/Framework system/src/Grav/Events system/src/Grav/Installer",
"phpstan-plugins": "vendor/bin/phpstan analyse -l 1 -c ./tests/phpstan/plugins.neon --memory-limit=400M user/plugins",
"test": "vendor/bin/codecept run unit",
"test-windows": "vendor\\bin\\codecept run unit"

1588
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1 @@
/* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved. */
/* @copyright Copyright (c) 2015 - 2023 Trilby Media, LLC. All rights reserved. */

View File

@@ -3,7 +3,7 @@
/**
* @package Grav.Core
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
@@ -20,16 +20,6 @@ if (PHP_SAPI === 'cli-server') {
}
}
// Set timezone to default, falls back to system if php.ini not set
date_default_timezone_set(@date_default_timezone_get());
// Set internal encoding.
if (!\extension_loaded('mbstring')) {
die("'mbstring' extension is not loaded. This is required for Grav to run correctly");
}
@ini_set('default_charset', 'UTF-8');
mb_internal_encoding('UTF-8');
// Ensure vendor libraries exist
$autoload = __DIR__ . '/vendor/autoload.php';
if (!is_file($autoload)) {
@@ -39,23 +29,23 @@ if (!is_file($autoload)) {
// Register the auto-loader.
$loader = require $autoload;
// Set timezone to default, falls back to system if php.ini not set
date_default_timezone_set(@date_default_timezone_get());
// Set internal encoding.
@ini_set('default_charset', 'UTF-8');
mb_internal_encoding('UTF-8');
use Grav\Common\Grav;
use RocketTheme\Toolbox\Event\Event;
// Get the Grav instance
$grav = Grav::instance(
array(
'loader' => $loader
)
);
$grav = Grav::instance(array('loader' => $loader));
// Process the page
try {
$grav->process();
} catch (\Error $e) {
$grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
throw $e;
} catch (\Exception $e) {
} catch (\Error|\Exception $e) {
$grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
throw $e;
}

View File

@@ -1 +1 @@
/* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved. */
/* @copyright Copyright (c) 2015 - 2023 Trilby Media, LLC. All rights reserved. */

View File

@@ -1,16 +1,21 @@
User-agent: *
Disallow: /.github/
Disallow: /.phan/
Disallow: /assets/
Disallow: /backup/
Disallow: /bin/
Disallow: /cache/
Disallow: /grav/
Disallow: /logs/
Disallow: /system/
Disallow: /vendor/
Disallow: /tests/
Disallow: /tmp/
Disallow: /user/
Disallow: /vendor/
Disallow: /webserver-configs/
Allow: /user/pages/
Allow: /user/themes/
Allow: /user/images/
Allow: /
Allow: *.css$
Allow: *.js$
Allow: /system/*.js$
Allow: /system/*.js$

View File

@@ -14,11 +14,8 @@ div.phpdebugbar {
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 {
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==);
width: 13px;
}

File diff suppressed because one or more lines are too long

View File

@@ -103,6 +103,7 @@ form:
"D, d M Y G:i:s": Date3
"d-m-y G:i": Date4
"jS M Y": Date5
"Y-m-d G:i": Date6
pages.dateformat.long:
type: dateformat
@@ -116,6 +117,7 @@ form:
"D, d M Y G:i:s": Date3
"d-m-y G:i": Date4
"jS M Y": Date5
"Y-m-d G:i:s": Date6
pages.order.by:
type: select
@@ -448,6 +450,17 @@ form:
validate:
type: bool
languages.debug:
type: toggle
label: PLUGIN_ADMIN.LANGUAGE_DEBUG
help: PLUGIN_ADMIN.LANGUAGE_DEBUG_HELP
highlight: 0
options:
1: PLUGIN_ADMIN.YES
0: PLUGIN_ADMIN.NO
validate:
type: bool
http_headers:
type: tab
title: PLUGIN_ADMIN.HTTP_HEADERS
@@ -608,7 +621,6 @@ form:
file: File
apc: APC
apcu: APCu
xcache: Xcache
memcache: Memcache
memcached: Memcached
wincache: WinCache
@@ -1156,6 +1168,13 @@ form:
local6: local6
local7: local7
log.syslog.tag:
type: text
size: small
label: PLUGIN_ADMIN.SYSLOG_TAG
help: PLUGIN_ADMIN.SYSLOG_TAG_HELP
placeholder: "grav"
debugger:
type: tab
title: PLUGIN_ADMIN.DEBUGGER
@@ -1786,35 +1805,15 @@ form:
validate:
type: bool
experimental:
accounts:
type: tab
title: PLUGIN_ADMIN.EXPERIMENTAL
title: PLUGIN_ADMIN.ACCOUNTS
fields:
experimental_section:
type: section
title: PLUGIN_ADMIN.EXPERIMENTAL
underline: true
# flex_pages:
# type: section
# title: Flex Pages
#
# pages.type:
# type: select
# label: PLUGIN_ADMIN.PAGES_TYPE
# highlight: regular
# help: PLUGIN_ADMIN.PAGES_TYPE_HELP
# options:
# regular: PLUGIN_ADMIN.REGULAR
# flex: PLUGIN_ADMIN.FLEX
pages.type:
type: hidden
flex_accounts:
type: section
title: Flex Accounts
title: User Accounts
accounts.type:
type: select
@@ -1833,3 +1832,41 @@ form:
options:
file: PLUGIN_ADMIN.FILE
folder: PLUGIN_ADMIN.FOLDER
accounts.avatar:
type: select
label: PLUGIN_ADMIN.AVATAR
default: gravatar
help: PLUGIN_ADMIN.AVATAR_HELP
options:
multiavatar: Multiavatar [local]
gravatar: Gravatar [external]
# experimental:
# type: tab
# title: PLUGIN_ADMIN.EXPERIMENTAL
#
# fields:
# experimental_section:
# type: section
# title: PLUGIN_ADMIN.EXPERIMENTAL
# underline: true
#
# flex_pages:
# type: section
# title: Flex Pages
#
# pages.type:
# type: select
# label: PLUGIN_ADMIN.PAGES_TYPE
# highlight: regular
# help: PLUGIN_ADMIN.PAGES_TYPE_HELP
# options:
# regular: PLUGIN_ADMIN.REGULAR
# flex: PLUGIN_ADMIN.FLEX
#
# pages.type:
# type: hidden

View File

@@ -122,6 +122,19 @@ config:
fields:
- key
- email
- username
- fullname
relationships:
media:
type: media
cardinality: to-many
avatar:
type: media
cardinality: to-one
# roles:
# type: user-groups
# cardinality: to-many
blueprints:
configure:

View File

@@ -113,6 +113,7 @@ config:
fields:
- key
- groupname
- readableName
- description
blueprints:

View File

@@ -320,6 +320,18 @@ form:
fields:
header.redirect_default_route:
type: toggle
toggleable: true
label: PLUGIN_ADMIN.REDIRECT_DEFAULT_ROUTE
help: PLUGIN_ADMIN.REDIRECT_DEFAULT_ROUTE_HELP
config-highlight@: system.pages.redirect_default_route
options:
1: PLUGIN_ADMIN.YES
0: PLUGIN_ADMIN.NO
validate:
type: bool
header.routes.default:
type: text
toggleable: true

View File

@@ -51,17 +51,13 @@ form:
type: bool
header.permissions.authors:
type: list
type: array
toggleable: true
value_only: true
placeholder_value: PLUGIN_ADMIN.USERNAME
label: PLUGIN_ADMIN.PAGE_AUTHORS
help: PLUGIN_ADMIN.PAGE_AUTHORS_HELP
fields:
value:
type: text
placeholder: PLUGIN_ADMIN.USERNAME
style: vertical
header.permissions.groups:
ignore@: true
type: acl_picker

View File

@@ -11,10 +11,21 @@ form:
avatar:
type: file
size: large
destination: 'user://accounts/avatars'
destination: 'account://avatars'
multiple: false
random_name: true
multiavatar_only:
type: conditional
condition: config.system.accounts.avatar == 'multiavatar'
fields:
avatar_hash:
type: text
label: ''
placeholder: 'e.g. dceaadcfda491f4e45'
description: PLUGIN_ADMIN.AVATAR_HASH
size: large
content:
type: section
title: PLUGIN_ADMIN.ACCOUNT

View File

@@ -199,7 +199,7 @@ types:
gz:
type: file
thumb: media/thumb-gz.png
mime: application/gzip
mime: application/x-gzip
tar:
type: file
thumb: media/thumb-tar.png
@@ -216,3 +216,8 @@ types:
type: file
thumb: media/thumb-json.png
mime: application/json
vcf:
type: file
thumb: media/thumb-vcf.png
mime: text/x-vcard

View File

@@ -32,8 +32,16 @@ xss_dangerous_tags:
- base
uploads_dangerous_extensions:
- php
- php2
- php3
- php4
- php5
- phar
- phtml
- html
- htm
- shtml
- shtm
- js
- exe
sanitize_svg: true

View File

@@ -25,7 +25,7 @@ routes:
# '/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)
route: '/blog' # Custom value added (accessible via site.blog.route)
#menu: # Menu Example
# - text: Source

View File

@@ -28,6 +28,7 @@ languages:
override_locale: false # Override the default or system locale with language specific one
content_fallback: {} # Custom language fallbacks. eg: {fr: ['fr', 'en']}
pages_fallback_only: false # DEPRECATED: Use `content_fallback` instead
debug: false # Debug language detection
home:
alias: '/home' # Default path for home, ie /
@@ -35,6 +36,7 @@ home:
pages:
type: regular # EXPERIMENTAL: Page type: regular or flex
dirs: ['page://'] # Advanced functionality, allows for multiple page paths
theme: quark # Default theme (defaults to "quark" theme)
order:
by: default # Order pages by "default", "alpha" or "date"
@@ -144,6 +146,7 @@ log:
handler: file # Log handler. Currently supported: file | syslog
syslog:
facility: local6 # Syslog facilities output
tag: grav # Syslog tag. Default: "grav".
debugger:
enabled: false # Enable Grav debugger and following settings
@@ -208,6 +211,7 @@ http:
accounts:
type: regular # EXPERIMENTAL: Account type: regular or flex
storage: file # EXPERIMENTAL: Flex storage type: file or folder
avatar: gravatar # Avatar generator [multiavatar|gravatar]
flex:
cache:

View File

@@ -3,13 +3,13 @@
/**
* @package Grav\Core
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
// Some standard defines
define('GRAV', true);
define('GRAV_VERSION', '1.7.27.1');
define('GRAV_VERSION', '1.7.44');
define('GRAV_SCHEMA', '1.7.0_2020-11-20_1');
define('GRAV_TESTING', false);
@@ -99,3 +99,6 @@ define('RAW_CONTENT', 1);
define('TWIG_CONTENT', 2);
define('TWIG_CONTENT_LIST', 3);
define('TWIG_TEMPLATES', 4);
// Filters
define('GRAV_SANITIZE_STRING', 5001);

View File

@@ -2,7 +2,7 @@
/**
* @package Grav\Core
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -5,6 +5,7 @@ GRAV:
BAD_DATE: Невалидна дата
AGO: преди
FROM_NOW: от сега
JUST_NOW: току що
SECOND: секунда
MINUTE: минута
HOUR: час
@@ -60,3 +61,12 @@ GRAV:
- 'петък'
- 'събота'
- 'неделя'
YES: "Да"
NO: "Не"
CRON:
EVERY: всеки
EVERY_HOUR: Всеки час
EVERY_MINUTE: Всяка минута
EVERY_DAY_OF_WEEK: Всеки ден от седмицата
EVERY_DAY_OF_MONTH: Всеки ден от месеца
EVERY_MONTH: Всеки месец

View File

@@ -2,14 +2,14 @@
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```"
INFLECTOR_UNCOUNTABLE:
- 'equipment'
- ''
- 'informació'
- 'rice'
- 'money'
- 'species'
- 'series'
- 'fish'
- 'sheep'
- ''
- ''
- ''
- ''
- ''
- ''
NICETIME:
NO_DATE_PROVIDED: No s'ha proporcionat data
BAD_DATE: Data invàlida

View File

@@ -1,6 +1,6 @@
---
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```"
FRONTMATTER_ERROR_PAGE: "---\ntitle: %1$s\n---\n\n# Chyba: Chybná hlavička\n\nCesta: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_PLURALS:
'/(quiz)$/i': '\1zes'
'/^(ox)$/i': '\1en'

40
system/languages/eo.yaml Normal file
View File

@@ -0,0 +1,40 @@
---
GRAV:
FRONTMATTER_ERROR_PAGE: "---\ntitle: %1$s\n---\n\n# Eraro: Nevalida Frontmatter\n\nVojo: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_PLURALS:
'/sis$/i': 'j'
NICETIME:
FROM_NOW: ekde nun
JUST_NOW: Ĝuste nun
SECOND: sekundo
MINUTE: minuto
HOUR: horo
DAY: tago
WEEK: semajno
MONTH: monato
YEAR: jaro
DECADE: jardeko
SEC: sek.
MIN: min.
HR: horo
SECOND_PLURAL: sekundoj
MINUTE_PLURAL: minutoj
HOUR_PLURAL: horoj
DAY_PLURAL: tagoj
WEEK_PLURAL: semajnoj
MONTH_PLURAL: monatoj
YEAR_PLURAL: jaroj
DECADE_PLURAL: jardekoj
MONTHS_OF_THE_YEAR:
- 'januaro'
- 'februaro'
- 'marto'
- 'aprilo'
- ''
- ''
- ''
- ''
- ''
- ''
- ''
- ''

View File

@@ -21,9 +21,9 @@ GRAV:
'sex': 'sexos'
'move': 'movido'
INFLECTOR_ORDINALS:
'first': 'ro'
'second': 'do'
'third': 'ro'
'first': ''
'second': ''
'third': ''
NICETIME:
NO_DATE_PROVIDED: No se proporcionó fecha
BAD_DATE: Fecha errónea
@@ -101,7 +101,7 @@ GRAV:
TEXT_DOW: ' en <b />'
TEXT_MONTH: ' de<b />'
TEXT_DOM: ' en<b />'
ERROR1: '¡La etiqueta %s no está soportada!'
ERROR1: No se admite la etiqueta %s.
ERROR2: El número de elementos es erróneo
ERROR3: El jquery_element debería establecerse en la configuración del jqCron
ERROR4: Expresión no reconocida

View File

@@ -13,12 +13,12 @@ GRAV:
'/(tive)s$/i': '\1'
'/(hive)s$/i': '\1'
INFLECTOR_UNCOUNTABLE:
- 'equipment'
- ''
- 'informatsioon'
- 'riis'
- 'raha'
- 'species'
- 'series'
- ''
- ''
- 'kala'
- 'lammas'
INFLECTOR_IRREGULAR:
@@ -70,6 +70,7 @@ GRAV:
VALIDATION_FAIL: '<b>Kinnitamine nurjus:</b>'
INVALID_INPUT: 'Vigane sisend:'
MISSING_REQUIRED_FIELD: 'Nõutud väli puudub:'
XSS_ISSUES: "Tuvastasime '%s' väljal võimaliku XSS-riski"
MONTHS_OF_THE_YEAR:
- 'jaanuar'
- 'veebruar'
@@ -91,11 +92,14 @@ GRAV:
- 'reede'
- 'laupäev'
- 'pühapäev'
YES: "Jah"
NO: "Ei"
CRON:
EVERY: iga
EVERY_HOUR: iga tund
EVERY_MINUTE: iga minut
EVERY_DAY_OF_WEEK: iga nädala päev
EVERY_DAY_OF_WEEK: nädala igal päeval
EVERY_DAY_OF_MONTH: kuu igal päeval
EVERY_MONTH: iga kuu
TEXT_PERIOD: Iga <b />
ERROR1: Silt %s pole toetatud!

View File

@@ -45,12 +45,12 @@ GRAV:
'/([ti])a$/i': '\1um'
'/(n)ews$/i': '\1ews'
INFLECTOR_UNCOUNTABLE:
- 'equipment'
- 'information'
- ''
- ''
- 'riisi'
- 'raha'
- 'lajit'
- 'series'
- ''
- 'kala'
- 'lammas'
INFLECTOR_IRREGULAR:

View File

@@ -22,8 +22,27 @@ GRAV:
'/$/': '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': '\1ouvelles'
INFLECTOR_UNCOUNTABLE:
- 'équipement'

View File

@@ -1,11 +1,27 @@
---
GRAV:
FRONTMATTER_ERROR_PAGE: "---\nכותרת: %1$s\n---\n# שגיאה: Fronmatter לא חוקי\nנתיב: `%2$s`\n**%3$s**\n```\n%4$s\n```"
INFLECTOR_UNCOUNTABLE:
- 'ציוד'
- 'מידע'
- 'אורז'
- 'כסף'
- 'מינים'
- 'סדרה'
- 'דג'
- 'כבשה'
INFLECTOR_IRREGULAR:
'person': 'אנשים'
'man': 'גברים'
'child': 'ילדים'
'sex': 'מינים'
'move': 'מהלכים'
NICETIME:
NO_DATE_PROVIDED: לא סופק תאריך
BAD_DATE: תאריך פגום
AGO: לפני
FROM_NOW: כרגע
JUST_NOW: כרגע
SECOND: שנייה
MINUTE: דקה
HOUR: שעה
@@ -40,6 +56,7 @@ GRAV:
VALIDATION_FAIL: '<b>האימות נכשל:</b>'
INVALID_INPUT: 'קלט לא חוקי'
MISSING_REQUIRED_FIELD: 'שדות חובה חסרים:'
XSS_ISSUES: "בעיות XSS פוטנציאליות זוהו בשדה '%s'"
MONTHS_OF_THE_YEAR:
- 'ינואר'
- 'פברואר'
@@ -61,3 +78,22 @@ GRAV:
- 'שישי'
- 'שבת'
- 'ראשון'
YES: "כן"
NO: "לא"
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,8 +1,9 @@
---
GRAV:
FRONTMATTER_ERROR_PAGE: "---\nnaslov: %1$s\n---\n\n# Pogreška: nevažeći frontmatter\n\nPutanja datoteke: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_UNCOUNTABLE:
- 'oprema'
- 'informacije'
- 'informacija'
- 'riža'
- 'novac'
- 'vrsta'
@@ -15,11 +16,17 @@ GRAV:
'child': 'djeca'
'sex': 'spolovi'
'move': 'Pomakni'
INFLECTOR_ORDINALS:
'default': '.'
'first': '.'
'second': '.'
'third': '.'
NICETIME:
NO_DATE_PROVIDED: Datum nije upisan
BAD_DATE: Pogrešan datum
AGO: prije
FROM_NOW: od sada
JUST_NOW: upravo sad
SECOND: sekunda
MINUTE: minuta
HOUR: sat
@@ -29,6 +36,7 @@ GRAV:
YEAR: godina
DECADE: desetljeće
SEC: sek
MIN: min
HR: sat
WK: t
MO: m
@@ -53,6 +61,7 @@ GRAV:
VALIDATION_FAIL: '<b>Validacija nije uspjela:</b>'
INVALID_INPUT: 'Pogrešan unos u'
MISSING_REQUIRED_FIELD: 'Nedostaje obavezno polje:'
XSS_ISSUES: "Potencijalni XSS problemi otkriveni u polju '%s'"
MONTHS_OF_THE_YEAR:
- 'Siječanj'
- 'Veljača'
@@ -74,3 +83,22 @@ GRAV:
- 'Petak'
- 'Subota'
- 'Nedjelja'
YES: "Da"
NO: "Ne"
CRON:
EVERY: svaki
EVERY_HOUR: svaki sat
EVERY_MINUTE: svake minute
EVERY_DAY_OF_WEEK: svaki dan u tjednu
EVERY_DAY_OF_MONTH: svaki dan u mjesecu
EVERY_MONTH: svaki mjesec
TEXT_PERIOD: Svakih <b />
TEXT_MINS: ' u <b /> minut(e) nakon sata'
TEXT_TIME: ' u <b />:<b />'
TEXT_DOW: ' na <b />'
TEXT_MONTH: ' <b />'
TEXT_DOM: ' na <b />'
ERROR1: Oznaka %s nije podržana!
ERROR2: Pogrešan broj elemenata.
ERROR3: jquery_element treba postaviti u postavke jqCron
ERROR4: Izraz nije prepoznat

View File

@@ -2,14 +2,14 @@
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

View File

@@ -1,12 +1,12 @@
---
GRAV:
INFLECTOR_UNCOUNTABLE:
- 'equipment'
- ''
- '情報'
- 'rice'
- ''
- 'お金'
- 'species'
- 'series'
- ''
- ''
- '魚'
- 'ヒツジ'
INFLECTOR_IRREGULAR:

View File

@@ -1,11 +1,23 @@
---
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': '사람들'
NICETIME:
NO_DATE_PROVIDED: 제공된 날짜가 없습니다
BAD_DATE: 잘못된 날짜
AGO:
FROM_NOW:
JUST_NOW: 방금
SECOND:
MINUTE:
HOUR: 시간
@@ -40,6 +52,7 @@ GRAV:
VALIDATION_FAIL: '<b>유효성 검사 실패:</b>'
INVALID_INPUT: '잘못된 입력'
MISSING_REQUIRED_FIELD: '누락 된 필수 필드:'
XSS_ISSUES: "'%s' 필드에서 잠재적인 XSS 문제가 감지되었습니다."
MONTHS_OF_THE_YEAR:
- '일월'
- '이월'
@@ -61,3 +74,17 @@ GRAV:
- '금요일'
- '토요일'
- '일요일'
YES: "네"
NO: "아니요"
CRON:
EVERY: 모두
EVERY_HOUR: 매 시간
EVERY_MINUTE: 매 분
EVERY_DAY_OF_WEEK: 일주일간 매일
EVERY_DAY_OF_MONTH: 일개월간 매일
EVERY_MONTH: 매달
TEXT_PERIOD: 모든 <b />
ERROR1: '%s 태그는 지원되지 않습니다. '
ERROR2: 잘못된 요소 수
ERROR3: jquery_element는 jqCron 설정에서 설정할 수 있습니다.
ERROR4: 인식할 수 없는 표현

View File

@@ -2,8 +2,8 @@
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'

84
system/languages/lv.yaml Normal file
View File

@@ -0,0 +1,84 @@
---
GRAV:
FRONTMATTER_ERROR_PAGE: "---\nNosaukums: %1$s\n---\n\n# Kļūda: Nederīgs Frontmatter\n\nCeļš: `%2$s`\n\n**%3$s**\n\n```\n%4$s\n```"
INFLECTOR_ORDINALS:
'default': '.'
'first': '.'
'second': '.'
'third': '.'
NICETIME:
NO_DATE_PROVIDED: Nav norādīts datums
BAD_DATE: Nederīgs datums
AGO: iepriekš
FROM_NOW: no šī brīža
JUST_NOW: tikko
SECOND: sekundes
MINUTE: minūte
HOUR: stunda
DAY: diena
WEEK: nedēļa
MONTH: mēnesis
YEAR: gads
DECADE: dekāde
SEC: s
MIN: m
HR: st
WK: ned
MO: mēn.
YR: g.
DEC: dec
SECOND_PLURAL: sekundes
MINUTE_PLURAL: minūtes
HOUR_PLURAL: stundas
DAY_PLURAL: dienas
WEEK_PLURAL: nedēļas
MONTH_PLURAL: mēneši
YEAR_PLURAL: gadi
DECADE_PLURAL: desmitgades
SEC_PLURAL: s
MIN_PLURAL: m
HR_PLURAL: st.
WK_PLURAL: ned.
MO_PLURAL: mēn.
YR_PLURAL: g.
DEC_PLURAL: d
FORM:
VALIDATION_FAIL: '<b>Validācija neizdevās:</b>'
INVALID_INPUT: 'Nederīga ievade'
MISSING_REQUIRED_FIELD: 'Laukā trūkst datu'
XSS_ISSUES: "Atrastas iespējamas XSS problēmas laukā '%s'"
MONTHS_OF_THE_YEAR:
- 'Janvāris'
- 'Februāris'
- 'Marts'
- 'Aprīlis'
- 'Maijs'
- 'Jūnijs'
- 'Jūlijs'
- 'Augusts'
- 'Septembris'
- 'Oktobris'
- 'Novembris'
- 'Decembris'
DAYS_OF_THE_WEEK:
- 'Pirmdiena'
- 'Otrdiena'
- 'Trešdiena'
- 'Ceturtdiena'
- 'Piektdiena'
- 'Sestdiena'
- 'Svētdiena'
YES: "Jā"
NO: "Nē"
CRON:
EVERY: katru
EVERY_HOUR: katru stundu
EVERY_MINUTE: katru minūti
EVERY_DAY_OF_WEEK: katru nedēļas dienu
EVERY_DAY_OF_MONTH: katru mēneša dienu
EVERY_MONTH: katru mēnesi
TEXT_PERIOD: Katru <b />
ERROR1: Marķieris %s nav atbalstīts!
ERROR2: Nederīgs elementu skaits
ERROR3: jquery_element nevajadzētu definēt jqCron iestatījumos
ERROR4: Neatpazīta izteiksme

147
system/languages/my.yaml Normal file
View File

@@ -0,0 +1,147 @@
---
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```"
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': 'nd'
'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: 'လိုအပ်သောအကွက်ပျောက်နေသည်'
XSS_ISSUES: "XSS ပြဿနာ ဖြစ်နိုင်ချေ ကို '%s' အကွက်တွင် တွေ့"
MONTHS_OF_THE_YEAR:
- 'ဇန်နဝါရီ'
- 'ဖေဖော်ဝါရီ'
- 'မတ်'
- 'ဧပြီ'
- 'မေ'
- 'ဇွန်'
- 'ဇူလိုင်'
- 'သြဂုတ်'
- 'စက်တင်ဘာ'
- 'အောက်တိုဘာ'
- 'နိုဝင်ဘာ'
- 'ဒီဇင်ဘာ'
DAYS_OF_THE_WEEK:
- 'တနင်္လာ'
- ' အင်္ဂါ'
- 'ဗုဒ္ဓဟူး'
- 'ကြာသပတေး'
- 'သောကြာ'
- 'စနေ'
- 'တနင်္ဂနွေ'
YES: "လုပ်"
NO: "မလုပ်"
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

@@ -104,6 +104,7 @@ GRAV:
VALIDATION_FAIL: '<b>Validatie mislukt:</b>'
INVALID_INPUT: 'Ongeldige invoer in'
MISSING_REQUIRED_FIELD: 'Ontbrekend verplicht veld:'
XSS_ISSUES: "Mogelijke XSS-problemen ontdekt in '%s' veld"
MONTHS_OF_THE_YEAR:
- 'Januari'
- 'Februari'
@@ -125,6 +126,8 @@ GRAV:
- 'Vrijdag'
- 'Zaterdag'
- 'Zondag'
YES: "Ja"
NO: "Nee"
CRON:
EVERY: elke
EVERY_HOUR: elk uur

View File

@@ -6,10 +6,10 @@ GRAV:
INFLECTOR_UNCOUNTABLE:
- 'wyposażenie'
- 'informacja'
- 'rice'
- ''
- 'pieniądze'
- 'species'
- 'series'
- ''
- ''
- 'ryba'
- 'owca'
INFLECTOR_IRREGULAR:

View File

@@ -67,7 +67,7 @@ GRAV:
NICETIME:
NO_DATE_PROVIDED: Nenhuma data fornecida
BAD_DATE: Data inválida
AGO: atrás
AGO:
FROM_NOW: a partir de agora
JUST_NOW: mesmo agora
SECOND: segundo

View File

@@ -1,6 +1,16 @@
---
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_SINGULAR:
'/([octop|vir])i$/i': '\1us'
'/(cris|ax|test)es$/i': '\1is'
'/(shoe)s$/i': '\1'
'/([lr])ves$/i': '\1f'
'/(tive)s$/i': "\\1\n"
'/(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'
INFLECTOR_UNCOUNTABLE:
- 'экипировка'
- 'информация'

View File

@@ -1,9 +1,120 @@
---
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:
'/([m|l])ouse$/i': '\1අයිස්'
'/(matr|vert|ind)ix|ex$/i': '\1අයිස්'
'/(?:([^f])fe|([lr])f)$/i': '\1\2වෙස්'
'/([ti])um$/i': '\1අ'
'/(buffal|tomat)o$/i': '\1ඕඑස්'
'/(bu)s$/i': '\1සෙස්'
INFLECTOR_SINGULAR:
'/(quiz)zes$/i': '\1'
'/^(ox)en/i': '\1'
'/(alias|status)es$/i': '\1'
'/([octop|vir])i$/i': '\1 අප'
'/(cris|ax|test)es$/i': '\1 වේ'
'/(o)es$/i': '\1'
'/(bus)es$/i': '\1'
'/([m|l])ice$/i': '\1 භාවිතා කරන්න'
'/(x|ch|ss|sh)es$/i': '\1'
'/(m)ovies$/i': '\1ඕවී'
'/(s)eries$/i': '\1මාලා'
'/(^analy)ses$/i': '\1සිස්'
'/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i': '\1\2සිස්'
'/([ti])a$/i': '\1ම්'
INFLECTOR_UNCOUNTABLE:
- 'උපකරණ'
- 'විස්තර'
- 'සහල්'
- 'මුදල'
- 'විශේෂ'
- 'මාලාවක්'
- 'මාළු'
- 'බැටළුවන්'
INFLECTOR_IRREGULAR:
'person': 'මහජන'
'man': 'මිනිසුන්'
'child': 'දරුවන්'
'sex': 'ලිංගිකත්වය'
'move': 'චලනය කරයි'
INFLECTOR_ORDINALS:
'first': 'ශාන්ත'
NICETIME:
NO_DATE_PROVIDED: දිනයක් සපයා නැත
BAD_DATE: නරක දිනය
AGO: පෙර
FROM_NOW: මෙතැන් සිට
JUST_NOW: මේ දැන්
SECOND: දෙවැනි
MINUTE: මිනිත්තුව
HOUR: පැය
DAY: දින
WEEK: සතිය
MONTH: මස
YEAR: වර්ෂය
DECADE: දශකය
SEC: තත්පර
MIN: මිනි
HR: පැය
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: 'අවශ්‍ය ක්ෂේත්‍රය අස්ථානගත වී ඇත:'
XSS_ISSUES: "විභව XSS ගැටළු '%s' ක්ෂේත්‍රයේ අනාවරණය විය"
MONTHS_OF_THE_YEAR:
- 'ජනවාරි'
- 'පෙබරවාරි'
- 'මාර්තු'
- 'අප්රේල්'
- 'මැයි'
- 'ජූනි'
- 'ජුලි'
- 'අගෝස්තු'
- 'සැප්තැම්බර්'
- 'ඔක්තෝම්බර්'
- 'නොවැම්බර්'
- 'දෙසැම්බර්'
DAYS_OF_THE_WEEK:
- 'සඳුදා'
- 'අඟහරුවාදා'
- 'බදාදා'
- 'බ්රහස්පතින්දා'
- 'සිකුරාදා'
- 'සෙනසුරාදා'
- 'ඉරිදා'
YES: "ඔව්"
NO: "නැත"
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,6 +1,17 @@
---
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```"
INFLECTOR_UNCOUNTABLE:
- 'oprema'
- 'informacija'
- 'riž'
- 'denar'
- 'vrste'
- 'serija'
- 'riba'
- 'ovca'
INFLECTOR_IRREGULAR:
'person': 'ljudje'
NICETIME:
NO_DATE_PROVIDED: Datum ni na voljo
BAD_DATE: Neveljaven datum
@@ -43,15 +54,15 @@ GRAV:
- 'Januar'
- 'Februar'
- 'Marec'
- 'April'
- 'april'
- 'Maj'
- 'Junij'
- 'Julij'
- 'Avgust'
- 'September'
- 'september'
- 'Oktober'
- 'November'
- 'December'
- 'november'
- 'december'
DAYS_OF_THE_WEEK:
- 'Ponedeljek'
- 'Torek'
@@ -60,3 +71,15 @@ GRAV:
- 'Petek'
- 'Sobota'
- 'Nedelja'
YES: "Da"
NO: "Ne"
CRON:
EVERY: vsak
EVERY_HOUR: vsako uro
EVERY_MINUTE: vsako minuto
EVERY_DAY_OF_WEEK: vsak dan v tednu
EVERY_DAY_OF_MONTH: vsak dan v mesecu
EVERY_MONTH: vsak mesec
ERROR1: Oznaka %s ni podprta!
ERROR2: Napačno število elementov.
ERROR4: Neznan izraz

147
system/languages/sw.yaml Normal file
View File

@@ -0,0 +1,147 @@
---
GRAV:
FRONTMATTER_ERROR_PAGE: "---\nkichwa: %1$s\n---\n\n# Kosa: Mbele ya Mbele\n\nNjia: `%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:
- 'vifaa'
- 'habari'
- 'mchele'
- 'pesa'
- 'spishi'
- 'mfululizo'
- 'samaki'
- 'kondoo'
INFLECTOR_IRREGULAR:
'person': 'watu'
'man': 'wanaume'
'child': 'watoto'
'sex': 'jinsia'
'move': 'songa'
INFLECTOR_ORDINALS:
'default': 'th'
'first': 'st'
'second': 'nd'
'third': 'rd'
NICETIME:
NO_DATE_PROVIDED: Hakuna tarehe iliyotolewa
BAD_DATE: Tarehe mbaya
AGO: zilizopita
FROM_NOW: kuanzia sasa
JUST_NOW: sasa hivi
SECOND: pili
MINUTE: dakika
HOUR: saa
DAY: siku
WEEK: wiki
MONTH: mwezi
YEAR: mwaka
DECADE: muongo
SEC: sec
MIN: min
HR: hr
WK: wk
MO: mo
YR: yr
DEC: dec
SECOND_PLURAL: sekunde
MINUTE_PLURAL: dakika
HOUR_PLURAL: masaa
DAY_PLURAL: siku
WEEK_PLURAL: wiki
MONTH_PLURAL: miezi
YEAR_PLURAL: miaka
DECADE_PLURAL: miongo
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> Uthibitishaji umeshindwa: </b>'
INVALID_INPUT: 'Ingizo batili katika'
MISSING_REQUIRED_FIELD: 'Sehemu inayokosekana inahitajika:'
XSS_ISSUES: "Masuala yanayowezekana ya XSS yamegunduliwa katika uwanja wa '% s"
MONTHS_OF_THE_YEAR:
- 'Januari'
- 'Februari'
- 'Machi'
- 'Aprili'
- 'Mei'
- 'Juni'
- 'Julai'
- 'Agosti'
- 'Septemba'
- 'Oktoba'
- 'Novemba'
- 'Desemba'
DAYS_OF_THE_WEEK:
- 'Jumatatu'
- 'Jumanne'
- 'Jumatano'
- 'Alhamisi'
- 'Ijumaa'
- 'Jumamosi'
- 'Jumapili'
YES: "Ndiyo"
NO: "Hapana"
CRON:
EVERY: kila
EVERY_HOUR: kila saa
EVERY_MINUTE: kila dakika
EVERY_DAY_OF_WEEK: kila siku ya juma
EVERY_DAY_OF_MONTH: kila siku ya mwezi
EVERY_MONTH: kila mwezi
TEXT_PERIOD: Kila <b />
TEXT_MINS: ' saa <b /> dakika (saa) zilizopita saa'
TEXT_TIME: ' saa <b />: <b />'
TEXT_DOW: ' kwenye <b />'
TEXT_MONTH: ' ya <b />'
TEXT_DOM: ' kwenye <b />'
ERROR1: Lebo% s haitumiki!
ERROR2: Idadi mbaya ya vitu
ERROR3: Jquery_element inapaswa kuwekwa kwenye mipangilio ya jqCron
ERROR4: Maneno yasiyotambulika

View File

@@ -1,11 +1,75 @@
---
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```"
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'
INFLECTOR_UNCOUNTABLE:
- 'อุปกรณ์'
- 'ข้อมูล'
- 'ข้าว'
- 'เงิน'
- 'สายพันธุ์'
- 'ซีรีส์'
- 'ปลา'
- 'แกะ'
INFLECTOR_IRREGULAR:
'person': 'คน'
'man': 'ผู้ชาย'
'child': 'เด็กเด็ก'
'sex': 'เพศ'
'move': 'ย้าย'
INFLECTOR_ORDINALS:
'default': 'th'
'first': 'st'
'second': 'nd'
'third': 'rd'
NICETIME:
NO_DATE_PROVIDED: ไม่มีวันที่ให้
BAD_DATE: รูปแบบวันที่ผิด
AGO: ที่ผ่านมา
FROM_NOW: จากตอนนี้
JUST_NOW: เมื่อกี้
SECOND: วินาที
MINUTE: นาที
HOUR: ชั่วโมง
@@ -17,6 +81,10 @@ GRAV:
SEC: วิ
MIN: นาที
HR: ชม.
WK: wk
MO: mo
YR: yr
DEC: dec
SECOND_PLURAL: วินาที
MINUTE_PLURAL: นาที
HOUR_PLURAL: ชั่วโมง
@@ -28,11 +96,15 @@ GRAV:
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: 'ขาดข้อมูลที่จำเป็น:'
XSS_ISSUES: "ตรวจพบปัญหา XSS ที่เป็นไปได้ในฟิลด์ '%s'"
MONTHS_OF_THE_YEAR:
- 'มกราคม'
- 'กุมภาพันธ์'
@@ -54,3 +126,22 @@ GRAV:
- 'ศุกร์'
- 'เสาร์'
- 'อาทิตย์'
YES: "ใช่"
NO: "ไม่"
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

@@ -125,6 +125,8 @@ GRAV:
- '星期五'
- '星期六'
- '星期日'
YES: "是"
NO: "否"
CRON:
EVERY: 每隔
EVERY_HOUR: 每小时

View File

@@ -62,6 +62,8 @@ GRAV:
- '星期五'
- '星期六'
- '星期日'
YES: "是"
NO: "否"
CRON:
EVERY:
EVERY_HOUR: 每小時

View File

@@ -125,6 +125,8 @@ GRAV:
- '星期五'
- '星期六'
- '星期日'
YES: "是"
NO: "否"
CRON:
EVERY: 每隔
EVERY_HOUR: 每小时

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Core
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
@@ -16,8 +16,8 @@ use Grav\Common\Assets\Traits\TestingAssetsTrait;
use Grav\Common\Config\Config;
use Grav\Framework\Object\PropertyObject;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;
use function array_slice;
use function call_user_func_array;
use function count;
use function func_get_args;
use function is_array;
@@ -174,6 +174,10 @@ class Assets extends PropertyObject
*/
public function add($asset)
{
if (!$asset) {
return $this;
}
$args = func_get_args();
// More than one asset
@@ -198,7 +202,8 @@ class Assets extends PropertyObject
call_user_func_array([$this, 'add'], $args);
} else {
// Get extension
$extension = pathinfo(parse_url($asset, PHP_URL_PATH), PATHINFO_EXTENSION);
$path = parse_url($asset, PHP_URL_PATH);
$extension = $path ? Utils::pathinfo($path, PATHINFO_EXTENSION) : '';
// JavaScript or CSS
if ($extension !== '') {
@@ -263,7 +268,13 @@ class Assets extends PropertyObject
}
// Add timestamp
$options['timestamp'] = $this->timestamp;
$timestamp_override = $options['timestamp'] ?? true;
if (filter_var($timestamp_override, FILTER_VALIDATE_BOOLEAN)) {
$options['timestamp'] = $this->timestamp;
} else {
$options['timestamp'] = null;
}
// Set order
$group = $options['group'] ?? 'head';
@@ -387,6 +398,9 @@ class Assets extends PropertyObject
if ($key === 'position' && $value === 'pipeline') {
$type = $asset->getType();
if ($type === 'jsmodule') {
$type = 'js_module';
}
if ($asset->getRemote() && $this->{strtolower($type) . '_pipeline_include_externals'} === false && $asset['position'] === 'pipeline') {
if ($this->{strtolower($type) . '_pipeline_before_excludes'}) {
@@ -525,8 +539,8 @@ class Assets extends PropertyObject
/**
* Build the Javascript Modules tags
*
* @param $group
* @param $attributes
* @param string $group
* @param array $attributes
* @return string
*/
public function jsModule($group = 'head', $attributes = [])
@@ -534,6 +548,11 @@ class Assets extends PropertyObject
return $this->render(self::JS_MODULE, $group, $attributes);
}
/**
* @param string $group
* @param array $attributes
* @return string
*/
public function all($group = 'head', $attributes = [])
{
$output = $this->css($group, $attributes, false);
@@ -543,11 +562,19 @@ class Assets extends PropertyObject
return $output;
}
/**
* @param class-string $type
* @return bool
*/
protected function isValidType($type)
{
return in_array($type, [self::CSS_TYPE, self::JS_TYPE, self::JS_MODULE_TYPE]);
}
/**
* @param class-string $type
* @return string
*/
protected function getBaseType($type)
{
switch ($type) {

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Assets
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
@@ -267,4 +267,17 @@ abstract class BaseAsset extends PropertyObject
{
return '';
}
/**
* Finds relative JS urls() and rewrites the URL with an absolute one
*
* @param string $file the css source file
* @param string $dir local relative path to the css file
* @param bool $local is this a local or remote asset
* @return string
*/
protected function jsRewrite($file, $dir, $local)
{
return '';
}
}

View File

@@ -0,0 +1,207 @@
<?php
/**
* @package Grav\Common\Assets
*
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
namespace Grav\Common\Assets;
use Grav\Common\Assets;
use Grav\Common\Config\Config;
use Grav\Common\Grav;
use Grav\Framework\ContentBlock\HtmlBlock;
use function strlen;
/**
* Register block assets into Grav.
*/
class BlockAssets
{
/**
* @param HtmlBlock $block
* @return void
*/
public static function registerAssets(HtmlBlock $block): void
{
$grav = Grav::instance();
/** @var Assets $assets */
$assets = $grav['assets'];
$types = $block->getAssets();
foreach ($types as $type => $groups) {
switch ($type) {
case 'frameworks':
static::registerFrameworks($assets, $groups);
break;
case 'styles':
static::registerStyles($assets, $groups);
break;
case 'scripts':
static::registerScripts($assets, $groups);
break;
case 'links':
static::registerLinks($assets, $groups);
break;
case 'html':
static::registerHtml($assets, $groups);
break;
}
}
}
/**
* @param Assets $assets
* @param array $list
* @return void
*/
protected static function registerFrameworks(Assets $assets, array $list): void
{
if ($list) {
throw new \RuntimeException('Not Implemented');
}
}
/**
* @param Assets $assets
* @param array $groups
* @return void
*/
protected static function registerStyles(Assets $assets, array $groups): void
{
$grav = Grav::instance();
/** @var Config $config */
$config = $grav['config'];
foreach ($groups as $group => $styles) {
foreach ($styles as $style) {
switch ($style[':type']) {
case 'file':
$options = [
'priority' => $style[':priority'],
'group' => $group,
'type' => $style['type'],
'media' => $style['media']
] + $style['element'];
$assets->addCss(static::getRelativeUrl($style['href'], $config->get('system.assets.css_pipeline')), $options);
break;
case 'inline':
$options = [
'priority' => $style[':priority'],
'group' => $group,
'type' => $style['type'],
] + $style['element'];
$assets->addInlineCss($style['content'], $options);
break;
}
}
}
}
/**
* @param Assets $assets
* @param array $groups
* @return void
*/
protected static function registerScripts(Assets $assets, array $groups): void
{
$grav = Grav::instance();
/** @var Config $config */
$config = $grav['config'];
foreach ($groups as $group => $scripts) {
$group = $group === 'footer' ? 'bottom' : $group;
foreach ($scripts as $script) {
switch ($script[':type']) {
case 'file':
$options = [
'group' => $group,
'priority' => $script[':priority'],
'src' => $script['src'],
'type' => $script['type'],
'loading' => $script['loading'],
'defer' => $script['defer'],
'async' => $script['async'],
'handle' => $script['handle']
] + $script['element'];
$assets->addJs(static::getRelativeUrl($script['src'], $config->get('system.assets.js_pipeline')), $options);
break;
case 'inline':
$options = [
'priority' => $script[':priority'],
'group' => $group,
'type' => $script['type'],
'loading' => $script['loading']
] + $script['element'];
$assets->addInlineJs($script['content'], $options);
break;
}
}
}
}
/**
* @param Assets $assets
* @param array $groups
* @return void
*/
protected static function registerLinks(Assets $assets, array $groups): void
{
foreach ($groups as $group => $links) {
foreach ($links as $link) {
$href = $link['href'];
$options = [
'group' => $group,
'priority' => $link[':priority'],
'rel' => $link['rel'],
] + $link['element'];
$assets->addLink($href, $options);
}
}
}
/**
* @param Assets $assets
* @param array $groups
* @return void
*/
protected static function registerHtml(Assets $assets, array $groups): void
{
if ($groups) {
throw new \RuntimeException('Not Implemented');
}
}
/**
* @param string $url
* @param bool $pipeline
* @return string
*/
protected static function getRelativeUrl($url, $pipeline)
{
$grav = Grav::instance();
$base = rtrim($grav['base_url'], '/') ?: '/';
if (strpos($url, $base) === 0) {
if ($pipeline) {
// Remove file timestamp if CSS pipeline has been enabled.
$url = preg_replace('|[?#].*|', '', $url);
}
return substr($url, strlen($base) - 1);
}
return $url;
}
}

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Assets
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Assets
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Assets
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Assets
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Assets
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Assets
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Assets
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Assets
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
@@ -34,7 +34,7 @@ class Pipeline extends PropertyObject
protected const JS_MODULE_ASSET = 3;
/** @const Regex to match CSS urls */
protected const CSS_URL_REGEX = '{url\(([\'\"]?)(.*?)\1\)}';
protected const CSS_URL_REGEX = '{url\(([\'\"]?)(.*?)\1\)|(@import)\s+([\'\"])(.*?)\4}';
/** @const Regex to match JS imports */
protected const JS_IMPORT_REGEX = '{import.+from\s?[\'|\"](.+?)[\'|\"]}';
@@ -257,9 +257,14 @@ class Pipeline extends PropertyObject
// Find any css url() elements, grab the URLs and calculate an absolute path
// Then replace the old url with the new one
$file = (string)preg_replace_callback(self::CSS_URL_REGEX, function ($matches) use ($dir, $local) {
$isImport = count($matches) > 3 && $matches[3] === '@import';
$old_url = $matches[2];
if ($isImport) {
$old_url = $matches[5];
} else {
$old_url = $matches[2];
}
// Ensure link is not rooted to web server, a data URL, or to a remote host
if (preg_match(self::FIRST_FORWARDSLASH_REGEX, $old_url) || Utils::startsWith($old_url, 'data:') || $this->isRemoteLink($old_url)) {
return $matches[0];
@@ -273,17 +278,21 @@ class Pipeline extends PropertyObject
$new_url = ($local ? $this->base_url : '') . $old_url;
return str_replace($matches[2], $new_url, $matches[0]);
if ($isImport) {
return str_replace($matches[5], $new_url, $matches[0]);
} else {
return str_replace($matches[2], $new_url, $matches[0]);
}
}, $file);
return $file;
}
/**
/**
* Finds relative JS urls() and rewrites the URL with an absolute one
*
* @param string $file the css source file
* @param string $dir , $local relative path to the css file
* @param string $dir local relative path to the css file
* @param bool $local is this a local or remote asset
* @return string
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Assets\Traits
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
@@ -192,6 +192,7 @@ trait AssetUtilsTrait
$querystring = '';
$asset = $asset ?? $this->asset;
$attributes = $this->attributes;
if (!empty($this->query)) {
if (Utils::contains($asset, '?')) {

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Assets\Traits
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Assets\Traits
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Backup
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
@@ -104,8 +104,8 @@ class Backups
*/
public function getBackupDownloadUrl($backup, $base_url)
{
$param_sep = $param_sep = Grav::instance()['config']->get('system.param_sep', ':');
$download = urlencode(base64_encode(basename($backup)));
$param_sep = Grav::instance()['config']->get('system.param_sep', ':');
$download = urlencode(base64_encode(Utils::basename($backup)));
$url = rtrim(Grav::instance()['uri']->rootUrl(true), '/') . '/' . trim(
$base_url,
'/'

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
@@ -177,7 +177,7 @@ class Cache extends Getters
public function purgeOldCache()
{
$cache_dir = dirname($this->cache_dir);
$current = basename($this->cache_dir);
$current = Utils::basename($this->cache_dir);
$count = 0;
foreach (new DirectoryIterator($cache_dir) as $file) {

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Config
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Config
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Config
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Config
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Config
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Config
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Config
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Config
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
@@ -182,13 +182,14 @@ class Setup extends Data
// If no environment is set, make sure we get one (CLI or hostname).
if (null === $environment) {
if (defined('GRAV_CLI')) {
$request = null;
$uri = null;
$environment = 'cli';
} else {
/** @var ServerRequestInterface $request */
$request = $container['request'];
$host = $request->getUri()->getHost();
$environment = Utils::substrToString($host, ':');
$uri = $request->getUri();
$environment = $uri->getHost();
}
}
@@ -401,7 +402,7 @@ class Setup extends Data
}
// Create security.yaml salt if it doesn't exist into existing configuration environment if possible.
$securityFile = basename(static::$securityFile);
$securityFile = Utils::basename(static::$securityFile);
$securityFolder = substr(static::$securityFile, 0, -\strlen($securityFile));
$securityFolder = $locator->findResource($securityFolder, true) ?: $locator->findResource($securityFolder, true, true);
$filename = "{$securityFolder}/{$securityFile}";

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Data
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
@@ -515,7 +515,7 @@ class Blueprint extends BlueprintForm
$success = $this->resolveActions($user, $actions);
}
if (!$success) {
$this->addPropertyRecursive($field, 'validate', ['ignore' => true]);
static::addPropertyRecursive($field, 'validate', ['ignore' => true]);
}
}
@@ -566,7 +566,7 @@ class Blueprint extends BlueprintForm
}
if ($matches) {
$this->addPropertyRecursive($field, 'validate', ['ignore' => true]);
static::addPropertyRecursive($field, 'validate', ['ignore' => true]);
return;
}
}
@@ -577,7 +577,7 @@ class Blueprint extends BlueprintForm
* @param mixed $value
* @return void
*/
protected function addPropertyRecursive(array &$field, $property, $value)
public static function addPropertyRecursive(array &$field, $property, $value)
{
if (is_array($value) && isset($field[$property]) && is_array($field[$property])) {
$field[$property] = array_merge_recursive($field[$property], $value);
@@ -587,7 +587,7 @@ class Blueprint extends BlueprintForm
if (!empty($field['fields'])) {
foreach ($field['fields'] as $key => &$child) {
$this->addPropertyRecursive($child, $property, $value);
static::addPropertyRecursive($child, $property, $value);
}
}
}

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Data
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
@@ -129,7 +129,8 @@ class BlueprintSchema extends BlueprintSchemaBase implements ExportInterface
$items = $name !== '' ? $this->getProperty($name)['fields'] ?? [] : $this->items;
foreach ($items as $key => $rules) {
$type = $rules['type'] ?? '';
if (!str_starts_with($type, '_') && !str_contains($key, '*')) {
$ignore = (bool) array_filter((array)($rules['validate']['ignore'] ?? [])) ?? false;
if (!str_starts_with($type, '_') && !str_contains($key, '*') && $ignore !== true) {
$list[$prefix . $key] = null;
}
}

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Data
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Data
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Data
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Data
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
@@ -246,7 +246,9 @@ class Validation
return false;
}
$max = (int)($params['max'] ?? 0);
$multiline = isset($params['multiline']) && $params['multiline'];
$max = (int)($params['max'] ?? ($multiline ? 65536 : 2048));
if ($max && $len > $max) {
return false;
}
@@ -256,7 +258,7 @@ class Validation
return false;
}
if ((!isset($params['multiline']) || !$params['multiline']) && preg_match('/\R/um', $value)) {
if (!$multiline && preg_match('/\R/um', $value)) {
return false;
}
@@ -317,6 +319,10 @@ class Validation
*/
public static function typeCommaList($value, array $params, array $field)
{
if (!isset($params['max'])) {
$params['max'] = 2048;
}
return is_array($value) ? true : self::typeText($value, $params, $field);
}
@@ -379,6 +385,10 @@ class Validation
*/
public static function typePassword($value, array $params, array $field)
{
if (!isset($params['max'])) {
$params['max'] = 256;
}
return self::typeText($value, $params, $field);
}
@@ -540,7 +550,7 @@ class Validation
$step = (float)$params['step'];
// Count of how many steps we are above/below the minimum value.
$pos = ($value - $min) / $step;
$pos = round($pos, 10);
return is_int(static::filterNumber($pos, $params, $field));
}
@@ -621,10 +631,18 @@ class Validation
*/
public static function typeEmail($value, array $params, array $field)
{
if (empty($value)) {
return false;
}
if (!isset($params['max'])) {
$params['max'] = 320;
}
$values = !is_array($value) ? explode(',', preg_replace('/\s+/', '', $value)) : $value;
foreach ($values as $val) {
if (!(self::typeText($val, $params, $field) && filter_var($val, FILTER_VALIDATE_EMAIL))) {
if (!(self::typeText($val, $params, $field) && strpos($val, '@', 1))) {
return false;
}
}
@@ -642,6 +660,10 @@ class Validation
*/
public static function typeUrl($value, array $params, array $field)
{
if (!isset($params['max'])) {
$params['max'] = 2048;
}
return self::typeText($value, $params, $field) && filter_var($value, FILTER_VALIDATE_URL);
}

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Data
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Errors
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Errors
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Errors
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
@@ -57,7 +57,7 @@ class SimplePageHandler extends Handler
$vars = array(
'stylesheet' => file_get_contents($cssFile),
'code' => $code,
'message' => filter_var(rawurldecode($message), FILTER_SANITIZE_STRING),
'message' => htmlspecialchars(strip_tags(rawurldecode($message)), ENT_QUOTES, 'UTF-8'),
);
$helper->setVariables($vars);

View File

@@ -3,7 +3,7 @@
/**
* @package Grav\Common\Errors
*
* @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
@@ -43,4 +43,25 @@ class SystemFacade extends \Whoops\Util\SystemFacade
$handler();
}
}
/**
* @param int $httpCode
*
* @return int
*/
public function setHttpResponseCode($httpCode)
{
if (!headers_sent()) {
// Ensure that no 'location' header is present as otherwise this
// will override the HTTP code being set here, and mask the
// expected error page.
header_remove('location');
// Work around PHP bug #8218 (8.0.17 & 8.1.4).
header_remove('Content-Encoding');
}
return http_response_code($httpCode);
}
}

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