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
  #887  
Old 05-28-2006, 12:53 AM
Abe1's Avatar
Abe1 Abe1 is offline
 
Join Date: Feb 2004
Location: I LOVE New York!
Posts: 2,886
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by grecostimpy
For some reason my users are receiving subscription emails from the form results thread even though it is in a private forum. How can I prevent this?

I noticed this in the plugin:

Code:
if ($vbulletin->userinfo['autosubscribe'] != -1)
            {
                $newpost['emailupdate'] = $vbulletin->userinfo['autosubscribe'];
            }
            else
            {
                $newpost['emailupdate'] = 9999;
            }
Can I get rid of this? Any thoughts? They really should not be subscribed/notified of these posts.

Thanks
Delete this whole thing and just leave this:

$newpost['emailupdate'] = 9999;
Reply With Quote
  #888  
Old 05-29-2006, 01:15 PM
serhat_kk serhat_kk is offline
 
Join Date: Jun 2005
Posts: 101
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'd like to create a thread. But when I submit the form, I obtain the preview screen and the thread isn't created. What could be the problem ?
Reply With Quote
  #889  
Old 05-29-2006, 02:52 PM
Abe1's Avatar
Abe1 Abe1 is offline
 
Join Date: Feb 2004
Location: I LOVE New York!
Posts: 2,886
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by serhat_kk
I'd like to create a thread. But when I submit the form, I obtain the preview screen and the thread isn't created. What could be the problem ?
You may have edited the word "Submit".
Reply With Quote
  #890  
Old 05-29-2006, 03:52 PM
rylord rylord is offline
 
Join Date: Nov 2004
Location: Richmond, KY
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am also looking for the option to add an attachment while submitting the form. Hopefully, the creator of this mod will provide us with the answer to this.

I believe, but haven't tested it yet, that instead of having the final input option on the form as:

1. $vbtextquestion = "Please write down a paragraph about how you like this forum.";

and

2. $vbtextexplain = "For example, what makes this forum different from all other forums?";

We might be able to switch that to what the regular forums are using when a forum user submits a regular forum message. I say this because when you click on submit within a forum area, it comes up with the same looking text editor box, but has the "paper clip" attachment option so the user then has the ability to upload an attachment.

If I knew what this vbbox was called, I could try it out. I don't know enough about vbulletin yet to test it out.

My question then is...instead of using:

$vbtextquestion =
$vbtextexplain =

What would it be for the regular message posting area to come up?

Here is the form I modified so far for my website (see the attached jpeg picture):

Quote:
Originally Posted by Cebby
I have the same question - searched through all 58 pages and didn't see a reply.

This will be a great addition to my forum (will have forms for recipe input and restaurant reviews). For the recipe inout I'd like to have the option of adding attachments (pics) to the post.

Any ideas for those trying to figure this out - will open doors for more types of forms I'd think.
Reply With Quote
  #891  
Old 05-29-2006, 05:18 PM
upnorth upnorth is offline
 
Join Date: Jul 2003
Posts: 81
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I noticed that the subject of the created thread is the name of the form. Is there any easy way to allow the user to enter the subject?
Reply With Quote
  #892  
Old 05-29-2006, 05:37 PM
Abe1's Avatar
Abe1 Abe1 is offline
 
Join Date: Feb 2004
Location: I LOVE New York!
Posts: 2,886
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by upnorth
I noticed that the subject of the created thread is the name of the form. Is there any easy way to allow the user to enter the subject?
Look in the plug-in. There is an option to set what you want the title to be. You can have a varible also.
Reply With Quote
  #893  
Old 05-29-2006, 05:40 PM
Abe1's Avatar
Abe1 Abe1 is offline
 
Join Date: Feb 2004
Location: I LOVE New York!
Posts: 2,886
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by rylord
I am also looking for the option to add an attachment while submitting the form. Hopefully, the creator of this mod will provide us with the answer to this.

