Fixes#5127, also will force a page reload after changing the status of a plugin (remove, disable, enable, etc) so that the menu structure is accurately reflected.
The Laravel view engine wants to supply the Twig engine with an absolute path, even though this is outside the inclusion rules. This implements a temporary exception to wave it through. It seems like a suitable alternative instead of implementing a reverse lookup to ensure the path is a valid view file, since we can trust the source engine has passed the value through its resolver already
Fixes previous fix
This logic is called via {% include %} (fixed) and as a custom .htm driver for View::make (broken). The previous change was too aggressive and broke the latter. This still fixes arbitrary file inclusion whilst retaining the original design. Both logic paths are now fixed and have been tested
Last commit changed translation of word "layout" from 'Шаблон' to 'Макет'. By "straightforward" translation this was maybe correct, but contextually not. We decided to make a poll, to vote for new translation.
This allows developers to use the command even if plugins are failing to boot due to missing configuration options (such as the DB configuration being incorrect). Previously, plugins which use the database in boot would prevent the command from running if the database details were incorrect.
This change removes a barrier from configuring your site correctly.
This change implements an improved "set build" utility through the "october:version" Artisan command that, instead of checking the October CMS server for the latest build, checks the module files against a source manifest kept on GitHub.
This check allows us to accurately determine the build based on the module files in the October CMS installation, and can even detect versions if the module files are modified (except in the cases of extreme modification).
An additional utility has been implemented, "october:manifest", which will build the manifest JSON file in order to provide the maintainers with a way of generating this manifest file as required.
Replaces #4615.
An exception was being thrown in some instances if a partial had been added to the DB that was provided by a plugin that no longer exists, or had been disabled. This will remove any partials provided by non-existent plugins, only if they haven't been subsequently customised by the developer.
Fixes https://github.com/octobercms/october/issues/5065
SystemExceptions are already logged when the System ServiceProvider listens to the Message Logged event, this code used to be for ApplicationExceptions to bypass the fact that they were explicitly ignored by October's core exception handler.
ApplicationExceptions were added 27 Jan 2015 in 6a68036260
ApplicationExceptions were explicitly ignored in the core exception handler on 16 Feb 2015 in 237d97d87a (diff-b6bf0348130fdd1311473a97536310cdR20) and were explicitly logged in the System exception handler on the same day in 7b52e07b65 (diff-547f5794a63e9f138c33b20de8649b7eR20-R31)
Not sure why that was originally the case, but we've made the decision that ApplicationExceptions shouldn't be logged by default as they should occur semi-regularly in a healthy application (mostly as an expression of complex logical validation that triggers them based on bad user input): https://github.com/octobercms/october/pull/4569#issuecomment-550172508Fixesoctobercms/october#5253.