Pārlūkot izejas kodu

Ticket #637 - improvements.

AntonLV 9 gadi atpakaļ
vecāks
revīzija
b6811764d5

+ 4 - 1
modules/boonex/russian/data/langs/bx_snipcart/ru.xml

@@ -36,8 +36,9 @@
     <string name="_bx_snipcart_form_entry_input_price_err"><![CDATA[Поле Цена не может быть пустым]]></string>
     <string name="_bx_snipcart_form_entry_input_sys_weight"><![CDATA[Вес]]></string>
     <string name="_bx_snipcart_form_entry_input_weight"><![CDATA[Вес]]></string>
-    <string name="_bx_snipcart_form_entry_input_weight_inf"><![CDATA[Значение указывается в Кг.]]></string>
+    <string name="_bx_snipcart_form_entry_input_weight_inf"><![CDATA[Значение указывается в кг.]]></string>
     <string name="_bx_snipcart_form_entry_input_weight_err"><![CDATA[Поле Вес не может быть пустым]]></string>
+    <string name="_bx_snipcart_form_entry_input_weight_value"><![CDATA[{0} кг]]></string>
 	<string name="_bx_snipcart_form_entry_input_sys_delete_confirm"><![CDATA[Удалить подтверждение]]></string>
 	<string name="_bx_snipcart_form_entry_input_delete_confirm"><![CDATA[Я уверен(а), что хочу удалить этот товар]]></string>
 	<string name="_bx_snipcart_form_entry_input_delete_confirm_info"><![CDATA[Это действие не может быть отменено]]></string>
@@ -229,6 +230,8 @@
 
     <string name="_bx_snipcart_pre_lists_currencies"><![CDATA[Валюта]]></string>
 
+    <string name="_bx_snipcart_msg_save_settings"><![CDATA[Настройки сохранены.]]></string>
+    <string name="_bx_snipcart_err_save_settings"><![CDATA[Невозможно сохранить настройки.]]></string>
     <string name="_bx_snipcart_err_not_configured"><![CDATA[Сначала вам необходимо настроить магазин. <a href="{0}">Нажмите здесь</a>.]]></string>
 
     <string name="_bx_snipcart_txt_all_entries_by"><![CDATA[<a href="{0}">Все товары от {1} ({2})</a>]]></string>

+ 13 - 0
modules/boonex/snipcart/classes/BxSnipcartFormEntry.php

@@ -27,6 +27,19 @@ class BxSnipcartFormEntry extends BxBaseModTextFormEntry
             $this->aInputs[$CNF['FIELD_PRICE']]['info'] = sprintf($this->aInputs[$CNF['FIELD_PRICE']]['info'], $aCurency['code']);
         }
     }
+
+    public function genCustomViewRowValueWeight($aInput)
+    {
+        $mixedResult = null;
+
+        if(isset($aInput['value']) && $aInput['value'] !== '')
+            $mixedResult = bx_process_output($aInput['value'], BX_DATA_FLOAT);
+
+        if(!empty($mixedResult))
+            $mixedResult = _t('_bx_snipcart_form_entry_input_weight_value', $mixedResult);
+
+        return $mixedResult;
+    }
 }
 
 /** @} */

+ 20 - 19
modules/boonex/snipcart/classes/BxSnipcartModule.php

@@ -84,31 +84,32 @@ class BxSnipcartModule extends BxBaseModTextModule
         $aSettings = $this->_oDb->getSettings(array('type' => 'author', 'author' => $this->_iProfileId));
         $bSettings = !empty($aSettings) && is_array($aSettings);
 
+        $sResultTimer = 0;
+        $sResultMessage = '';
+
         $oForm->initChecker($aSettings);
-        if(!$oForm->isSubmittedAndValid())
-            return $oForm->getCode();
-
-        if(!$bSettings) {
-            $aValsToAdd = array('author' => $this->_iProfileId);
-            $iSettings = $oForm->insert($aValsToAdd);
-            if(!$iSettings) {
-                if(!$oForm->isValid())
-                    return $oForm->getCode();
-                else
-                    return MsgBox(_t('_sys_txt_error_entry_creation'));
+        if($oForm->isSubmittedAndValid()) {         
+            if(!$bSettings) {
+                if((int)$oForm->insert(array('author' => $this->_iProfileId)) > 0) {
+                    $sResultTimer = 3;
+                    $sResultMessage = '_bx_snipcart_msg_save_settings';
+                }
+                else 
+                    $sResultMessage = '_bx_snipcart_err_save_settings';
+                
             }
-        }
-        else {
-            if(!$oForm->update($aSettings['id'])) {
-                if(!$oForm->isValid())
-                    return $oForm->getCode();
-                else
-                    return MsgBox(_t('_sys_txt_error_entry_update'));
+            else {
+                if($oForm->update($aSettings['id']) !== false) {
+                    $sResultTimer = 3;
+                    $sResultMessage = '_bx_snipcart_msg_save_settings';
+                }
+                else 
+                    $sResultMessage = '_bx_snipcart_err_save_settings';
             }
         }
 
         return array(
-        	'content' => $oForm->getCode()
+        	'content' => (!empty($sResultMessage) ? MsgBox(_t($sResultMessage), $sResultTimer) : '') . $oForm->getCode()
         );
     }
 

+ 3 - 0
modules/boonex/snipcart/install/langs/en.xml

@@ -38,6 +38,7 @@
     <string name="_bx_snipcart_form_entry_input_weight"><![CDATA[Weight]]></string>
     <string name="_bx_snipcart_form_entry_input_weight_inf"><![CDATA[The value is indicated in Kg.]]></string>
     <string name="_bx_snipcart_form_entry_input_weight_err"><![CDATA[Weight field can't be empty]]></string>
+    <string name="_bx_snipcart_form_entry_input_weight_value"><![CDATA[{0} Kg]]></string>
 	<string name="_bx_snipcart_form_entry_input_sys_delete_confirm"><![CDATA[Delete confirmation]]></string>
 	<string name="_bx_snipcart_form_entry_input_delete_confirm"><![CDATA[I am sure I want to delete this product]]></string>
 	<string name="_bx_snipcart_form_entry_input_delete_confirm_info"><![CDATA[This action can not be undone]]></string>
@@ -229,6 +230,8 @@
 
     <string name="_bx_snipcart_pre_lists_currencies"><![CDATA[Currencies]]></string>
 
+    <string name="_bx_snipcart_msg_save_settings"><![CDATA[Settings were successfully saved.]]></string>
+    <string name="_bx_snipcart_err_save_settings"><![CDATA[Cannot save settings.]]></string>
     <string name="_bx_snipcart_err_not_configured"><![CDATA[You need to configure shop settings first. <a href="{0}">Click here</a>.]]></string>
 
     <string name="_bx_snipcart_txt_all_entries_by"><![CDATA[<a href="{0}">All Goods by {1} ({2})</a>]]></string>

+ 3 - 0
template/scripts/BxBaseFunctions.php

@@ -53,6 +53,9 @@ class BxBaseFunctions extends BxDolFactory implements iBxDolSingleton
     {
         $iId = time() . mt_rand(1, 1000);
 
+        if($iTimer > 0)
+            BxDolTemplate::getInstance()->addJs(array('jquery.anim.js'));
+
         return $this->_oTemplate->parseHtmlByName('messageBox.html', array(
             'id' => $iId,
             'msgText' => $sText,