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
  #1052  
Old 10-30-2006, 10:26 AM
Puntoboy Puntoboy is offline
 
Join Date: Sep 2005
Location: Northampton UK
Posts: 196
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Any help please Abe1?
Reply With Quote
  #1053  
Old 11-01-2006, 10:43 PM
blacklancer's Avatar
blacklancer blacklancer is offline
 
Join Date: Jan 2006
Location: so cal
Posts: 84
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

this has been working fine for me, and all of a sudden i am getting the following error

Code:
Fatal error: Unable to proceed with save while $errors array is not empty in class vB_DataManager_PM in \includes\class_dm.php on line 763
any ideas??
Reply With Quote
  #1054  
Old 11-01-2006, 11:13 PM
criscokid criscokid is offline
 
Join Date: Nov 2003
Location: London, UK
Posts: 380
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

In a form I have created I have a drop down list of venues (just venue name without an address). I would like to be able to have the venue and the address posted to a thread though.

Thinking out loud:
Venue list uses $dropdownchoice1a
Venue and address list uses $dropdownchoice1a-detailed
So if I choose $dropdownchoice1a on the form input the form output needs to display $dropdownchoice1a-detailed

Is it possible to do this? I assume it'll be a bit of code that I need to add the plugin... I just need to know what code I would use.
Reply With Quote
  #1055  
Old 11-02-2006, 04:09 AM
mousi mousi is offline
 
Join Date: Feb 2006
Location: Greece
Posts: 16
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello. I was wondering if there is a way to change the user's secondary usergroup when a form is submited. Thanks in advance!
Reply With Quote
  #1056  
Old 11-06-2006, 08:32 PM
Sarcoth Sarcoth is offline
 
Join Date: Mar 2006
Location: Huntsville
Posts: 521
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by mousi
Hello. I was wondering if there is a way to change the user's secondary usergroup when a form is submited. Thanks in advance!
Mousi: That's something I've been wanting to do for awhile. Just getting around to working on it again.
Reply With Quote
  #1057  
Old 11-06-2006, 08:35 PM
Puntoboy Puntoboy is offline
 
Join Date: Sep 2005
Location: Northampton UK
Posts: 196
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can anyone help me with my form please?
Reply With Quote
  #1058  
Old 11-08-2006, 07:00 PM
Puntoboy Puntoboy is offline
 
Join Date: Sep 2005
Location: Northampton UK
Posts: 196
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Puntoboy
Ok, here is where I am now...

Plug in

Code:
// 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 = "form";

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(
'radioanswer1' => TYPE_STR,
'radioanswer1other' => TYPE_STR,
'radioanswer2' => TYPE_STR,
'radioanswer3' => TYPE_STR,
'radioanswer3other' => TYPE_STR,
'answer1' => TYPE_STR,
'answer2' => TYPE_STR,
'answer3' => TYPE_STR,
'answer4' => TYPE_STR,
'answer5' => TYPE_STR,
'answer6' => TYPE_STR,
'answer7' => TYPE_STR,
'answer8' => TYPE_STR,
'answer9' => TYPE_STR,
'answer10' => TYPE_STR,
'answer11' => TYPE_STR,
'answer12' => TYPE_STR,
'answer13' => TYPE_STR,
'answer14' => TYPE_STR,
'answer15' => TYPE_STR,
'longanswer1' => TYPE_STR,
'action' => TYPE_STR));

// Part 2

