AntonLV 9 лет назад
Родитель
Сommit
973ca2891f

+ 31 - 5
modules/boonex/developer/classes/BxDevBuilderPage.php

@@ -338,6 +338,22 @@ class BxDevBuilderPage extends BxTemplStudioBuilderPage
                 );
                 );
                 break;
                 break;
 
 
+            case BX_DOL_STUDIO_BP_BLOCK_LANG:
+                $aFields = array(
+                    'content' => array(
+                        'type' => 'text',
+                        'name' => 'content',
+                        'caption' => _t('_bx_dev_bp_txt_block_content_lang'),
+                        'info' => _t('_bx_dev_bp_dsc_block_content_lang'),
+                        'value' => $aBlock['content'],
+                        'required' => '0',
+                        'db' => array (
+                            'pass' => 'Xss',
+                        ),
+                    ),
+                );
+                break;
+
             default:
             default:
                 $aFields = parent::getBlockContent($aBlock);
                 $aFields = parent::getBlockContent($aBlock);
                 break;
                 break;
@@ -397,11 +413,21 @@ class BxDevBuilderPage extends BxTemplStudioBuilderPage
     {
     {
         parent::onSaveBlock($oForm, $aBlock);
         parent::onSaveBlock($oForm, $aBlock);
 
 
-        if($aBlock['type'] == BX_DOL_STUDIO_BP_BLOCK_SERVICE && isset($oForm->aInputs['content'])) {
-            $sValue = $oForm->getCleanValue('content');
-            $sValue = BxDevFunctions::serializeString($sValue);
-            BxDolForm::setSubmittedValue('content', $sValue, $oForm->aFormAttrs['method']);
-        }
+        if($aBlock['type'] == BX_DOL_STUDIO_BP_BLOCK_SERVICE && isset($oForm->aInputs['content']))
+            $this->onSaveBlockService($oForm, $aBlock);
+    }
+
+    protected function onSaveBlockLang(&$oForm, &$aBlock)
+    {
+        $sValue = $oForm->getCleanValue('content');
+        BxDolForm::setSubmittedValue('content', $sValue, $oForm->aFormAttrs['method']);
+    }
+
+    protected function onSaveBlockService(&$oForm, &$aBlock)
+    {
+        $sValue = $oForm->getCleanValue('content');
+        $sValue = BxDevFunctions::serializeString($sValue);
+        BxDolForm::setSubmittedValue('content', $sValue, $oForm->aFormAttrs['method']);
     }
     }
 
 
     protected function _getTmplVarsBlockPanelTopActions()
     protected function _getTmplVarsBlockPanelTopActions()

+ 2 - 0
modules/boonex/developer/install/langs/en.xml

@@ -356,6 +356,8 @@
     <string name="_bx_dev_bp_txt_sys_block_visible_for_levels"><![CDATA[Select Levels]]></string>
     <string name="_bx_dev_bp_txt_sys_block_visible_for_levels"><![CDATA[Select Levels]]></string>
     <string name="_bx_dev_bp_txt_block_visible_for_levels"><![CDATA[Select Levels]]></string>
     <string name="_bx_dev_bp_txt_block_visible_for_levels"><![CDATA[Select Levels]]></string>
     <string name="_bx_dev_bp_txt_block_content_service"><![CDATA[Code]]></string>
     <string name="_bx_dev_bp_txt_block_content_service"><![CDATA[Code]]></string>
+    <string name="_bx_dev_bp_txt_block_content_lang"><![CDATA[Content]]></string>
+    <string name="_bx_dev_bp_dsc_block_content_lang"><![CDATA[Enter language key]]></string>
     <string name="_bx_dev_bp_txt_sys_block_deletable"><![CDATA[Deletable]]></string>
     <string name="_bx_dev_bp_txt_sys_block_deletable"><![CDATA[Deletable]]></string>
     <string name="_bx_dev_bp_txt_block_deletable"><![CDATA[Deletable]]></string>
     <string name="_bx_dev_bp_txt_block_deletable"><![CDATA[Deletable]]></string>
     <string name="_bx_dev_bp_txt_sys_block_copyable"><![CDATA[Copyable]]></string>
     <string name="_bx_dev_bp_txt_sys_block_copyable"><![CDATA[Copyable]]></string>

