Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > General > Member Archives
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
[RELEASE]Quick Reply(HACKLESS VERSION) Details »»
[RELEASE]Quick Reply(HACKLESS VERSION)
Version: , by Herman Herman is offline
Developer Last Online: Oct 2008 Show Printable Version Email this Page

Version: Unknown Rating:
Released: 01-07-2003 Last Update: Never Installs: 0
 
No support by the author.

Template Quick Reply! v1.1
By - Shift
Original Hack by - FireFly(Chen)

First go to [b]AdminCP-> Templates -> phpInclude->

Add this to the bottom of your template:


Code:
//Sticky/Close
if (strpos($_SERVER['PHP_SELF'], 'newreply.php') != false)
{
	// These numbers are usergroupids for usergroups that will always
	// have permission to close/stick the thread, regardless of what
	// permission they already have. To add a usergroup, just follow
	// the format (i.e., array(5, 6, 7) allows smods, admins, and any
	// mods to close/stick the thread).
	// If a usergroupid is not specified then the permissions will
	// be automatically derived. It is recommended that you do not 
	// change this behavior.
	$alwaysallowugids = array(5, 6);
	
	$modperms = array();
	if (in_array($bbuserinfo['usergroupid'], $alwaysallowugids))
	{
		// emulate a call to getmodpermissions
		$modperms['canopenclose'] = 1;
		$modperms['canmanagethreads'] = 1;
	}
	else
	{
		$modperms = getmodpermissions($thread['forumid']);
	}
	
	// ---------------------------------------------------------------
	
    if ($_POST['action'] == 'postreply') // newreply redirect page
    {
		$querybits = array();
        if ($modperms['canopenclose'])
		{
			array_push($querybits, "open = " .
				($_POST['closeonreply'] == 1 ? 0 : 1));
		}
		if ($modperms['canmanagethreads'])
		{
			array_push($querybits, "sticky = " .
				($_POST['stickonreply'] == 1 ? 1 : 0));
		}
		
		if (!empty($querybits)) // perm to do at least one of the two
		{
			$threadid = intval($_POST['threadid']);
			$querybits = implode(", ", $querybits);
		
			$DB_site->query("UPDATE thread SET $querybits
				WHERE threadid = $threadid"); //<
		}
    }
	
	// ---------------------------------------------------------------
	
    else // just assume this is the reply form
    {
		// eval the extra option templates as needed
		
		$closebox = '';
		$stickbox = '';
		if ($modperms['canopenclose'])
		{
			$checked = ($thread['open'] ? "" : " checked");
			eval("\$closebox = \"" . gettemplate("newreply_closebox") . "\";");
		}
		if ($modperms['canmanagethreads']) // perm for sticky
		{
			$checked = ($thread['sticky'] ? " checked" : "");
			eval("\$stickbox = \"" . gettemplate("newreply_stickbox") . "\";");
		}
	}
}







if (strpos($_SERVER['PHP_SELF'], 'showthread.php') != false)
{
	// These numbers are usergroupids for usergroups that will always
	// have permission to close/stick the thread, regardless of what
	// permission they already have. To add a usergroup, just follow
	// the format (i.e., array(5, 6, 7) allows smods, admins, and any
	// mods to close/stick the thread).
	// If a usergroupid is not specified then the permissions will
	// be automatically derived. It is recommended that you do not 
	// change this behavior.
	$alwaysallowugids = array(5, 6);
	
	$modperms = array();
	if (in_array($bbuserinfo['usergroupid'], $alwaysallowugids))
	{
		// emulate a call to getmodpermissions
		$modperms['canopenclose'] = 1;
		$modperms['canmanagethreads'] = 1;
	}
	else
	{
		$modperms = getmodpermissions($thread['forumid']);
	}
	
	// ---------------------------------------------------------------
	
    if ($_POST['action'] == 'postreply') // newreply redirect page
    {
		$querybits = array();
        if ($modperms['canopenclose'])
		{
			array_push($querybits, "open = " .
				($_POST['closeonreply'] == 1 ? 0 : 1));
		}
		if ($modperms['canmanagethreads'])
		{
			array_push($querybits, "sticky = " .
				($_POST['stickonreply'] == 1 ? 1 : 0));
		}
		
		if (!empty($querybits)) // perm to do at least one of the two
		{
			$threadid = intval($_POST['threadid']);
			$querybits = implode(", ", $querybits);
		
			$DB_site->query("UPDATE thread SET $querybits
				WHERE threadid = $threadid"); //<
		}
    }
	
	// ---------------------------------------------------------------
	
    else // just assume this is the reply form
    {
		// eval the extra option templates as needed
		
		$closebox = '';
		$stickbox = '';
		if ($modperms['canopenclose'])
		{
			$checked = ($thread['open'] ? "" : " checked");
			eval("\$closebox = \"" . gettemplate("newreply_closebox") . "\";");
		}
		if ($modperms['canmanagethreads']) // perm for sticky
		{
			$checked = ($thread['sticky'] ? " checked" : "");
			eval("\$stickbox = \"" . gettemplate("newreply_stickbox") . "\";");
		}
	}
}
//end Sticky/Close
Now save that template then open the showthread template. Then find -

Code:
<!-- first unread and next/prev -->
<table cellpadding="2" cellspacing="0" border="0" width="100%"  align="center">
<tr>
<td><smallfont>$pagenav&nbsp;</smallfont></td>
<td align="right"><smallfont>
<img src="https://vborg.vbsupport.ru/vbimages/prev.gif" alt="" border="0">
<a href="showthread.php?s=$session[sessionhash]&threadid=$threadid&goto=nextoldest">Last Thread</a>
&nbsp;
<a href="showthread.php?s=$session[sessionhash]&threadid=$threadid&goto=nextnewest">Next Thread</a>
<img src="https://vborg.vbsupport.ru/vbimages/next.gif" alt="" border="0">
</smallfont></td>
</tr>
</table>
<!-- first unread and next/prev -->
[b]AFTER[b] it add -

Code:
<!-- qr -->
<script language="javascript">
<!--
var postmaxchars = $postmaxchars;
function validate(theform) {
if (theform.message.value=="") {
alert("Please complete the message field.");
return false; }
if (postmaxchars != 0) {
if (theform.message.value.length > $postmaxchars) {
alert("Your message is too long.\n\nReduce your message to $postmaxchars characters.\nIt is currently "+theform.message.value.length+" characters long.");
return false; }
else { return true; }
} else { return true; }
}
function checklength(theform) {
if (postmaxchars != 0) { message = "\nThe maximum permitted length is $postmaxchars characters."; }
else { message = ""; }
alert("Your message is "+theform.message.value.length+" characters long."+message);
}
//-->
</script>

<form enctype="multipart/form-data" action="newreply.php" name="vbform" method="post" onSubmit="return validate(this)">
<script language="Javascript" src="vbcode.js"></script>
<script language="Javascript" src="vbcode_language.js"></script>
<input type="hidden" name="s" value="$session[sessionhash]">
<input type="hidden" name="action" value="postreply">
<input type="hidden" name="threadid" value="$threadid">
<input type="hidden" name="title" value="">
<input type="hidden" name="iconid" value="0">
<input type="hidden" name="parseurl" value="yes">
<input type="hidden" name="email" value="">
<input type="hidden" name="disablesmilies" value="">
<input type="hidden" name="closethread" value="">
<input type="hidden" name="hiddenreply" value="">
<input type="hidden" name="signature" value="yes">
<input type="hidden" name="rating" value="0">

<table cellpadding="0" cellspacing="0" border="0" bgcolor="#555576"  width="100%" align="center"><tr><td>
<table cellpadding="4" cellspacing="1" border="0"  width="100%">
<tr>
<td bgcolor="#8080A6" colspan="2"><normalfont color="#EEEEFF" class="thtcolor"><b>Post Reply</b></normalfont></td>
</tr>
<tr>
<td bgcolor="#DFDFDF" valign="top" nowrap><normalfont><b>Your Reply:</b></normalfont></td>
<td bgcolor="#DFDFDF">
<table cellpadding="0" cellspacing="0" border="0">
<script language="Javascript" src="vbcode.js"></script>
<script language="Javascript" src="vbcode_language.js"></script>

<tr valign="top">
<td><textarea name="message" rows="7" cols="75" wrap="virtual" tabindex="1"></textarea><br>
<smallfont><a href="javascript:checklength(document.vbform);">[check message length]</a><br><br><input type="checkbox" name="closeonreply" value="1"$checked> <b>Close on Reply:</b> Closes the thread to new replies (moderators only)$stickbox

</smallfont></td>
</tr>
</table>
<tr>
<td bgcolor="#DFDFDF" valign="top" nowrap><normalfont><b>Attach file:</b></normalfont><br>
<smallfont>Size Limit: $maxattachsize bytes</smallfont></td>
<td bgcolor="#DFDFDF" valign="top"><smallfont><input type="hidden" name="MAX_FILE_SIZE" value="$maxattachsize_temp">
<input type="file" class="bginput" name="attachment"><br>
Valid file extensions: $attachextensions</smallfont></td>
</tr>
</td>
</tr>
</table>
</td></tr></table>

<br>

<table cellpadding="2" cellspacing="0" border="0" width="100%"  align="center">
<tr>
<td align="center"><normalfont>
<input type="submit" class="bginput" name="submit" value="Submit Reply" accesskey="s" tabindex="2">
<input type="reset" class="bginput" name="reset" value="Reset Form" accesskey="r" tabindex="3">
</normalfont></td>
</tr>
</table>

</form>
<!-- /endQR -->
That should do it! BTW for those of you that have the Shinra Points hack with the addon for points for every post, this works the same way as a normal reply, you should get normal posts with this! ^__^ ALL PHP CODE COPYRIGHT FILBURT1

[b]SCREENSHOT ATTACHED JUST IMAGINE IT WITHOUT THE SMILIES[b]

-Shift

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #12  
Old 01-11-2003, 10:00 AM
Tony G's Avatar
Tony G Tony G is offline
 
Join Date: Nov 2001
Location: Melbourne, Australia
Posts: 8,357
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Also works for easier upgrades etc. because you haven't touched any PHP Files.

Big business now.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:29 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03620 seconds
  • Memory Usage 2,222KB
  • Queries Executed 16 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (3)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (2)post_thanks_box
  • (2)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit_info
  • (1)postbit
  • (2)postbit_onlinestatus
  • (2)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete