vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.5 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=113)
-   -   Forms Hack (https://vborg.vbsupport.ru/showthread.php?t=93970)

rnmcd 01-02-2006 07:43 PM

Quote:

Originally Posted by Cyricx
Very awesome!!!

Totally agree with Jugo, I think I have 8 or 9 forms running on my site now :)

Thanks!

Very nice. Lots of great uses.

sully02 01-02-2006 08:01 PM

Quote:

Originally Posted by Puntoboy
can anyone help me?

It's a bit confusing. What he means by that is, don't add any quotation marks to your questions.

If you have a question, it would be stored as "This is a question right here" in the product

However, if you add quotation marks to that, you'd get something like "This is a "question" right here" resulting in a parse error because of the added quotation marks.

Puntoboy 01-02-2006 08:07 PM

Quote:

Originally Posted by sully02
It's a bit confusing. What he means by that is, don't add any quotation marks to your questions.

If you have a question, it would be stored as "This is a question right here" in the product

However, if you add quotation marks to that, you'd get something like "This is a "question" right here" resulting in a parse error because of the added quotation marks.

ok thats fine.

however i can't even get the questions to display right. click the link i posted to see what i mean.

i delelted the un needed parts of the default form but the questions i added wont display, only the first one does.

sully02 01-02-2006 08:20 PM

Quote:

Originally Posted by Puntoboy
ok thats fine.

however i can't even get the questions to display right. click the link i posted to see what i mean.

i delelted the un needed parts of the default form but the questions i added wont display, only the first one does.

I can't say for sure, but I think you may have inadvertently deleted the stored questions, explanations, and choices. I didn't care for editing via the hook, so when I got the product, I edited the XML file and uploaded it.

If you do that, go down to where it says "CUSTOMIZE VARIABLES". At that point you should see a list of questions/explanations/choices. Edit those to fit the form contents you need and you should be set!

Puntoboy 01-02-2006 08:22 PM

i tried that, but in the hook edit section....

sully02 01-02-2006 08:24 PM

Quote:

Originally Posted by Puntoboy
i tried that, but in the hook edit section....

In that case, I'm not sure... I assume you didn't edit any of the templates, right?

Puntoboy 01-02-2006 08:31 PM

here is what i have

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 = "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(
'normalanswer1' => TYPE_STR,
'radioanswer1' => TYPE_STR,
'radioanswer2' => TYPE_STR,
'radioanswer3' => TYPE_STR,
'radioanswer3other' => TYPE_STR,
'answer1' => TYPE_STR,
'answer2' => TYPE_STR,
'answer3' => TYPE_STR,
'dropdownanswer1' => TYPE_STR,
'longanswer1' => TYPE_STR
));

// Part 2
$normalanswer1 = $vbulletin->GPC['normalanswer1'];
$radioanswer1 = $vbulletin->GPC['radioanswer1'];
$radioanswer2 = $vbulletin->GPC['radioanswer2'];
$radioanswer3 = $vbulletin->GPC['radioanswer3'];
$radioanswer3other = $vbulletin->GPC['radioanswer3other'];
$answer1 = $vbulletin->GPC['answer1'];
$answer2 = $vbulletin->GPC['answer2'];
$answer3 = $vbulletin->GPC['answer3'];
$dropdownanswer1 = $vbulletin->GPC['dropdownanswer1'];
$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";
// 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 = "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 = "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 = "Thank you for submitting this form!"; //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)
////////////////////////////////////////////////////////////////////////////////////////////////////

$formtitle = "Club Member 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 = "$formtitle";

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

$formpurpose = "If you wish to become a member of The Punto Sports Club, please fill in this form.";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 1 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion1 = "Title (Mr, Mrs, Miss etc.)";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 1 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion1 = "First Name";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 1 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion1 = "Surname";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 1 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion1 = "Address";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 1 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion1 = "Town";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 1 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion1 = "County";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 1 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion1 = "Post Code";

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

