Đầu tiên phải làm khung trả lời nhanh luôn mở (ko cần click nút trả lời nhanh):
Mở ./sources/topics.php
Tìm:
CODE
$sqr = $std->my_getcookie("open_qr");
Thay bằng:
CODE
$sqr = 1;
Tiếp theo làm cho trả lời nhanh đầy đủ mặt cười và bbcode

Mở file topic.php ra tìm
CODE
var $poll_html = "";
Thêm dzô bên dưới
CODE
//FastReply Mod
var $qreply_html= "";
//FastReply Mod
Tìm tiếp
CODE
$this->output = str_replace( "<!--IBF.QUICK_REPLY_CLOSED-->", $this->html->quick_reply_box_closed(), $this->output );
$this->output = str_replace( "<!--IBF.QUICK_REPLY_OPEN-->" , $this->html->quick_reply_box_open($this->topic['forum_id'], $this->topic['tid'], $show, $this->md5_check), $this->output );
Thay bằng
CODE
//FastReply Mod
$ibforums->lang = $std->load_words($ibforums->lang, 'lang_post', $ibforums->lang_id);
$this->qreply_html = $std->load_template('skin_post');
//FastReply Mod
$this->output = str_replace( "<!--IBF.QUICK_REPLY_CLOSED-->", $this->html->quick_reply_box_closed(), $this->output );
$this->output = str_replace( "<!--IBF.QUICK_REPLY_OPEN-->" , $this->html->quick_reply_box_open($this->topic['forum_id'], $this->topic['tid'], $show, $this->md5_check), $this->output );
//FastReply Mod
$this->output = str_replace( "<!--IBF.NAME_FIELD-->", $this->html_name_field(), $this->output);
$this->output = str_replace( "<!--IBF.REPLY_JAVA-->", $this->qreply_html->get_javascript(), $this->output);
$this->output = str_replace( "<!--IBF.POST_BOX-->", $this->html_post_body(), $this->output);
$this->output = $this->html_add_smilie_box( $this->output );
$this->html_checkboxes($this->topic['tid'], $this->topic['forum_id']);
//FastReply Mod
Tìm tiếp
CODE
// Pass it to our print routine
$print->add_output("$this->output");
$print->do_output( array( 'TITLE' => $ibforums->vars['board_name']." -> {$this->topic['title']}",
'JS' => 1,
'NAV' => $this->nav,
) );
}
Thêm dzô bên dưới
CODE
//FastReply Mod
//--------------------------------------------------------------
// MOD: Extended Fast Reply
// QUICK REPLY BOX FUNCTIONS (MODIFED, FROM POST MODULE)
//--------------------------------------------------------------
/*-------------------------------------------------------------------------*/
// HTML: Post body.
// ------------------
// Returns the HTML for post area, code buttons and
// post icons
/*-------------------------------------------------------------------------*/
function html_post_body($raw_post="") {
global $ibforums;
$ibforums->lang['the_max_length'] = $ibforums->vars['max_post_length'] * 1024;
return $this->qreply_html->postbox_buttons($raw_post);
}
/*-------------------------------------------------------------------------*/
// HTML: name fields.
// ------------------
// Returns the HTML for either text inputs or membername
// depending if the member is a guest.
/*-------------------------------------------------------------------------*/
function html_name_field() {
global $ibforums;
return $ibforums->member['id'] ? $this->qreply_html->nameField_reg() : $this->qreply_html->nameField_unreg( $ibforums->input[UserName] );
}
/*-------------------------------------------------------------------------*/
// HTML: checkboxes
// ------------------
// Returns the HTML for sig/emo/track boxes
/*-------------------------------------------------------------------------*/
function html_checkboxes($tid="", $fid="")
{
global $ibforums, $DB;
$default_checked = array(
'sig' => 'checked="checked"',
'emo' => 'checked="checked"',
'tra' => $ibforums->member['auto_track'] ? 'checked="checked"' : ''
);
// Make sure we're not previewing them and they've been unchecked!
if ( isset( $ibforums->input['enablesig'] ) AND ( ! $ibforums->input['enablesig'] ) )
{
$default_checked['sig'] = "";
}
if ( isset( $ibforums->input['enableemo'] ) AND ( ! $ibforums->input['enableemo'] ) )
{
$default_checked['emo'] = "";
}
if ( isset( $ibforums->input['enabletrack'] ) AND ( ! $ibforums->input['enabletrack'] ) )
{
$default_checked['tra'] = "";
}
else if ( isset( $ibforums->input['enabletrack'] ) AND ( $ibforums->input['enabletrack'] == 1 ) )
{
$default_checked['tra'] = 'checked="checked"';
}
$this->output = str_replace( '<!--IBF.EMO-->' , $this->qreply_html->get_box_enableemo( $default_checked['emo'] ) , $this->output );
$this->output = str_replace( '<!--IBF.SIG-->' , $this->qreply_html->get_box_enablesig( $default_checked['sig'] ) , $this->output );
if ( $ibforums->cache['forum_cache'][$fid]['use_html'] and $ibforums->cache['group_cache'][ $ibforums->member['mgroup'] ]['g_dohtml'] )
{
$this->output = str_replace( '<!--IBF.HTML-->' , $this->qreply_html->get_box_html( array( intval($ibforums->input['post_htmlstatus']) => ' selected="selected"' ) ), $this->output );
}
if ( $tid and $ibforums->member['id'] )
{
$DB->simple_construct( array( 'select' => 'trid', 'from' => 'tracker', 'where' => "topic_id=$tid AND member_id=".$ibforums->member['id'] ) );
$DB->simple_exec();
if ( $DB->get_num_rows() )
{
$this->output = str_replace( '<!--IBF.TRACK-->',$this->qreply_html->get_box_alreadytrack(), $this->output );
}
else
{
$this->output = str_replace( '<!--IBF.TRACK-->', $this->qreply_html->get_box_enabletrack( $default_checked['tra'] ), $this->output );
}
}
}
/*-------------------------------------------------------------------------*/
// HTML: add smilie box.
// ------------------
// Inserts the clickable smilies box
/*-------------------------------------------------------------------------*/
function html_add_smilie_box($in_html="")
{
global $ibforums, $DB;
$show_table = 0;
$count = 0;
$smilies = "<tr align='center'>\n";
//------------------------------
// Get the smilies from the DB
//------------------------------
if ( ! is_array( $ibforums->cache['emoticons'] ) )
{
$ibforums->cache['emoticons'] = array();
$DB->simple_construct( array( 'select' => 'typed,image,clickable,emo_set', 'from' => 'emoticons' ) );
$DB->simple_exec();
while ( $r = $DB->fetch_row() )
{
$ibforums->cache['emoticons'][] = $r;
}
}
foreach( $ibforums->cache['emoticons'] as $a_id => $elmo )
{
if ( $elmo['emo_set'] != $ibforums->skin['_emodir'] )
{
continue;
}
if ( ! $elmo['clickable'] )
{
continue;
}
$show_table++;
$count++;
//------------------------------
// Make single quotes as URL's with html entites in them
// are parsed by the browser, so ' causes JS error :o
//------------------------------
if (strstr( $elmo['typed'], "'" ) )
{
$in_delim = '"';
$out_delim = "'";
}
else
{
$in_delim = "'";
$out_delim = '"';
}
$smilies .= "<td><a href={$out_delim}javascript:emoticon($in_delim".$elmo['typed']."$in_delim){$out_delim}><img src=\"".$ibforums->vars['EMOTICONS_URL']."/".$elmo['image']."\" alt='smilie' border='0' /></a> </td>\n";
if ($count == $ibforums->vars['emo_per_row'])
{
$smilies .= "</tr>\n\n<tr align='center'>";
$count = 0;
}
}
if ($count != $ibforums->vars['emo_per_row'])
{
for ($i = $count; $i < $ibforums->vars['emo_per_row']; ++$i)
{
$smilies .= "<td> </td>\n";
}
$smilies .= "</tr>";
}
$table = $this->qreply_html->smilie_table();
if ($show_table != 0)
{
$table = preg_replace( "/<!--THE SMILIES-->/", $smilies, $table );
$in_html = preg_replace( "/<!--SMILIE TABLE-->/", $table, $in_html );
}
return $in_html;
}
//FastReply Mod
// ***************************************************
// 2: Sửa Skin
// Dzô Admin CP > Skins & Templates > Skin Manager >
// Edit Root Skin Template HTML => Topic View => quick_reply_box_open
// ***************************************************
Thay đoạn
CODE
<script type="text/javascript">
<!--
function emo_pop()
{
window.open('index.{ipb.vars['php_ext']}?act=legends&CODE=emoticons&s={ipb.session_id}','Legends','width=250,height=500,resizable=yes,scrollbars=yes');
}
//-->
</script>
<br />
<div align='left' id='qr_open' style="display:$show;position:relative;">
<form name='REPLIER' action="{ipb.script_url}" method='post'>
<input type='hidden' name='act' value='Post' />
<input type='hidden' name='CODE' value='03' />
<input type='hidden' name='f' value='$fid' />
<input type='hidden' name='t' value='$tid' />
<input type='hidden' name='st' value='{ipb.input['st']}' />
<input type='hidden' name='enabletrack' value='{ipb.member['auto_track']}' />
<input type='hidden' name='auth_key' value='$key' />
<!-- TITLE DIV -->
<div class="tableborder">
<div class='maintitle'><{CAT_IMG}> {ipb.lang['qr_title']}</div>
<div class="tablepad" align="center">
<textarea cols='70' rows='8' name='Post' class='textarea' tabindex="1"></textarea>
<br /><br />
<a href='javascript:emo_pop();'>{ipb.lang['show_emo']}</a> |
<input type='checkbox' name='enableemo' value='yes' class="checkbox" checked="checked" /> {ipb.lang['qr_add_smilie']} |
<input type='checkbox' name='enablesig' value='yes' class="checkbox" checked="checked" /> {ipb.lang['qr_add_sig']}
<br /><br />
<input type='submit' name='submit' value='{ipb.lang['qr_submit']}' class='button' tabindex="2" accesskey="s" />
<input type='submit' name='preview' value='{ipb.lang['qr_more_opts']}' class='button' />
<input type='button' name='qrc' onclick="ShowHide('qr_open','qr_closed');" value='{ipb.lang['qr_closeit']}' class='button' />
</div>
</div>
</form>
</div>
Bằng đoạn này
CODE
<!--IBF.REPLY_JAVA-->
<br />
<div align='left' id='qr_open' style="display:$show;position:relative;">
<form name='REPLIER' action="{ipb.script_url}" method='post'>
<input type='hidden' name='act' value='Post' />
<input type='hidden' name='CODE' value='03' />
<input type='hidden' name='f' value='$fid' />
<input type='hidden' name='t' value='$tid' />
<input type='hidden' name='st' value='{ipb.input['st']}' />
<input type='hidden' name='enabletrack' value='{ipb.member['auto_track']}' />
<input type='hidden' name='auth_key' value='$key' />
<!-- TITLE DIV -->
<div class="tableborder">
<div class='maintitle'><{CAT_IMG}> {ipb.lang['qr_title']}</div>
<table cellpadding="0" cellspacing="0" width="100%">
<!--IBF.NAME_FIELD-->
<!--IBF.POST_BOX-->
<tr>
<td class='pformstrip' align='center' style='text-align:center' colspan="2">
<input type="submit" name="submit" value="{ipb.lang['submit_reply']}" tabindex='7' class='button' accesskey='s' />
<input type="submit" name="preview" value="{ipb.lang['button_preview']}" tabindex='8' class='button' />
</td>
</tr>
</table>
</div>
</form>
</div>