mirror of
https://github.com/e107inc/e107.git
synced 2025-10-09 12:06:29 +02:00
TinyMce rework of parser.
This commit is contained in:
@@ -527,35 +527,6 @@ function admin_config_adminmenu()
|
||||
$ef->show_options($action);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle page DOM within the page header
|
||||
*
|
||||
* @return string JS source
|
||||
*/
|
||||
function headerjs()
|
||||
{
|
||||
require_once(e_HANDLER.'js_helper.php');
|
||||
$ret = "
|
||||
<script type='text/javascript'>
|
||||
if(typeof e107Admin == 'undefined') var e107Admin = {}
|
||||
|
||||
/**
|
||||
* OnLoad Init Control
|
||||
*/
|
||||
e107Admin.initRules = {
|
||||
'Helper': true,
|
||||
'AdminMenu': false
|
||||
}
|
||||
</script>
|
||||
<script type='text/javascript' src='".e_FILE_ABS."jslib/core/admin.js'></script>
|
||||
";
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if($_POST['save_settings']) // Needs to be saved before e_meta.php is loaded by auth.php.
|
||||
{
|
||||
@@ -680,19 +651,5 @@ function edit_theme()
|
||||
|
||||
require_once(e_ADMIN."footer.php");
|
||||
|
||||
/*
|
||||
function headerjs()
|
||||
{
|
||||
require_once(e_HANDLER.'js_helper.php');
|
||||
//FIXME - how exactly to auto-call JS lan? This and more should be solved in Stage II.
|
||||
$ret = "
|
||||
<script type='text/javascript'>
|
||||
//add required core lan - delete confirm message
|
||||
</script>
|
||||
<script type='text/javascript' src='".e_FILE_ABS."jslib/core/admin.js'></script>
|
||||
";
|
||||
|
||||
// return $ret;
|
||||
}*/
|
||||
|
||||
?>
|
@@ -36,18 +36,19 @@ if(e_WYSIWYG || strpos(e_SELF,"tinymce/admin_config.php") )
|
||||
var id = $(this).attr('id'); // 'e-wysiwyg';
|
||||
$('#'+id).after('<div><a href=\"#\" id=\"' + id + '\" class=\"e-wysiwyg-toggle\">Switch to BBCODE</a></div>');
|
||||
// alert(id);
|
||||
$('#bbcode-panel-'+id+'--preview').hide();
|
||||
|
||||
});
|
||||
|
||||
|
||||
$('a.e-wysiwyg-toggle').toggle(function(){
|
||||
var id = $(this).attr('id'); // eg. news-body
|
||||
$('#bbcode-panel-'+id).show();
|
||||
$('#bbcode-panel-'+id+'--preview').show();
|
||||
$(this).text('Switch to WYSIWYG');
|
||||
tinyMCE.execCommand('mceRemoveControl', false, id);
|
||||
}, function () {
|
||||
var id = $(this).attr('id');
|
||||
$('#bbcode-panel-'+id).hide();
|
||||
$('#bbcode-panel-'+id+'--preview').hide();
|
||||
$(this).text('Switch to BBCODE');
|
||||
tinyMCE.execCommand('mceAddControl', false, id);
|
||||
});
|
||||
|
@@ -11,15 +11,16 @@
|
||||
var t = this, dialect = ed.getParam('bbcode_dialect', 'e107').toLowerCase();
|
||||
|
||||
ed.onBeforeSetContent.add(function(ed, o) {
|
||||
o.content = t['_' + dialect + '_bbcode2html'](o.content);
|
||||
|
||||
o.content = t['_' + dialect + '_bbcode2html'](o.content,url);
|
||||
});
|
||||
|
||||
ed.onPostProcess.add(function(ed, o) {
|
||||
if (o.set)
|
||||
o.content = t['_' + dialect + '_bbcode2html'](o.content);
|
||||
o.content = t['_' + dialect + '_bbcode2html'](o.content,url);
|
||||
|
||||
if (o.get)
|
||||
o.content = t['_' + dialect + '_html2bbcode'](o.content);
|
||||
o.content = t['_' + dialect + '_html2bbcode'](o.content,url);
|
||||
});
|
||||
},
|
||||
|
||||
@@ -36,8 +37,26 @@
|
||||
// Private methods
|
||||
|
||||
// HTML -> BBCode in PunBB dialect
|
||||
_e107_html2bbcode : function(s) {
|
||||
_e107_html2bbcode : function(s,url) {
|
||||
s = tinymce.trim(s);
|
||||
|
||||
|
||||
var p = $.ajax({
|
||||
type: "POST",
|
||||
url: url + "/parser.php",
|
||||
data: { content: s, mode: 'tobbcode' },
|
||||
async : false,
|
||||
|
||||
dataType: "html",
|
||||
success: function(html) {
|
||||
return html;
|
||||
}
|
||||
}).responseText;
|
||||
|
||||
return p;
|
||||
|
||||
|
||||
|
||||
|
||||
function rep(re, str) {
|
||||
s = s.replace(re, str);
|
||||
@@ -137,10 +156,28 @@
|
||||
|
||||
return s;
|
||||
},
|
||||
|
||||
|
||||
// BBCode -> HTML from PunBB dialect
|
||||
_e107_bbcode2html : function(s) {
|
||||
_e107_bbcode2html : function(s,url) {
|
||||
s = tinymce.trim(s);
|
||||
|
||||
var p = $.ajax({
|
||||
type: "POST",
|
||||
url: url + "/parser.php",
|
||||
data: { content: s, mode: 'tohtml' },
|
||||
async : false,
|
||||
|
||||
dataType: "html",
|
||||
success: function(html) {
|
||||
return html;
|
||||
}
|
||||
}).responseText;
|
||||
|
||||
return p;
|
||||
|
||||
|
||||
return s;
|
||||
|
||||
|
||||
function rep(re, str) {
|
||||
s = s.replace(re, str);
|
||||
|
28
e107_plugins/tinymce/plugins/e107bbcode/parser.php
Normal file
28
e107_plugins/tinymce/plugins/e107bbcode/parser.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/*
|
||||
* e107 website system
|
||||
*
|
||||
* Copyright (C) e107 Inc (e107.org)
|
||||
* Released under the terms and conditions of the
|
||||
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||
*
|
||||
* $URL: https://e107.svn.sourceforge.net/svnroot/e107/trunk/e107_0.8/e107_handlers/bbcode_handler.php $
|
||||
* $Id: bbcode_handler.php 12778 2012-06-02 08:12:16Z e107coders $
|
||||
*/
|
||||
require_once("../../../../class2.php");
|
||||
|
||||
|
||||
if($_POST['mode'] == 'tohtml')
|
||||
{
|
||||
echo $tp->toHtml($_POST['content'],true);
|
||||
}
|
||||
|
||||
if($_POST['mode'] == 'tobbcode')
|
||||
{
|
||||
//echo $_POST['content'];
|
||||
echo e107::getBB()->htmltoBbcode($_POST['content']);
|
||||
}
|
||||
|
||||
|
||||
|
||||
?>
|
@@ -278,9 +278,9 @@ class wysiwyg
|
||||
|
||||
// 'theme_advanced_statusbar_location' => 'bottom',
|
||||
'theme_advanced_resizing' => 'true',
|
||||
'remove_linebreaks' => 'false',
|
||||
'remove_linebreaks' => 'true',
|
||||
'extended_valid_elements' => '',
|
||||
'apply_source_formatting' => 'true',
|
||||
'apply_source_formatting' => 'false',
|
||||
'invalid_elements' => 'p,font,align,script,applet,iframe',
|
||||
'auto_cleanup_word' => 'true',
|
||||
'convert_fonts_to_spans' => 'true',
|
||||
@@ -290,7 +290,7 @@ class wysiwyg
|
||||
'debug' => 'false',
|
||||
'force_br_newlines' => 'true',
|
||||
'forced_root_block' => '',
|
||||
'convert_newlines_to_brs' => 'false', // will break [list] if set to true
|
||||
'convert_newlines_to_brs' => 'true', // will break [list] if set to true
|
||||
'force_p_newlines' => 'false',
|
||||
'entity_encoding' => 'raw',
|
||||
'convert_fonts_to_styles' => 'true',
|
||||
|
Reference in New Issue
Block a user