+ 1 - 1
modules/boonex/english/data/langs/system/en.xml

@@ -454,7 +454,7 @@
 	<string name="_adm_bp_cpt_type_modules"><![CDATA[Modules]]></string>
 	<string name="_adm_bp_cpt_type_modules"><![CDATA[Modules]]></string>
 	<string name="_adm_bp_cpt_type_system"><![CDATA[System]]></string>
 	<string name="_adm_bp_cpt_type_system"><![CDATA[System]]></string>
 	<string name="_adm_bp_dsc_block_content_image_file"><![CDATA[The image will be displayed in block]]></string>
 	<string name="_adm_bp_dsc_block_content_image_file"><![CDATA[The image will be displayed in block]]></string>
-	<string name="_adm_bp_dsc_block_content_lang"><![CDATA[Enter language key here]]></string>
+	<string name="_adm_bp_dsc_block_content_lang"><![CDATA[Enter the content in accordance with the selected language]]></string>
 	<string name="_adm_bp_dsc_block_content_raw"><![CDATA[Enter HTML content here]]></string>
 	<string name="_adm_bp_dsc_block_content_raw"><![CDATA[Enter HTML content here]]></string>
 	<string name="_adm_bp_dsc_block_content_rss_length"><![CDATA[Enter a number of displayed items here]]></string>
 	<string name="_adm_bp_dsc_block_content_rss_length"><![CDATA[Enter a number of displayed items here]]></string>
 	<string name="_adm_bp_dsc_block_content_rss_url"><![CDATA[Enter URL to RSS resource here]]></string>
 	<string name="_adm_bp_dsc_block_content_rss_url"><![CDATA[Enter URL to RSS resource here]]></string>

+ 2 - 0
modules/boonex/russian/data/langs/bx_developer/ru.xml

@@ -356,6 +356,8 @@
     <string name="_bx_dev_bp_txt_sys_block_visible_for_levels"><![CDATA[Выбранных уровней]]></string>
     <string name="_bx_dev_bp_txt_sys_block_visible_for_levels"><![CDATA[Выбранных уровней]]></string>
     <string name="_bx_dev_bp_txt_block_visible_for_levels"><![CDATA[Выбрать уровни]]></string>
     <string name="_bx_dev_bp_txt_block_visible_for_levels"><![CDATA[Выбрать уровни]]></string>
     <string name="_bx_dev_bp_txt_block_content_service"><![CDATA[Код]]></string>
     <string name="_bx_dev_bp_txt_block_content_service"><![CDATA[Код]]></string>
+    <string name="_bx_dev_bp_txt_block_content_lang"><![CDATA[Содержимое]]></string>
+    <string name="_bx_dev_bp_dsc_block_content_lang"><![CDATA[Введите языковой ключ]]></string>
     <string name="_bx_dev_bp_txt_sys_block_deletable"><![CDATA[Можно удалять]]></string>
     <string name="_bx_dev_bp_txt_sys_block_deletable"><![CDATA[Можно удалять]]></string>
     <string name="_bx_dev_bp_txt_block_deletable"><![CDATA[Можно удалять]]></string>
     <string name="_bx_dev_bp_txt_block_deletable"><![CDATA[Можно удалять]]></string>
     <string name="_bx_dev_bp_txt_sys_block_copyable"><![CDATA[Можно копировать]]></string>
     <string name="_bx_dev_bp_txt_sys_block_copyable"><![CDATA[Можно копировать]]></string>

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

@@ -454,7 +454,7 @@
 	<string name="_adm_bp_cpt_type_modules"><![CDATA[Модули]]></string>
 	<string name="_adm_bp_cpt_type_modules"><![CDATA[Модули]]></string>
 	<string name="_adm_bp_cpt_type_system"><![CDATA[Система]]></string>
 	<string name="_adm_bp_cpt_type_system"><![CDATA[Система]]></string>
 	<string name="_adm_bp_dsc_block_content_image_file"><![CDATA[Картинка будет отображена в блоке]]></string>
 	<string name="_adm_bp_dsc_block_content_image_file"><![CDATA[Картинка будет отображена в блоке]]></string>
