Commit 526faee16a279bf1bc30eff8ef7d188fa8b34e16

Authored by Neil Blakey-Milner
1 parent c1ae68cf

Move all plugin-dynamic structures into $GLOBALS['_KT_PLUGIN'] for easier later

caching.

Implement the caching code, but don't use it yet.


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@5492 c91229c3-7414-0410-bfa2-8a42b809f60b
lib/actions/actionregistry.inc.php
@@ -30,10 +30,10 @@ class KTActionRegistry { @@ -30,10 +30,10 @@ class KTActionRegistry {
30 var $actions = array(); 30 var $actions = array();
31 // {{{ getSingleton 31 // {{{ getSingleton
32 function &getSingleton () { 32 function &getSingleton () {
33 - if (!KTUtil::arrayGet($GLOBALS, 'oKTActionRegistry')) {  
34 - $GLOBALS['oKTActionRegistry'] = new KTActionRegistry; 33 + if (!KTUtil::arrayGet($GLOBALS['_KT_PLUGIN'], 'oKTActionRegistry')) {
  34 + $GLOBALS['_KT_PLUGIN']['oKTActionRegistry'] = new KTActionRegistry;
35 } 35 }
36 - return $GLOBALS['oKTActionRegistry']; 36 + return $GLOBALS['_KT_PLUGIN']['oKTActionRegistry'];
37 } 37 }
38 // }}} 38 // }}}
39 39
lib/actions/portletregistry.inc.php
@@ -30,10 +30,10 @@ class KTPortletRegistry { @@ -30,10 +30,10 @@ class KTPortletRegistry {
30 var $actions = array(); 30 var $actions = array();
31 // {{{ getSingleton 31 // {{{ getSingleton
32 function &getSingleton () { 32 function &getSingleton () {
33 - if (!KTUtil::arrayGet($GLOBALS, 'oKTPortletRegistry')) {  
34 - $GLOBALS['oKTPortletRegistry'] =& new KTPortletRegistry; 33 + if (!KTUtil::arrayGet($GLOBALS['_KT_PLUGIN'], 'oKTPortletRegistry')) {
  34 + $GLOBALS['_KT_PLUGIN']['oKTPortletRegistry'] =& new KTPortletRegistry;
35 } 35 }
36 - return $GLOBALS['oKTPortletRegistry']; 36 + return $GLOBALS['_KT_PLUGIN']['oKTPortletRegistry'];
37 } 37 }
38 // }}} 38 // }}}
39 39
@@ -81,7 +81,7 @@ class KTPortletRegistry { @@ -81,7 +81,7 @@ class KTPortletRegistry {
81 if (file_exists($sPortletFile)) { 81 if (file_exists($sPortletFile)) {
82 require_once($sPortletFile); 82 require_once($sPortletFile);
83 } 83 }
84 - $oPortlet =& new $sPortletClass; 84 + $oPortlet =& new $sPortletClass;
85 $oPortlet->setPlugin($oPlugin); 85 $oPortlet->setPlugin($oPlugin);
86 array_push($aReturn, $oPortlet); 86 array_push($aReturn, $oPortlet);
87 } 87 }
lib/authentication/authenticationproviderregistry.inc.php
@@ -53,10 +53,10 @@ class KTAuthenticationProviderRegistry { @@ -53,10 +53,10 @@ class KTAuthenticationProviderRegistry {
53 53
54 // {{{ getSingleton 54 // {{{ getSingleton
55 function &getSingleton () { 55 function &getSingleton () {
56 - if (!KTUtil::arrayGet($GLOBALS, 'oKTAuthenticationProviderRegistry')) {  
57 - $GLOBALS['oKTAuthenticationProviderRegistry'] = new KTAuthenticationProviderRegistry; 56 + if (!KTUtil::arrayGet($GLOBALS['_KT_PLUGIN'], 'oKTAuthenticationProviderRegistry')) {
  57 + $GLOBALS['_KT_PLUGIN']['oKTAuthenticationProviderRegistry'] = new KTAuthenticationProviderRegistry;
58 } 58 }
59 - return $GLOBALS['oKTAuthenticationProviderRegistry']; 59 + return $GLOBALS['_KT_PLUGIN']['oKTAuthenticationProviderRegistry'];
60 } 60 }
61 // }}} 61 // }}}
62 62
lib/dashboard/dashletregistry.inc.php
@@ -32,10 +32,10 @@ class KTDashletRegistry { @@ -32,10 +32,10 @@ class KTDashletRegistry {
32 var $nsnames = array(); 32 var $nsnames = array();
33 // {{{ getSingleton 33 // {{{ getSingleton
34 function &getSingleton () { 34 function &getSingleton () {
35 - if (!KTUtil::arrayGet($GLOBALS, 'oKTDashboardRegistry')) {  
36 - $GLOBALS['oKTDashboardRegistry'] = new KTDashletRegistry; 35 + if (!KTUtil::arrayGet($GLOBALS['_KT_PLUGIN'], 'oKTDashboardRegistry')) {
  36 + $GLOBALS['_KT_PLUGIN']['oKTDashboardRegistry'] = new KTDashletRegistry;
37 } 37 }
38 - return $GLOBALS['oKTDashboardRegistry']; 38 + return $GLOBALS['_KT_PLUGIN']['oKTDashboardRegistry'];
39 } 39 }
40 // }}} 40 // }}}
41 41
lib/help/help.inc.php
@@ -201,11 +201,11 @@ class KTHelpRegistry { @@ -201,11 +201,11 @@ class KTHelpRegistry {
201 } 201 }
202 202
203 function &getSingleton () { 203 function &getSingleton () {
204 - if (!KTUtil::arrayGet($GLOBALS, 'oKTHelpRegistry')) {  
205 - $GLOBALS['oKTHelpRegistry'] = new KTHelpRegistry; 204 + if (!KTUtil::arrayGet($GLOBALS['_KT_PLUGIN'], 'oKTHelpRegistry')) {
  205 + $GLOBALS['_KT_PLUGIN']['oKTHelpRegistry'] = new KTHelpRegistry;
206 } 206 }
207 207
208 - return $GLOBALS['oKTHelpRegistry']; 208 + return $GLOBALS['_KT_PLUGIN']['oKTHelpRegistry'];
209 } 209 }
210 210
211 function registerHelp($sPluginName, $sLang, $sBaseDir) { 211 function registerHelp($sPluginName, $sLang, $sBaseDir) {
lib/i18n/i18nregistry.inc.php
@@ -35,10 +35,10 @@ class KTi18nRegistry { @@ -35,10 +35,10 @@ class KTi18nRegistry {
35 var $_aLanguages = array(); 35 var $_aLanguages = array();
36 36
37 function &getSingleton() { 37 function &getSingleton() {
38 - if (!KTUtil::arrayGet($GLOBALS, 'oKTi18nRegistry')) {  
39 - $GLOBALS['oKTi18nRegistry'] =& new KTi18nRegistry; 38 + if (!KTUtil::arrayGet($GLOBALS['_KT_PLUGIN'], 'oKTi18nRegistry')) {
  39 + $GLOBALS['_KT_PLUGIN']['oKTi18nRegistry'] =& new KTi18nRegistry;
40 } 40 }
41 - return $GLOBALS['oKTi18nRegistry']; 41 + return $GLOBALS['_KT_PLUGIN']['oKTi18nRegistry'];
42 } 42 }
43 43
44 function registeri18n($sDomain, $sDirectory) { 44 function registeri18n($sDomain, $sDirectory) {
lib/plugins/KTAdminNavigation.php
@@ -34,10 +34,10 @@ class KTAdminNavigationRegistry { @@ -34,10 +34,10 @@ class KTAdminNavigationRegistry {
34 var $aCategories = array(); 34 var $aCategories = array();
35 35
36 function &getSingleton() { 36 function &getSingleton() {
37 - if (!KTUtil::arrayGet($GLOBALS, 'oKTAdminNavigationRegistry')) {  
38 - $GLOBALS['oKTAdminNavigationRegistry'] = new KTAdminNavigationRegistry; 37 + if (!KTUtil::arrayGet($GLOBALS['_KT_PLUGIN'], 'oKTAdminNavigationRegistry')) {
  38 + $GLOBALS['_KT_PLUGIN']['oKTAdminNavigationRegistry'] = new KTAdminNavigationRegistry;
39 } 39 }
40 - return $GLOBALS['oKTAdminNavigationRegistry']; 40 + return $GLOBALS['_KT_PLUGIN']['oKTAdminNavigationRegistry'];
41 } 41 }
42 42
43 // name is the suburl below admin 43 // name is the suburl below admin
@@ -100,4 +100,4 @@ class RedirectingDispatcher { @@ -100,4 +100,4 @@ class RedirectingDispatcher {
100 } 100 }
101 } 101 }
102 102
103 -?>  
104 \ No newline at end of file 103 \ No newline at end of file
  104 +?>
lib/plugins/pageregistry.inc.php
@@ -30,10 +30,10 @@ class KTPageRegistry { @@ -30,10 +30,10 @@ class KTPageRegistry {
30 var $aResources = array(); 30 var $aResources = array();
31 31
32 function &getSingleton() { 32 function &getSingleton() {
33 - if (!KTUtil::arrayGet($GLOBALS, 'oKTPageRegistry')) {  
34 - $GLOBALS['oKTPageRegistry'] = new KTPageRegistry; 33 + if (!KTUtil::arrayGet($GLOBALS['_KT_PLUGIN'], 'oKTPageRegistry')) {
  34 + $GLOBALS['_KT_PLUGIN']['oKTPageRegistry'] = new KTPageRegistry;
35 } 35 }
36 - return $GLOBALS['oKTPageRegistry']; 36 + return $GLOBALS['_KT_PLUGIN']['oKTPageRegistry'];
37 } 37 }
38 38
39 function registerPage($sPath, $sClassName, $sFilename = null) { 39 function registerPage($sPath, $sClassName, $sFilename = null) {
lib/plugins/pluginregistry.inc.php
@@ -31,10 +31,10 @@ class KTPluginRegistry { @@ -31,10 +31,10 @@ class KTPluginRegistry {
31 var $_aPlugins = array(); 31 var $_aPlugins = array();
32 32
33 function &getSingleton() { 33 function &getSingleton() {
34 - if (!KTUtil::arrayGet($GLOBALS, 'oKTPluginRegistry')) {  
35 - $GLOBALS['oKTPluginRegistry'] = new KTPluginRegistry; 34 + if (!KTUtil::arrayGet($GLOBALS['_KT_PLUGIN'], 'oKTPluginRegistry')) {
  35 + $GLOBALS['_KT_PLUGIN']['oKTPluginRegistry'] = new KTPluginRegistry;
36 } 36 }
37 - return $GLOBALS['oKTPluginRegistry']; 37 + return $GLOBALS['_KT_PLUGIN']['oKTPluginRegistry'];
38 } 38 }
39 39
40 function registerPlugin($sClassName, $sNamespace, $sFilename = null) { 40 function registerPlugin($sClassName, $sNamespace, $sFilename = null) {
lib/plugins/pluginutil.inc.php
@@ -57,6 +57,22 @@ class KTPluginResourceRegistry { @@ -57,6 +57,22 @@ class KTPluginResourceRegistry {
57 57
58 class KTPluginUtil { 58 class KTPluginUtil {
59 function loadPlugins () { 59 function loadPlugins () {
  60 + $sPluginCache = KT_DIR . '/var/plugin-cache';
  61 + if (file_exists($sPluginCache)) {
  62 + require_once(KT_LIB_DIR . '/actions/actionregistry.inc.php');
  63 + require_once(KT_LIB_DIR . '/actions/portletregistry.inc.php');
  64 + require_once(KT_LIB_DIR . '/triggers/triggerregistry.inc.php');
  65 + require_once(KT_LIB_DIR . '/plugins/pageregistry.inc.php');
  66 + require_once(KT_LIB_DIR . '/authentication/authenticationproviderregistry.inc.php');
  67 + require_once(KT_LIB_DIR . "/plugins/KTAdminNavigation.php");
  68 + require_once(KT_LIB_DIR . "/dashboard/dashletregistry.inc.php");
  69 + require_once(KT_LIB_DIR . "/i18n/i18nregistry.inc.php");
  70 + require_once(KT_LIB_DIR . "/help/help.inc.php");
  71 + $GLOBALS['_KT_PLUGIN'] = unserialize(file_get_contents($sPluginCache));
  72 + $GLOBALS['_KT_PLUGIN']['oKTPluginRegistry']->_aPlugins = array();
  73 + return;
  74 + }
  75 + $GLOBALS['_KT_PLUGIN'] = array();
60 $aPlugins = KTPluginEntity::getList(); 76 $aPlugins = KTPluginEntity::getList();
61 if (count($aPlugins) === 0) { 77 if (count($aPlugins) === 0) {
62 KTPluginUtil::registerPlugins(); 78 KTPluginUtil::registerPlugins();
@@ -83,7 +99,6 @@ class KTPluginUtil { @@ -83,7 +99,6 @@ class KTPluginUtil {
83 require_once($sPath); 99 require_once($sPath);
84 } 100 }
85 } 101 }
86 -  
87 $oRegistry =& KTPluginRegistry::getSingleton(); 102 $oRegistry =& KTPluginRegistry::getSingleton();
88 $aPlugins =& $oRegistry->getPlugins(); 103 $aPlugins =& $oRegistry->getPlugins();
89 foreach ($aPlugins as $oPlugin) { 104 foreach ($aPlugins as $oPlugin) {
@@ -98,6 +113,7 @@ class KTPluginUtil { @@ -98,6 +113,7 @@ class KTPluginUtil {
98 $oPlugin->load(); 113 $oPlugin->load();
99 } 114 }
100 } 115 }
  116 + // file_put_contents($sPluginCache, serialize($GLOBALS['_KT_PLUGIN']));
101 } 117 }
102 118
103 function registerPlugins () { 119 function registerPlugins () {
lib/triggers/triggerregistry.inc.php
@@ -30,10 +30,10 @@ class KTTriggerRegistry { @@ -30,10 +30,10 @@ class KTTriggerRegistry {
30 var $triggers = array(); 30 var $triggers = array();
31 // {{{ getSingleton 31 // {{{ getSingleton
32 function &getSingleton () { 32 function &getSingleton () {
33 - if (!KTUtil::arrayGet($GLOBALS, 'oKTTriggerRegistry')) {  
34 - $GLOBALS['oKTTriggerRegistry'] = new KTTriggerRegistry; 33 + if (!KTUtil::arrayGet($GLOBALS['_KT_PLUGIN'], 'oKTTriggerRegistry')) {
  34 + $GLOBALS['_KT_PLUGIN']['oKTTriggerRegistry'] = new KTTriggerRegistry;
35 } 35 }
36 - return $GLOBALS['oKTTriggerRegistry']; 36 + return $GLOBALS['_KT_PLUGIN']['oKTTriggerRegistry'];
37 } 37 }
38 // }}} 38 // }}}
39 39