Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.5 > vBulletin 3.5 Add-ons

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
  #622  
Old 02-10-2006, 12:37 PM
zennifer zennifer is offline
 
Join Date: Jan 2004
Posts: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is a great hack and is working well with one acception.

If anyone replys to the thread that is created by it the replys are not listed. In other words all threads created by this hack are listed as having 0 replys even though they may have a dozen or more. Has anyone experianced this?
Reply With Quote
  #623  
Old 02-11-2006, 03:02 AM
ArchangelX ArchangelX is offline
 
Join Date: Feb 2006
Location: Oahu, HI
Posts: 298
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm confused...what is the hooks? How do I edit it? I'm sorry...this is my first time editing stuff like this...can someone give me a hint? Thanks!
Reply With Quote
  #624  
Old 02-11-2006, 04:01 AM
ArchangelX ArchangelX is offline
 
Join Date: Feb 2006
Location: Oahu, HI
Posts: 298
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Forget it...I figured it out...thanks!
Reply With Quote
  #625  
Old 02-12-2006, 03:32 AM
PET's Avatar
PET PET is offline
 
Join Date: Jan 2002
Location: Timisoara/Romania
Posts: 305
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I don't really understand this:

Quote:
2 - Edit the main hook - the instructions are all inside the hook itself, in the top half. Follow the instructions carefully!
Where are the options ? How do i create a new form ??
Reply With Quote
  #626  
Old 02-18-2006, 04:36 PM
Jaguartje Jaguartje is offline
 
Join Date: Jan 2006
Location: Netherlands
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm using this hack a while now, but now I found out that Unregistered or unloggedin visitors can also fill in the form and post it. I don't want this. The form has to get a prevention of submitting the form if someone is known as "Unregistered" on the website. I've tried the code below, but this doesn't seem to function:

PHP Code:
    if ($bbuserinfo == 'Unregistered')
    {
        
$errormessage "You have to register or login first before submitting this form. You can register <a href=\"http://www.coy-guild.net/register.php\">here</a>" or log in <a href=\"http://www.coy-guild.net/login.php\">here</a>.;
            eval('print_output("' . fetch_template('
STANDARD_ERROR') . '");');
            exit();
    } 
Any suggestions?
Reply With Quote
  #627  
Old 02-18-2006, 10:13 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 Jaguartje
I'm using this hack a while now, but now I found out that Unregistered or unloggedin visitors can also fill in the form and post it. I don't want this. The form has to get a prevention of submitting the form if someone is known as "Unregistered" on the website. I've tried the code below, but this doesn't seem to function:

PHP Code:
    if ($bbuserinfo == 'Unregistered')
    {
        
$errormessage "You have to register or login first before submitting this form. You can register <a href=\"http://www.coy-guild.net/register.php\">here</a>" or log in <a href=\"http://www.coy-guild.net/login.php\">here</a>.;
            eval('print_output("' . fetch_template('
STANDARD_ERROR') . '");');
            exit();
    } 
Any suggestions?
In the hook, there is the following setting: USERGROUPS ALLOWED

Set it to 0 and 1
Reply With Quote
  #628  
Old 02-19-2006, 09:35 AM
Jaguartje Jaguartje is offline
 
Join Date: Jan 2006
Location: Netherlands
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks, I missed that option!
Reply With Quote
  #629  
Old 02-19-2006, 01:35 PM
descds's Avatar
descds descds is offline
 
Join Date: Dec 2004
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK a little confused here.

My form works perfectly well have is by default posting happily to

$formforumid = "27";

However from what i understand if i put &f= into the url i can get it to post to other forums but can i heck as like get that to work

So say i use

newthread.php?do=Usenet_Review=f=12

it should create a new thread into forum ID number 12 correct ?

However it insists on posting to 27 each time.

Obviously it would be nice to use one form and hack and then put in the url which forums to post it to.

Any ideas what i'm doing wrong ? Or is there more i should be looking at ?
Reply With Quote
  #630  
Old 02-19-2006, 03:00 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 descds
OK a little confused here.

My form works perfectly well have is by default posting happily to

$formforumid = "27";

However from what i understand if i put &f= into the url i can get it to post to other forums but can i heck as like get that to work

So say i use

newthread.php?do=Usenet_Review=f=12

it should create a new thread into forum ID number 12 correct ?

However it insists on posting to 27 each time.

Obviously it would be nice to use one form and hack and then put in the url which forums to post it to.

Any ideas what i'm doing wrong ? Or is there more i should be looking at ?
You have to add it to the Template also. You have to add a hidden field named forumid.
Reply With Quote
  #631  
Old 02-19-2006, 03:49 PM
descds's Avatar
descds descds is offline
 
Join Date: Dec 2004
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Abe1
You have to add it to the Template also. You have to add a hidden field named forumid.
OK i'm nearly there i'm sure but its not quite right yet.

Heres my plugins and templates. Can you tell me what i'm doing wrong ?

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

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,
'radioanswer3other' => TYPE_STR,
'answer1' => TYPE_STR,
'answer2' => TYPE_STR,
'answer3' => TYPE_STR,
'longanswer1' => TYPE_STR,
'longanswer2' => TYPE_STR
));

// Part 2
$normalanswer1 $vbulletin->GPC['normalanswer1'];
$radioanswer1 $vbulletin->GPC['radioanswer1'];
$radioanswer3other $vbulletin->GPC['radioanswer3other'];
$answer1 $vbulletin->GPC['answer1'];
$answer2 $vbulletin->GPC['answer2'];
$answer3 $vbulletin->GPC['answer3'];
$longanswer1 $vbulletin->GPC['longanswer1'];
$longanswer2 $vbulletin->GPC['longanswer2'];

////////////////////////////////////////////////////////////////////////////////////////////////////
//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(6,7,5,12,17,18,33))) 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 "Usenet";
// Name of the answer template
$answertemplate "Usenet_Review";

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

////////////////////////////////////////////////////////////////////////////////////////////////////
//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 $forumid
//if (strlen($formforumid) == 0) {
 //  $errormessage = $vbulletin->userinfo['username'] . ", Fatal Error - please contact admin and tell them the formforumid variable was blank when trying to create a new classified advert.  Thanks!";
  // eval('print_output("' . fetch_template('STANDARD_ERROR') . '");');
  // exit();
//}  

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

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

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

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

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

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

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

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

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

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

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

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

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

$redirectoption "0";

$errormessage "Thank you for submitting 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 "Usenet Review Submit";

////////////////////////////////////////////////////////////////////////////////////////////////////
//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.
////////////////////////////////////////////////////////////////////////////////////////////////////
if ($radioanswer1 !="N/A") {
$posttitle "REVIEW: $normalanswer1 [$radioanswer1]";
} else {
$posttitle "REVIEW: $normalanswer1";
}
////////////////////////////////////////////////////////////////////////////////////////////////////
//PURPOSE OF FORM (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////

$formpurpose "Try and be as concise as you can when submitting reviews. We appreciate that it takes a little longer but the more boxes you fill in, the better it is for everyone looking at it.";

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

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

$normalquestion1 "Please Provide a Title For the New review. You don't need to submit REVIEW: or REGION here, it will be automatically added afterwards.";

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

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

$radioquestion1 "Is this post N/A (Not Known) PAL or NTSC";

// The following choices must NOT have quotation marks
$radiochoice1a "N/A";
$radiochoice1b "PAL";
$radiochoice1c "NTSC";

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

//QUESTION 1 (do not use quotation marks or you will get a parse error)
$question1 "Usenet Group";
$explain1 "Please specify which group this post is goin up in ..";

//QUESTION 2 (do not use quotation marks or you will get a parse error)
$question2 "Post Filename?";
$explain2 "Please specify the searchable filename for this post ..";

//QUESTION 3 (do not use quotation marks or you will get a parse error)
$question3 "Link to a cover image";
$explain3 "If you have a link to a cover image (I.e. AMAZON) please post it here.";


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

$longquestion1 "Please submit a text based NFO:";
$longexplain1 "You can cut and paste into this box and it eill be encapsuled into code tags to keep the format";

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

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

$longquestion2 "Please Provide A movie synopsis";
$longexplain2 "You can cut and paste this from other sites as long as its a movie synopsis and not someones review.";

////////////////////////////////////////////////////////////////////////////////////////////////
////// 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 $answer1 == '' OR $answer2 == '')
        {
            
$errormessage "$bbuserinfo[username], you need to fill in the <b>Title</b>, <b>Group</b> and <b>Search Name</b> to submit your review.";
            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'$formforumid01);
        
$forumperms fetch_permissions($foruminfo[forumid]);
        
$newpost['username'] =& $vbulletin->userinfo['username'];
        
$newpost['message'] =& $formsend;
        
$newpost['title'] =& $posttitle;
        
$newpost['parseurl'] = '0';
        
$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";
        
$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();
}

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

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

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

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

<
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 type="text" size="73" maxlength="73" name="normalanswer1" />
</
td>
</
tr>
<
tr>
<
td class="alt2" colspan="3">
<
b>$radioquestion1</b>
</
td></tr><tr>
<
td><input type="radio" checked name="radioanswer1" value="$radiochoice1a/> $radiochoice1a </td>
<
td><input type="radio" name="radioanswer1" value="$radiochoice1b/> $radiochoice1b </td>
<
td><input type="radio" name="radioanswer1" value="$radiochoice1c/> $radiochoice1c </td>
</
tr>
<
tr>
<
td class="alt1" valign="middle">
<
b>Username</b>:<br />
Your Username.</td>
<
td class="alt1" valign="middle" colspan="2">
<
b>$bbuserinfo[username]</b></td>
</
tr>
<
tr>
<
td class="alt2" valign="middle">
<
b>$question1</b>:<br />
$explain1</td>
<
td class="alt2" valign="middle" colspan="2">
<
input type="text" size="30" name="answer1" /></td>
</
tr>
<
tr>
<
td class="alt1" valign="middle">
<
b>$question2</b>:<br />
$explain2</td>
<
td class="alt1" valign="middle" colspan="2">
<
input type="text" size="30" name="answer2" /></td>
</
tr>
<
tr>
<
td class="alt2" valign="middle">
<
b>$question3</b>:<br />
$explain3</td>
<
td class="alt2" valign="middle" colspan="2">
<
input type="text" size="30" name="answer3" /></td>
</
tr>
<
tr>
<
td class="alt2" valign="middle">
<
b>$longquestion1</b><br>
$longexplain1</td>
<
td class="alt2" valign="middle" colspan="2">
<
textarea rows="20" cols="70" name="longanswer1"></textarea>
</
td>
</
tr>
</
td>
</
tr>
<
tr>
<
td class="alt2" valign="middle">
<
b>$longquestion2</b><br>
$longexplain2</td>
<
td class="alt2" valign="middle" colspan="2">
<
textarea rows="20" cols="70" name="longanswer2"></textarea>
</
td>
</
tr>
</
td>
</
tr>
<
tr>
<
td valign="top" colspan="3">
<
p align="center">
<
input type="submit" value="Submit" name="submit" style="font-family: Verdana; font-size: 10pt" class="button" />
<
input type="reset" value="Reset" name="reset" style="font-family: Verdana; font-size: 10pt" class="button" />
</
p></td></tr>
</
table>

</
form>

$footer
</body>
</
html
Everytime i try using something like

newthread.php?do=Usenet_Review&f=16 it says its posted but nothing shows in that forum. I've tried a variety of different forums and checked access and posting rights etc so its something i have slightly wrong somewhere in the code.

Any help would very much be appreciated.

BTW awesome hack ..
Reply With Quote
Reply

Thread Tools

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 06:11 AM.


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.11508 seconds
  • Memory Usage 2,546KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (4)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (3)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete