Explorar el Código

Ticket #870 - point 1.

AntonLV hace 9 años
padre
commit
e412cbd173
Se han modificado 3 ficheros con 31 adiciones y 1 borrados
  1. 20 0
      inc/classes/BxDolTranscoder.php
  2. 6 1
      install/sql/system.sql
  3. 5 0
      template/scripts/BxBaseServices.php

+ 20 - 0
inc/classes/BxDolTranscoder.php

@@ -186,6 +186,26 @@ class BxDolTranscoder extends BxDolFactory implements iBxDolFactoryObject
         self::_callFuncForObjectsArray ($mixed, 'registerHandlers');
     }
 
+    /**
+     * Register system handlers
+     */
+    static public function registerHandlersSystem()
+    {
+        $sPrefix = 'sys_';
+
+        $aResults = array();
+        $aTranscoders = BxDolTranscoderQuery::getTranscoderObjects();
+        foreach($aTranscoders as $aTranscoder) {
+            if(strncasecmp($aTranscoder['object'], $sPrefix, strlen($sPrefix)) !== 0)
+                continue;
+
+            $aResults[] = $aTranscoder['object'];
+        }
+
+        if(!empty($aResults))
+            self::registerHandlersArray($aResults);
+    }
+
     /**
      * Unregister handlers array
      * It can be called upon module disbale event.

+ 6 - 1
install/sql/system.sql

@@ -1255,7 +1255,6 @@ SET @iIdHandler = LAST_INSERT_ID();
 INSERT INTO `sys_alerts` (`unit`, `action`, `handler_id`) VALUES
 ('sys_images_custom', 'file_deleted', @iIdHandler);
 
-
 INSERT INTO `sys_alerts_handlers` (`name`, `service_call`) VALUES 
 ('sys_settings_storage_change', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:37:"alert_response_process_storage_change";s:5:"class";s:13:"TemplServices";}');
 SET @iHandler = LAST_INSERT_ID();
@@ -1263,6 +1262,12 @@ SET @iHandler = LAST_INSERT_ID();
 INSERT INTO `sys_alerts` (`unit`, `action`, `handler_id`) VALUES
 ('system', 'save_setting', @iHandler);
 
+INSERT INTO `sys_alerts_handlers` (`name`, `service_call`) VALUES 
+('sys_installed', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:32:"alert_response_process_installed";s:5:"class";s:13:"TemplServices";}');
+SET @iHandler = LAST_INSERT_ID();
+
+INSERT INTO `sys_alerts` (`unit`, `action`, `handler_id`) VALUES
+('system', 'installed', @iHandler);
 
 INSERT INTO `sys_alerts_handlers` (`name`, `service_call`) VALUES 
 ('sys_connections', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:26:"alert_response_connections";s:5:"class";s:23:"TemplServiceConnections";}');

+ 5 - 0
template/scripts/BxBaseServices.php

@@ -107,6 +107,11 @@ class BxBaseServices extends BxDol implements iBxDolProfileService
         return $oAccount->$sFunc();
     }
 
+    public function serviceAlertResponseProcessInstalled()
+    {
+        BxDolTranscoderImage::registerHandlersSystem();
+    }
+
     public function serviceAlertResponseProcessStorageChange ($oAlert)
     {
         if ('sys_storage_default' != $oAlert->aExtras['option'])