$radioanswer1 = $vbulletin->GPC['radioanswer1'];
$radioanswer1other = $vbulletin->GPC['radioanswer1other'];
$radioanswer2 = $vbulletin->GPC['radioanswer2'];
$radioanswer3 = $vbulletin->GPC['radioanswer3'];
$radioanswer3other = $vbulletin->GPC['radioanswer3other'];
$answer1 = $vbulletin->GPC['answer1'];
$answer2 = $vbulletin->GPC['answer2'];
$answer3 = $vbulletin->GPC['answer3'];
$answer4 = $vbulletin->GPC['answer4'];
$answer5 = $vbulletin->GPC['answer5'];
$answer6 = $vbulletin->GPC['answer6'];
$answer7 = $vbulletin->GPC['answer7'];
$answer8 = $vbulletin->GPC['answer8'];
$answer9 = $vbulletin->GPC['answer9'];
$answer10 = $vbulletin->GPC['answer10'];
$answer11 = $vbulletin->GPC['answer11'];
$answer12 = $vbulletin->GPC['answer12'];
$answer13 = $vbulletin->GPC['answer13'];
$answer14 = $vbulletin->GPC['answer14'];
$answer15 = $vbulletin->GPC['answer15'];
$longanswer1 = $vbulletin->GPC['longanswer1'];
$action = $vbulletin->GPC['action'];


////////////////////////////////////////////////////////////////////////////////////////////////////
//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))) 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 = "formanswers";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//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 = "0";

//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 = "2";

//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 = "1";

//EMAIL ADDRESS TO EMAIL TO
$formemailaddress = "club@puntosports.co.uk";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//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 = "$bbuserinfo[username], Thank you for applying to join the Puntosports Club!  Your details have been sent to our Membership Secretary and will be processed shortly.  If you have any queries relating to your application, please send an email to club@puntosports.co.uk"; //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 = "1";

////////////////////////////////////////////////////////////////////////////////////////////////////
//TITLE OF FORM (do not use quotation marks or you will get a parse error, besides the quotes around the whole title)
////////////////////////////////////////////////////////////////////////////////////////////////////

$formtitle = "Application Form";

////////////////////////////////////////////////////////////////////////////////////////////////////
//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 = "$Punto Sports Club Application";

////////////////////////////////////////////////////////////////////////////////////////////////////
//PURPOSE OF FORM (do not use quotation marks or you will get a parse error, besides the quotes around the whole text)
////////////////////////////////////////////////////////////////////////////////////////////////////

$formpurpose = "Please enter your details in the form below.&nbsp Fields marked * are required, and ALL fields must have a value entered for the form to be submitted successfully.<br>If there are any fields which are not applicable to you, or you do not want to provide the information for, please enter 'NA'.";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 1 (do not use quotation marks or you will get a parse error, besides the quotes around the whole text)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion1 = "What is the meaning to life?";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//RADIO BOX CHOICES : QUESTION 1 (do not use quotation marks or you will get a parse error, besides the quotes around the whole text)
////////////////////////////////////////////////////////////////////////////////////////////////////

$radioquestion1 = "Title";

// The following choices must NOT have quotation marks
$radiochoice1a = "Mr";
$radiochoice1b = "Mrs";
$radiochoice1c = "Miss";
$radiochoice1d = "Other (please specify)";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//RADIO BOX CHOICES : QUESTION 2 (do not use quotation marks or you will get a parse error, besides the quotes around the whole text)
////////////////////////////////////////////////////////////////////////////////////////////////////

$radioquestion2 = "Mark";

// The following choices must NOT have quotation marks
$radiochoice2a = "1";
$radiochoice2b = "2";
$radiochoice2c = "2b";
$radiochoice2d = "Not applicable";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//RADIO BOX CHOICES : QUESTION 3 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$radioquestion3 = "Payment Method";

// The following choices must NOT have quotation marks
$radiochoice3a = "PayPal";
$radiochoice3b = "Cheque";
$radiochoice3c = "Postal Order";
$radiochoice3d = "Cash";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//QUESTION 1 (do not use quotation marks or you will get a parse error)
$question1 = "First Name";

//QUESTION 2 (do not use quotation marks or you will get a parse error)
$question2 = "Last Name";

//QUESTION 3 (do not use quotation marks or you will get a parse error)
$question3 = "Town";

//QUESTION 4 (do not use quotation marks or you will get a parse error)
$question4 = "County";

//QUESTION 5 (do not use quotation marks or you will get a parse error)
$question5 = "Postcode";

