Merge #1371 #1369 에디터 체크하여 HTML 인코딩 by Xvezda

* pr/1371:
  check manual inserted document
  check manual inserted comment
  fix line break bug document
  fix line break bug comment
  nl2br content document
  nl2br content comment
  Update xe_textarea.min.js
  Update xe_textarea.js
  check nohtml editor document
  check nohtml editor comment
This commit is contained in:
Kijin Sung 2015-10-08 14:10:38 +09:00
commit d92311fce0
4 changed files with 41 additions and 2 deletions

View file

@ -330,6 +330,16 @@ class commentController extends comment
}
$obj->content = nl2br($obj->content);
}
else
{
$oModuleModel = getModel('module');
$editor_config = $oModuleModel->getModuleConfig('editor');
if(substr_compare($editor_config->sel_comment_editor_colorset, 'nohtml', -6) === 0 && !$manual_inserted)
{
$obj->content = preg_replace('/\r|\n/', '', nl2br(htmlspecialchars($obj->content, ENT_COMPAT | ENT_HTML401, 'UTF-8', false)));
}
}
if(!$obj->regdate)
{
@ -739,6 +749,16 @@ class commentController extends comment
}
$obj->content = nl2br($obj->content);
}
else
{
$oModuleModel = getModel('module');
$editor_config = $oModuleModel->getModuleConfig('editor');
if(substr_compare($editor_config->sel_comment_editor_colorset, 'nohtml', -6) === 0)
{
$obj->content = preg_replace('/\r|\n/', '', nl2br(htmlspecialchars($obj->content, ENT_COMPAT | ENT_HTML401, 'UTF-8', false)));
}
}
// remove iframe and script if not a top administrator on the session
if($logged_info->is_admin != 'Y')

View file

@ -289,6 +289,16 @@ class documentController extends document
}
$obj->content = nl2br($obj->content);
}
else
{
$oModuleModel = getModel('module');
$editor_config = $oModuleModel->getModuleConfig('editor');
if(substr_compare($editor_config->sel_editor_colorset, 'nohtml', -6) === 0 && !$manual_inserted)
{
$obj->content = preg_replace('/\r|\n/', '', nl2br(htmlspecialchars($obj->content, ENT_COMPAT | ENT_HTML401, 'UTF-8', false)));
}
}
// Remove iframe and script if not a top adminisrator in the session.
if($logged_info->is_admin != 'Y') $obj->content = removeHackTag($obj->content);
// An error appears if both log-in info and user name don't exist.
@ -489,6 +499,16 @@ class documentController extends document
}
$obj->content = nl2br($obj->content);
}
else
{
$oModuleModel = getModel('module');
$editor_config = $oModuleModel->getModuleConfig('editor');
if(substr_compare($editor_config->sel_editor_colorset, 'nohtml', -6) === 0)
{
$obj->content = preg_replace('/\r|\n/', '', nl2br(htmlspecialchars($obj->content, ENT_COMPAT | ENT_HTML401, 'UTF-8', false)));
}
}
// Change not extra vars but language code of the original document if document's lang_code is different from author's setting.
if($source_obj->get('lang_code') != Context::getLangType())
{

View file

@ -34,7 +34,6 @@ function editorGetContentTextarea(editor_sequence) {
content = content.replace(/>/g, ">");
content = content.replace(/\"/g, """);
}
content = content.replace(/(\r\n|\n)/g, "<br />");
}
return content;
}

View file

@ -1 +1 @@
function editorStartTextarea(a,b,c){var d=xGetElementById("editor_"+a),e=xGetElementById("htm_"+a).value;d.form.setAttribute("editor_sequence",a),d.style.width="100%",editorRelKeys[a]=new Array,editorRelKeys[a].primary=d.form[c],editorRelKeys[a].content=d.form[b],editorRelKeys[a].func=editorGetContentTextarea;var f=d.form[b].value;e&&(f=f.replace(/<br([^>]*)>/gi,"\n"),"br"!=e&&(f=f.replace(/&lt;/g,"<"),f=f.replace(/&gt;/g,">"),f=f.replace(/&quot;/g,'"'),f=f.replace(/&amp;/g,"&"))),d.value=f}function editorGetContentTextarea(a){var b=xGetElementById("editor_"+a),c=xGetElementById("htm_"+a).value,d=b.value.trim();return c&&("br"!=c&&(d=d.replace(/&/g,"&amp;"),d=d.replace(/</g,"&lt;"),d=d.replace(/>/g,"&gt;"),d=d.replace(/\"/g,"&quot;")),d=d.replace(/(\r\n|\n)/g,"<br />")),d}
function editorStartTextarea(a,b,c){var d=xGetElementById("editor_"+a),e=xGetElementById("htm_"+a).value;d.form.setAttribute("editor_sequence",a),d.style.width="100%",editorRelKeys[a]=new Array,editorRelKeys[a].primary=d.form[c],editorRelKeys[a].content=d.form[b],editorRelKeys[a].func=editorGetContentTextarea;var f=d.form[b].value;e&&(f=f.replace(/<br([^>]*)>/gi,"\n"),"br"!=e&&(f=f.replace(/&lt;/g,"<"),f=f.replace(/&gt;/g,">"),f=f.replace(/&quot;/g,'"'),f=f.replace(/&amp;/g,"&"))),d.value=f}function editorGetContentTextarea(a){var b=xGetElementById("editor_"+a),c=xGetElementById("htm_"+a).value,d=b.value.trim();return c&&("br"!=c&&(d=d.replace(/&/g,"&amp;"),d=d.replace(/</g,"&lt;"),d=d.replace(/>/g,"&gt;"),d=d.replace(/\"/g,"&quot;"))),d}