e_shortcode_parser normally doesn't need reloading in an e107
installation because installing the "banner" plugin and parsing
shortcodes have always been two separate script calls (page loads).
It would slow down the e107 core to add an e_shortcode_parser reloader
after installing a plugin when the page would later exit without
parsing any shortcodes.
Other tests have been meddling with the e107::wysiwyg() global state
e_parseTest::testToForm() now considers two outcomes of the
e107::wysiwyg() state.
Prevents e_plugin::buildAddonPrefLists() from wiping out the variable
that is tracking the currently loaded plugin by moving the currently
loaded plugin to the end of the iterated array
Fixes: #3531Fixes: e107inc/e107-test#9
Added a guard to GitPreparer::unsetVcsInProgress() to prevent doing a
`git reset` when there are no test locks present.
Otherwise, the uncommitted changes in the app will be removed by the
shutdown feature introduced in 952c6e5890.
Instead of every independently operating client code figuring out its
own autoload policies, the e107 class file e107_class.php now takes care
of autoloading.
Any client that uses the e107 class will automatically benefit from
autoloading for e107.
This cuts down on potential code duplication, and e107::getSingleton()
is no longer tied to trying to figure out the class path.
This commit REMOVES support for the unused constant flag
E107_DISABLE_AUTOLOAD introduced in
bdef2707b4 and the unused autoload code
introduced in f4cee92890.
e_shims is an e107 v2-compatible class for the first namespaced core
class, e107\Shims\All.
e107\Shims\All is built from the e107\Shims\InternalShims trait.
e107\Shims\InternalShims currently implements a resilient replacement
for the PHP internal readfile(), which is needed by issue #3528.
As for how the new namespaced classes are handled, the e107 class
(e107_handlers/e107_class.php) has an updated e107::autoload() which
detects namespaced classes and goes to e107::autoload_namespaced().
Namespaced classes handled by e107 are in the \e107 top-level namespace,
and all sub-levels match directory paths under e_HANDLER.