Handle the situation when GRAV_ROOT or GRAV_WEBROOT are /
#3667
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I am using a hosting service which separates the site files in such a way that both GRAV_ROOT and GRAV_WEBROOT are
/
. Unfortunately, this tends to break some of the Grav and plugin's functionality—most importantly backups and upgrades (in grav-plugin-admin).This is caused by the use of
rtrim
to remove trailing slashes from path names. When GRAV_ROOT or GRAV_WEBROOT are/
this effectively sets both to an empty string, which, in turn, makes the aforementioned scenarios to fail miserably.The fix is very simple. Whenever GRAV_ROOT or GRAV_WEBROOT are to be evaluated to an empty string (it can only happen if their paths contain only
/
characters), they are arbitrarily set to/
.