-	<string name="_adm_bp_dsc_block_content_lang"><![CDATA[Введите здесь языковой ключ]]></string>
+	<string name="_adm_bp_dsc_block_content_lang"><![CDATA[Введите содержимое в соответствии с выбранным языком]]></string>
 	<string name="_adm_bp_dsc_block_content_raw"><![CDATA[Введите здесь HTML-содержимое]]></string>
 	<string name="_adm_bp_dsc_block_content_raw"><![CDATA[Введите здесь HTML-содержимое]]></string>
 	<string name="_adm_bp_dsc_block_content_rss_length"><![CDATA[Введите здесь количество отображаемых элементов]]></string>
 	<string name="_adm_bp_dsc_block_content_rss_length"><![CDATA[Введите здесь количество отображаемых элементов]]></string>
 	<string name="_adm_bp_dsc_block_content_rss_url"><![CDATA[Введите здесь URL RSS-ресурса]]></string>
 	<string name="_adm_bp_dsc_block_content_rss_url"><![CDATA[Введите здесь URL RSS-ресурса]]></string>

+ 47 - 35
studio/classes/BxDolStudioBuilderPage.php

@@ -99,47 +99,59 @@ class BxDolStudioBuilderPage extends BxTemplStudioPage
         unset($oForm->aInputs['visible_for']);
         unset($oForm->aInputs['visible_for']);
 
 
         //--- Process Lang fields
         //--- Process Lang fields
-        if($aBlock['type'] == BX_DOL_STUDIO_BP_BLOCK_LANG && isset($oForm->aInputs['content'])) {
-            $oLanguage = BxDolStudioLanguagesUtils::getInstance();
-
-            $sContentKey = '';
-            $sContentValue = $oForm->getCleanValue('content');
-            if($aBlock['content'] == '') {
-                $sContentKey = '_sys_bpb_content_' . $aBlock['id'];
-                $oLanguage->addLanguageString($sContentKey, $sContentValue);
-            } else {
-                $sContentKey = $aBlock['content'];
-                $oLanguage->updateLanguageString($sContentKey, $sContentValue);
-            }
-            BxDolForm::setSubmittedValue('content', $sContentKey, $oForm->aFormAttrs['method']);
-        }
+        if($aBlock['type'] == BX_DOL_STUDIO_BP_BLOCK_LANG && isset($oForm->aInputs['content']))
+            $this->onSaveBlockLang($oForm, $aBlock);
 
 
         //--- Process Image fields
         //--- Process Image fields
-        if($aBlock['type'] == BX_DOL_STUDIO_BP_BLOCK_IMAGE && isset($oForm->aInputs['image_file'], $oForm->aInputs['image_align'])) {
-            $iImageId = 0;
-            if($aBlock['content'] != '')
-                list($iImageId) = explode($this->sParamsDivider, $aBlock['content']);
+        if($aBlock['type'] == BX_DOL_STUDIO_BP_BLOCK_IMAGE && isset($oForm->aInputs['image_file'], $oForm->aInputs['image_align']))
+            $this->onSaveBlockImage($oForm, $aBlock);
 
 
-            $iImageId = $oForm->processImageUploaderSave('image_file', $iImageId);
-            if(is_string($iImageId) && !is_numeric($iImageId))
-                return array('msg' => $iImageId);
-
-            $sImageAlign = $oForm->getCleanValue('image_align');
+        //--- Process RSS fields
+        if($aBlock['type'] == BX_DOL_STUDIO_BP_BLOCK_RSS && isset($oForm->aInputs['rss_url'], $oForm->aInputs['rss_length']))
+            $this->onSaveBlockRss($oForm, $aBlock);
+    }
 
 
-            unset($oForm->aInputs['image_file'], $oForm->aInputs['image_align']);
-            BxDolForm::setSubmittedValue('content', implode($this->sParamsDivider, array($iImageId, $sImageAlign)), $oForm->aFormAttrs['method']);
+    protected function onSaveBlockLang(&$oForm, &$aBlock)
+    {
+        $oLanguage = BxDolStudioLanguagesUtils::getInstance();
+
+        $sContentKey = '';
+        $sContentValue = $oForm->getCleanValue('content');
+        if($aBlock['content'] == '') {
+            $sContentKey = '_sys_bpb_content_' . $aBlock['id'];
+            $oLanguage->addLanguageString($sContentKey, $sContentValue);
+        } else {
+            $sContentKey = $aBlock['content'];
+            $oLanguage->updateLanguageString($sContentKey, $sContentValue);
         }
         }