I believe, but haven't tested it yet, that instead of having the final input option on the form as:

1. $vbtextquestion = "Please write down a paragraph about how you like this forum.";

and

2. $vbtextexplain = "For example, what makes this forum different from all other forums?";

We might be able to switch that to what the regular forums are using when a forum user submits a regular forum message. I say this because when you click on submit within a forum area, it comes up with the same looking text editor box, but has the "paper clip" attachment option so the user then has the ability to upload an attachment.

If I knew what this vbbox was called, I could try it out. I don't know enough about vbulletin yet to test it out.

My question then is...instead of using:

$vbtextquestion =
$vbtextexplain =

What would it be for the regular message posting area to come up?

Here is the form I modified so far for my website (see the attached jpeg picture):
The reason the attachment button is not there is because there is no forumID that the form will be posted. The attchement system is pritty hard. The form does not have any set forumid. What if you where sending a PM using it? it can't attach files. Right now the only option I have available is that they get transfered to the edit page where they can upload attachments.
Reply With Quote
  #894  
Old 05-30-2006, 07:56 AM
rylord rylord is offline
 
Join Date: Nov 2004
Location: Richmond, KY
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Abe1
The reason the attachment button is not there is because there is no forumID that the form will be posted. The attchement system is pritty hard. The form does not have any set forumid. What if you where sending a PM using it? it can't attach files. Right now the only option I have available is that they get transfered to the edit page where they can upload attachments.
I have the form doing two things when they hit the submit button, it sends the info via email to a pre-defined email address, and additionally, at the same time it creates a new thread in a pre-assigned forum that only the admin can see and review the data. Since it has the ability to create the new thread in the hidden forum, why can't we predefine the form to use the forumID of this hidden forum to bring up the edit box - thus allowing the ability for it to attach a file?

Also, by the way: http://www.vbulletin.com/forum/showt...55#post1134155

Zachery Woods of the vbulletin support team stated in a post over at vbulletin.com recently, "Attachments are currently exclusive to posts now, but they are working on making it non exclusive to anything", but there is no set timeframe of when this will be available.
Reply With Quote
  #895  
Old 05-30-2006, 12:05 PM
Abe1's Avatar
Abe1 Abe1 is offline
 
Join Date: Feb 2004
Location: I LOVE New York!
Posts: 2,886
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by rylord
I have the form doing two things when they hit the submit button, it sends the info via email to a pre-defined email address, and additionally, at the same time it creates a new thread in a pre-assigned forum that only the admin can see and review the data. Since it has the ability to create the new thread in the hidden forum, why can't we predefine the form to use the forumID of this hidden forum to bring up the edit box - thus allowing the ability for it to attach a file?

Also, by the way: http://www.vbulletin.com/forum/showt...55#post1134155

Zachery Woods of the vbulletin support team stated in a post over at vbulletin.com recently, "Attachments are currently exclusive to posts now, but they are working on making it non exclusive to anything", but there is no set timeframe of when this will be available.
I will eventually look into attachments for the form. Not right now though. I'm about to release an update that shows how to add check boxes.
Reply With Quote
  #896  
Old 05-30-2006, 12:59 PM
DaPro DaPro is offline
 
Join Date: Jan 2003
Location: CT, USA
Posts: 169
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This tutorial is for anyone who wants to use this nice hack simply for an affiliation form. So enjoy.

Note: Is there anyway these forms are protected against bot flooding? I don't see an option for human input.

BE SURE TO UPLOAD THE PLUGIN BEFORE DOING ALL OF THIS!

Step 1. Create a new plugin: Plugin Manager > Add New Plugin
- Hook Location: newthread_start
- Title: Affiliation Form
- Plugin Code Below (Edit If you wish)
PHP 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 "affiliation";

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(
'normalanswer1' => TYPE_STR,
'normalanswer2' => TYPE_STR,
'normalanswer3' => TYPE_STR,
'longanswer1' => TYPE_STR
));

