Commit Graph

527 Commits

Author SHA1 Message Date
Luke Towers 4b22d06c60 Merge branch 'develop' into wip/laravel-6 2020-04-04 14:11:05 -06:00
Ben Thomson cc1c1096b0
Remove newline between "throws" and "return" 2020-04-05 01:06:47 +08:00
Dan Harrin 903b5b01ea
Add support for "soft" components (#4539) 2020-04-05 01:02:43 +08:00
Luke Towers 44cc5d371b Merge branch 'develop' into wip/laravel-6 2020-04-04 02:32:16 -06:00
Luke Towers 0edde0eb94 Improve opcache config check 2020-04-03 09:08:22 -06:00
Luke Towers e4571c3dd4
Add usingSource method to active datasource (#5017)
This allows the `theme:sync` command to properly sync to specified targets.

Fixes #4887. Replaces #4935. Credit to @bennothommo for the initial implementation.
2020-04-01 18:12:50 +08:00
Luke Towers 79f0a9413b Merge branch 'develop' into wip/laravel-6
# Conflicts:
#	composer.json
2020-03-31 04:36:47 -06:00
Luke Towers 2b8939cc8b Improve asset file path handling 2020-03-31 03:37:31 -06:00
Ben Thomson 8c61985114 Merge branch 'develop' into wip/laravel-6 2020-03-16 17:13:42 +08:00
Ben Thomson 96c062bb47
Allow dot-notation for specifying external parameters for a component (#4978) 2020-03-13 09:03:18 +08:00
Marten 1fac424f71
Updated getParameter method hints in Router (#4908) 2020-03-04 16:36:09 +08:00
Luke Towers 8eb045f2d1 Minor performance improvement
Don't bother retrieving the translated URL at construction time, it will be run through the translator during the validation process so there's no need to always hit the translator on every single Page model being loaded.
2020-03-03 10:38:03 -06:00
Ben Thomson 11b7111413 Use old signature for `where` method in CmsObjectCollection.
Refs: https://github.com/octobercms/october/pull/4893#discussion_r368408407
2020-01-20 16:25:50 +08:00
Ben Thomson 9ecad139c4 Comment tweak for CmsObjectCollection::where() 2020-01-20 13:59:29 +08:00
Ben Thomson 662b1c2e45
Fix incompatible `where` method in CmsObjectCollection
Signature for the `where` method changes in L6, so a wrapper has been put in place.
2020-01-19 16:35:01 +08:00
Ben Thomson 5d3d4ad0b2
Merge branch 'develop' into wip/laravel-5.9 2020-01-18 21:00:40 +08:00
Samuel Georges cbc620c3e8 Rollback for Build 462
This change should be revisited since it doesn't account for database-based templates which have no file path. Upon revisit, we might want to consider adding this logic in to the afterFetch() event with detection of file based mode, or even at the lower levels where the file is first extracted from the filesystem. TBA
2019-12-19 17:42:25 +11:00
Luke Towers a51215b9b3
Revert "Added additional robots meta fields to CMS pages (#4685)" (#4832)
This reverts commit 8303e0dbb2. Reverts #4685. Should be implemented as a plugin instead.
2019-12-18 13:51:50 -06:00
Nick Khaetsky 8303e0dbb2 Added additional robots meta fields to CMS pages (#4685)
Credit to @FlusherDock1
2019-12-18 10:16:36 -06:00
Samuel Georges 7902cfa58a Simplify security check
Logic in ComponentPartial was rolled back and moved to the Controller. Since there are issues with throwing exceptions inside the component partial lookup logic (exceptions are conditionally suppressed), it seems like it would be better to bubble up the security logic to the controller level as a simple base dir security check, which is no longer concerned about any suppression logic. This looks to have logic parity with the previous solution

Refs #4652
2019-12-14 12:37:44 +11:00
Tobias Kündig 80f870c313 Allow partial overrides in subfolders (#4652)
* Allow partial overrides in subfolders + security checker
2019-12-14 12:22:30 +11:00
Samuel Georges 260e1f503f Rollback d31006ae1a 2019-12-10 03:12:12 +11:00
Marc Jauvin 864816f7f2 Make CMS object code editor read-only in safe mode (#4769)
Adds a dismissable message to the CMS object code editor indicating that the PHP code section of a CMS object cannot be edited when `cms.enableSafeMode` is `true` (or when debugging is disabled if `null`).

Credit to @mjauvin.
2019-12-09 21:05:50 +08:00
Ben Thomson 7e3136564f
Merge branch 'develop' into wip/laravel-5.9 2019-11-21 23:18:25 +08:00
Samuel Georges 8da798a5cd Remove XSRF cookie
This was a contentious change is generally a bad idea to blanket all requests with a dependant cookie. We will try something else.

Revert enableXsrfCookies setting. Fixes UX issue introduced where the token expires. This should be replaced by a CSRF policy that determines whether this is needed on the front end.
2019-11-04 09:06:05 +11:00
Samuel Georges c5bd5f0e0a Apply ResponseMaker to backend AJAX and cms.page.display event 2019-11-03 08:02:28 +11:00
Samuel Georges 1df8e72e4a Remove unused import 2019-11-02 19:42:09 +11:00
Samuel Georges 63f65a3f25 Add XSRF to backend, simplify CMS controller run() method
runInternal has been removed because we do not want to blanket our response logic over every single response, only the happy path. This is because it is impossible to remove. So it is better to take the inverted approach, where if you want the CMS' headers in your custom response, add them yourself. This becomes easy via the new makeResponse() method
2019-11-02 19:14:45 +11:00
Samuel Georges ff8f899fbe Move response common functions to ResponseMaker trait 2019-11-02 18:21:22 +11:00
Samuel Georges b1fa45ee3a Combine common CSRF logic to a trait 2019-11-02 15:15:18 +11:00
Samuel Georges 49d68f0671 Cookies are no longer serialized
Based on update to library 09e859a13e we no longer serialize cookies, so the decrypter no longer needs to apply a serialization layer
2019-11-02 14:52:00 +11:00
Luke Towers 959b85f56c Add cms.enableXsrfCookies config value (default true) to configure whether or not the XSRF cookie is automatically sent or if CSRF tokens are solely relied on.
Related: https://github.com/octobercms/october/pull/4701#issuecomment-547773385 & https://github.com/laravel/framework/pull/24726
2019-10-30 08:08:54 -06:00
Luke Towers 457466c5af Fix typehint 2019-10-29 16:33:49 -06:00
Luke Towers eb4648972f Ensure that the XSRF cookie can always be added to the response, no matter the source of the response 2019-10-28 13:33:07 -06:00
Luke Towers 096ccf875d Implement suggestions from @bennothommo 2019-10-28 12:58:07 -06:00
Samuel Georges f542ca8e90 Implement XSRF checking for AJAX handlers
Refs #4699
Refs #4701
2019-10-24 20:19:20 +11:00
gaabora 773f266373 Allow for URL parameter to be zero (#4657)
The `empty()` check previously disallowed string zeroes from being used.

Credit to @gaabora.
2019-10-08 09:04:52 +08:00
Luke Towers d31006ae1a Return 403 response on CSRF fail instead of silently failing
Also moved backend::lang.page.invalid_token.label to system::lang.page.invalid_token.label. Fixes
2019-10-06 23:21:08 -06:00
Vojta Svoboda bafd057f8c Optimize theme recognition (#3220)
Credit to @vojtasvoboda. Will avoid asking the database for the currently active theme if there is only one theme present and its code matches the code set in cms.activeTheme
2019-09-25 12:26:54 -06:00
Samuell 33d149fe1a Replace caching of Theme config with generic YAML caching (#4526)
Credit to @Samuell1. Fixes issues related to complexity of the existing approach / cache invalidation by just using the caching built in to YAML::parseFile().
2019-09-25 11:36:35 -06:00
Ben Thomson 0240c21af6 Fail CSRF token checks if the session expires. (#4598)
Fixes #4595. Credit to @bennothommo
2019-09-04 21:33:10 -06:00
Dan Harrin 9521dd795c Minor Formatting Corrections in Usage Comments (#4541)
Credit to @DanHarrin
2019-08-15 09:14:54 -06:00
Dan Harrin 4434808549 Remove theme data on theme deletion (#4529)
Credit to @DanHarrin. Fixes #1292.
2019-08-15 11:41:03 +08:00
Dan Harrin 967fd02d8c Fix minor spelling errors and inconsistencies (#4543)
Credit to @DanHarrin.
2019-08-15 11:39:26 +08:00
RickAcb 0383af6282 Update __isset function to comply with the same checks as __get (#4514)
Credit to @RickAcb.
2019-08-04 19:56:15 +08:00
Ben Thomson a59d3b83eb Code quality clean up (#4449)
Credit to @bennothommo
2019-07-18 08:50:37 -06:00
Luke Towers 6f583b3920
Disable theme config cache when debug mode enabled 2019-07-08 16:25:25 -06:00
Luke Towers 1aff1e0a1e Changed calls to the Cache to use DateTime instances instead of integers representing minutes as 5.8 changed integers into meaning seconds instead. 2019-06-12 02:33:26 -06:00
Luke Towers 46c867e4b5 Improve API docs
Resolves #4214
2019-06-12 00:33:30 -06:00
Sebastiaan Kloos f921af4199 Fix menus not being displayed with database templates (#4362)
Credit to @SebastiaanKloos.
2019-06-06 21:05:38 +08:00