+        BxDolForm::setSubmittedValue('content', $sContentKey, $oForm->aFormAttrs['method']);
+    }
 
 
-        //--- Process RSS fields
-        if($aBlock['type'] == BX_DOL_STUDIO_BP_BLOCK_RSS && isset($oForm->aInputs['rss_url'], $oForm->aInputs['rss_length'])) {
-            $aRss = array(
-                trim($oForm->getCleanValue('rss_url')),
-                $oForm->getCleanValue('rss_length')
-            );
-
-            unset($oForm->aInputs['rss_url'], $oForm->aInputs['rss_length']);
-            BxDolForm::setSubmittedValue('content', implode($this->sParamsDivider, $aRss), $oForm->aFormAttrs['method']);
-        }
+    protected function onSaveBlockImage(&$oForm, &$aBlock)
+    {
+        $iImageId = 0;
+        if($aBlock['content'] != '')
+            list($iImageId) = explode($this->sParamsDivider, $aBlock['content']);
+
+        $iImageId = $oForm->processImageUploaderSave('image_file', $iImageId);
+        if(is_string($iImageId) && !is_numeric($iImageId))
+            return array('msg' => $iImageId);
+
+        $sImageAlign = $oForm->getCleanValue('image_align');
+
+        unset($oForm->aInputs['image_file'], $oForm->aInputs['image_align']);
+        BxDolForm::setSubmittedValue('content', implode($this->sParamsDivider, array($iImageId, $sImageAlign)), $oForm->aFormAttrs['method']);
+    }
+    
+    protected function onSaveBlockRss(&$oForm, &$aBlock)
+    {
+        $aRss = array(
+            trim($oForm->getCleanValue('rss_url')),
+            $oForm->getCleanValue('rss_length')
+        );
+
+        unset($oForm->aInputs['rss_url'], $oForm->aInputs['rss_length']);
+        BxDolForm::setSubmittedValue('content', implode($this->sParamsDivider, $aRss), $oForm->aFormAttrs['method']);
     }
     }
 
 
     protected function addInArray($aInput, $sKey, $aValues)
     protected function addInArray($aInput, $sKey, $aValues)

+ 3 - 3
studio/template/scripts/BxBaseStudioBuilderPage.php

@@ -1374,13 +1374,13 @@ class BxBaseStudioBuilderPage extends BxDolStudioBuilderPage
             case BX_DOL_STUDIO_BP_BLOCK_LANG:
             case BX_DOL_STUDIO_BP_BLOCK_LANG:
                 $aFields = array(
                 $aFields = array(
                     'content' => array(
                     'content' => array(
-                        'type' => 'textarea',
+                        'type' => 'textarea_translatable',
                         'name' => 'content',
                         'name' => 'content',
                         'caption' => _t('_adm_bp_txt_block_content_lang'),
                         'caption' => _t('_adm_bp_txt_block_content_lang'),
                         'info' => _t('_adm_bp_dsc_block_content_lang'),
                         'info' => _t('_adm_bp_dsc_block_content_lang'),
-                        'value' => $aBlock['content'] != '' ? _t($aBlock['content']) : '',
+                        'value' => $aBlock['content'],
                         'required' => '0',
                         'required' => '0',
-                        'html' => 1,
+                        'html' => 0,
                         'db' => array (
                         'db' => array (
                             'pass' => 'XssHtml',
                             'pass' => 'XssHtml',
                         ),
                         ),