1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-05 22:27:34 +02:00

Fixed e_plugin::buildAddonPrefLists() stateful bug

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: #3531
Fixes: e107inc/e107-test#9
This commit is contained in:
Nick Liu
2018-11-01 09:59:17 -05:00
parent 46efef4d4d
commit ff7f182c8c

View File

@@ -998,8 +998,19 @@ class e_plugin
->set('shortcode_legacy_list', array())
->set('shortcode_list', array());
$paths = $this->getDetected();
foreach($this->getDetected() as $path)
/**
* Prevent this method 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.
* @see https://github.com/e107inc/e107/issues/3531
* @see https://github.com/e107inc/e107-test/issues/9
*/
$paths = array_diff($paths, [$this->_plugdir]);
$paths[] = $this->_plugdir;
foreach($paths as $path)
{
$this->load($path);