Commit cb76ac0c2d33a58314c8a73924b03760bd55ae30
1 parent
e547daea
Allow plugins to order themselves numerically - plugins default to order
0. Negative orders are possible. git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@5139 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
16 additions
and
3 deletions
lib/plugins/pluginutil.inc.php
| ... | ... | @@ -61,7 +61,9 @@ class KTPluginUtil { |
| 61 | 61 | if (count($aPlugins) === 0) { |
| 62 | 62 | KTPluginUtil::registerPlugins(); |
| 63 | 63 | } |
| 64 | - $aPaths = array(KT_DIR . '/plugins/ktcore/KTCorePlugin.php'); | |
| 64 | + $aPaths = array(); | |
| 65 | + $aPaths[] = KT_DIR . '/plugins/ktcore/KTCorePlugin.php'; | |
| 66 | + $aPaths[] = KT_DIR . '/plugins/ktcore/KTCoreLanguagePlugin.php'; | |
| 65 | 67 | foreach ($aPlugins as $oPlugin) { |
| 66 | 68 | if (!is_a($oPlugin, 'KTPluginEntity')) { |
| 67 | 69 | print "<pre>"; |
| ... | ... | @@ -81,9 +83,20 @@ class KTPluginUtil { |
| 81 | 83 | require_once($sPath); |
| 82 | 84 | } |
| 83 | 85 | } |
| 86 | + | |
| 84 | 87 | $oRegistry =& KTPluginRegistry::getSingleton(); |
| 85 | - foreach ($oRegistry->getPlugins() as $oPlugin) { | |
| 86 | - $oPlugin->load(); | |
| 88 | + $aPlugins =& $oRegistry->getPlugins(); | |
| 89 | + foreach ($aPlugins as $oPlugin) { | |
| 90 | + if (!isset($aOrder[$oPlugin->iOrder])) { | |
| 91 | + $aOrder[$oPlugin->iOrder] = array(); | |
| 92 | + } | |
| 93 | + $aOrder[$oPlugin->iOrder][] = $oPlugin; | |
| 94 | + } | |
| 95 | + ksort($aOrder, SORT_NUMERIC); | |
| 96 | + foreach ($aOrder as $iOrder => $aOrderPlugins) { | |
| 97 | + foreach ($aOrderPlugins as $oPlugin) { | |
| 98 | + $oPlugin->load(); | |
| 99 | + } | |
| 87 | 100 | } |
| 88 | 101 | } |
| 89 | 102 | ... | ... |