Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.5 > vBulletin 3.5 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Forms Hack Details »»
Forms Hack
Version: 3.5, by Abe1 Abe1 is offline
Developer Last Online: Jun 2010 Show Printable Version Email this Page

Version: 3.5.4 Rating:
Released: 08-09-2005 Last Update: 05-30-2006 Installs: 467
Uses Plugins Template Edits
 
No support by the author.

Forms Hack 3.5


Features:

Ever wanted an online form that a user can fill out, which when submitted gets:
  • Posted into a new thread in a forum of your choice
  • Create a new poll in the new thread with options of your choice
  • Posted as a reply in an existing thread of your choice
  • PMed to you or someone else
  • Emailed to an email address you specify
  • Choose to redirect to the post, thread or forum, or a custom thank you message
  • Choose to redirect to edit post to upload attachments
  • See a preview before they submit

Or any combination or all of the above?

Well, this is the hack for you!

You can use this for:
  • Moderator Applications
  • Quiz Submit Form which gets PMed to a moderator
  • Contact Form that goes to PM, email or thread
  • Guests to apply to be members
  • Report a Moderator form that goes as a PM to you
  • Guests can PM you for whatever reason
  • Order form to buy things
  • Donation form
  • News or Articles submissions that can go straight to a thread

Or anything you like - this hack is totally customizable via the AdminCP.

The beauty of this hack is that once you install this hack, to make a new form all you need to do is copy the main hook, rename it to whatever you want, edit the variables in the hook, and you have a totally new form!!! You do not need to touch the templates again, but can always create new ones and use different templates for different forms.

Format of the form:
  • One main input question
  • 3 Radio buttons Choice questions
  • 3 Normal text input questions
  • 1 Drop down menu
  • 3 Check boxes
  • 1 Long answer question
  • 1 VB message editor text box question

This is customizable via the hook.

Also:
  • You can set the usergroups you want access to this form.
  • Depending on your forum permissions, if the new thread is in a public forum, members can reply to it. This hack allows a form to submit the new thread or post wherever you want it to go.
  • Force the user to answer all questions.

INSTALLATION
Easy - takes only a few minutes:
  • Import the XML into products. (admin cp -> Plug-in System -> Manage Products -> Add/Import Product)
  • Edit the main plug-in - the instructions are all inside the hook itself, in the top half. Follow the instructions carefully!
  • To get to the form, go to: /newthread.php?do=form (change "form" to the name of your form if you have few)

Done!

Use this hack to make as many forms as you like!

Enjoy!

Updates:

Version 2.0: (08/10/2005)
  • Ported over for vb3.5

Version 2.1: (08/10/2005)
  • bug fix with answers not showing

Version 2.5: (08/13/2005)
  • Major update:
  • Templates have a few lines changed here and there.
  • You can now have more then 2 poll options very easily
  • Polls can't be created if your not creating a new thread
  • New Thread now uses VB function to add the thread
  • New Poll now uses VB function to add the poll
  • New Reply now uses VB function to add the reply
  • PM now uses VB function to send the PM

Version 2.6: (08/21/2005)
  • fixed bug with posts having to be moderated

Version 2.7: (08/23/2005)
  • Minor update:
  • Fixed some issues with signatures, URL parsing, and subscriptions
  • Option to name the post titles
  • Made template XHTML 1.0 Transitional

Version 3.0: (11/29/2005)
  • Major update:
  • Added drop down menu
  • Made the long answer show up in a the vb message box
  • Re-wrote some instructions
  • Pressing back should save work
  • Both templates and plug-in were edited
  • Some more minor things

Version 3.1: (12/07/2005)
  • Brought back the standard text box (longanswer)

Version 3.2: (12/09/2005)
  • [ADDED] Option to make polls public.

Version 3.3: (12/19/2005)
  • [FIXED] Guests can now post using the forms to make a thread or post. They cannot send a PM though.
  • [ADDED] Paypal link so you can make a donation for this hack.

Version 3.4: (04/05/2006)
  • [FIXED] Removed extra line from template.
  • [ADDED] WYSIWYG editor now works besides the regular editor.
  • [ADDED] Preview.
  • [CHANGED] Subscriptions now take from user default setting.

Version 3.5: (05/31/2006)
  • [ADDED] Check boxes.


Abe1 with rights from Dr Erwin Loh

This hack is created for your use free of charge. No payment is requested. However, if you would like to donate money for the work I put in to this hack, a donation would show your appreciation.

Show Your Support

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

Comments
  #662  
Old 03-04-2006, 04:08 AM
SLGR SLGR is offline
 
Join Date: Jul 2005
Posts: 37
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is there anyway to use this form as a separate .php file (example: /forum/form.php) and not as "/newthread.php?do=form"?
Reply With Quote
  #663  
Old 03-06-2006, 11:33 PM
Thanatos Thanatos is offline
 
Join Date: Dec 2001
Posts: 117
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have found that "Adv. Editing Options for Mods and Admins" conflicts with this, but erratically.

