PDA

View Full Version : How to make the CKeditor return BBCODE and count caracters


Altari
07-04-2012, 10:55 AM
Edit because i said some wrong things :

So here is how to get a message from the ckeditor, convert it from html to bbcode, and count caracters in the message without bbcode :


require_once(DIR . '/includes/class_wysiwygparser.php');
$html_parser = new vB_WysiwygHtmlParser($vbulletin);
$contenu = $html_parser->parse_wysiwyg_html_to_bbcode($vbulletin->GPC['message'], FALSE);

require_once('includes/class_bbcode_alt.php');
$bbcodeparser_plain = new vB_BbCodeParser_PlainText($vbulletin, fetch_tag_list());
$message_plain = $bbcodeparser_plain->do_parse($contenu);

$count = vbstrlen($message_plain);
if($count > $maximum){
//Is too big
}

kh99
07-04-2012, 11:22 AM
That's what I would have suggested - can you give us a sample of bbcde that results in html?

Altari
07-04-2012, 12:20 PM
Hmm i should be a little bit stupid, i wanted to answer "Yes" to you but during test to be sure i can see my editor return directly html, no bbcode, that's why the PlainText parser does nothing.
I don't understand, my editor returned BBcode yesterday :(

So that's not really the thread, but maybe you could tell me how to construct an edit which return bbcode and not HTML ?
I actually do this :

$editorid = construct_edit_toolbar('',FALSE,'nonforum',FALSE,F ALSE, FALSE, 'fe');

kh99
07-04-2012, 01:17 PM
Well, the editor has a button in the upper left corner that sort of looks like "A/A", that toggles wysiwyg mode, and I think you get either html or bbcode depending on how that is set. I don't know a lot about the editor so I don't know how to tell you to force a certain mode, but looking at newreply.php, it does this (after "cleaning" the wysiwyg parameter):

if ($vbulletin->GPC['wysiwyg'])
{
require_once(DIR . '/includes/class_wysiwygparser.php');
$html_parser = new vB_WysiwygHtmlParser($vbulletin);
$newpost['message'] = $html_parser->parse_wysiwyg_html_to_bbcode($vbulletin->GPC['message'], $foruminfo['allowhtml']);
}
else
{
$newpost['message'] = $vbulletin->GPC['message'];
}

Altari
07-04-2012, 01:48 PM
Thank you for help,

About the "A/a" button : in every case it's bbcode which is shown, but $vbulletin->GPC['message'] returns html.

Thank you for the parse_wysiwyg_html_to_bbcode, it works as expected (and the PlainText parser too)

But there should be an other way to make the ckeditor return bbcode and not HTML : i did it yesterday but i don't know how :o

Thank you !

Badshah93
07-04-2012, 05:23 PM
Create New Plugin

Hook: newpost_process
Code:


if ($type == 'thread')
{
$temp_msg = strip_bbcode($post['message']);
$count = vbstrlen($temp_msg);
}

djbaxter
08-16-2012, 11:58 PM
I am looking for a plugin to convert HTML posts to BBCode posts and came across this thread but I'm not sure I understand what you guys here are trying to do.

In particular, is the first post supposed to be a plugin or a separate PHP file? And what is the plugin in post #6 doing?