//QUESTION 6 (do not use quotation marks or you will get a parse error)
$question6 = "Country";

//QUESTION 7 (do not use quotation marks or you will get a parse error)
$question7 = "Date of Birth";
$explain7 = "(dd/mm/yyyy)";

//QUESTION 8 (do not use quotation marks or you will get a parse error)
$question8 = "Daytime Tel.";

//QUESTION 9 (do not use quotation marks or you will get a parse error)
$question9 = "Evening Tel.";

//QUESTION 10 (do not use quotation marks or you will get a parse error)
$question10 = "Mobile Tel.";

//QUESTION 11 (do not use quotation marks or you will get a parse error)
$question11 = "E-mail";

//QUESTION 12 (do not use quotation marks or you will get a parse error)
$question12 = "Registration";

//QUESTION 13 (do not use quotation marks or you will get a parse error)
$question13 = "Year";

//QUESTION 14 (do not use quotation marks or you will get a parse error)
$question14 = "Model";

//QUESTION 15 (do not use quotation marks or you will get a parse error)
$question15 = "Colour";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//LONG TEXT AREA INPUT: QUESTION 1 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$longquestion1 = "Address";
////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////
//VB TEXT AREA INPUT: You can only have ONE vb text question. (do not use quotation marks or you will get a parse error, besides the quotes around the whole text)
////////////////////////////////////////////////////////////////////////////////////////////////////

$vbtextquestion = "Please write down a paragraph about how you like this forum.";
$vbtextexplain = "For example, what makes this forum different from all other forums?";

////////////////////////////////////////////////////////////////////////////////////////////////
////// 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 ($radioanswer1 == '' OR $radioanswer2 == '' OR $radioanswer3 == '' OR $answer1 == '' OR $answer2 == '' OR $answer3 == '' OR $answer4 == '' OR $answer5 == '' OR $answer6 == '' OR $answer7 == '' OR $answer8 == '' OR $answer9 == '' OR $answer10 == '' OR $answer11 == '' OR $answer12 == '' OR $answer13 == '' OR $answer14 == '' OR $answer15 == '' 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 ($_POST['submit'] == 'Submit')
	{
		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';

			if ($vbulletin->userinfo['autosubscribe'] != -1)
			{
				$newpost['emailupdate'] = $vbulletin->userinfo['autosubscribe'];
			}
			else
			{
				$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";
        
			if ($vbulletin->userinfo['autosubscribe'] != -1)
			{
				$newpost['emailupdate'] = $vbulletin->userinfo['autosubscribe'];
			}
			else
			{
				$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();
	}
	else
	{
  		require_once('./includes/class_bbcode.php');
        $parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
        $preview = $parser->do_parse($formsend);

		$_REQUEST['action'] = 'form';
	}
}

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

	eval('print_output("' . fetch_template("$maintemplate") . '");');
}
}
Template

Code:
$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
$headinclude
<title>$vboptions[bbtitle] - $formtitle</title>
</head>
<body>
$header
$navbar

<!-- main -->
<if condition="$preview">
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>
	<td class="tcat">
		Preview
	</td>
</tr>
<tr>
	<td class="alt1">
$preview
</td>
</tr>
</table>
</if>

<br />
<form name="vbform" action="newthread.php" method="post"<if condition="!is_browser('webtv')"> onsubmit="return vB_Editor['$editorid'].prepare_submit(0, $vboptions[postminchars])"</if>>
<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="5">
		$vboptions[bbtitle] - $formtitle
	</td>
</tr>
<tr>
	<td class="panelsurround" align="center" colspan="5">

	<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>