Once I uninstalled this, my forms would submit into their specified forums again.
Reply With Quote
  #664  
Old 03-07-2006, 03:12 AM
Jayphen Jayphen is offline
 
Join Date: May 2005
Posts: 43
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

So can this form be put anywhere? (ie outside the forum itself, but on the same server etc)
Reply With Quote
  #665  
Old 03-07-2006, 07:56 PM
aflax045 aflax045 is offline
 
Join Date: Jul 2005
Posts: 27
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have figured out how to put the applicant name in the thread title and know how the "default thread title" works. However, is it possible for this to be:
Applicant Name: Default Thread Title

Example:

UserBob - Administrator Application
Reply With Quote
  #666  
Old 03-08-2006, 03:01 PM
ca99uk ca99uk is offline
 
Join Date: Mar 2006
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello,

firstly thanks for the hardwork on the form. Secondly it works great for me except one thing (dont know if its possible or not). When a user posts a message using the form the subscription doesnt seem to work. I am using this form as a sort of helpdesk ticket and want the users to get an email when I reply to the post.

It works great if they post without using the form but if they make a post using the form their subscription doesnt seem to work, and they get no email notifications???

Also my HTML or coding skills are very very very very basic so if there is a fix or something I can do to get this working a step by step explanation would be great :nervous:

Any ideas and thanks in advance??
Reply With Quote
  #667  
Old 03-08-2006, 03:32 PM
Jon.'s Avatar
Jon. Jon. is offline
 
Join Date: Dec 2005
Location: Kent, UK
Posts: 79
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can someone tell me what the main hook is, and where i can find it?
Reply With Quote
  #668  
Old 03-10-2006, 07:34 AM
ca99uk ca99uk is offline
 
Join Date: Mar 2006
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Anyone? I would really appreciate any help with this one

.......

firstly thanks for the hardwork on the form. Secondly it works great for me except one thing (dont know if its possible or not). When a user posts a message using the form the subscription doesnt seem to work. I am using this form as a sort of helpdesk ticket and want the users to get an email when I reply to the post.

It works great if they post without using the form but if they make a post using the form their subscription doesnt seem to work, and they get no email notifications???

Also my HTML or coding skills are very very very very basic so if there is a fix or something I can do to get this working a step by step explanation would be great

Any ideas and thanks in advance??
Reply With Quote
  #669  
Old 03-10-2006, 02:14 PM
silly rabbit silly rabbit is offline
 
Join Date: Oct 2005
Location: Atlanta/NYC
Posts: 92
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've played with this hack a little (works like a charm thx!) question is: If posting 'form' replys to a thread and/or forum has anybody had any good success (they'd like to share) REVERSING THE PROCESS???

Example: Let's say I design my own custom 'signup' page the results of which get posted into a forum. I'd like to be able to 'edit' / retrieve the data posted back INTO A FORM PAGE (ie: repopulate the data) for review / changes as opposed to simply using the Vb editor??

Rabbit
Reply With Quote
  #670  
Old 03-12-2006, 02:53 PM
jilly jilly is offline
 
Join Date: Jul 2002
Location: central maryland
Posts: 461
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by jilly
My moderator form goes to a private moderator board, and all the posts are coming through as 'moderated', even though the forum is not set that way - the forums settings say 'no' to all the moderation questions.. and the people submitting the forms are NOT on moderated status.. Any ideas?
Again, the requests are not coming from a moderated usergroup, and the forum they are pointed to is not set to have posts or threads in the forum moderated. I am using version 3.3
Reply With Quote
  #671  
Old 03-13-2006, 02:48 PM
Elikster Elikster is offline
 
Join Date: Mar 2006
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have modifed the XML to have it working, and it submits, but it does not get it posted into the forum itself as it is intended here. Here is the copy of the XML file.

Code:
<?xml version="1.0" encoding="ISO-8859-1"?>

<product productid="form_hack" active="1">
	<title>Form Hack</title>
	<description>Create a 

form.</description>
	<version>3.3</version>
	<codes>
	</codes>
	<templates>
		<template 