////////////////////////////////////////////////////////////////////////////////////////////////
////// 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") . '");');
}
}


sully02 01-02-2006 08:56 PM

Figured it out. You changed the questions to fit what you need, but you didn't edit the template to accomodate that. In addition, you also need to change the variables to reflect the questions you are asking.

You'll need to change all of your $normalquestion1 variables to $normalquestion1, $normalquestion2, etc. because if you don't, you'll just overwrite what's on the variable and only the last item (Post code) will show up. Go through all of your questions and replace them accordingly.

After that, go to your variables and replace the variables with what I've put below:
PHP Code:

// Part 1
$vbulletin->input->clean_array_gpc('p', array(
'normalanswer1' => TYPE_STR,
'normalanswer2' => TYPE_STR,
'normalanswer3' => TYPE_STR,
'normalanswer4' => TYPE_STR,
'normalanswer5' => TYPE_STR,
'normalanswer6' => TYPE_STR,
'normalanswer7' => TYPE_STR,
));

// Part 2
$normalanswer1 $vbulletin->GPC['normalanswer1'];
$normalanswer2 $vbulletin->GPC['normalanswer2'];
$normalanswer3 $vbulletin->GPC['normalanswer3'];
$normalanswer4 $vbulletin->GPC['normalanswer4'];
$normalanswer5 $vbulletin->GPC['normalanswer5'];
$normalanswer6 $vbulletin->GPC['normalanswer6'];
$normalanswer7 $vbulletin->GPC['normalanswer7']; 

After you've done that, edit the templates at the top of the file. Edit the form to display all of your normal answers, then edit the formanswers template to display all of your answers.

Puntoboy 01-02-2006 08:58 PM

ok cheers, i'll give that a go.

got loads of stuff to do!

Puntoboy 01-02-2006 09:04 PM

like this??

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 = "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(
'normalanswer1' => TYPE_STR,
'normalanswer2' => TYPE_STR,
'normalanswer3' => TYPE_STR,
'normalanswer4' => TYPE_STR,
'normalanswer5' => TYPE_STR,
'normalanswer6' => TYPE_STR,
'normalanswer7' => TYPE_STR,
));

// Part 2
$normalanswer1 = $vbulletin->GPC['normalanswer1'];
$normalanswer2 = $vbulletin->GPC['normalanswer2'];
$normalanswer3 = $vbulletin->GPC['normalanswer3'];
$normalanswer4 = $vbulletin->GPC['normalanswer4'];
$normalanswer5 = $vbulletin->GPC['normalanswer5'];
$normalanswer6 = $vbulletin->GPC['normalanswer6'];
$normalanswer7 = $vbulletin->GPC['normalanswer7'];

////////////////////////////////////////////////////////////////////////////////////////////////////
//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 = "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 = "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 = "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 = "Thank you for submitting this form!"; //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)
////////////////////////////////////////////////////////////////////////////////////////////////////

$formtitle = "Club Member 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 = "$formtitle";

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

$formpurpose = "If you wish to become a member of The Punto Sports Club, please fill in this form.";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 1 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion1 = "Title (Mr, Mrs, Miss etc.)";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 2 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion2 = "First Name";

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

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

$normalquestion3 = "Surname";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 4 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion4 = "Address";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 5 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion5 = "Town";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 6 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion6 = "County";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 7 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion7 = "Post Code";

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

////////////////////////////////////////////////////////////////////////////////////////////////
////// 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") . '");');
}
}

also, how do i add the username field?

sully02 01-02-2006 09:08 PM

Quote:

Originally Posted by Puntoboy
like this??

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 = "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(
'normalanswer1' => TYPE_STR,
'normalanswer2' => TYPE_STR,
'normalanswer3' => TYPE_STR,
'normalanswer4' => TYPE_STR,
'normalanswer5' => TYPE_STR,
'normalanswer6' => TYPE_STR,
'normalanswer7' => TYPE_STR,
));

