Răsfoiți Sursa

#5600 Wiki: tags are stripped upon editing

Aleksandr Trofimov 2 luni în urmă
părinte
comite
4f6f9172b7
2 a modificat fișierele cu 4 adăugiri și 1 ștergeri
  1. 2 0
      inc/classes/BxDolWiki.php
  2. 2 1
      template/scripts/BxBaseFormView.php

+ 2 - 0
inc/classes/BxDolWiki.php

@@ -706,6 +706,8 @@ class BxDolWiki extends BxDolFactory implements iBxDolFactoryObject
         if(!$oForm)
             return ($sMsg = _t('_sys_wiki_error_occured', 12)) && $this->_bIsApi ? [bx_api_get_msg($sMsg)] : $sMsg;
 
+        $oForm->aInputs['content']['html_tags'] = true;
+        
         if(isset($oForm->aInputs['language'])) {
             if($this->_bIsApi)
                 foreach($aLangsForInput as $sKey => $aLangForInput)

+ 2 - 1
template/scripts/BxBaseFormView.php

@@ -1707,7 +1707,8 @@ BLAH;
             }
         }
 
-        $sValue = isset($aInput['value']) ? bx_process_output($bHtml || $bCode ? $aInput['value'] : strip_tags($aInput['value']), BX_DATA_TEXT, ['no_process_macros']) : '';
+        $bTagsAllowed = $bHtml || $bCode || ($aInput['html_tags'] ?? false);
+        $sValue = isset($aInput['value']) ? bx_process_output($bTagsAllowed ? $aInput['value'] : strip_tags($aInput['value']), BX_DATA_TEXT, ['no_process_macros']) : '';
 
         $aAgent = [];
         if(!empty($this->_aAgentsFormObject)) {