PDA

View Full Version : problem (not posting) with vBeditor (quick-reply) on non-vB page


sabret00the
02-17-2005, 02:33 PM
i've managed to kill most bugs bar two regarding getting this thing towork, but the biggest one has to definately be,the fact that when it'sin WYSIWYG mode the "message" variable seems to be empty whensubmitting, and i can't find anything in the functions_newpost.phpwhich converts the id="htmlbox" to name="messag" :(

// build quick reply if appropriate
if ($SHOWQUICKREPLY)
{
require_once('./includes/functions_editor.php');

$nullquickreply = $DB_site->query_first("
SELECT *
FROM grps_post
WHERE groupid = 6 and visible = 1
ORDER BY postid DESC
LIMIT 1
");

$threadedmode = 0;
$WYSIWYG = is_wysiwyg_compatible();
$istyles_js = construct_editor_styles_js();

// set quick reply initial id
$qrpostid = $post[postid];
$QRrequireclick = 0;

if (!$QRrequireclick AND $WYSIWYG >= 1)
{
$onload .= " editInit();";
// $onload .= "return qr($nullquickreply[postid]);";
}

// append some CSS to the headinclude template
$headinclude .= "
<!-- set up CSS for the editor -->
<link rel=\"stylesheet\"type=\"text/css\"href=\"$vboptions[bburl]/clientscript/vbulletin_editor.css\" />
<style type=\"text/css\">
<!--
#vBulletin_editor {
background: {$istyles[pi_button_normal][0]};
padding: $stylevar[cellpadding]px;
}
#controlbar, .controlbar {
background: {$istyles[pi_button_normal][0]};
}
.imagebutton {
background: {$istyles[pi_button_normal][0]};
color: {$istyles[pi_button_normal][1]};
padding: {$istyles[pi_button_normal][2]};
border: {$istyles[pi_button_normal][3]};
}
-->
</style>
";
$vbphrase['click_quick_reply_icon'] = addslashes_js($vbphrase['click_quick_reply_icon']);

eval('$quickreply = "' . fetch_template('groups_viewthread_quickreply') . '";');
} is the code i used to build the quick reply

and

<script type="text/javascript">
<!--
var WYSIWYG = $WYSIWYG;
var threadedmode = $threadedmode;
var minchars = $vboptions[postminchars];
var maxchars = $vboptions[postmaxchars];
var require_click = $QRrequireclick;
var must_click_message = "$vbphrase[click_quick_reply_icon]";
var istyles = new Array(); istyles = { $istyles_js };
var normalmode = false;
var vbphrase = {
// wysiwyg only
"wysiwyg_please_wait" : "$vbphrase[wysiwyg_please_wait]",
"wysiwyg_initialized" : "$vbphrase[wysiwyg_initialized]",
"wysiwyg_command_invalid" : "$vbphrase[wysiwyg_command_invalid]",
"moz_must_select_text" : "$vbphrase[moz_must_select_text]",
"moz_edit_config_file" : "$vbphrase[moz_edit_config_file]",
"enter_tag_option" : "$vbphrase[enter_tag_option]",
"must_select_text_to_use" : "$vbphrase[must_select_text_to_use]",
"browser_is_safari_no_wysiwyg" : "$vbphrase[browser_is_safari_no_wysiwyg]",
// standard only
"enter_text_to_be_formatted" : "$vbphrase[enter_text_to_be_formatted]",
"enter_link_text" : "$vbphrase[enter_link_text]",
"enter_list_type" : "$vbphrase[enter_list_type]",
"enter_list_item" : "$vbphrase[enter_list_item]",
// both
"must_enter_subject" : "$vbphrase[must_enter_subject]",
"message_too_short" : "$vbphrase[message_too_short]",
"enter_link_url" : "$vbphrase[enter_link_url]",
"enter_image_url" : "$vbphrase[enter_image_url]",
"enter_email_link" : "$vbphrase[enter_email_link]"
};
//-->
</script>
<a name="lastpost"></a>
<form action="reply.php" method="post" name="vbform" onsubmit="return checkQR(this);">

