The Arcive of vBulletin Modifications Site. |
|
![]() |
|||||||||||||||||||||||||
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 Code:
<!-- first unread and next/prev --> <table cellpadding="2" cellspacing="0" border="0" width="100%" align="center"> <tr> <td><smallfont>$pagenav </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> <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 --> 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 --> [b]SCREENSHOT ATTACHED JUST IMAGINE IT WITHOUT THE SMILIES[b] -Shift Show Your Support
|
Comments |
#2
|
||||
|
||||
![]()
Hmm, an idea make a custom template for it like FireFly's does. Bit more organised maybe? I'm sure it's possible through phpinclude.
But nice mod! ![]() |
#3
|
|||
|
|||
![]()
Not advisable, as you'll end up evalutating that large piece of code everytime you run a vB page, which is a relatively large overhead.
|
#4
|
||||
|
||||
![]()
Exactly and this can actually be done without ANY php code at all - the mod was released over at vbulletintemplates.com a while back
![]() - miSt |
#5
|
|||
|
|||
![]()
And while you're at it maybe you'd like to give me a shred of credit after you ripped all my PHP code.
|
#6
|
|||
|
|||
![]()
Yea, ripping that code was low dude.
And yes, theres a version at vBt that requires no php code at all. |
#7
|
|||
|
|||
![]()
<font size="1">Sorry, I meant to, I'll edit the post and add you to it, I really did mean to, I just had alot of things going on when I added the post. And mine would require no php code if the close thread and sticky thread weren't their.
-Shift</font> |
#8
|
||||
|
||||
![]()
Yeah the 'Sticky/Close' hack code I saw was very similar, I didn't want to make any accusations or anything though unless I was very sure.
![]() |
#9
|
|||
|
|||
![]()
Whats the sense of posting others hacks (or template edits for this matter)?
|
#10
|
|||
|
|||
![]()
Because, then it makes it easier to add it, no file edits, much easier.
|
![]() |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|