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.
// 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.