name="form" templatetype="template" date="1133965929" username="Abe" version="3.5.2"><![CDATA[$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
$headinclude
<title>$vboptions[bbtitle] - $formtitle</title>
</head>
<body>
$header
$navbar

<!-- main -->
<br />

<form enctype="multipart/form-data" method="post" action="newthread.php">
<input type="hidden" value="$formname" name="do" />
<input type="hidden" value="submit" name="action" />

<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" 

align="center">
<tr>
	<td class="tcat" colspan="3">
		$vboptions[bbtitle] - $formtitle
	</td>
</tr>
<tr>
	<td class="panelsurround" align="center" colspan="3">

	<table class="panel" cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%">
	<tr>
		<td align="$stylevar[left]">
			<fieldset class="fieldset" style="margin:0px">
				<table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0">
				<tr>
					<td>
						$formpurpose

					</td>
				</tr>
		</table>
	</fieldset>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="alt1" valign="middle">
<b>Username</b>:<br />
Your Username.</td>
<td class="alt1" valign="middle" colspan="2">
<b>$bbuserinfo[username]</b></td>
</tr>

<tr>
<td class="alt1" valign="middle">
<b>$dropdownquestion1</b>:<br />
$explain3</td>
<td class="alt1" valign="middle" colspan="2">
<select name="dropdownanswer1">
<option value="$dropdownchoice1a">$dropdownchoice1a</option>
<option value="$dropdownchoice1b">$dropdownchoice1b</option>
<option value="$dropdownchoice1c">$dropdownchoice1c</option>
<option value="$dropdownchoice1d">$dropdownchoice1d</option>
<option value="$dropdownchoice1e">$dropdownchoice1e</option>
<option value="$dropdownchoice1f">$dropdownchoice1f</option>
<option value="$dropdownchoice1g">$dropdownchoice1g</option>
<option value="$dropdownchoice1h">$dropdownchoice1h</option>
<option value="$dropdownchoice1i">$dropdownchoice1i</option>
<option value="$dropdownchoice1j">$dropdownchoice1j</option>
<option value="$dropdownchoice1k">$dropdownchoice1k</option>
<option value="$dropdownchoice1l">$dropdownchoice1l</option>
<option value="$dropdownchoice1m">$dropdownchoice1m</option>
<option value="$dropdownchoice1n">$dropdownchoice1n</option>
<option value="$dropdownchoice1o">$dropdownchoice1o</option>
<option value="$dropdownchoice1p">$dropdownchoice1p</option>
<option value="$dropdownchoice1q">$dropdownchoice1q</option>
<option value="$dropdownchoice1r">$dropdownchoice1r</option>
<option value="$dropdownchoice1s">$dropdownchoice1s</option>
<option value="$dropdownchoice1t">$dropdownchoice1t</option>
<option value="$dropdownchoice1u">$dropdownchoice1u</option>
<option value="$dropdownchoice1v">$dropdownchoice1v</option>
<option value="$dropdownchoice1w">$dropdownchoice1w</option>
<option value="$dropdownchoice1x">$dropdownchoice1x</option>
<option value="$dropdownchoice1y">$dropdownchoice1y</option>
<option value="$dropdownchoice1z">$dropdownchoice1z</option>
<option value="$dropdownchoice1aa">$dropdownchoice1aa</option>
<option value="$dropdownchoice1ab">$dropdownchoice1ab</option>
<option value="$dropdownchoice1ac">$dropdownchoice1ac</option>
<option value="$dropdownchoice1ad>$dropdownchoice1ad</option>
<option value="$dropdownchoice1ae">$dropdownchoice1ae</option>
<option value="$dropdownchoice1af">$dropdownchoice1af</option>
<option value="$dropdownchoice1ag">$dropdownchoice1ag</option>
<option value="$dropdownchoice1ah">$dropdownchoice1ah</option>
<option value="$dropdownchoice1ai">$dropdownchoice1ai</option>
<option value="$dropdownchoice1aj">$dropdownchoice1aj</option>
</select></td>
</tr>

<tr>
<td class="alt2" valign="middle">
<b>$question1</b>:<br />
$explain1</td>
<td class="alt2" valign="middle" colspan="2">
<input type="text" size="30" name="answer1" /></td>
</tr>

<tr>
<td class="alt1" valign="middle">
<b>$dropdownquestion2</b>:<br />
</td>
<td class="alt1" valign="middle" colspan="2">
<select name="dropdownanswer2">
<option value="$dropdownchoice2a">$dropdownchoice2a</option>
<option value="$dropdownchoice2b">$dropdownchoice2b</option>
<option value="$dropdownchoice2c">$dropdownchoice2c</option>
<option value="$dropdownchoice2d">$dropdownchoice2d</option>
<option value="$dropdownchoice2e">$dropdownchoice2e</option>
<option value="$dropdownchoice2f">$dropdownchoice2f</option>
<option value="$dropdownchoice2g">$dropdownchoice2g</option>
<option value="$dropdownchoice2h">$dropdownchoice2h</option>
<option value="$dropdownchoice2i">$dropdownchoice2i</option>
<option value="$dropdownchoice2j">$dropdownchoice2j</option>
<option value="$dropdownchoice2k">$dropdownchoice2k</option>
</select></td>
</tr>


<tr>
<td class="alt1" valign="middle">
<b>$question2</b>:<br />
$explain2</td>
<td class="alt1" valign="middle" colspan="2">
<input type="text" size="30" name="answer2" /></td>
</tr>

<tr>
<td class="alt1" valign="middle">
<b>$dropdownquestion3</b>:<br />
</td>
<td class="alt1" valign="middle" colspan="2">
<select name="dropdownanswer3">
<option value="$dropdownchoice3a">$dropdownchoice3a</option>
<option value="$dropdownchoice3b">$dropdownchoice3b</option>
<option value="$dropdownchoice3c">$dropdownchoice3c</option>
</select></td>
</tr>

<tr>
<td class="alt1" valign="middle">
<b>$dropdownquestion4</b>:<br />
</td>
<td class="alt1" valign="middle" colspan="2">
<select name="dropdownanswer4">
<option value="$dropdownchoice4a">$dropdownchoice4a</option>
<option value="$dropdownchoice4b">$dropdownchoice4b</option>
<option value="$dropdownchoice4c">$dropdownchoice4c</option>
<option value="$dropdownchoice4d">$dropdownchoice4d</option>
<option value="$dropdownchoice4e">$dropdownchoice4e</option>
<option value="$dropdownchoice4f">$dropdownchoice4f</option>
<option value="$dropdownchoice4g">$dropdownchoice4g</option>
<option value="$dropdownchoice4h">$dropdownchoice4h</option>
<option value="$dropdownchoice4i">$dropdownchoice4i</option>
<option value="$dropdownchoice4j">$dropdownchoice4j</option>
<option value="$dropdownchoice4k">$dropdownchoice4k</option>
<option value="$dropdownchoice4l">$dropdownchoice4l</option>
<option value="$dropdownchoice4m">$dropdownchoice4m</option>
<option value="$dropdownchoice4n">$dropdownchoice4n</option>
<option value="$dropdownchoice4o">$dropdownchoice4o</option>
</select></td>
</tr>

<tr>
<td class="alt1" valign="middle">
<b>$dropdownquestion5</b>:<br />
</td>
<td class="alt1" valign="middle" colspan="2">
<select name="dropdownanswer5">
<option value="$dropdownchoice5a">$dropdownchoice5a</option>
<option value="$dropdownchoice5b">$dropdownchoice5b</option>
</select></td>
</tr>

<tr>
<td class="alt2" valign="middle">
<b>$longquestion1</b><br>
$longexplain1</td>
<td class="alt2" valign="middle" colspan="2">
<textarea rows="15" cols="70" name="longanswer1"></textarea>
</td>
</tr>

<tr>
<td class="alt2" valign="middle">
<b>$longquestion2</b><br>
$longexplain2</td>
<td class="alt2" valign="middle" colspan="2">
<textarea rows="5" cols="70" name="longanswer2"></textarea>
</td>
</tr>

<tr>
<td class="alt2" valign="middle">
<b>$longquestion3</b><br>
$longexplain3</td>
<td class="alt2" valign="middle" colspan="2">
<textarea rows="20" cols="70" name="longanswer3"></textarea>
</td>
</tr>

<tr>
<td class="alt1" valign="middle">
<b>$question3</b>:<br />
$explain3</td>
<td class="alt1" valign="middle" colspan="2">
<input type="text" size="30" name="answer3" /></td>
</tr>

<tr>
<td class="alt1" valign="middle">
<b>$dropdownquestion6</b>:<br />
</td>
<td class="alt1" valign="middle" colspan="2">
<select name="dropdownanswer6">
<option value="$dropdownchoice5a">$dropdownchoice6a</option>
<option value="$dropdownchoice5b">$dropdownchoice6b</option>
</select></td>
</tr>

<tr>
<td class="alt1" valign="middle" colspan="3">
<b>$vbtextquestion</b><br />
$vbtextexplain
<div align="center">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
$messagearea
</td>
</tr>
</table>
</div>
</td>
</tr>
<tr>

<td valign="top" colspan="3">
<p align="center">
<input type="submit" value="Submit" name="submit" style="font-family: Verdana; font-size: 10pt" class="button" />
<input type="reset" value="Reset" name="reset" style="font-family: Verdana; font-size: 10pt" class="button" />
</p></td></tr>
</table>

</form>

$footer
</body>
</html>]]></template>
		<template name="formanswers" templatetype="template" date="1133965917" username="Abe" 