// Part 2
$normalanswer1 = $vbulletin->GPC['normalanswer1'];
$normalanswer2 = $vbulletin->GPC['normalanswer2'];
$normalanswer3 = $vbulletin->GPC['normalanswer3'];
$normalanswer4 = $vbulletin->GPC['normalanswer4'];
$normalanswer5 = $vbulletin->GPC['normalanswer5'];
$normalanswer6 = $vbulletin->GPC['normalanswer6'];
$normalanswer7 = $vbulletin->GPC['normalanswer7'];

////////////////////////////////////////////////////////////////////////////////////////////////////
//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 = "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 = "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 = "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 = "Thank you for submitting this form!"; //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)
////////////////////////////////////////////////////////////////////////////////////////////////////

$formtitle = "Club Member 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 = "$formtitle";

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

$formpurpose = "If you wish to become a member of The Punto Sports Club, please fill in this form.";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 1 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion1 = "Title (Mr, Mrs, Miss etc.)";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 2 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion2 = "First Name";

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

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

$normalquestion3 = "Surname";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 4 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion4 = "Address";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 5 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion5 = "Town";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 6 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion6 = "County";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 7 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$normalquestion7 = "Post Code";

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

////////////////////////////////////////////////////////////////////////////////////////////////
////// 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") . '");');
}
}

also, how do i add the username field?

You got it for the bottom, now you just need to edit the templates at the top of the page.

As far as the username field, it is already on there (both templates). If you're looking to put it in the title of whatever form you are making, replace the part under "Title of form" with the following:

PHP Code:

$bbuserinfo $vbulletin->userinfo;
$formtitle "Whatever your form's name is with your user's name right here $bbuserinfo[username]"


Puntoboy 01-02-2006 09:16 PM

edit the templates? i thought i did that. i copied what you posted.

sully02 01-02-2006 09:23 PM

Quote:

Originally Posted by Puntoboy
edit the templates? i thought i did that. i copied what you posted.

You changed the variables, but at the top of the XML file there are two templates. You'll need to edit those to fit what you need for your forums. If you'd like, I can take a look at your XML file and try to fix those templates up so you can use your form.

Puntoboy 01-02-2006 09:28 PM

ah so its in the xml file and not here in this code?

sully02 01-02-2006 11:00 PM

Quote:

Originally Posted by Puntoboy
ah so its in the xml file and not here in this code?

It's not reachable if you edit via the plugin manager. I just finished some serious modification to the templates for my form, so it is possible to make it work deviating from the current lineup of questions:

http://sports-boards.net/forums/newthread.php?do=lmdapp

To do so requires at least some HTML knowledge, so if you don't feel comfortable with it, I can take a look at what you've got and work with it to make it look sorta decent.

steven s 01-02-2006 11:00 PM

Quote:

Originally Posted by Puntoboy
ah so its in the xml file and not here in this code?

No, the templates are in the Style & Templates section. The original templates are named form and formanswers.

sully02 01-02-2006 11:05 PM

Quote:

Originally Posted by 1996 328ti
No, the templates are in the Style & Templates section. The original templates are named form and formanswers.

Correct. I just never bothered to look there. I edited directly from the XML file and imported with an overwrite. That said, either option would work (XML or Styles & Templates).

Puntoboy 01-02-2006 11:06 PM

thats brilliant.

basically the forum i'm trying to create is a membership application form for the club.

i need these fields:

Title (Mr, Mrs, Miss, Ms etc.)
First Name
Surname
Address
Town
County
Post Code
Country
Date of Birth
Daytime Tel.
Evening Tel.
Mobile Tel.
E-mail
Punto mark
Model
Year
Registration
Colour
Payment Method (which needs to be Paypal, Cash, Cheque, Postal Order, Other... Please Specifiy)

and thats it.

all pretty straight forward except the last one.

sully02 01-02-2006 11:09 PM

Quote:

Originally Posted by Puntoboy
thats brilliant.

basically the forum i'm trying to create is a membership application form for the club.

i need these fields:

