Commit 1dd8ef05a86d403bf0d27edb55d140c02cbaf075

Authored by Neil Blakey-Milner
1 parent 9fafb241

Allow plugins to register notification handlers


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@5660 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing 1 changed file with 11 additions and 0 deletions
lib/plugins/plugin.inc.php
@@ -54,6 +54,7 @@ class KTPlugin { @@ -54,6 +54,7 @@ class KTPlugin {
54 var $_aWFTriggers = array(); 54 var $_aWFTriggers = array();
55 var $_aColumns = array(); 55 var $_aColumns = array();
56 var $_aViews = array(); 56 var $_aViews = array();
  57 + var $_aNotificationHandlers = array();
57 58
58 function KTPlugin($sFilename = null) { 59 function KTPlugin($sFilename = null) {
59 $this->sFilename = $sFilename; 60 $this->sFilename = $sFilename;
@@ -152,6 +153,11 @@ class KTPlugin { @@ -152,6 +153,11 @@ class KTPlugin {
152 $this->_aViews[$sNamespace] = array($sName, $sNamespace); 153 $this->_aViews[$sNamespace] = array($sName, $sNamespace);
153 } 154 }
154 155
  156 + function registerNotificationHandler($sName, $sNamespace, $sPath) {
  157 + $sPath = $this->_fixFilename($sPath);
  158 + $this->_aNotificationHandlers[$sNamespace] = array($sNamespace, $sName, $sPath);
  159 + }
  160 +
155 function _fixFilename($sFilename) { 161 function _fixFilename($sFilename) {
156 if (empty($sFilename)) { 162 if (empty($sFilename)) {
157 $sFilename = $this->sFilename; 163 $sFilename = $this->sFilename;
@@ -222,6 +228,7 @@ class KTPlugin { @@ -222,6 +228,7 @@ class KTPlugin {
222 $oKTHelpRegistry =& KTHelpRegistry::getSingleton(); 228 $oKTHelpRegistry =& KTHelpRegistry::getSingleton();
223 $oWFTriggerRegistry =& KTWorkflowTriggerRegistry::getSingleton(); 229 $oWFTriggerRegistry =& KTWorkflowTriggerRegistry::getSingleton();
224 $oColumnRegistry =& KTColumnRegistry::getSingleton(); 230 $oColumnRegistry =& KTColumnRegistry::getSingleton();
  231 + $oNotificationHandlerRegistry =& KTNotificationRegistry::getSingleton();
225 232
226 foreach ($this->_aPortlets as $k => $v) { 233 foreach ($this->_aPortlets as $k => $v) {
227 call_user_func_array(array(&$oPRegistry, 'registerPortlet'), $v); 234 call_user_func_array(array(&$oPRegistry, 'registerPortlet'), $v);
@@ -282,6 +289,10 @@ class KTPlugin { @@ -282,6 +289,10 @@ class KTPlugin {
282 foreach ($this->_aViews as $k => $v) { 289 foreach ($this->_aViews as $k => $v) {
283 call_user_func_array(array(&$oColumnRegistry, 'registerView'), $v); 290 call_user_func_array(array(&$oColumnRegistry, 'registerView'), $v);
284 } 291 }
  292 +
  293 + foreach ($this->_aNotificationHandlers as $k => $v) {
  294 + call_user_func_array(array(&$oNotificationHandlerRegistry, 'registerNotificationHandler'), $v);
  295 + }
285 } 296 }
286 297
287 function setup() { 298 function setup() {