// Part 2
$normalanswer1 $vbulletin->GPC['normalanswer1'];
$normalanswer2 $vbulletin->GPC['normalanswer2'];
$normalanswer3 $vbulletin->GPC['normalanswer3'];
$longanswer1 $vbulletin->GPC['longanswer1'];

////////////////////////////////////////////////////////////////////////////////////////////////////
//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_affiliation";
// Name of the answer template
$answertemplate "formanswers_affiliation";

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

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

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

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

//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 "youremail@domain.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 applying for affiliation with OtakuTalk.com.  We will get back to you in 2-3 days time."//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, besides the quotes around the whole title)
////////////////////////////////////////////////////////////////////////////////////////////////////

$formtitle "Affiliation Request";

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

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

$formpurpose "Thank you for considering affiliation with OtakuTalk.com.  Please fill out the form below with all fields answered and then submit it.  Thank you!";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//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 "Your Name";

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

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

$normalquestion2 "Website Title";

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

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

$normalquestion3 "Website URL";

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

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

$longquestion1 "Why would you like to affiliate?";
$longexplain1 "A simple explaination is all that is needed.";

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

////////////////////////////////////////////////////////////////////////////////////////////////
////// 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 (
$_POST['submit'] == 'Submit')
    {
        if (
$formforum == "1")
        {
            
$foruminfo verify_id('forum'$formforumid01);
            
$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], 01);
                
$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'$vbulletinERRTYPE_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'$vbulletinERRTYPE_STANDARD'threadpost');
                
$threadman->set_existing($threadinfo);
                
$threadman->set('pollid'$pollid);
                
$threadman->save();
            }
        }

        if (
$formreply == "1")
        {
            
$threadinfo verify_id('thread'$formreplythreadid01);
            
$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'$vbulletinERRTYPE_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($vbulletinfetch_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") . '");');
}

- Be sure to edit the following to your information!
PHP Code:
 //EMAIL ADDRESS TO EMAIL TO
$formemailaddress "youremail@domain.com"
Step 1. Create form_affiliation Template: Style Manager > Add New Template
- Title: form_affiliation
- Template code below:
HTML 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="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" colspan="3">
                <b>$normalquestion1</b>
        </td>
    </tr>
<tr>
<td class="alt2" colspan="3">
<input class="bginput" type="text" size="30" value="$normalanswer1" name="normalanswer1" />
</td>
</tr>
<tr>
    <td class="alt1" colspan="3">
                <b>$normalquestion2</b>
        </td>
    </tr>
<tr>
<td class="alt2" colspan="3">
<input class="bginput" type="text" size="30" value="$normalanswer2" name="normalanswer2" />
</td>
</tr>
<tr>
    <td class="alt1" colspan="3">
                <b>$normalquestion3</b>
        </td>
    </tr>
<tr>
<td class="alt2" colspan="3">
<input class="bginput" type="text" size="30" value="$normalanswer3" name="normalanswer3" />
</td>
</tr>
<tr>
    <td class="alt1" colspan="3">
                <b>$longquestion1</b> - $longexplain1
        </td>
    </tr>
<tr>
<td class="alt2" colspan="3" align="center">
<textarea class="bginput" rows="10" cols="90" name="longanswer1">$longanswer1</textarea>
</td>
</tr>
<tr>
<td valign="top" colspan="3">
<p align="center">
<input class="bginput" type="submit" value="Submit" name="submit" style="font-family: Verdana; font-size: 10pt" class="button" />
<input class="bginput" type="submit" value="Preview" name="submit" style="font-family: Verdana; font-size: 10pt" class="button" />
<input class="bginput" type="reset" value="Reset" name="reset" style="font-family: Verdana; font-size: 10pt" class="button" />
</p></td></tr>
</table>

</form>

