فهرست منبع

#24 - register timeline handlers

Alex Trofimov 12 سال پیش
والد
کامیت
dd31160f15

+ 13 - 3
modules/base/general/classes/BxBaseModGeneralInstaller.php

@@ -11,10 +11,12 @@
 
 
 bx_import('BxDolStudioInstaller');
 bx_import('BxDolStudioInstaller');
 bx_import('BxDolImageTranscoder');
 bx_import('BxDolImageTranscoder');
+bx_import('BxDolService');
 
 
 class BxBaseModGeneralInstaller extends BxDolStudioInstaller 
 class BxBaseModGeneralInstaller extends BxDolStudioInstaller 
 {
 {
     protected $_aTranscoders = array ();
     protected $_aTranscoders = array ();
+    protected $_bUpdateTimeline = false;
 
 
     function __construct($aConfig) 
     function __construct($aConfig) 
     {
     {
@@ -25,19 +27,27 @@ class BxBaseModGeneralInstaller extends BxDolStudioInstaller
     {
     {
         $aResult = parent::enable($aParams);
         $aResult = parent::enable($aParams);
 
 
-        if ($aResult['result']) // register it only in case of successful enable
-            BxDolImageTranscoder::registerHandlersArray($this->_aTranscoders);
+        if (!$aResult['result']) // proces further only in case of successful enable
+            return $aResult;
+
+        BxDolImageTranscoder::registerHandlersArray($this->_aTranscoders);
+
+        if ($this->_bUpdateTimeline && BxDolRequest::serviceExists('timeline', 'add_handlers'))
+            BxDolService::call('timeline', 'add_handlers', array($this->_aConfig['home_uri']));
 
 
         return $aResult;
         return $aResult;
     }
     }
 
 
     function disable($aParams) 
     function disable($aParams) 
     {    
     {    
+        if ($this->_bUpdateTimeline && BxDolRequest::serviceExists('timeline', 'delete_handlers'))
+            BxDolService::call('timeline', 'delete_handlers', array($this->_aConfig['home_uri']));
+
         BxDolImageTranscoder::unregisterHandlersArray($this->_aTranscoders);
         BxDolImageTranscoder::unregisterHandlersArray($this->_aTranscoders);
 
 
         $aResult = parent::disable($aParams);
         $aResult = parent::disable($aParams);
 
 
-        if (!$aResult['result']) // we need to register it back if disable failed
+        if (!$aResult['result']) // we need to register it back if disabling failed
             BxDolImageTranscoder::registerHandlersArray($this->_aTranscoders);
             BxDolImageTranscoder::registerHandlersArray($this->_aTranscoders);
 
 
         return $aResult;
         return $aResult;

+ 1 - 0
modules/base/text/classes/BxBaseModTextInstaller.php

@@ -16,6 +16,7 @@ class BxBaseModTextInstaller extends BxBaseModGeneralInstaller
     function __construct($aConfig) 
     function __construct($aConfig) 
     {
     {
         parent::__construct($aConfig);
         parent::__construct($aConfig);
+        $this->_bUpdateTimeline = true;
     }
     }
 }
 }
 
 

+ 1 - 0
modules/boonex/convos/install/installer.php

@@ -16,6 +16,7 @@ class BxCnvInstaller extends BxBaseModTextInstaller
     function __construct($aConfig) 
     function __construct($aConfig) 
     {
     {
         parent::__construct($aConfig);
         parent::__construct($aConfig);
+        $this->_bUpdateTimeline = false;
     }
     }
 
 
     function uninstall($aParams, $bDisable = false) 
     function uninstall($aParams, $bDisable = false)