Title (Mr, Mrs, Miss, Ms etc.)
First Name
Surname
Address
Town
County
Post Code
Country
Date of Birth
Daytime Tel.
Evening Tel.
Mobile Tel.
E-mail
Punto mark
Model
Year
Registration
Colour
Payment Method (which needs to be Paypal, Cash, Cheque, Postal Order, Other... Please Specifiy)

and thats it.

all pretty straight forward except the last one.

Sounds good. If you'd like, I can scrape something semi-decent together for you.

Puntoboy 01-02-2006 11:12 PM

that would be great.

at least then i can see everything i need to do for next time.

sully02 01-02-2006 11:42 PM

Quote:

Originally Posted by Puntoboy
that would be great.

at least then i can see everything i need to do for next time.

Wasn't able to test this out on my board, but give this a shot and let me know how it works:

onkel.joi 01-03-2006 12:25 AM

I have a small question. Is it possible to remove question from the final thread if the answer was not given? For example: What is your name?: ____________
The answer is not give for this, so I want in the final thread not to have that question, but if in the other thread user would answer that question it should appear in the final thread. Hopefully I did not get everybody confused. Thanks

Code Monkey 01-03-2006 12:53 AM

Why is my post message wraped in the following when I test this unchanged?

<!-- BEGIN TEMPLATE: formanswers -->

<!-- END TEMPLATE: formanswers -->

sully02 01-03-2006 01:08 AM

Quote:

Originally Posted by JumpD
Why is my post message wraped in the following when I test this unchanged?

<!-- BEGIN TEMPLATE: formanswers -->


<!-- END TEMPLATE: formanswers -->

Because you are in debug mode on your forums. I would turn that off.

Code Monkey 01-03-2006 01:24 AM

It's a dev site first of all. ;)

It was doing that because "Add Template Name in HTML Comments" Was set to "yes". Even so, it should not put it in the post.

bluesteel 01-03-2006 07:27 AM

Quote:

Originally Posted by bluesteel
Great hack Abe1. Having some fun with it,but now I'm stuck :(
I don't know if this is possible, but in the answers, can a conditional be set somewhere that show an image depending on what the $radioanswer1 answer is?

ie if radioanswer 1 = Yes, show image 1
else
show image 2

if you know what I mean lol

Can anybody help me please?

Puntoboy 01-03-2006 08:49 AM

Quote:

Originally Posted by sully02
Wasn't able to test this out on my board, but give this a shot and let me know how it works:

thats brilliant thank you.

its not quite right but i think i can sort it. well i hope.

http://www.puntosports.co.uk/forums/...do=Application

D.Ilyin 01-03-2006 10:05 AM

Quote:

Originally Posted by RMS-Chef
You can use vBcode in your answer template.
There is one thing mentioned above, make sure there is a space after the last opening tag and before the first closing tag. Otherwise I think you get an error when you try to save the template.

An example taken from one of my answer templates:

HTML Code:

[center][u][b][size=5] $subjecttitleans [/size][/b][/u][/center]

$longanswer1

[center] _____________________________________________ [/center]

[b] $subjectdate [/b]: $subjectdateans
[b] $subjectlocation [/b]: $subjectlocationans
[b] $filesize [/b]: $filesizeans
[b] $fileruntime [/b]: $fileruntimeans
[b] $fileformat [/b]: $fileformatans

[center] _____________________________________________

[u][b][size=5] $longquestion2 [/size][/b][/u][/center]

$longanswer2

[center] _____________________________________________

[u][b][size=5] $longquestion3 [/size][/b][/u][/center]

$longanswer3


RMS-Chef thank's man! :)
I readed this topic tree times before i find answer on my question.
I think this must be placed in plugin as example, because it's not "visible" option for beginers.
And is there any chance to remove those spaces in replies? I mean how can i use BBCODEs in answer form without spaces?

steven s 01-03-2006 11:10 AM

Quote:

Originally Posted by bluesteel
Can anybody help me please?