version="3.5.2"><![CDATA[$formtitle
$bbuserinfo[username]

$dropdownquestion1
$dropdownanswer1

$question1
$answer1

$dropdownquestion2
$dropdownanswer2

$question2
$answer2

$dropdownquestion3
$dropdownanswer3

$dropdownquestion4
$dropdownanswer4

$dropdownquestion5
$dropdownanswer5

$question3
$answer3

$dropdownquestion1
$dropdownanswer1

------------------------------------------------------
$longquestion1

$longanswer1

------------------------------------------------------
$longquestion2

$longanswer2

------------------------------------------------------
$longquestion3

$longanswer3

------------------------------------------------------

$dropdownquestion6
$dropdownanswer6

------------------------------------------------------
$vbtextquestion

$vbtextanswer

------------------------------------------------------]]></template>
	</templates>
	<plugins>
		<plugin 

active="1">
			<title>Form Hack - DONT EDIT OR COPY</title>
			

<hookname>editor_wysiwyg_compatible</hookname>
			<phpcode><![CDATA[global $dontusewysiwyg;

if($dontusewysiwyg && $choice == 2)
{
$choice = 1;
}]]></phpcode>
		</plugin>
		<plugin active="1">
			<title>Form Hack</title>
		

	<hookname>newthread_start</hookname>
			<phpcode><![CDATA[// To add more then one form, copy this 

whole text, and creat a new plug-in with the hook location 'newthread_start'.
// After, change the form name. You can't have 2 forms with the same name.

// Name of this form
$formname = "application";

if ($_REQUEST['do'] == $formname)
{

// #######################################################################
// ######################## CUSTOMIZE VARIABLES ##########################
// #######################################################################

////////////////////////////////////////////////////////////////////////////////////////////////////
////// BEGIN CUSTOMIZATION BELOW////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////
//VARIABLES
//Study how variables are add here to add or remove any. If you add a variable to your form, you must add it to part one 

and part two.
////////////////////////////////////////////////////////////////////////////////////////////////////


// Part 1
$vbulletin->input->clean_array_gpc('p', array(
'dropdownanswer1' => TYPE_STR,
'normalanswer1' => TYPE_STR,
'dropdownanswer2' => TYPE_STR,
'normalanswer2' => TYPE_STR,
'dropdownanswer3' => TYPE_STR,
'dropdownanswer4' => TYPE_STR,
'dropdownanswer5' => TYPE_STR,
'longanswer1' => TYPE_STR,
'longanswer2' => TYPE_STR,
'longanswer3' => TYPE_STR,
'longanswer4' => TYPE_STR,
'normalanswer3' => TYPE_STR,
'dropdownanswer6' => TYPE_STR,
));

// Part 2

$dropdownanswer1 = $vbulletin->GPC['dropdownanswer1'];
$normalanswer1 = $vbulletin->GPC['answer1'];
$dropdownanswer2 = $vbulletin->GPC['dropdownanswer2'];
$normalanswer2 = $vbulletin->GPC['answer2'];
$dropdownanswer3 = $vbulletin->GPC['dropdownanswer3'];
$dropdownanswer4 = $vbulletin->GPC['dropdownanswer4'];
$dropdownanswer5 = $vbulletin->GPC['dropdownanswer5'];
$longanswer1 = $vbulletin->GPC['longanswer1'];
$longanswer2 = $vbulletin->GPC['longanswer2'];
$longanswer3 = $vbulletin->GPC['longanswer3'];
$longanswer4 = $vbulletin->GPC['longanswer4'];
$normalanswer3 = $vbulletin->GPC['answer3'];
$dropdownanswer6 = $vbulletin->GPC['dropdownanswer6'];
////////////////////////////////////////////////////////////////////////////////////////////////////
//USERGROUPS ALLOWED
//You can add or remove usegroups that are ALLOWED to use this form by changing the numbers below in the array.
//To enable this feature, remove the '//' before the 'if'.
////////////////////////////////////////////////////////////////////////////////////////////////////

// if (!in_array($vbulletin->userinfo['usergroupid'], array(2,5,6,7))) print_no_permission();

////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////
//NAME OF TEMPLATES - DO THIS BIT IF YOU ARE MAKING MORE FORMS AND WANT TO USE A DIFFERENT LOOKING TEMPLATE
////////////////////////////////////////////////////////////////////////////////////////////////////

// Name of the main template
$maintemplate = "form";
// Name of the answer template
$answertemplate = "formanswer";

////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////
//CHOOSE WHETHER YOU WANT FORM TO BE POSTED IN A NEW THREAD, NEW POLL, REPLY TO EXISITING THREAD, PMed OR EMAILED
///////////////////////////////////////////////////////////////////////////////////////////////////

//ENABLE FORM TO BE POSTED - 1 = yes, 0 = no
$formforum = "1";

//FORUM TO POST NEW THREAD IN
//You CAN make this number a variable. You can have a drop down menu or in the link like do=form&f=1. Make sure you add 

it the variables list.
$formforumid = "4";

//ENABLE POLL TO BE CREATED - 1 = yes, 0 = no
$formpoll = "0";
$polloption[1] = "Yes";
$polloption[2] = "No";
$polloption[3] = "Maybe";

//Make poll public - 1 = yes, 0 = no
$pollpublic = "0";

////////////////////////////////////////////////////////////////////////////////////////////////////

//ENABLE FORM TO REPLY TO EXISTING THREAD - 1 = yes, 0 = no
$formreply = "0";

//EXISTING THREAD ID FOR FORM TO REPLY IN
$formreplythreadid = "12345";

////////////////////////////////////////////////////////////////////////////////////////////////////

//ENABLE FORM TO BE PMED (guests CANNOT use this option) - 1 = yes, 0 = no
$formpm = "0";

//USERNAME TO PM TO
$formpmname = "Abe";

////////////////////////////////////////////////////////////////////////////////////////////////////

//ENABLE FORM TO BE EMAILED - 1 = yes, 0 = no
$formemail = "0";

//EMAIL ADDRESS TO EMAIL TO
$formemailaddress = "youremail@yourforums.com";

////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////
//REDIRECT OPTIONS:
// 0 - thank you message (thread, reply, pm, or email)
// 1 - redirect to post (thread or reply)
// 2 - redirect to thread (thread only)
// 3 - redirect to forum (thread only)
// 4 - redirect to editpost to upload attachments (thread or reply)
//
// Feel free to change the thank you message if you choose option 0
////////////////////////////////////////////////////////////////////////////////////////////////////

$redirectoption = "0";

$errormessage = "Thank you for submitting your application to Twilight Legion!"; //This is the thank you message

////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////
//FORCE USER TO ANSWER ALL QUESTIONS - 1 = yes, 0 = no
//If you added or deleted variables, you must edit what it checked for. Search for "$answerall ==" and edit 2 lines under 

it.
////////////////////////////////////////////////////////////////////////////////////////////////////

$answerall = "0";

////////////////////////////////////////////////////////////////////////////////////////////////////
//TITLE OF FORM (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$formtitle = "Application";

////////////////////////////////////////////////////////////////////////////////////////////////////
//TITLE OF THREAD/POST/PM/EMAIL (do not use quotation marks in the title or you will get a parse error)
//You may use variables from the form for this.
////////////////////////////////////////////////////////////////////////////////////////////////////

$posttitle = "$formtitle - Citizen: $dropdownanswer5";

////////////////////////////////////////////////////////////////////////////////////////////////////
//PURPOSE OF FORM (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$formpurpose = "This is an application form for Twilight Legion. We are registered to the city of Qeynos on the Guk 

server.

Make certain to fill out this form accurately and completely. Failure to do so may result in disqualification from the 

application process.

NOTE: New applicants must be at least level 10 to be considered for full membership at this time.";

////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////
// Questionaire Listing Form

// Adventure Class - Dropdown
$dropdownquestion1 = "Adventurer Class:";
$dropdownchoice1a = "Fighter - Bruiser ";
$dropdownchoice1b = "Fighter - Brawler - Monk ";
$dropdownchoice1c = "Fighter - Brawler - Bruiser";
$dropdownchoice1d = "Fighter - Crusader";
$dropdownchoice1e = "Fighter - Crusader - Paladin";
$dropdownchoice1f = "Fighter - Crusader - Shadowknight";
$dropdownchoice1g = "Fighter - Warrior";
$dropdownchoice1h = "Fighter - Warrior - Beresker";
$dropdownchoice1i = "Fighter - Warrior - Guardian";
$dropdownchoice1j = "Mage - Enhanter";
$dropdownchoice1k = "Mage - Enchanter - Coercer";
$dropdownchoice1l = "Mage - Enchanter - Illusionist";
$dropdownchoice1m = "Mage - Sorceror";
$dropdownchoice1n = "Mage - Sorceror - Warlock";
$dropdownchoice1o = "Mage - Sorceror - Wizard";
$dropdownchoice1p = "Mage - Summoner";
$dropdownchoice1q = "Mage - Summoner - Conjuror";
$dropdownchoice1r = "Mage - Summoner - Necromaner";
$dropdownchoice1s = "Priest - Druid";
$dropdownchoice1t = "Priest - Druid - Fury";
$dropdownchoice1u = "Priest - Druid - Warden";
$dropdownchoice1v = "Priest - Cleric";
$dropdownchoice1w = "Priest - Cleric - Inquistor";
$dropdownchoice1x = "Priest - Cleric - Templar";
$dropdownchoice1y = "Priest - Priest";
$dropdownchoice1z = "Priest - Priest - Defiler";
$dropdownchoice1aa = "Priest - Priest - Mystic";
$dropdownchoice1ab = "Scout - Bard";
$dropdownchoice1ac = "Scout - Bard - Dirage";
$dropdownchoice1ad = "Scout - Bard - Troubadour";
$dropdownchoice1ae = "Scout - Predator";
$dropdownchoice1af = "Scout - Predator - Assassin";
$dropdownchoice1ag = "Scout - Predator - Ranger";
$dropdownchoice1ah = "Scout - Rogue";
$dropdownchoice1ai = "Scout - Rogue - Brigand";
$dropdownchoice1aj= "Scout - Rogue - Swashbuckler";

// Level - normalanswer
$question1 = "Adventurer Level:";
$explain1 = "What level is your Adventurer?";

// Artisan Class - dropdown
$dropdownquestion2 = "Artisian Class:";
$dropdownchoice2a = "Craftsman";
$dropdownchoice2b = "Provisioner";
$dropdownchoice2c = "Woodworker";
$dropdownchoice2d = "Outfitter";
$dropdownchoice2e = "Armorer";
$dropdownchoice2f = "Weaponsmith";
$dropdownchoice2g = "Tailor";
$dropdownchoice2h = "Scholar";
$dropdownchoice2i = "Jeweler";
$dropdownchoice2j = "Sage";
$dropdownchoice2k = "Alchemist";

// Level - normalanswer
$question2 = "Artisian Level:";
$explain2 = "What level is your Artisan?";

// Sex - dropdown
$dropdownquestion3 = "Gender:";
$dropdownchoice3a = "Male";
$dropdownchoice3b = "Female";

// Race - dropdown
$dropdownquestion4 = "Race:";
$dropdownchoice4a = "Barbarian";
$dropdownchoice4b = "Dark Elf";
$dropdownchoice4c = "Dwarf";
$dropdownchoice4d = "Erudite";
$dropdownchoice4e = "Froglok";
$dropdownchoice4f = "Gnome";
$dropdownchoice4g = "Half Elf";
$dropdownchoice4h = "High Elf";
$dropdownchoice4i = "Human";
$dropdownchoice4j = "Iksar";
$dropdownchoice4k = "Kerran";
$dropdownchoice4l = "Orge";
$dropdownchoice4m = "Ratonga";
$dropdownchoice4n = "Troll";
$dropdownchoice4o = "Wolf Elf";


// Citizenship - dropdown
$dropdownquestion5 = "City Citizenship:";
$dropdownchoice5a = "Qeynos";
$dropdownchoice5b = "Freeport";

// Reason for Joining -longanswer
$longquestion1 = "Reason for Joining:";
$longexplain1 = "What prompt you to consider to join our guild?";

// Any Former Guild if Any - longanswer
$longquestion2 = "Former Guilds:";
$longexplain2 = "What is your former guilds if any.";

// Reason for Leaving former Guild - longanswer
$longquestion3 = "What is your basis for leaving former Guild?";
$longexplain3 = "Explain on why you left your old guild if you have any former one.";

// Referral - normalanswer
$question3 = "Referral";
$explain3 = "Who referred you to our guild?";

// Read the Charter? - dropdown
$dropdownquestion6 = "Did you read our Guild Charter:";
$dropdownchoice6a = "No";
$dropdownchoice6b = "Yes";



$vbtextquestion = "Your expectations and inspirations?";
$vbtextexplain = "What you like to benefit from our guild for yourself and the guild in whole."; 



////////////////////////////////////////////////////////////////////////////////////////////////
////// END OF CUSTOMIZATION ////////////////////////////////////////////////////////////////////
/////  DO NOT CHANGE BELOW UNLESS YOU KNOW WHAT YOU ARE DOING!!! ////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################
if ($_REQUEST['action'] == '')
{
  $_REQUEST['action'] = "form";
}


$bbuserinfo = $vbulletin->userinfo;

// start navbar
$navbits = array();
$navbits['newthread.php?' . $vbulletin->session->vars['sessionurl'] . "do=$formname"] = $formtitle;

$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');

if ($_REQUEST['action'] == "submit")
{

    if ($answerall == "1")
    {
        if ($normalanswer1 == '' OR $radioanswer1 == '' OR $radioanswer2 == '' OR $radioanswer3 == '' OR $answer1 == '' 

OR $answer2 == '' OR $answer3 == '' OR $longanswer1 == '')
        {
            $errormessage = "$bbuserinfo[username], you need to answer every question!";
            eval('print_output("' . fetch_template('STANDARD_ERROR') . '");');
            exit();
        }
    }

	$vbulletin->input->clean_array_gpc('p', array(
		'wysiwyg'			=> TYPE_BOOL,
		'message'			=> TYPE_STR
		));

	if ($vbulletin->GPC['wysiwyg'])
	{
		require_once(DIR . '/includes/functions_wysiwyg.php');
		$vbtextanswer = convert_wysiwyg_html_to_bbcode($vbulletin->GPC['message'], $foruminfo['allowhtml']);
	}
	else
	{
		$vbtextanswer =& $vbulletin->GPC['message'];
	}

    eval('$formsend = "' . fetch_template("$answertemplate") . '";');

    if ($formforum == "1")
    {
        $foruminfo = verify_id('forum', $formforumid, 0, 1);
        $forumperms = fetch_permissions($foruminfo[forumid]);
        $newpost['username'] =& $vbulletin->userinfo['username'];
        $newpost['message'] =& $formsend;
        $newpost['title'] =& $posttitle;
        $newpost['parseurl'] = '1';
        $newpost['emailupdate'] = '9999';

		if ($vbulletin->userinfo['signature'] != '')
		{
			$newpost['signature'] = '1';
		}
		else
		{
			$newpost['signature'] = '0';
		}

    	build_new_post('thread', $foruminfo, array(), array(), $newpost, $errors);

        if ($formpoll == "1")
        {
            $threadinfo = verify_id('thread', $newpost[threadid], 0, 1);
            $polloptions = count($polloption);
            $question = $posttitle;
            $vbulletin->GPC['options'] = $polloption;

            $counter = 0;
            $optioncount = 0;
            $badoption = '';
            while ($counter++ < $polloptions)
            { // 0..Pollnum-1 we want, as arrays start with 0
                if ($vbulletin->options['maxpolllength'] AND vbstrlen($vbulletin->GPC['options']["$counter"]) > 

$vbulletin->options['maxpolllength'])
                {
                    $badoption .= iif($badoption, ', ') . $counter;
                }
                if (!empty($vbulletin->GPC['options']["$counter"]))
                {
                    $optioncount++;
                }
            }

            // Add the poll
            $poll =& datamanager_init('Poll', $vbulletin, ERRTYPE_STANDARD);

            $counter = 0;
            while ($counter++ < $polloptions)
            {
                if ($vbulletin->GPC['options']["$counter"] != '')
                {
                    $poll->set_option($vbulletin->GPC['options']["$counter"]);
                }
            }

            $poll->set('question',	$question);
            $poll->set('dateline',	TIMENOW);
            $poll->set('active',	'1');
            $poll->set('public',	$pollpublic);

            $pollid = $poll->save();
            //end create new poll

            // update thread
            $threadman =& datamanager_init('Thread', $vbulletin, ERRTYPE_STANDARD, 'threadpost');
            $threadman->set_existing($threadinfo);
            $threadman->set('pollid', $pollid);
            $threadman->save();

        }
    }

    if ($formreply == "1")
    {
        $threadinfo = verify_id('thread', $formreplythreadid, 0, 1);
        $forumperms = fetch_permissions($threadinfo[forumid]);
        $newpost['username'] =& $vbulletin->userinfo['username'];
        $newpost['message'] =& $formsend;
        $newpost['title'] =& $posttitle;
        $newpost['parseurl'] = "1";
        $newpost['emailupdate'] = '9999';

		if ($vbulletin->userinfo['signature'] != '')
		{
			$newpost['signature'] = '1';
		}
		else
		{
			$newpost['signature'] = '0';
		}

        build_new_post('reply', $foruminfo, $threadinfo, $postinfo, $newpost, $errors);
    }

    if ($formpm == "1")
    {
        $vbulletin->GPC['message'] =& $formsend;
        $vbulletin->GPC['title'] =& $posttitle;
        $vbulletin->GPC['recipients'] =& $formpmname;

        $pm['message'] =& $vbulletin->GPC['message'];
        $pm['title'] =& $vbulletin->GPC['title'];
        $pm['recipients'] =& $vbulletin->GPC['recipients'];


        // create the DM to do error checking and insert the new PM
        $pmdm =& datamanager_init('PM', $vbulletin, ERRTYPE_ARRAY);

        $pmdm->set('fromuserid', $vbulletin->userinfo['userid']);
        $pmdm->set('fromusername', $vbulletin->userinfo['username']);
        $pmdm->setr('title', $pm['title']);
        $pmdm->setr('message', $pm['message']);
        $pmdm->set_recipients($pm['recipients'], $permissions);
        $pmdm->set('dateline', TIMENOW);

        // everything's good!
        $pmdm->save();
    }

	if ($formemail == "1")
    {
        vbmail($formemailaddress, $posttitle, $formsend);
    }

    if ($redirectoption == "1")
    {
        $vbulletin->url = 'showthread.php?' . $vbulletin->session->vars['sessionurl'] . "p=$newpost[postid]";
        eval(print_standard_redirect('redirect_postthanks'));
        exit();
    }
    if ($redirectoption == "2")
    {
        $vbulletin->url = 'showthread.php?' . $vbulletin->session->vars['sessionurl'] . "t=$newpost[threadid]";
        eval(print_standard_redirect('redirect_postthanks'));
        exit();
    }
    if ($redirectoption == "3")
    {
        $vbulletin->url = 'forumdisplay.php?' . $vbulletin->session->vars['sessionurl'] . "f=$foruminfo[forumid]";
        eval(print_standard_redirect('redirect_postthanks'));
        exit();
    }
    if ($redirectoption == "4")
    {
        $vbulletin->url = 'editpost.php?do=editpost&' . $vbulletin->session->vars['sessionurl'] . "p=$newpost[postid]";
        eval(print_standard_redirect('redirect_postthanks'));
        exit();
    }
    eval('print_output("' . fetch_template('STANDARD_ERROR') . '");');
    exit();
}

if ($_REQUEST['action'] == 'form')
{
  			// set message box width to usercp size
			$stylevar['messagewidth'] = $stylevar['messagewidth_usercp'];
			$dontusewysiwyg = 1;
			$editorid = construct_edit_toolbar();

  eval('print_output("' . fetch_template("$maintemplate") . '");');
}
}]]></phpcode>
		</plugin>
	</plugins>
	<phrases>
	</phrases>
	<options>
	</options>
</product>
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 01:18 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.09765 seconds
  • Memory Usage 2,424KB
  • Queries Executed 25 (?)
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
  • (1)bbcode_code
  • (1)bbcode_quote
  • (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
  • (4)pagenav_pagelink
  • (3)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)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