<table class="tborder" cellpadding="$stylevar[cellpadding]"cellspacing="$stylevar[cellspacing]" border="0" width="100%"align="center">
<thead>
<tr>
<td class="tcat" colspan="2">
<astyle="float:$stylevar[right]" href="#top" onclick="return <ifcondition="$WYSIWYG == 2 AND !is_browser('ie')">editor_loaded ?false : </if> toggle_collapse('quickreply');"><imgid="collapseimg_quickreply"src="$stylevar[imgdir_button]/collapse_tcat$vbcollapse[collapseimg_quickreply].gif"alt="" border="0" /></a>
<!--<imgclass="inlineimg" src="$stylevar[imgdir_button]/quickreply.gif" alt=""title="$vbphrase[quick_reply]" border="0" <ifcondition="$debug">onclick="infoQR();"</if> />-->
$vbphrase[quick_reply]
</td>
</tr>
</thead>
<tbody id="collapseobj_quickreply" style="$vbcollapse[collapseobj_quickreply]">
<tr>
<td class="panelsurround" align="center">
<div class="panel">
<table cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td class="smallfont"align="$stylevar[left]">$vbphrase[message]:</td>
</tr>
<tr>
<td id="vBulletin_editor"align="$stylevar[left]">
<!-- <<<< indent back for ease ofreading -->

<if condition="$WYSIWYG == 2">
<!-- wysiwyg quick reply -->

<div id="controlbar">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td><divclass="imagebutton" id="cmd_removeformat"><imgsrc="$stylevar[imgdir_editor]/removeformat.gif"alt="$vbphrase[remove_text_formatting]" width="21" height="20"/></div></td>
<td><imgsrc="$stylevar[imgdir_editor]/separator.gif" alt="" width="6"height="20" /></td>
<if condition="$vboptions[allowedbbcodes] & ALLOW_BBCODE_BASIC">
<td><div class="imagebutton" id="cmd_bold"><imgsrc="$stylevar[imgdir_editor]/bold.gif" alt="$vbphrase[bold]"width="21" height="20" /></div></td>
<td><div class="imagebutton" id="cmd_italic"><imgsrc="$stylevar[imgdir_editor]/italic.gif" alt="$vbphrase[italic]"width="21" height="20" /></div></td>
<td><div class="imagebutton" id="cmd_underline"><imgsrc="$stylevar[imgdir_editor]/underline.gif" alt="$vbphrase[underline]"width="21" height="20" /></div></td>
<td><img src="$stylevar[imgdir_editor]/separator.gif" alt=""width="6" height="20" /></td>
</if>
<td><divclass="imagebutton" id="cmd_wrap0_quote"><imgsrc="$stylevar[imgdir_editor]/quote.gif"alt="$vbphrase[wrap_quote_tags]" width="21" height="20"/></div></td>
</tr>
</table>
</div>

<div class="controlbar">
<if condition="is_browser('ie')">
<divid="htmlbox" class="wysiwyg" style="width:600px; height:100px;padding:8px" tabindex="1"><p></p></div>
<else />
<iframeid="htmlbox" style="width:600px; height:100px"tabindex="1"></iframe>
</if>
<input type="hidden" name="message" id="qr_message" value="" />
<input type="hidden" name="WYSIWYG_HTML" value="" />
</div>

<script type="text/javascript" src="$vboptions[bburl]/clientscript/vbulletin_editor.js"></script>
<script type="text/javascript"src="$vboptions[bburl]/clientscript/vbulletin_wysiwyg.js"></script>
<if condition="!is_browser('ie')"><scripttype="text/javascript"src="$vboptions[bburl]/clientscript/vbulletin_moziwyg.js"></script></if>

<!-- / wysiwyg quick reply -->
</if>


<if condition="$WYSIWYG == 1">
<!-- standard quick reply -->

<div id="controlbar">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<if condition="$vboptions[allowedbbcodes] & ALLOW_BBCODE_BASIC">
<td><div class="imagebutton"><a href="#" onclick="returnvbcode('B', '')"><img src="$stylevar[imgdir_editor]/bold.gif"alt="$vbphrase[bold]" width="21" height="20" border="0"/></a></div></td>
<td><div class="imagebutton"><a href="#" onclick="returnvbcode('I', '')"><img src="$stylevar[imgdir_editor]/italic.gif"alt="$vbphrase[italic]" width="21" height="20" border="0"/></a></div></td>
<td><div class="imagebutton"><a href="#" onclick="returnvbcode('U', '')"><imgsrc="$stylevar[imgdir_editor]/underline.gif" alt="$vbphrase[underline]"width="21" height="20" border="0" /></a></div></td>
<td><img src="$stylevar[imgdir_editor]/separator.gif" alt=""width="6" height="20" /></td>
</if>
<td><divclass="imagebutton"><a href="#" onclick="return vbcode('QUOTE','')"><img src="$stylevar[imgdir_editor]/quote.gif"alt="$vbphrase[wrap_quote_tags]" title="$vbphrase[wrap_quote_tags]"width="21" height="21" border="0" /></a></div></td>
</tr>
</table>
</div>