I've been using a condition to change the color of a table cell and add required if there is no answer.
$bbuserinfo[field14] is one of my profile fields. This is done in your form.

<if condition="$bbuserinfo[field14]">
<td class="alt1" valign="top">$bbuserinfo[field14]<else />
<td bgcolor="#ffff66" valign="top"><font size="-2">required</font></if>
</td>

onkel.joi 01-03-2006 11:19 AM

Quote:

Originally Posted by onkel.joi
I have a small question. Is it possible to remove question from the final thread if the answer was not given? For example: What is your name?: ____________
The answer is not give for this, so I want in the final thread not to have that question, but if in the other thread user would answer that question it should appear in the final thread. Hopefully I did not get everybody confused. Thanks

Any help for me? :ermm:

Snake 01-03-2006 12:02 PM

Thanks!

/me clicks install

Puntoboy 01-03-2006 02:50 PM

Quote:

Originally Posted by Puntoboy
thats brilliant thank you.

its not quite right but i think i can sort it. well i hope.

http://www.puntosports.co.uk/forums/...do=Application

can't get this to work, its not displaying correctly and i've set it so it emails me the completed for but thats blank when i recieve it.

sully02 01-03-2006 08:31 PM

Quote:

Originally Posted by Puntoboy
can't get this to work, its not displaying correctly and i've set it so it emails me the completed for but thats blank when i recieve it.

I believe I still have your file saved. I'll take another look at it once I leave work tonight.

Puntoboy 01-03-2006 08:35 PM

smashing, thanks for your help.

wolfstream 01-04-2006 04:08 PM

This looks good, like just what I've been looking for, actually. A couple of questions/ problems though.
Firstly:
I'm trying to get the form data to parse a very simple url, like:
http://www.domain.com/newthread.php?...&review=myhost
The idea is to have that last bit be part of the title itself. Code changed for this:
Code:

$formtitle = "Generic Form for $review";
which simply returns
Forumname : Generic form for
Am I missing something here? Do I need to add something to parse the review bit?

Secondly, can this parse sql queries directly? Instead of handing them off to a forum, what I'm looking to do is add them to a db of reviews which will then be approved by an admin, and viewed by the end user, not in a forum as it were.

onkel.joi 01-05-2006 04:46 PM

Quote:

Originally Posted by onkel.joi
I have a small question. Is it possible to remove question from the final thread if the answer was not given? For example: What is your name?: ____________
The answer is not give for this, so I want in the final thread not to have that question, but if in the other thread user would answer that question it should appear in the final thread. Hopefully I did not get everybody confused. Thanks

Thanks guys for lots of halp.

pipin 01-06-2006 06:42 AM

Quote:

Originally Posted by Abe1
Quote:

Originally Posted by pipin
thx
used this with threadid and t
and it works now.

but i found a new glitch :speechless:

a posting done through the form wont be shown in the upper category of a subforum as last posting.

http://home.arcor.de/jensgessner/date.jpg

It looks like your camparing it to a category and not another thread.

hm? i wanted to point out, that the last post is not updated in the upper category. The image is mixed from 2 views: bottom the threadview in the category mainboards and top the allforumview. last post isnt the same there.

keroberos 01-06-2006 09:40 PM

any idea why users on IE post a APP it doesnt work, but firefox it does?

Gripemaster 01-07-2006 05:22 AM

*Clicks Install*

Thank you! EXCELLENT hack! :)

My only question, being somewhat new to this, how exactly do I go about doing a second form? How is it created to differ from the first one?

onkel.joi 01-07-2006 12:15 PM

Does anybody knows how to make second botton next to New Thread that would make make forms? I am already installed Edit New Thread Addon but I want to keep that New Thread botton just in case if someone whats the regular way to may thread.
Any help?


All times are GMT. The time now is 06:48 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.02623 seconds
  • Memory Usage 2,154KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (4)bbcode_code_printable
  • (1)bbcode_html_printable
  • (2)bbcode_php_printable
  • (23)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (40)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete