Jelajahi Sumber

Ticket #4743 - Market: Allow to work without Payments enabled and configured.

AntonLV 2 tahun lalu
induk
melakukan
24697b3b12

+ 1 - 0
modules/boonex/market/classes/BxMarketConfig.php

@@ -108,6 +108,7 @@ class BxMarketConfig extends BxBaseModTextConfig
 
             // some params
             'PARAM_AUTO_APPROVE' => 'bx_market_enable_auto_approve',
+            'PARAM_NO_PAYMENTS' => 'bx_market_enable_no_payments',
             'PARAM_CHARS_SUMMARY' => 'bx_market_summary_chars',
             'PARAM_CHARS_SUMMARY_PLAIN' => 'bx_market_plain_summary_chars',
             'PARAM_NUM_RSS' => 'bx_market_rss_num',

+ 4 - 2
modules/boonex/market/classes/BxMarketFormEntry.php

@@ -61,15 +61,17 @@ class BxMarketFormEntry extends BxBaseModTextFormEntry
         }
 
         $oPayment = BxDolPayments::getInstance();
+        $bNoPayments = $this->_oModule->_oDb->getParam($CNF['PARAM_NO_PAYMENTS']) == 'on';
+
         if(isset($this->aInputs[$CNF['FIELD_WARNING_SINGLE']])) {
-            if(!$oPayment->isAcceptingPayments($iProfileId, BX_PAYMENT_TYPE_SINGLE)) 
+            if(!$bNoPayments && !$oPayment->isAcceptingPayments($iProfileId, BX_PAYMENT_TYPE_SINGLE)) 
                 $this->aInputs[$CNF['FIELD_WARNING_SINGLE']]['value'] = MsgBox(_t($this->aInputs[$CNF['FIELD_WARNING_SINGLE']]['value'], $oPayment->getDetailsUrl()));
             else 
                 unset($this->aInputs[$CNF['FIELD_WARNING_SINGLE']]);
         }
 
         if(isset($this->aInputs[$CNF['FIELD_WARNING_RECURRING']])) {
-            if($bRecurring && !$oPayment->isAcceptingPayments($iProfileId, BX_PAYMENT_TYPE_RECURRING))
+            if(!$bNoPayments && $bRecurring && !$oPayment->isAcceptingPayments($iProfileId, BX_PAYMENT_TYPE_RECURRING))
                 $this->aInputs[$CNF['FIELD_WARNING_RECURRING']]['value'] = MsgBox(_t($this->aInputs[$CNF['FIELD_WARNING_RECURRING']]['value'], $oPayment->getDetailsUrl()));
             else 
                 unset($this->aInputs[$CNF['FIELD_WARNING_RECURRING']]);

+ 9 - 5
modules/boonex/market/classes/BxMarketModule.php

@@ -173,12 +173,16 @@ class BxMarketModule extends BxBaseModTextModule
      */
     public function serviceEntityCreate ($sDisplay = false)
     {
-    	$oPayments = BxDolPayments::getInstance();
-    	if(!$oPayments->isActive())
-    		return MsgBox(_t('_bx_market_err_no_payments'));
+        $CNF = &$this->_oConfig->CNF;
+
+        if(getParam($CNF['PARAM_NO_PAYMENTS']) != 'on') {
+            $oPayments = BxDolPayments::getInstance();
+            if(!$oPayments->isActive())
+                return MsgBox(_t('_bx_market_err_no_payments'));
 
-    	if(!$oPayments->isAcceptingPayments($this->_iProfileId))
-    		return MsgBox(_t('_bx_market_err_not_accept_payments', $oPayments->getDetailsUrl()));
+            if(!$oPayments->isAcceptingPayments($this->_iProfileId))
+                return MsgBox(_t('_bx_market_err_not_accept_payments', $oPayments->getDetailsUrl()));
+        }
 
     	return parent::serviceEntityCreate($sDisplay);
     }

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

@@ -5,6 +5,7 @@
     <string name="_bx_market_reactions"><![CDATA[Market's Reactions]]></string>
 
     <string name="_bx_market_option_enable_auto_approve"><![CDATA[Auto approve a product after creation]]></string>
+    <string name="_bx_market_option_enable_no_payments"><![CDATA[Allow to work without payments]]></string>
     <string name="_bx_market_option_enable_recurring"><![CDATA[Allow to sell subscriptions]]></string>
     <string name="_bx_market_option_recurring_reserve"><![CDATA[Reserve (in days) to accept and process recurring payment notification]]></string>
     <string name="_bx_market_option_summary_chars"><![CDATA[Number of characters in auto-cropped product summary]]></string>

+ 3 - 2
modules/boonex/market/install/sql/enable.sql

@@ -11,8 +11,9 @@ SET @iCategId = LAST_INSERT_ID();
 
 INSERT INTO `sys_options` (`name`, `value`, `category_id`, `caption`, `type`, `check`, `check_error`, `extra`, `order`) VALUES
 ('bx_market_enable_auto_approve', 'on', @iCategId, '_bx_market_option_enable_auto_approve', 'checkbox', '', '', '', 0),
-('bx_market_enable_recurring', 'on', @iCategId, '_bx_market_option_enable_recurring', 'checkbox', '', '', '', 1),
-('bx_market_recurring_reserve', '4', @iCategId, '_bx_market_option_recurring_reserve', 'digit', '', '', '', 2),
+('bx_market_enable_no_payments', '', @iCategId, '_bx_market_option_enable_no_payments', 'checkbox', '', '', '', 1),
+('bx_market_enable_recurring', 'on', @iCategId, '_bx_market_option_enable_recurring', 'checkbox', '', '', '', 2),
+('bx_market_recurring_reserve', '4', @iCategId, '_bx_market_option_recurring_reserve', 'digit', '', '', '', 3),
 ('bx_market_summary_chars', '700', @iCategId, '_bx_market_option_summary_chars', 'digit', '', '', '', 10),
 ('bx_market_plain_summary_chars', '240', @iCategId, '_bx_market_option_plain_summary_chars', 'digit', '', '', '', 11),
 ('bx_market_per_page_browse', '12', @iCategId, '_bx_market_option_per_page_browse', 'digit', '', '', '', 20),

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

@@ -5,6 +5,7 @@
     <string name="_bx_market_reactions"><![CDATA[Рынок - Реакции]]></string>
 
     <string name="_bx_market_option_enable_auto_approve"><![CDATA[Автоматически активировать продукт после создания]]></string>
+    <string name="_bx_market_option_enable_no_payments"><![CDATA[Разрешить работать без платежей]]></string>
     <string name="_bx_market_option_enable_recurring"><![CDATA[Разрешить продажу подписок]]></string>
     <string name="_bx_market_option_recurring_reserve"><![CDATA[Резерв (в днях) на принятие и обработку сообщения об оплате подписки.]]></string>
     <string name="_bx_market_option_summary_chars"><![CDATA[Количество символов в автогенерируемой сводке к продуктам]]></string>