Quellcode durchsuchen

#255 Clean up: splash code block wasn't saving/displaying correctly

Alex Trofimov vor 10 Jahren
Ursprung
Commit
1bb454aa37

+ 1 - 1
modules/boonex/datafox/classes/BxDataFoxModule.php

@@ -55,7 +55,7 @@ class BxDataFoxModule extends BxDolModule
             $e->parentNode->removeChild($e);
 
         // save the result 
-        if (false === ($s = $dom->saveXML($dom->getElementsByTagName('div')->item(0)))) // in case of error return original string
+        if (false === ($s = $dom->saveHTML($dom->getElementsByTagName('div')->item(0)))) // in case of error return original string
             return $sHtml;
 
         // strip added tags

+ 1 - 0
studio/template/designer_splash.html

@@ -7,6 +7,7 @@ __content__
         var e = CodeMirror.fromTextArea($('textarea[name=code]').get(0), {
             lineNumbers: true,
             mode: "htmlmixed",
+            htmlMode: true,
             matchBrackets: true
         });
     });

+ 3 - 5
studio/template/scripts/BxBaseStudioDesigner.php

@@ -470,13 +470,11 @@ class BxBaseStudioDesigner extends BxDolStudioDesigner
                     ),
 				),
 				'code' => array(
-					'type' => 'textarea',
-					'name' => 'code',
+                    'type' => 'textarea',
+                    'code' => true,
+                    'name' => 'code',
 					'caption' => '',
 					'value' => getParam('sys_site_splash_code'),
-					'db' => array (
-                        'pass' => 'XssHtml',
-                    ),
 				),
 				'save' => array(
 					'type' => 'submit',

+ 2 - 2
template/scripts/BxBaseFormView.php

@@ -337,7 +337,7 @@ EOS;
 
             case 'textarea':
                 if (isset($aInput['value']) && '' !== $aInput['value']) 
-                    $sValue = isset($aInput['html']) && $aInput['html'] ? $aInput['value'] : bx_process_output($aInput['value'], BX_DATA_TEXT_MULTILINE);
+                    $sValue = (isset($aInput['html']) && $aInput['html']) || (isset($aInput['code']) && $aInput['code']) ? $aInput['value'] : bx_process_output($aInput['value'], BX_DATA_TEXT_MULTILINE);
                 else
                     $sValue = null;
             break;
@@ -769,7 +769,7 @@ BLAH;
 
         $sAttrs = bx_convert_array2attrs($aAttrs, "bx-def-font-inputs bx-form-input-{$aInput['type']}" . ((isset($aInput['html']) and $aInput['html'] and $this->addHtmlEditor($aInput['html'], $aInput)) ? ' bx-form-input-html' : ''));
 
-        $sValue = isset($aInput['value']) ? bx_process_output(isset($aInput['html']) && $aInput['html'] ? $aInput['value'] : strip_tags($aInput['value'])) : '';
+        $sValue = isset($aInput['value']) ? bx_process_output((isset($aInput['html']) && $aInput['html']) || (isset($aInput['code']) && $aInput['code']) ? $aInput['value'] : strip_tags($aInput['value'])) : '';
 
         return "<textarea $sAttrs>$sValue</textarea>";
     }