<div class="controlbar">
<textarea name="message"id="qr_message" class="bginput" style="width:600px; height:100px"cols="60" rows="5" tabindex="1"></textarea>
</div>

<script type="text/javascript" src="$vboptions[bburl]/clientscript/vbulletin_editor.js"></script>
<script type="text/javascript"src="$vboptions[bburl]/clientscript/vbulletin_stdedit.js"></script>

<!-- / standard quick reply -->
</if>


<if condition="$WYSIWYG == 0">
<!-- no-toolbar quick reply -->

<div class="controlbar">
<textarea name="message"id="qr_message" class="bginput" style="width:600px; height:100px;"rows="5" cols="60" tabindex="1"></textarea>
</div>

<!-- / no-toolbar quick reply -->
</if>


<!-- >>>> outdent back to normal-->
</td>
</tr>
<tr>
<td align="$stylevar[left]">

<fieldset class="fieldset"style="margin:$stylevar[formspacer]px 0px 0px 0px">
<legend>$vbphrase[options]</legend>
<div>
<if condition="$bbuserinfo['signature']">
<divstyle="float:$stylevar[right]">
<labelfor="cb_signature"><input type="checkbox" name="signature"value="1" id="cb_signature" tabindex="5" checked="checked"/>$vbphrase[show_your_signature]</label>
</div>
</if>
<label for="qr_quickreply"><inputtype="checkbox" name="quickreply" value="1" id="qr_quickreply"accesskey="w" tabindex="4" checked="checked"/>$vbphrase[quote_message_in_reply]</label>
</div>
</fieldset>

</td>
</tr>
</table>
</div>

<div style="margin-top:$stylevar[cellpadding]px">
<input type="hidden" name="fromquickreply" value="1" />
<input type="hidden" name="s" value="$session[sessionhash]" />
<input type="hidden" name="do" value="postreply" />
<inputtype="hidden" name="g" value="$groupid" id="qr_threadid" />
<input type="hidden" name="p" value="$qrpostid" id="qr_postid" />
<input type="hidden" name="parseurl" value="1" />
<input type="hidden" name="clickedelm" value="" />
<inputtype="submit" class="button" value="$vbphrase[post_quick_reply]"accesskey="s" title="(Alt + S)" name="sbutton" tabindex="2"onclick="this.form.clickedelm.value=this.value" />
</div>
</td>
</tr>
</tbody>
</table>

</form>
<br />

<if condition="!is_browser('ie') AND $WYSIWYG == 2">
<!-- Mozilla work around for focusing on QR in WYSIWYG mode -->
<div id="qr_scroll"></div>
</if>

<script type="text/javascript" src="$vboptions[bburl]/clientscript/vbulletin_quickreply.js"></script>
<!-- END WYSWIWYG QUICK REPLY -->
is what i use to display it.

sabret00the
02-20-2005, 05:34 PM
/me wonders if anyone whose used the vBeditor successfully checks this forum

Zachery
02-20-2005, 05:38 PM
* sabret00the wonders if anyone whose used the vBeditor successfully checks this forum
You mean vBulletin's wysiwyg?

sabret00the
02-20-2005, 05:57 PM
yup that's the one.

