Details
-
Bug
-
Resolution: Fixed
-
High
-
None
-
None
-
None
Description
If you use the RerunURL feature (https://github.com/ezsystems/ezpublish-legacy/blob/master/settings/error.ini#L59) on kernel 1 errors, the data gets caught in the view cache:
a:3:{s:7:"content";b:0;s:9:"rerun_uri";s:15:"/test/not_found";s:26:"is_default_navigation_part";b:1;}
The kernel never executes that module view after the first load, because a module's exit status cannot persist with the view cache: https://github.com/ezsystems/ezpublish-legacy/blob/master/kernel/private/classes/ezpkernelweb.php#L846
Options for fixes:
1) Store the results of the "rerun URL" in the view cache
2) Don't do what seems like a redundant check on the exist status, which is only ever set in cases where we also set "rerun_uri":
https://github.com/ezsystems/ezpublish-legacy/blob/6f4e99fcd12e0ef70d41b7a74eb92d226a5177ab/kernel/layout/set.php#L20
https://github.com/ezsystems/ezpublish-legacy/blob/6f4e99fcd12e0ef70d41b7a74eb92d226a5177ab/kernel/error/view.php#L107