浏览代码

Ticket #4915 - Market: Update Name field.

AntonLV 1 年之前
父节点
当前提交
4c421b3921

+ 23 - 8
modules/boonex/market/classes/BxMarketFormEntry.php

@@ -137,17 +137,21 @@ class BxMarketFormEntry extends BxBaseModTextFormEntry
         return parent::initChecker($aValues, $aSpecificValues);
     }
 
-	public function insert ($aValsToAdd = array(), $isIgnore = false)
+    public function insert ($aValsToAdd = [], $isIgnore = false)
     {
         $CNF = &$this->_oModule->_oConfig->CNF;
 
         if(isset($this->aInputs[$CNF['FIELD_NAME']])) {
             $sName = BxDolForm::getSubmittedValue($CNF['FIELD_NAME'], $this->aFormAttrs['method'], $this->_aSpecificValues);
+            if(!$sName && isset($this->aInputs[$CNF['FIELD_TITLE']]))
+                $sName = BxDolForm::getSubmittedValue($CNF['FIELD_TITLE'], $this->aFormAttrs['method'], $this->_aSpecificValues);
+
             $sName = $this->_oModule->_oConfig->getEntryName($sName);
+
             BxDolForm::setSubmittedValue($CNF['FIELD_NAME'], $sName, $this->aFormAttrs['method'], $this->_aSpecificValues);
         }
 
-	    if($this->_oModule->checkAllowedSetCover() === CHECK_ACTION_RESULT_ALLOWED) {
+        if($this->_oModule->checkAllowedSetCover() === CHECK_ACTION_RESULT_ALLOWED) {
             $aCover = isset($_POST[$CNF['FIELD_COVER']]) ? bx_process_input ($_POST[$CNF['FIELD_COVER']], BX_DATA_INT) : false;
 
             $aValsToAdd[$CNF['FIELD_COVER']] = 0;
@@ -156,9 +160,9 @@ class BxMarketFormEntry extends BxBaseModTextFormEntry
         }
 
         $aPackage = bx_process_input(bx_get($CNF['FIELD_PACKAGE']), BX_DATA_INT);
-		$aValsToAdd[$CNF['FIELD_PACKAGE']] = 0;
-		if(!empty($aPackage) && is_array($aPackage) && ($iFilePackage = array_pop($aPackage)))
-			$aValsToAdd[$CNF['FIELD_PACKAGE']] = $iFilePackage;
+        $aValsToAdd[$CNF['FIELD_PACKAGE']] = 0;
+        if(!empty($aPackage) && is_array($aPackage) && ($iFilePackage = array_pop($aPackage)))
+            $aValsToAdd[$CNF['FIELD_PACKAGE']] = $iFilePackage;
 
         $iContentId = parent::insert ($aValsToAdd, $isIgnore);
         if(!empty($iContentId))
@@ -171,10 +175,21 @@ class BxMarketFormEntry extends BxBaseModTextFormEntry
     {
         $CNF = &$this->_oModule->_oConfig->CNF;
 
-        $sNameKey = $CNF['FIELD_NAME'];
-        if(isset($this->aInputs[$sNameKey])) {
-            $sName = $this->getCleanValue($sNameKey);
+        if(($sNameKey = $CNF['FIELD_NAME']) && isset($this->aInputs[$sNameKey])) {
             $aContentInfo = $this->_oModule->_oDb->getContentInfoById($iContentId);
+            $bContentInfo = !empty($aContentInfo) && is_array($aContentInfo);
+
+            $sName = $this->getCleanValue($sNameKey);
+            if(!$sName) {
+                if($bContentInfo && !empty($aContentInfo[$sNameKey])) {
+                    $sName = $aContentInfo[$sNameKey];
+                    BxDolForm::setSubmittedValue($sNameKey, $sName, $this->aFormAttrs['method'], $this->_aSpecificValues);
+                }
+                else if(($sTitleKey = $CNF['FIELD_TITLE']) && isset($this->aInputs[$sTitleKey]))
+                    $sName = $this->getCleanValue($sTitleKey);
+                else
+                    $sName = 'ID' . time();
+            }
 
             if($aContentInfo[$sNameKey] != $sName) {
                 $sName = $this->_oModule->_oConfig->getEntryName($sName);

+ 4 - 3
modules/boonex/market/install/langs/en.xml

@@ -32,9 +32,10 @@
     <string name="_bx_market_form_entry_input_sys_title"><![CDATA[Title]]></string>
     <string name="_bx_market_form_entry_input_title"><![CDATA[Title]]></string>
     <string name="_bx_market_form_entry_input_title_err"><![CDATA[Title is essential. Please, fill in this field]]></string>
-    <string name="_bx_market_form_entry_input_sys_name"><![CDATA[Name]]></string>
-    <string name="_bx_market_form_entry_input_name"><![CDATA[Name]]></string>
-    <string name="_bx_market_form_entry_input_name_err"><![CDATA[Name should be unique and is needed for internal usage. Please, fill in this field]]></string>
+    <string name="_bx_market_form_entry_input_sys_name"><![CDATA[Identifier]]></string>
+    <string name="_bx_market_form_entry_input_name"><![CDATA[Identifier]]></string>
+    <string name="_bx_market_form_entry_input_name_inf"><![CDATA[Unique name for payment identification.]]></string>
+    <string name="_bx_market_form_entry_input_name_err"><![CDATA[Identifier should be unique and is needed for internal usage. Please, fill in this field]]></string>
     <string name="_bx_market_form_entry_input_sys_cat"><![CDATA[Category]]></string>
     <string name="_bx_market_form_entry_input_cat"><![CDATA[Category]]></string>
     <string name="_bx_market_form_entry_input_cat_err"><![CDATA[Please select category]]></string>

+ 1 - 1
modules/boonex/market/install/sql/install.sql

@@ -423,7 +423,7 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 ('bx_market', 'bx_market', 'notes', '', '', 0, 'textarea', '_bx_market_form_entry_input_sys_notes', '_bx_market_form_entry_input_notes', '_bx_market_form_entry_input_notes_inf', 0, 0, 0, '', '', '', '', '', '', 'Xss', '', 1, 0),
 ('bx_market', 'bx_market', 'notes_purchased', '', '', 0, 'textarea', '_bx_market_form_entry_input_sys_notes_purchased', '_bx_market_form_entry_input_notes_purchased', '_bx_market_form_entry_input_notes_purchased_inf', 0, 0, 3, '', '', '', '', '', '', 'XssHtml', '', 1, 0),
 ('bx_market', 'bx_market', 'title', '', '', 0, 'text', '_bx_market_form_entry_input_sys_title', '_bx_market_form_entry_input_title', '', 1, 0, 0, '', '', '', 'Avail', '', '_bx_market_form_entry_input_title_err', 'Xss', '', 1, 0),
-('bx_market', 'bx_market', 'name', '', '', 0, 'text', '_bx_market_form_entry_input_sys_name', '_bx_market_form_entry_input_name', '', 1, 0, 0, '', '', '', 'Avail', '', '_bx_market_form_entry_input_name_err', 'Xss', '', 1, 0),
+('bx_market', 'bx_market', 'name', '', '', 0, 'text', '_bx_market_form_entry_input_sys_name', '_bx_market_form_entry_input_name', '_bx_market_form_entry_input_name_inf', 1, 0, 0, '', '', '', '', '', '', 'Xss', '', 1, 0),
 ('bx_market', 'bx_market', 'cat', '', '#!bx_market_cats', 0, 'select', '_bx_market_form_entry_input_sys_cat', '_bx_market_form_entry_input_cat', '', 1, 0, 0, '', '', '', 'avail', '', '_bx_market_form_entry_input_cat_err', 'Xss', '', 1, 0),
 ('bx_market', 'bx_market', 'price_single', '', '', 0, 'price', '_bx_market_form_entry_input_sys_price_single', '_bx_market_form_entry_input_price_single', '_bx_market_form_entry_input_price_single_inf', 0, 0, 0, '', '', '', '', '', '', 'Float', '', 1, 0),
 ('bx_market', 'bx_market', 'price_recurring', '', '', 0, 'price', '_bx_market_form_entry_input_sys_price_recurring', '_bx_market_form_entry_input_price_recurring', '_bx_market_form_entry_input_price_recurring_inf', 0, 0, 0, '', '', '', '', '', '', 'Float', '', 1, 0),

+ 4 - 3
modules/boonex/russian/data/langs/bx_market/ru.xml

@@ -31,9 +31,10 @@
     <string name="_bx_market_form_entry_input_sys_title"><![CDATA[Заголовок]]></string>
     <string name="_bx_market_form_entry_input_title"><![CDATA[Заголовок]]></string>
     <string name="_bx_market_form_entry_input_title_err"><![CDATA[Заголовок обязателен. Пожалуйста, заполните это поле]]></string>
-    <string name="_bx_market_form_entry_input_sys_name"><![CDATA[Имя]]></string>
-    <string name="_bx_market_form_entry_input_name"><![CDATA[Имя]]></string>
-    <string name="_bx_market_form_entry_input_name_err"><![CDATA[Имя должно быть уникально и будет использоваться для внутренних целей. Пожалуйста, заполните это поле]]></string>
+    <string name="_bx_market_form_entry_input_sys_name"><![CDATA[Идентификатор]]></string>
+    <string name="_bx_market_form_entry_input_name"><![CDATA[Идентификатор]]></string>
+    <string name="_bx_market_form_entry_input_name_inf"><![CDATA[Уникальное имя для идентификации платежа.]]></string>
+    <string name="_bx_market_form_entry_input_name_err"><![CDATA[Идентификатор должен быть уникален и будет использоваться для внутренних целей. Пожалуйста, заполните это поле.]]></string>
     <string name="_bx_market_form_entry_input_sys_cat"><![CDATA[Категория]]></string>
     <string name="_bx_market_form_entry_input_cat"><![CDATA[Категория]]></string>
     <string name="_bx_market_form_entry_input_cat_err"><![CDATA[Нужно обязательно выбрать категорию]]></string>