View previous topic :: View next topic |
Author |
Message |
Nightmare EasyPHPBB Expert
Joined: 26 Mar 2005 Posts: 378 Location: Canada
|
Posted: Thu Jul 07, 2005 8:22 pm Post subject: quick reply mod |
|
|
quick reply mod would be nice; heres how to do it if easyPHPBB is phpBB2
Code: |
##############################################################
## MOD Title: Quick Reply with Quote & BBCode
## MOD Author: Snowcone < sbgamescone@gmail.com > (Chris Rasco) http://www.snackbar-games.com
## MOD Description: This mod is based on Smartor's Quick Reply with Quote mod
## and exands it to include BBCode buttons from the normal posting page.
## MOD Original Description: This will add a quick-reply form below every topics
## It will only display when user has the Reply access
## User have a option to quote the last message
## MOD Version: 1.1.3.1
##
## Installation Level: easy
## Installation Time: 5 Minutes
## Files To Edit: 3
## viewtopic.php
## language/lang_XX/lang_main.php
## templates/template_XX/viewtopic_body.tpl
## Included Files: N/A
##############################################################
## Author Notes:
##
##############################################################
## This MOD is released under the GPL License.
## Intellectual Property is retained by the MOD Author(s) listed above
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#-----[ OPEN ]------------------------------------------
#
viewtopic.php
#
#-----[ FIND ]------------------------------------------
#
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
#
#-----[ BEFORE, ADD ]------------------------------------
#
//
// Quick Reply Mod
//
if ( ((!$is_auth['auth_reply']) or ($forum_topic_data['forum_status'] == FORUM_LOCKED) or ($forum_topic_data['topic_status'] == TOPIC_LOCKED)) and ($userdata['user_level'] != ADMIN) )
{
$quick_reply_form = "";
}
else
{
if ( $can_watch_topic && $is_watching_topic )
{
$notify = 1;
}
else
{
$notify = $userdata['user_notify'];
}
$bbcode_uid = $postrow[$total_posts - 1]['bbcode_uid'];
$last_poster = $postrow[$total_posts - 1]['username'];
$last_msg = $postrow[$total_posts - 1]['post_text'];
$last_msg = str_replace(":1:$bbcode_uid", "", $last_msg);
$last_msg = str_replace(":u:$bbcode_uid", "", $last_msg);
$last_msg = str_replace(":o:$bbcode_uid", "", $last_msg);
$last_msg = str_replace(":$bbcode_uid", "", $last_msg);
$last_msg = str_replace("'", "'", $last_msg);
$last_msg = "[QUOTE=\"$last_poster\"]" . $last_msg . "[/QUOTE]";
$quick_reply_form = "
<script language=\"JavaScript\" type=\"text/javascript\">
<!--
// bbCode control by
// subBlue design
// www.subBlue.com
// Startup variables
var imageTag = false;
var theSelection = false;
// Check for Browser & Platform for PC & IE specific bits
// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
var clientPC = navigator.userAgent.toLowerCase(); // Get client info
var clientVer = parseInt(navigator.appVersion); // Get browser version
var is_ie = ((clientPC.indexOf(\"msie\") != -1) && (clientPC.indexOf(\"opera\") == -1));
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
&& (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
&& (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
var is_moz = 0;
var is_win = ((clientPC.indexOf(\"win\")!=-1) || (clientPC.indexOf(\"16bit\") != -1));
var is_mac = (clientPC.indexOf(\"mac\")!=-1);
// Helpline messages
b_help = \"Bold text: [b]text[/b] (alt+b)\";
i_help = \"Italic text: [i]text[/i] (alt+i)\";
u_help = \"Underline text: [u]text[/u] (alt+u)\";
q_help = \"Quote text: [quote]text[/quote] (alt+q)\";
c_help = \"Code display: [code]code[/code] alt+c)\";
l_help = \"List: [list]text[/list] (alt+l)\";
o_help = \"Ordered list: [list=]text[/list] (alt+o)\";
p_help = \"Image: [img]http://imageurl[/img] (alt+p)\";
w_help = \"URL: [url]http://url[/url] or [url=http://url]Text[/url] (alt+w)\";
a_help = \"Close all open bbCode tags\";
s_help = \"Font color: [color=red]text[/color] Tip: you can also use color=#FF0000\";
f_help = \"Font size: [size=x-small]small text[/size]\";
// Define the bbCode tags
bbcode = new Array();
bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]');
imageTag = false;
// Shows the help messages in the helpline window
function helpline(help) {
document.post.helpbox.value = eval(help + \"_help\");
}
// Replacement for arrayname.length property
function getarraysize(thearray) {
for (i = 0; i < thearray.length; i++) {
if ((thearray[i] == \"undefined\") || (thearray[i] == \"\") || (thearray[i] == null))
return i;
}
return thearray.length;
}
// Replacement for arrayname.push(value) not implemented in IE until version 5.5
// Appends element to the array
function arraypush(thearray,value) {
thearray[ getarraysize(thearray) ] = value;
}
// Replacement for arrayname.pop() not implemented in IE until version 5.5
// Removes and returns the last element of an array
function arraypop(thearray) {
thearraysize = getarraysize(thearray);
retval = thearray[thearraysize - 1];
delete thearray[thearraysize - 1];
return retval;
}
function checkForm() {
formErrors = false;
document.post.message.value = '';
if (document.post.input.value.length < 2) {
formErrors = '" . $lang['Empty_message'] . "';
}
if (formErrors) {
alert(formErrors);
return false;
} else {
if (document.post.quick_quote.checked) {
document.post.message.value = document.post.last_msg.value + '\\r\\n';
}
document.post.message.value += document.post.input.value;
return true;
}
}
function bbstyle(bbnumber) {
var txtarea = document.post.input;
txtarea.focus();
donotinsert = false;
theSelection = false;
bblast = 0;
if (bbnumber == -1) { // Close all open tags & default button names
while (bbcode[0]) {
butnumber = arraypop(bbcode) - 1;
txtarea.value += bbtags[butnumber + 1];
buttext = eval('document.post.addbbcode' + butnumber + '.value');
eval('document.post.addbbcode' + butnumber + '.value =\"' + buttext.substr(0,(buttext.length - 1)) + '\"');
}
imageTag = false; // All tags are closed including image tags :D
txtarea.focus();
return;
}
if ((clientVer >= 4) && is_ie && is_win)
{
theSelection = document.selection.createRange().text; // Get text selection
if (theSelection) {
// Add tags around selection
document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1];
txtarea.focus();
theSelection = '';
return;
}
}
else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
{
mozWrap(txtarea, bbtags[bbnumber], bbtags[bbnumber+1]);
return;
}
// Find last occurance of an open tag the same as the one just clicked
for (i = 0; i < bbcode.length; i++) {
if (bbcode[i] == bbnumber+1) {
bblast = i;
donotinsert = true;
}
}
if (donotinsert) { // Close all open tags up to the one just clicked & default button names
while (bbcode[bblast]) {
butnumber = arraypop(bbcode) - 1;
txtarea.value += bbtags[butnumber + 1];
buttext = eval('document.post.addbbcode' + butnumber + '.value');
eval('document.post.addbbcode' + butnumber + '.value =\"' + buttext.substr(0,(buttext.length - 1)) + '\"');
imageTag = false;
}
txtarea.focus();
return;
} else { // Open tags
if (imageTag && (bbnumber != 14)) { // Close image tag before adding another
txtarea.value += bbtags[15];
lastValue = arraypop(bbcode) - 1; // Remove the close image tag from the list
document.post.addbbcode14.value = \"Img\"; // Return button back to normal state
imageTag = false;
}
// Open tag
txtarea.value += bbtags[bbnumber];
if ((bbnumber == 14) && (imageTag == false)) imageTag = 1; // Check to stop additional tags after an unclosed image tag
arraypush(bbcode,bbnumber+1);
eval('document.post.addbbcode'+bbnumber+'.value += \"*\"');
txtarea.focus();
return;
}
storeCaret(txtarea);
}
// From http://www.massless.org/mozedit/
function mozWrap(txtarea, open, close)
{
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
if (selEnd == 1 || selEnd == 2)
selEnd = selLength;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + open + s2 + close + s3;
return;
}
// Insert at Claret position. Code from
// http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
function storeCaret(textEl) {
if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}
//-->
</script>
<form action='".append_sid("posting.$phpEx")."' method='post' name='post' onsubmit='return checkForm(this)'>
<span class='genmed'><b>".$lang["Quick_Reply"].":</b><br />\n
<input type=\"button\" class=\"button\" accesskey=\"b\" name=\"addbbcode0\" value=\" B \" style=\"font-weight:bold; width: 30px\" onClick=\"bbstyle(0)\" onMouseOver=\"helpline('b')\" /> \n
<input type=\"button\" class=\"button\" accesskey=\"i\" name=\"addbbcode2\" value=\" i \" style=\"font-style:italic; width: 30px\" onClick=\"bbstyle(2)\" onMouseOver=\"helpline('i')\" /> \n
<input type=\"button\" class=\"button\" accesskey=\"u\" name=\"addbbcode4\" value=\" u \" style=\"text-decoration: underline; width: 30px\" onClick=\"bbstyle(4)\" onMouseOver=\"helpline('u')\" /> \n
<input type=\"button\" class=\"button\" accesskey=\"q\" name=\"addbbcode6\" value=\"Quote\" style=\"width: 50px\" onClick=\"bbstyle(6)\" onMouseOver=\"helpline('q')\" /> \n
<input type=\"button\" class=\"button\" accesskey=\"c\" name=\"addbbcode8\" value=\"Code\" style=\"width: 40px\" onClick=\"bbstyle(8)\" onMouseOver=\"helpline('c')\" /> \n
<input type=\"button\" class=\"button\" accesskey=\"w\" name=\"addbbcode16\" value=\"URL\" style=\"text-decoration: underline; width: 40px\" onClick=\"bbstyle(16)\" onMouseOver=\"helpline('w')\" /> \n
<input type=\"button\" class=\"button\" accesskey=\"p\" name=\"addbbcode14\" value=\"Img\" style=\"width: 40px\" onClick=\"bbstyle(14)\" onMouseOver=\"helpline('p')\" /><br /></span>\n
<span class=\"gensmall\"><input type=\"text\" name=\"helpbox\" size=\"45\" maxlength=\"100\" style=\"width:340px; font-size:10px; background-color:#".$theme['td_color2'].";\" class=\"helpline\" value=\"Tip: Styles can be applied quickly to selected text.\" /></span><br /><span class='genmed'>";
if (!$userdata['session_logged_in'])
{
$quick_reply_form .= $lang['Username'] . ": <input class='post' type='text' name='username' size='25' maxlength='25' value='' /><br />";
}
$quick_reply_form .= "<textarea name='input' rows='10' cols='50' wrap='virtual' class='post''></textarea><br />
<input type='checkbox' name='quick_quote' />".$lang["Quick_quote"]."<br />
<input type='checkbox' name='attach_sig' checked='checked' />".$lang["Attach_signature"]."<br />
<input type='hidden' name='mode' value='reply' />
<input type='hidden' name='sid' value='" . $userdata['session_id'] . "' />
<input type='hidden' name='t' value='" . $topic_id . "' />
<input type='hidden' name='message' value='' />
<input type='hidden' name='notify' value=" . $notify . " />
<input type='hidden' name='last_msg' value='" . $last_msg . "' />
<input type='submit' name='preview' class='liteoption' value='".$lang['Preview']."' />
<input type='submit' name='post' class='mainoption' value='".$lang["Submit"]."' accesskey='s' />
</form></span>";
}
$template->assign_vars(array(
'QUICK_REPLY_FORM' => $quick_reply_form)
);
//
// END Quick Reply Mod
//
#
#-----[ OPEN ]------------------------------------------
#
lang_main.php
#
#-----[ FIND ]------------------------------------------
#
//
// That's all Folks!
#
#-----[ BEFORE, ADD ]------------------------------------
#
// Quick Reply Mod
$lang['Quick_Reply'] = 'Quick Reply';
$lang['Quick_quote'] = 'Quote the last message';
#
#-----[ OPEN ]------------------------------------------
#
viewtopic_body.tpl
#
#-----[ FIND ]------------------------------------------
#
{S_TOPIC_ADMIN}
#
#-----[ AFTER, ADD ]------------------------------------
#
{QUICK_REPLY_FORM}
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
|
EoM is the guy who made it I guess.
Nightmare _________________ EasyPHPBB Support Mod from 07/07/05 to 01/14/07.
If you need help please contact EasyPHPBB with your problem.
Last edited by Nightmare on Sat Oct 22, 2005 11:09 pm; edited 1 time in total |
|
Back to top |
|
|
Nightmare EasyPHPBB Expert
Joined: 26 Mar 2005 Posts: 378 Location: Canada
|
|
Back to top |
|
|
jong EasyPHPBB Poster
Joined: 30 Jul 2005 Posts: 26
|
Posted: Sun Jul 31, 2005 7:31 am Post subject: |
|
|
how can i use the code?
pls teach me.. tnx! |
|
Back to top |
|
|
EasyPHPBB EasyPHPPB Owner
Joined: 27 Feb 2005 Posts: 408
|
Posted: Sun Jul 31, 2005 11:15 am Post subject: |
|
|
Its mainly for me. To help me out when added a mod.
EasyPHPBB |
|
Back to top |
|
|
djpreshit EasyPHPBB Poster
Joined: 16 Sep 2005 Posts: 42
|
|
Back to top |
|
|
djpreshit EasyPHPBB Poster
Joined: 16 Sep 2005 Posts: 42
|
Posted: Fri Oct 21, 2005 6:35 pm Post subject: |
|
|
Why havent u implemented this mod yet??
M still waitin for this!!
Its so popular!!
Thnx _________________ The Most happenin Forum on the Planet |
|
Back to top |
|
|
Nightmare EasyPHPBB Expert
Joined: 26 Mar 2005 Posts: 378 Location: Canada
|
Posted: Fri Oct 21, 2005 7:58 pm Post subject: |
|
|
djpreshit wrote: | Why havent u implemented this mod yet??
M still waitin for this!!
Its so popular!!
Thnx |
I have a better one yet! when I get time I will fine it and post it. _________________ EasyPHPBB Support Mod from 07/07/05 to 01/14/07.
If you need help please contact EasyPHPBB with your problem. |
|
Back to top |
|
|
Jesse EasyPHPBB Addict
Joined: 07 Oct 2005 Posts: 173 Location: Australia-Brisbane
|
|
Back to top |
|
|
Nightmare EasyPHPBB Expert
Joined: 26 Mar 2005 Posts: 378 Location: Canada
|
Posted: Sat Oct 22, 2005 11:09 pm Post subject: |
|
|
just edited it, it should look like this;
_________________ EasyPHPBB Support Mod from 07/07/05 to 01/14/07.
If you need help please contact EasyPHPBB with your problem. |
|
Back to top |
|
|
Jesse EasyPHPBB Addict
Joined: 07 Oct 2005 Posts: 173 Location: Australia-Brisbane
|
|
Back to top |
|
|
djpreshit EasyPHPBB Poster
Joined: 16 Sep 2005 Posts: 42
|
Posted: Sun Oct 23, 2005 3:59 am Post subject: |
|
|
Wowe, that looks awesome man!!
Wens it gonna be implemented!!! ???
M so waitin for it!! _________________ The Most happenin Forum on the Planet |
|
Back to top |
|
|
|