






http://www.stsoftware.biz/support/viewtopic.php?f=16&p=295<?php
/**
* Evil quick reply
*
* @package phpBB3
* @version 1.0.1
* @copyright (c) 2007 eviL3
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* This function will load everything needed for the evil quick reply
*
* @param int $topic_id
* @param int $forum_id
* @param array $topic_data
*/
function quick_reply($topic_id, $forum_id, &$topic_data)
{
global $template, $user, $auth, $db;
global $phpbb_root_path, $phpEx, $config;
// Some little config for the quick reply, allows the admin to change these default values through the database.
$qr_config = array(
'enabled' => true, // Disable it easily
'display_subject' => true, // Do you want the subject line to be displayed
'hide_box' => true, // Shall the box be hidden on pageload?
'resize' => true, // Display the buttons to resize the textarea?
'bbcodes' => isset($config['evil_qr_bbcodes']) ? $config['evil_qr_bbcodes'] : true,
'smilies' => isset($config['evil_qr_smilies']) ? $config['evil_qr_smilies'] : true,
);
// do evil_qr_ prefixed of the config values exist in $config
// /me slaps highway of life
foreach (array_keys($qr_config) as $key)
{
if (isset($config['evil_qr_' . $key]))
{
$qr_config[$key] = $config['evil_qr_' . $key];
}
}
// Check if user has reply permissions for this forum or the topic is locked (thanks damnian)
if (!$auth->acl_get('f_reply', $forum_id) || ($topic_data['topic_status'] == ITEM_LOCKED && !$auth->acl_get('m_lock', $forum_id)) || !$qr_config['enabled'])
{
return;
}
$bbcode_status = ($config['allow_bbcode'] && $auth->acl_get('f_bbcode', $forum_id)) ? true : false;
$smilies_status = ($bbcode_status && $config['allow_smilies'] && $auth->acl_get('f_smilies', $forum_id)) ? true : false;
$img_status = ($bbcode_status && $auth->acl_get('f_img', $forum_id)) ? true : false;
$url_status = ($config['allow_post_links']) ? true : false;
$flash_status = ($bbcode_status && $auth->acl_get('f_flash', $forum_id) && $config['allow_post_flash']) ? true : false;
$quote_status = ($auth->acl_get('f_' . $mode, $forum_id)) ? true : false;
// Hidden fields
$s_hidden_fields = array(
't' => $topic_id,
'f' => $forum_id,
'mode' => 'reply',
'lastclick' => time(),
'icon' => 0,
);
// Set preferences such as allow smilies, bbcode, attachsig
$reply_prefs = array(
'disable_bbcode' => ($config['allow_bbcode'] && $user->optionget('bbcode')) ? false : true,
'disable_smilies' => ($config['allow_smilies'] && $user->optionget('smilies')) ? false : true,
'disable_magic_url' => false,
'attach_sig' => ($config['allow_sig'] && $user->optionget('attachsig')) ? true: false,
'notify' => ($config['allow_topic_notify'] && ($user->data['user_notify'] || isset($topic_data['notify_status']))) ? true : false,
'lock_topic' => ($topic_data['topic_status'] == ITEM_LOCKED && $auth->acl_get('m_lock', $forum_id)) ? true : false,
);
foreach ($reply_prefs as $name => $value)
{
if ($value)
{
$s_hidden_fields[$name] = 1;
}
}
$subject = ((strpos($topic_data['topic_title'], 'Re: ') !== 0) ? 'Re: ' : '') . censor_text($topic_data['topic_title']);
if (!$qr_config['display_subject'])
{
// /me is a show-off
list($s_hidden_fields['subject'], $subject) = array($subject, '');
}
// Confirmation code handling (stolen from posting.php)
if ($config['enable_post_confirm'] && !$user->data['is_registered'])
{
// Show confirm image
$sql = 'DELETE FROM ' . CONFIRM_TABLE . "
WHERE session_id = '" . $db->sql_escape($user->session_id) . "'
AND confirm_type = " . CONFIRM_POST;
$db->sql_query($sql);
// Generate code
$code = gen_rand_string(mt_rand(5, 8));
$confirm_id = md5(unique_id($user->ip));
$seed = hexdec(substr(unique_id(), 4, 10));
// compute $seed % 0x7fffffff
$seed -= 0x7fffffff * floor($seed / 0x7fffffff);
$sql = 'INSERT INTO ' . CONFIRM_TABLE . ' ' . $db->sql_build_array('INSERT', array(
'confirm_id' => (string) $confirm_id,
'session_id' => (string) $user->session_id,
'confirm_type' => (int) CONFIRM_POST,
'code' => (string) $code,
'seed' => (int) $seed,
));
$db->sql_query($sql);
$template->assign_vars(array(
'S_CONFIRM_CODE' => true,
'CONFIRM_ID' => $confirm_id,
'CONFIRM_IMAGE' => '<img src="' . append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=confirm&id=' . $confirm_id . '&type=' . CONFIRM_POST) . '" alt="" title="" />',
'IMG_STATUS' => ($img_status) ? $user->lang['IMAGES_ARE_ON'] : $user->lang['IMAGES_ARE_OFF'],
'SMILIES_STATUS' => ($smilies_status) ? $user->lang['SMILIES_ARE_ON'] : $user->lang['SMILIES_ARE_OFF'],
'URL_STATUS' => ($bbcode_status && $url_status) ? $user->lang['URL_IS_ON'] : $user->lang['URL_IS_OFF'],
));
}
// new RC6/RC7 stuff
add_form_key('posting');
// Page title & action URL, include session_id for security purpose
$s_action = append_sid("{$phpbb_root_path}posting.$phpEx", false, true, $user->session_id);
// Assign template variables
$template->assign_vars(array(
'QR_SUBJECT' => $subject,
'S_QR_HIDDEN_FIELDS' => build_hidden_fields($s_hidden_fields),
'S_QR_POST_ACTION' => $s_action,
'S_QR_ENABLED' => $qr_config['enabled'], // this is true anyway :P
'S_QR_SUBJECT' => $qr_config['display_subject'],
'S_QR_HIDE_BOX' => $qr_config['hide_box'],
'S_QR_RESIZE' => $qr_config['resize'],
'S_MAGIC_URL_CHECKED' => ($urls_checked) ? ' checked="checked"' : '',
'S_BBCODE_IMG' => $img_status,
'S_BBCODE_URL' => $url_status,
'S_BBCODE_QUOTE' => $quote_status,
'IMG_STATUS' => ($img_status) ? $user->lang['IMAGES_ARE_ON'] : $user->lang['IMAGES_ARE_OFF'],
'SMILIES_STATUS' => ($smilies_status) ? $user->lang['SMILIES_ARE_ON'] : $user->lang['SMILIES_ARE_OFF'],
'URL_STATUS' => ($bbcode_status && $url_status) ? $user->lang['URL_IS_ON'] : $user->lang['URL_IS_OFF'],
'S_LINKS_ALLOWED' => $url_status,
));
if ($qr_config['smilies'] || $qr_config['bbcodes'])
{
$user->add_lang('posting');
if ($qr_config['smilies'])
{
include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
generate_smilies('inline', $forum_id);
$template->assign_var('S_SMILIES_ALLOWED', true);
}
if ($qr_config['bbcodes'])
{
$template->assign_var('S_BBCODE_ALLOWED', true);
}
display_custom_bbcodes();
}
}
?><div id="quick_reply">
<form action="{S_QR_POST_ACTION}" method="post" id="postform">
<table class="tablebg" width="100%" cellspacing="1">
<tr>
<th colspan="2">{L_QUICK_REPLY}</th>
</tr>
<!-- IF S_QR_SUBJECT -->
<tr>
<td class="row2" align="center" valign="middle" colspan="2"><input class="post" type="text" name="subject" size="45" maxlength="64" tabindex="1" value="{QR_SUBJECT}" style="width: 70%;" /></td>
</tr>
<!-- ENDIF -->
<!-- Subsilver2 fix - Start -->
<tr>
<td class="row1" valign="top" width="22%">
<!-- IF S_SMILIES_ALLOWED -->
<table width="100%" cellspacing="5" cellpadding="0" border="0" align="center">
<tr>
<td class="gensmall" align="center"><b>{L_SMILIES}</b></td>
</tr>
<tr>
<td align="center">
<!-- BEGIN smiley -->
<a href="#" onclick="insert_text('{smiley.A_SMILEY_CODE}', true); return false;" style="line-height: 20px;"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" hspace="2" vspace="2" /></a>
<!-- END smiley -->
</td>
</tr>
<!-- IF S_SHOW_SMILEY_LINK -->
<tr>
<td align="center"><a class="nav" href="{U_MORE_SMILIES}" onclick="popup(this.href, 300, 350, '_phpbbsmilies'); return false;">{L_MORE_SMILIES}</a></td>
</tr>
<!-- ENDIF -->
</table>
<!-- ENDIF -->
</td>
<td class="row2" width="78%">
<script type="text/javascript">
// <![CDATA[
var form_name = 'postform';
var text_name = 'message';
// ]]>
</script>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<!-- INCLUDE posting_buttons.html -->
<tr>
<td valign="top" style="width: 100%;"><textarea name="message" rows="15" cols="76" tabindex="3" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" style="width: 98%;">{MESSAGE}</textarea></td>
<!-- IF S_BBCODE_ALLOWED -->
<td width="80" align="center" valign="top">
<script type="text/javascript">
// <![CDATA[
colorPalette('v', 7, 6)
// ]]>
</script>
</td>
<!-- ENDIF -->
</tr>
</table>
</td>
</tr>
<!-- Subsilver2 fix - End -->
<!-- IF S_QR_RESIZE -->
<tr>
<td class="row2" colspan="2">
<input type="button" value=" + " class="btnlite" onclick="textbox_resize(100);" />
<input type="button" value=" - " class="btnlite" onclick="textbox_resize(-100);" />
</td>
</tr>
<!-- ENDIF -->
<!-- IF not S_USER_LOGGED_IN -->
<tr>
<td class="row1" width="15%"><label for="username"><b class="genmed">{L_USERNAME}: </b></label></td>
<td class="row2" valign="middle"><input type="text" style="width: 300px" class="post" name="username" id="username" size="30" tabindex="3" /></td>
</tr>
<!-- IF S_CONFIRM_CODE -->
<tr>
<td class="row1"><label for="confirm_code"><b class="genmed">{L_CONFIRM_CODE}: </b></label></td>
<td class="row2">
{CONFIRM_IMAGE}<br clear="all" /><br />
<input type="hidden" name="confirm_id" value="{CONFIRM_ID}" />
<input class="post" type="text" name="confirm_code" id="confirm_code" size="8" maxlength="8" tabindex="4" />
</td>
</tr>
<!-- ENDIF -->
<!-- ENDIF -->
<tr>
<td class="cat" align="center" colspan="2">
{S_QR_HIDDEN_FIELDS}
<input type="submit" name="preview" tabindex="6" value="{L_PREVIEW}" class="btnlite" />
<input type="submit" name="post" tabindex="5" value="{L_SUBMIT}" class="btnmain" accesskey="s" />
</td>
</tr>
</table>
{S_FORM_TOKEN}
</form>
</div>
<script type="text/javascript">
<!--
/**
* Toggle the visibility of the qr box
*/
function toggle_quick_reply()
{
if (document.getElementById('quick_reply'))
{
if (document.getElementById('quick_reply').style.display == 'none')
{
document.getElementById('quick_reply').style.display = 'block';
}
else
{
document.getElementById('quick_reply').style.display = 'none';
}
}
}
<!-- IF S_QR_RESIZE -->
/**
* Resize a textbox
* Original function by Disturbed One (http://www.hvmdesign.com/)
*/
function textbox_resize(pix)
{
var box = document.getElementById('message');
var new_height = (parseInt(box.style.height) ? parseInt(box.style.height) : 300) + pix;
if (new_height > 0)
{
box.style.height = new_height + 'px';
}
return false;
}
<!-- ENDIF -->
if (<!-- IF S_QR_HIDE_BOX -->1<!-- ELSE -->0<!-- ENDIF -->)
{
if (document.addEventListener)
{
document.addEventListener('DOMContentLoaded', toggle_quick_reply, false);
}
else
{
window.onload = function()
{
toggle_quick_reply();
}
}
}
//-->
</script>







cause PHPbb.com link isnt working ( site is in maintenance )

logix wrote:This mod looks awsome! Could you put a mirrorcause PHPbb.com link isnt working ( site is in maintenance )


Return to Topic, Forum, Posting MOD Downloads
Users browsing this forum: No registered users and 5 guests