<td>&nbsp;</td>
</tr>
<tr>
<td class="alt2" colspan="5">
<b>$radioquestion2</b>
</td></tr><tr>
<td><input type="radio" name="radioanswer2" value="$radiochoice2a" <if condition="$radiochoice2a == $radioanswer2">checked="checked"</if> /> $radiochoice2a </td>
<td><input type="radio" name="radioanswer2" value="$radiochoice2b" <if condition="$radiochoice2b == $radioanswer2">checked="checked"</if> /> $radiochoice2b </td>
<td><input type="radio" name="radioanswer2" value="$radiochoice2c" <if condition="$radiochoice2c == $radioanswer2">checked="checked"</if> /> $radiochoice2c </td>
<td><input type="radio" name="radioanswer2" value="$radiochoice2d" <if condition="$radiochoice2d == $radioanswer2">checked="checked"</if> /> $radiochoice2d </td>
</tr>
<tr>
<td class="alt2" colspan="5">
<b>$radioquestion3</b>
</td></tr><tr>
<td><input type="radio" name="radioanswer3" value="$radiochoice3a" <if condition="$radiochoice3a == $radioanswer3">checked="checked"</if> /> $radiochoice3a </td>
<td><input type="radio" name="radioanswer3" value="$radiochoice3b" <if condition="$radiochoice3b == $radioanswer3">checked="checked"</if> /> $radiochoice3b </td>
<td><input type="radio" name="radioanswer3" value="$radiochoice3c" <if condition="$radiochoice3c == $radioanswer3">checked="checked"</if> /> $radiochoice3c </td>
<td><input type="radio" name="radioanswer3" value="$radiochoice3d" <if condition="$radiochoice3d == $radioanswer3">checked="checked"</if> /> $radiochoice3d </td>
</tr>
<tr>
<td class="alt2" valign="middle">
<b>Username</b>:<br />
Your Username.</td>
<td class="alt1" valign="middle" colspan="5">
<b>$bbuserinfo[username]</b></td>
</tr>
<tr>
<td class="alt2" colspan="5">
<b>$radioquestion1</b>
</td>
</tr>
<tr>
<td><input type="radio" name="radioanswer1" value="$radiochoice1a" <if condition="$radiochoice1a == $radioanswer1">checked="checked"</if> /> $radiochoice1a </td>
<td><input type="radio" name="radioanswer1" value="$radiochoice1b" <if condition="$radiochoice1b == $radioanswer1">checked="checked"</if> /> $radiochoice1b </td>
<td><input type="radio" name="radioanswer1" value="$radiochoice1c" <if condition="$radiochoice1c == $radioanswer1">checked="checked"</if> /> $radiochoice1c </td>
<tr>
<td class="alt2" valign="middle">
<b>$question1</b>:<br />
$explain1</td>
<td class="alt2" valign="middle" colspan="5">
<input type="text" size="30" value="$answer1" name="answer1" /></td>
</tr>
<tr>
<td class="alt1" valign="middle">
<b>$question2</b>:<br />
$explain2</td>
<td class="alt1" valign="middle" colspan="5">
<input type="text" size="30" value="$answer2" name="answer2" /></td>
</tr>
<tr>
<td class="alt2" valign="middle">
<b>$question3</b>:<br />
$explain3</td>
<td class="alt2" valign="middle" colspan="5">
<input type="text" size="30" value="$answer3" name="answer3" /></td>
</tr>
<tr>
<td class="alt1" valign="middle">
<b>$question4</b>:<br />
$explain3</td>
<td class="alt1" valign="middle" colspan="5">
<input type="text" size="30" value="$answer3" name="answer4" /></td>
</tr>
<tr>
<td class="alt2" valign="middle">
<b>$question5</b>:<br />
$explain3</td>
<td class="alt2" valign="middle" colspan="5">
<input type="text" size="30" value="$answer3" name="answer5" /></td>
</tr>
<tr>
<td class="alt1" valign="middle">
<b>$question6</b>:<br />
$explain3</td>
<td class="alt1" valign="middle" colspan="5">
<input type="text" size="30" value="$answer3" name="answer6" /></td>
</tr>
<tr>
<td class="alt2" valign="middle">
<b>$question7</b>:<br />
$explain3</td>
<td class="alt2" valign="middle" colspan="5">
<input type="text" size="30" value="$answer3" name="answer7" /></td>
</tr>
<tr>
<td class="alt1" valign="middle">
<b>$question8</b>:<br />
$explain3</td>
<td class="alt1" valign="middle" colspan="5">
<input type="text" size="30" value="$answer3" name="answer8" /></td>
</tr>
<tr>
<td class="alt2" valign="middle">
<b>$question9</b>:<br />
$explain3</td>
<td class="alt2" valign="middle" colspan="5">
<input type="text" size="30" value="$answer3" name="answer9" /></td>
</tr>
<tr>
<td class="alt1" valign="middle">
<b>$question10</b>:<br />
$explain3</td>
<td class="alt1" valign="middle" colspan="5">
<input type="text" size="30" value="$answer3" name="answer10" /></td>
</tr>
<tr>
<td class="alt2" valign="middle">
<b>$question11</b>:<br />
$explain3</td>
<td class="alt2" valign="middle" colspan="5">
<input type="text" size="30" value="$answer3" name="answer11" /></td>
</tr>
<tr>
<td class="alt1" valign="middle">
<b>$question12</b>:<br />
$explain3</td>
<td class="alt1" valign="middle" colspan="5">
<input type="text" size="30" value="$answer3" name="answer12" /></td>
</tr>
<tr>
<td class="alt2" valign="middle">
<b>$question13</b>:<br />
$explain3</td>
<td class="alt2" valign="middle" colspan="5">
<input type="text" size="30" value="$answer3" name="answer13" /></td>
</tr>
<tr>
<td class="alt1" valign="middle">
<b>$question14</b>:<br />
$explain3</td>
<td class="alt1" valign="middle" colspan="5">
<input type="text" size="30" value="$answer3" name="answer14" /></td>
</tr>
<tr>
<td class="alt2" valign="middle">
<b>$question15</b>:<br />
$explain3</td>
<td class="alt2" valign="middle" colspan="5">
<input type="text" size="30" value="$answer3" name="answer15" /></td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td valign="top" colspan="5">
<p align="center">
<input type="submit" value="Submit" name="submit" style="font-family: Verdana; font-size: 10pt" class="button" />
<input type="submit" value="Preview" 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>
As I said, the form apearrs correctly, except is doesn't have 2 "other please specifiy" boxes nad it wont semd, keeps asking me to answer all questions eventhough I do.
I'm desperate to get this working guys, can someone please help me!?!
Reply With Quote
  #1059  