cinq
02-22-2005, 08:00 AM
Did you take a look here (https://vborg.vbsupport.ru/showthread.php?t=74718) yet ?

sabret00the
02-22-2005, 10:33 AM
yup but that's based on the standard editor and not the WYSIWYG which is the only one giving me problems :(

Natch
02-24-2005, 09:47 PM
Did you dig thru the .js files that power it? the contents of the id="htmlbox" are most likely populated by javascript manipulation of the DOM (this is evidenced by the fact that the content is only placed in the textarea after the page has completely loaded).

Get me on IM if you wanna have a chat over it...

sabret00the
03-16-2005, 01:22 PM
ok i've not had a chance to go and bother natch yet so before i do that i thought i'd post the files for anyone to look at to tell me where i'm going wrong

quick reply template

<script type="text/javascript">
<!--
var WYSIWYG = $WYSIWYG;
var threadedmode = $threadedmode;
var minchars = $vboptions[postminchars];
var maxchars = $vboptions[postmaxchars];
var require_click = $QRrequireclick;
var must_click_message = "$vbphrase[click_quick_reply_icon]";
var istyles = new Array(); istyles = { $istyles_js };
var normalmode = false;
var vbphrase = {
// wysiwyg only
"wysiwyg_please_wait" : "$vbphrase[wysiwyg_please_wait]",
"wysiwyg_initialized" : "$vbphrase[wysiwyg_initialized]",
"wysiwyg_command_invalid" : "$vbphrase[wysiwyg_command_invalid]",
"moz_must_select_text" : "$vbphrase[moz_must_select_text]",
"moz_edit_config_file" : "$vbphrase[moz_edit_config_file]",
"enter_tag_option" : "$vbphrase[enter_tag_option]",
"must_select_text_to_use" : "$vbphrase[must_select_text_to_use]",
"browser_is_safari_no_wysiwyg" : "$vbphrase[browser_is_safari_no_wysiwyg]",
// standard only
"enter_text_to_be_formatted" : "$vbphrase[enter_text_to_be_formatted]",
"enter_link_text" : "$vbphrase[enter_link_text]",
"enter_list_type" : "$vbphrase[enter_list_type]",
"enter_list_item" : "$vbphrase[enter_list_item]",
// both
"must_enter_subject" : "$vbphrase[must_enter_subject]",
"message_too_short" : "$vbphrase[message_too_short]",
"enter_link_url" : "$vbphrase[enter_link_url]",
"enter_image_url" : "$vbphrase[enter_image_url]",
"enter_email_link" : "$vbphrase[enter_email_link]"
};
//-->
</script>
<a name="lastpost"></a>
<form action="reply.php" method="post" name="vbform" onsubmit="return checkQR(this);">

<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<thead>
<tr>
<td class="tcat" colspan="2">
<a style="float:$stylevar[right]" href="#top" onclick="return <if condition="$WYSIWYG == 2 AND !is_browser('ie')">editor_loaded ? false : </if> toggle_collapse('quickreply');"><img id="collapseimg_quickreply" src="$stylevar[imgdir_button]/collapse_tcat$vbcollapse[collapseimg_quickreply].gif" alt="" border="0" /></a>
<!--<img class="inlineimg" src="$stylevar[imgdir_button]/quickreply.gif" alt="" title="$vbphrase[quick_reply]" border="0" <if condition="$debug">onclick="infoQR();"</if> />-->
$vbphrase[quick_reply]
</td>
</tr>
</thead>
<tbody id="collapseobj_quickreply" style="$vbcollapse[collapseobj_quickreply]">
<tr>
<td class="panelsurround" align="center">
<div class="panel">
<table cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td class="smallfont" align="$stylevar[left]">$vbphrase[message]:</td>
</tr>
<tr>
<td id="vBulletin_editor" align="$stylevar[left]">
<!-- <<<< indent back for ease of reading -->

<if condition="$WYSIWYG == 2">
<!-- wysiwyg quick reply -->

<div id="controlbar">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td><div class="imagebutton" id="cmd_removeformat"><img src="$stylevar[imgdir_editor]/removeformat.gif" alt="$vbphrase[remove_text_formatting]" width="21" height="20" /></div></td>
<td><img src="$stylevar[imgdir_editor]/separator.gif" alt="" width="6" height="20" /></td>
<if condition="$vboptions[allowedbbcodes] & ALLOW_BBCODE_BASIC">
<td><div class="imagebutton" id="cmd_bold"><img src="$stylevar[imgdir_editor]/bold.gif" alt="$vbphrase[bold]" width="21" height="20" /></div></td>
<td><div class="imagebutton" id="cmd_italic"><img src="$stylevar[imgdir_editor]/italic.gif" alt="$vbphrase[italic]" width="21" height="20" /></div></td>
<td><div class="imagebutton" id="cmd_underline"><img src="$stylevar[imgdir_editor]/underline.gif" alt="$vbphrase[underline]" width="21" height="20" /></div></td>
<td><img src="$stylevar[imgdir_editor]/separator.gif" alt="" width="6" height="20" /></td>
</if>
<td><div class="imagebutton" id="cmd_wrap0_quote"><img src="$stylevar[imgdir_editor]/quote.gif" alt="$vbphrase[wrap_quote_tags]" width="21" height="20" /></div></td>
</tr>
</table>
</div>

<div class="controlbar">
<if condition="is_browser('ie')">
<div id="htmlbox" class="wysiwyg" style="width:600px; height:100px; padding:8px" tabindex="1"><p></p></div>
<else />
<iframe id="htmlbox" style="width:600px; height:100px" tabindex="1"></iframe>
</if>
<input type="hidden" name="message" id="qr_message" value="" />
<input type="hidden" name="WYSIWYG_HTML" value="" />
</div>

<script type="text/javascript" src="$vboptions[bburl]/clientscript/vbulletin_editor.js"></script>
<script type="text/javascript" src="$vboptions[bburl]/clientscript/vbulletin_wysiwyg.js"></script>
<if condition="!is_browser('ie')"><script type="text/javascript" src="$vboptions[bburl]/clientscript/vbulletin_moziwyg.js"></script></if>

<!-- / wysiwyg quick reply -->
</if>


<if condition="$WYSIWYG == 1">
<!-- standard quick reply -->

<div id="controlbar">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<if condition="$vboptions[allowedbbcodes] & ALLOW_BBCODE_BASIC">
<td><div class="imagebutton"><a href="#" onclick="return vbcode('B', '')"><img src="$stylevar[imgdir_editor]/bold.gif" alt="$vbphrase[bold]" width="21" height="20" border="0" /></a></div></td>
<td><div class="imagebutton"><a href="#" onclick="return vbcode('I', '')"><img src="$stylevar[imgdir_editor]/italic.gif" alt="$vbphrase[italic]" width="21" height="20" border="0" /></a></div></td>
<td><div class="imagebutton"><a href="#" onclick="return vbcode('U', '')"><img src="$stylevar[imgdir_editor]/underline.gif" alt="$vbphrase[underline]" width="21" height="20" border="0" /></a></div></td>
<td><img src="$stylevar[imgdir_editor]/separator.gif" alt="" width="6" height="20" /></td>
</if>
<td><div class="imagebutton"><a href="#" onclick="return vbcode('QUOTE', '')"><img src="$stylevar[imgdir_editor]/quote.gif" alt="$vbphrase[wrap_quote_tags]" title="$vbphrase[wrap_quote_tags]" width="21" height="21" border="0" /></a></div></td>
</tr>
</table>
</div>

<div class="controlbar">
<textarea name="message" id="qr_message" class="bginput" style="width:600px; height:100px" cols="60" rows="5" tabindex="1"></textarea>
</div>

<script type="text/javascript" src="$vboptions[bburl]/clientscript/vbulletin_editor.js"></script>
<script type="text/javascript" src="$vboptions[bburl]/clientscript/vbulletin_stdedit.js"></script>

<!-- / standard quick reply -->
</if>


<if condition="$WYSIWYG == 0">
<!-- no-toolbar quick reply -->

<div class="controlbar">
<textarea name="message" id="qr_message" class="bginput" style="width:600px; height:100px;" rows="5" cols="60" tabindex="1"></textarea>
</div>

<!-- / no-toolbar quick reply -->
</if>


<!-- >>>> outdent back to normal -->
</td>
</tr>
<tr>
<td align="$stylevar[left]">

<fieldset class="fieldset" style="margin:$stylevar[formspacer]px 0px 0px 0px">
<legend>$vbphrase[options]</legend>
<div>
<if condition="$bbuserinfo['signature']">
<div style="float:$stylevar[right]">
<label for="cb_signature"><input type="checkbox" name="signature" value="1" id="cb_signature" tabindex="5" checked="checked" />$vbphrase[show_your_signature]</label>
</div>
</if>
<label for="qr_quickreply"><input type="checkbox" name="quickreply" value="1" id="qr_quickreply" accesskey="w" tabindex="4" checked="checked" />$vbphrase[quote_message_in_reply]</label>
</div>
</fieldset>

</td>
</tr>
</table>
</div>

<div style="margin-top:$stylevar[cellpadding]px">
<input type="hidden" name="fromquickreply" value="1" />
<input type="hidden" name="s" value="$session[sessionhash]" />
<input type="hidden" name="do" value="postreply" />
<input type="hidden" name="g" value="$groupid" id="qr_threadid" />
<input type="hidden" name="p" value="$qrpostid" id="qr_postid" />
<input type="hidden" name="parseurl" value="1" />
<input type="hidden" name="clickedelm" value="" />
<input type="submit" class="button" value="$vbphrase[post_quick_reply]" accesskey="s" title="(Alt + S)" name="sbutton" tabindex="2" onclick="this.form.clickedelm.value=this.value" />
</div>
</td>
</tr>
</tbody>
</table>

</form>
<br />

<if condition="!is_browser('ie') AND $WYSIWYG == 2">
<!-- Mozilla work around for focusing on QR in WYSIWYG mode -->
<div id="qr_scroll"></div>
</if>

<script type="text/javascript" src="$vboptions[bburl]/clientscript/vbulletin_quickreply.js"></script>
<!-- END WYSWIWYG QUICK REPLY -->

and here's the file that the quick reply sits on (never mind it's attached)