AntonLV 6 лет назад
Родитель
Сommit
69c0a74ebf

+ 29 - 2
modules/boonex/credits/classes/BxCreditsAlertsResponse.php

@@ -22,8 +22,35 @@ class BxCreditsAlertsResponse extends BxBaseModGeneralAlertsResponse
     {
         parent::response($oAlert);
 
-        if($oAlert->sUnit == 'profile' && $oAlert->sAction == 'delete' && !empty($oAlert->aExtras['delete_with_content']))
-            return BxDolService::call($this->MODULE, 'delete_entities_by_author', array($oAlert->iObject));
+        $sMethod = '_process' . bx_gen_method_name($oAlert->sUnit . '_' . $oAlert->sAction);           	
+        if(!method_exists($this, $sMethod))
+            return;
+
+        return $this->$sMethod($oAlert);        
+    }
+    
+    protected function _processProfileAdd($oAlert)
+    {
+        $CNF = &$this->_oModule->_oConfig->CNF;
+        
+        $iProfile = (int)$oAlert->iObject;
+        $oProfile = BxDolProfile::getInstance($iProfile);
+        if(!$oProfile)
+            return;
+
+        if(getParam($CNF['PARAM_PROVIDER_ENABLE']) == 'on') {
+            $oProvider = BxDolPayments::getInstance()->getProvider($CNF['PARAM_PROVIDER_NAME'], $iProfile);
+            if($oProvider)
+                $oProvider->setOption('active', 'on', true);
+        }
+    }
+
+    protected function _processProfileDelete($oAlert)
+    {
+        if(empty($oAlert->aExtras['delete_with_content']))
+            return;
+
+        return BxDolService::call($this->MODULE, 'delete_entities_by_author', array($oAlert->iObject));
     }
 }
 

+ 2 - 0
modules/boonex/credits/classes/BxCreditsConfig.php

@@ -59,6 +59,8 @@ class BxCreditsConfig extends BxBaseModGeneralConfig
             'PARAM_PRECISION' => 'bx_credits_precision',
             'PARAM_CR_USE' => 'bx_credits_conversion_rate_use',
             'PARAM_CR_WITHDRAW' => 'bx_credits_conversion_rate_withdraw',
+            'PARAM_PROVIDER_NAME' => 'credits',
+            'PARAM_PROVIDER_ENABLE' => 'bx_credits_enable_provider',
             'PARAM_CODE' => 'bx_credits_code',
             'PARAM_ICON' => 'bx_credits_icon',
 

+ 1 - 0
modules/boonex/credits/install/langs/en.xml

@@ -11,6 +11,7 @@
     <string name="_bx_credits_option_conversion_rate_withdraw"><![CDATA[Conversion rate to withdraw credits]]></string>
     <string name="_bx_credits_option_code"><![CDATA[Code to prefix amount]]></string>
     <string name="_bx_credits_option_icon"><![CDATA[Icon to prefix amount]]></string>
+    <string name="_bx_credits_enable_provider"><![CDATA[Auto activate 'Credits' provider for all newly created profiles]]></string>
 
 
     <!-- Forms -->

+ 4 - 1
modules/boonex/credits/install/sql/enable.sql

@@ -18,7 +18,9 @@ INSERT INTO `sys_options` (`name`, `value`, `category_id`, `caption`, `type`, `c
 ('bx_credits_conversion_rate_withdraw', '1.0', @iCategId, '_bx_credits_option_conversion_rate_withdraw', 'digit', '', '', '', 12),
 
 ('bx_credits_code', '', @iCategId, '_bx_credits_option_code', 'digit', '', '', '', 20),
-('bx_credits_icon', 'copyright', @iCategId, '_bx_credits_option_icon', 'digit', '', '', '', 21);
+('bx_credits_icon', 'copyright', @iCategId, '_bx_credits_option_icon', 'digit', '', '', '', 21),
+
+('bx_credits_enable_provider', '', @iCategId, '_bx_credits_enable_provider', 'checkbox', '', '', '', 30);
 
 
 -- PAGE: module home
@@ -193,6 +195,7 @@ SET @iHandler := LAST_INSERT_ID();
 
 INSERT INTO `sys_alerts` (`unit`, `action`, `handler_id`) VALUES
 ('system', 'save_setting', @iHandler),
+('profile', 'add', @iHandler),
 ('profile', 'delete', @iHandler);
 
 

+ 1 - 0
modules/boonex/russian/data/langs/bx_credits/ru.xml

@@ -11,6 +11,7 @@
     <string name="_bx_credits_option_conversion_rate_withdraw"><![CDATA[Коэффициент конвертации для снятия кредитов]]></string>
     <string name="_bx_credits_option_code"><![CDATA[Код для префикса суммы]]></string>
     <string name="_bx_credits_option_icon"><![CDATA[Иконка для префикса суммы]]></string>
+    <string name="_bx_credits_enable_provider"><![CDATA[Активировать платежную систему 'Credits' для всех новосозданных профилей]]></string>
 
 
     <!-- Forms -->