$footer
</body>
</html>
Step 2. Create formanswers_affiliation Template: Style Manager > Add New Template
- Title: forumanswers_affiliation
- Template Code Below:
Code:
$formtitle

$normalquestion1
$normalanswer1

$normalquestion2
$normalanswer2

$normalquestion3
$normalanswer3

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

$longanswer1
------------------------------------------------------
Step 3. Accessing your new forum for testing!
- Type the following into your browser to access it: http://www.yourforums.com/newthread.php?do=affiliation
- Fill out all the information and click submit.
- Check your e-mail to see if everything is working.
Reply With Quote
  #897  
Old 05-30-2006, 07:02 PM
gamelandz gamelandz is offline
 
Join Date: May 2006
Posts: 98
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello,
I am unable to add to the drop down box list. I am using the base form...just trying to add to the drop down box list.

how do i do this?

or

How do i create a new form?

thanks,
gamelandz
Reply With Quote
  #898  
Old 05-30-2006, 07:47 PM
Abe1's Avatar
Abe1 Abe1 is offline
 
Join Date: Feb 2004
Location: I LOVE New York!
Posts: 2,886
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by gamelandz
Hello,
I am unable to add to the drop down box list. I am using the base form...just trying to add to the drop down box list.

how do i do this?

or

How do i create a new form?

thanks,
gamelandz
I can't realy explain how to do it. You have to look how I have it set up and you have to play around with it. There are a few places the hack would need editing to add or changes somethings about it.

If you know nothing about PHP and want a nice form for your site, you can PM me and I can create one for you telling me what you want. I'm just about finished with a something that generates forms that has better options then the regular hack.
Reply With Quote
  #899  
Old 05-31-2006, 02:07 PM
upnorth upnorth is offline
 
Join Date: Jul 2003
Posts: 81
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for the tutorial DaPro. For some reason I'm getting a "Invalid forum specified" message? Any ideas?
Reply With Quote
  #900  
Old 05-31-2006, 03:46 PM
upnorth upnorth is offline
 
Join Date: Jul 2003
Posts: 81
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

have done a little more trouble shooting and it seems that as soon as I add another plugin and change the $forumname to something different from the original say something like $forumname="different_form"; then none of the forms will load and I get the error "Invalid forum specified". I've set the plugin up as

Product Form Hack
Hook Location newthread_start
Title different_form
Plugin PHP Code same as the original install files accept I changed
$formname="different_form";
$maintemplate="form_different_form";
$answertemplate="formanswers_different_form";

Abe1 any idea what I'm doing incorrect? Everything works if I set it up as you outlined but as soon as I try to add another form with a different main and answer template the wheels seem to fall off the cart
Reply With Quote
  #901  
Old 05-31-2006, 04:05 PM
Abe1's Avatar
Abe1 Abe1 is offline
 
Join Date: Feb 2004
Location: I LOVE New York!
Posts: 2,886
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by upnorth
have done a little more trouble shooting and it seems that as soon as I add another plugin and change the $forumname to something different from the original say something like $forumname="different_form"; then none of the forms will load and I get the error "Invalid forum specified". I've set the plugin up as

Product Form Hack
Hook Location newthread_start
Title different_form
Plugin PHP Code same as the original install files accept I changed
$formname="different_form";
$maintemplate="form_different_form";
$answertemplate="formanswers_different_form";

Abe1 any idea what I'm doing incorrect? Everything works if I set it up as you outlined but as soon as I try to add another form with a different main and answer template the wheels seem to fall off the cart
you go to do=different_form?
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 12:03 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.06505 seconds
  • Memory Usage 2,570KB
  • Queries Executed 30 (?)
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
  • (2)bbcode_code
  • (1)bbcode_html
  • (2)bbcode_php
  • (9)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
  • (16)post_thanks_box
  • (16)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (16)post_thanks_postbit_info
  • (15)postbit
  • (16)postbit_onlinestatus
  • (16)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