Old 11-13-2006, 04:28 PM
shadowdancer36 shadowdancer36 is offline
 
Join Date: Nov 2005
Posts: 116
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I just updated to the newest ver of your Hack Form and for some odd reason I get an error everytime I try to edit the newthread_start hook. This is the error I get in my email:

Database error in vBulletin :

mysql_connect(): Too many connections
/stuff/sites/66web/forum/includes/class_core.php on line 271

MySQL Error :
Error Number :
Date : Monday, November 13th 2006 @ 01:14:12 PM
Script :
http://www.picturemeclubbing.com/for...&day=2000-3-22
Referrer :
IP Address : 66.249.66.242
Username :
Classname : vb_database

to make it so bad, I'm not sure where that url is coming from. I don't even have this hack installed on that address! Help please
Reply With Quote
  #1060  
Old 11-13-2006, 06:41 PM
Lucas Lucas is offline
 
Join Date: Dec 2001
Posts: 38
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Anyone knows how to do so that an application posted by normal members on a hidden forum doesn't show as "Unmoderated". Tried giving them only access to post there but it still shows posts as unmoderated. This is when you submit the application.

Regards
Reply With Quote
  #1061  
Old 11-14-2006, 04:19 PM
shadowdancer36 shadowdancer36 is offline
 
Join Date: Nov 2005
Posts: 116
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Okay still having issues editing the hook. Will there be a newer update for VB 3.36?
The only way I can update the newthread_start hook is to disable the product. Then go to plugins to edit, save. Then enable the 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:35 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.08133 seconds
  • Memory Usage 2,394KB
  • 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
  • (3)bbcode_code
  • (2)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