The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
FORM to THREAD/ FORUM/ POLL/ PM/ EMAIL - CUSTOMIZABLE FORMS - Mod Apps, Orders, News. Details »» | |||||||||||||||||||||||||||
FORM to THREAD/ FORUM/ POLL/ PM/ EMAIL - CUSTOMIZABLE FORMS - Mod Apps, Orders, News.
Developer Last Online: May 2013
FORM to THREAD/ FORUM/ POLL/ PM/ EMAIL - Totally CUSTOMIZABLE FORMS
Version 1.6 for vBulletin 3.x.x by Dr Erwin Loh Features: Ever wanted an online form that a user can fill out, which when submitted gets: 1. Posted into a new thread in a forum of your choice 2. Create a new poll in the new thread with options of your choice 3. Posted as a reply in an existing thread of your choice 4. PMed to you or someone else 5. Emailed to an email address you specify 6. Choose to redirect to the post, thread or forum, or a custom thank you message 7. Choose to redirect to editpost to upload attachments Or any combination or all of the above? Well, this is the hack for you! You can use this for: 1) Moderator Applications 2) Quiz Submit Form which gets PMed to a moderator 3) Contact Form that goes to PM, email or thread 4) Guests to apply to be members 5) Report a Moderator form that goes as a PM to you 6) Guests can PM you for whatever reason 7) Order form to buy things 8) Donation form 9) News or Articles submissions that can go straight to a thread Or anything you like - this hack is totally customizable via the PHP file. Basically, this hack involves modifying 1 PHP file form.php (you add questions, options etc. in the PHP file itself), uploading it, and then adding 2 templates. The beauty of this hack is that once you have added the 2 templates, to make a new form, all you need to do is copy the form.php and rename it to form2.php, edit the variables in the PHP file, and you have a totally new form!!! You do not need to touch the templates again. Format of the form: 1. One main input question 2. 2 Radio buttons Choice questions 3. 3 Normal text input questions 4. 1 Long answer question This is customizable via the PHP file. 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: 1. Add the 2 templates. 2. Edit form.php - the instructions are all inside the PHP file itself, in the top half. Follow the instructions carefully! 3. Upload form.php Just link to form1.php eg. http://www.yourforum.com/forums/form.php Done! Use this hack to make as many forms as you like! Enjoy! Updates: Version 1.1 - Option to force user to answer all questions. Version 1.2 - Thread count and lastposter information now updated if form is sent to existing thread. Version 1.3 - ADDED CREATE POLL OPTION! Version 1.4 - Fixed bug with Form-to-thread code Version 1.5 - Major update: - fixed bug where thread count not updated when form to forum - fixed default posting to allow smilies and sigs when reply to thread - added templates to cache (saves 2 queries) - added option to change thank you message - added options to redirect to post, thread or forum when submit Version 1.6 - Choose to redirect to editpost to upload attachments Screenshot is an example of a form - the form title and questions are customizable: Show Your Support
|
Comments |
#182
|
||||
|
||||
Quote:
|
#183
|
|||
|
|||
im having some trouble.. install is fine.. got everything to work.. but its about modifing this form.php...
PREVIEW HERE: http://www.craq.org/vb/form.php See theres a textbox under the first question.. i dont want that there... and i dont want "Choose one of the following choices" either... i want Yes or No to be where that textbox is now... and Under "How long will you be able to moderate" theres suppose to be 3 choices and only 2 show up... and i don't want that text box beside it there either... well thats it.. please someone help heres my current code: PHP Code:
|
#184
|
|||
|
|||
Quote:
Does "post into an existing thread" work for anyone else? |
#185
|
||||
|
||||
Quote:
but your second, yes it worked fine for me on new thread and post to existing thread as a reply |
#186
|
|||
|
|||
ok i isntallaed and customized it makes a great poll but doesnt show any of the vouch questions or answers
|
#187
|
||||
|
||||
The code works.
Quote:
|
#188
|
||||
|
||||
Quote:
Here's the form.php file the way you want it... Code:
<?php /*======================================================================*\ || #################################################################### || || # FORM TO THREAD/ FORUM/ PM/ EMAIL - Totally CUSTOMIZABLE FORMS++++# || || # Version 1.3 for vBulletin 3.x.x by Dr Erwin Loh++++++++++++++++++# || || # ---------------------------------------------------------------- # || || # Copyright ?2000?2004 Dr Erwin Loh. All Rights Reserved.++++++++++# || || # This file may not be redistributed in whole or significant part. # || || #################################################################### || \*======================================================================*/ // ####################### SET PHP ENVIRONMENT ########################### error_reporting(E_ALL & ~E_NOTICE); // ######################### REQUIRE BACK-END ############################ require_once('./global.php'); globalize($_POST, array( 'radioanswer1' => STR, 'radioanswer2' => STR, 'radioanswer3' => STR, 'answer1' => STR, 'answer2' => STR, 'answer3' => STR, 'longanswer1' => STR, 'action' => STR )); // ####################################################################### // ######################## CUSTOMIZE VARIABLES ########################## // ####################################################################### //////////////////////////////////////////////////////////////////////////////////////////////////// ////// BEGIN CUSTOMIZATION BELOW//////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// //USERGROUPS ALLOWED //You can add or remove usegroups that are ALLOWED to use this form by changing the numbers below in the array //////////////////////////////////////////////////////////////////////////////////////////////////// if (!in_array($bbuserinfo['usergroupid'], array(2,5,6,7))) print_no_permission(); //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// //NAME OF THIS PHP FILE AND TEMPLATES - DO THIS BIT IF YOU ARE MAKING MORE FORMS! //You can easily make more forms by just copying this file, renaming it, and modifying the variable in //this file. You can keep the same templates for different forms. For more customization, you can //use different templates, by renaming and modifying the templates. //////////////////////////////////////////////////////////////////////////////////////////////////// // Name of this file $phpfilename = "form.php"; //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// //CHOOSE WHETHER YOU WANT FORM TO BE POSTED IN A NEW THREAD, NEW POLL, REPLY TO EXISITING THREAD, PMed OR EMAILED /////////////////////////////////////////////////////////////////////////////////////////////////// //ENABLE FORM TO BE POSTED - 1 = yes, 0 = no $formforum = "0"; //FORUM TO POST NEW THREAD IN $formforumid = "0"; //ENABLE POLL TO BE CREATED - 1 = yes, 0 = no $formpoll = "1"; $formoption1 = "Yes"; $formoption2 = "No"; //////////////////////////////////////////////////////////////////////////////////////////////////// //ENABLE FORM TO REPLY TO EXISTING THREAD $formreply = "0"; //EXISTING THREAD ID FOR FORM TO REPLY IN $formreplythreadid = "0"; //////////////////////////////////////////////////////////////////////////////////////////////////// //ENABLE FORM TO BE PMED - 1 = yes, 0 = no $formpm = "1"; //USERID TO PM TO $formpmid = "1"; //////////////////////////////////////////////////////////////////////////////////////////////////// //ENABLE FORM TO BE EMAILED - 1 = yes, 0 = no $formemail = "1"; //EMAIL ADDRESS TO EMAIL TO $formemailaddress = "virulent@verizon.net"; //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// //FORCE USER TO ANSWER ALL QUESTIONS - 1 = yes, 0 = no //////////////////////////////////////////////////////////////////////////////////////////////////// $answerall = "1"; //////////////////////////////////////////////////////////////////////////////////////////////////// //TITLE OF FORM (do not use quotation marks or you will get a parse error) //////////////////////////////////////////////////////////////////////////////////////////////////// $formtitle = "Moderator Application"; //////////////////////////////////////////////////////////////////////////////////////////////////// //PURPOSE OF FORM (do not use quotation marks or you will get a parse error) //////////////////////////////////////////////////////////////////////////////////////////////////// $formpurpose = "The purpose of this form is to allow everyone at craQ [dot] org to have an equal chance at becoming a moderator."; //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// //RADIO BOX CHOICES : QUESTION 1 (do not use quotation marks or you will get a parse error) //////////////////////////////////////////////////////////////////////////////////////////////////// $radioquestion1 = "Would you be able to contribute to a monthly donation for server expenses?"; // The following choices must NOT have quotation marks $radiochoice1a = "yes"; $radiochoice1b = "no"; //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// //RADIO BOX CHOICES : QUESTION 2 (do not use quotation marks or you will get a parse error) //////////////////////////////////////////////////////////////////////////////////////////////////// $radioquestion2 = "How old are you? [Be honest]"; // The following choices must NOT have quotation marks $radiochoice2a = "13 or below"; $radiochoice2b = "14 - 18"; $radiochoice2c = "18+"; //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// //RADIO BOX CHOICES : QUESTION 3 (do not use quotation marks or you will get a parse error) //////////////////////////////////////////////////////////////////////////////////////////////////// $radioquestion3 = "How often will you be on to moderate? [Be honest]"; // The following choices must NOT have quotation marks $radiochoice3a = "1 Hour/Less a day"; $radiochoice3b = "2-4 Hours a day"; $radiochoice3c = "4+ Hours a Day"; //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// //QUESTION 1 (do not use quotation marks or you will get a parse error) $question1 = "What is your name?"; $explain1 = "Please enter your real name here."; //QUESTION 2 (do not use quotation marks or you will get a parse error) $question2 = "What is your email?"; $explain2 = "Please enter your real email here."; //QUESTION 3 (do not use quotation marks or you will get a parse error) $question3 = "What is your website?"; $explain3 = "Please enter your URL here."; //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// //LONG TEXT AREA INPUT: QUESTION 1 (do not use quotation marks or you will get a parse error) //////////////////////////////////////////////////////////////////////////////////////////////////// $longquestion1 = "Please write down a paragraph about yourself."; $longexplain1 = "For example, a bit about your experience in this area."; //////////////////////////////////////////////////////////////////////////////////////////////// ////// END OF CUSTOMIZATION //////////////////////////////////////////////////////////////////// /////++DO NOT CHANGE BELOW UNLESS YOU KNOW WHAT YOU ARE DOING!!! //////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// // ####################################################################### // ######################## START MAIN SCRIPT ############################ // ####################################################################### // start navbar $navbits = array( ++++"$phpfilename?$session[sessionurl]" => $formtitle ); $navbits = construct_navbits($navbits); eval('$navbar = "' . fetch_template('navbar') . '";'); if ($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(); ++++} } ++++eval('$formsend = "' . fetch_template('formanswers') . '";'); ++++if ($formforum == "1") { ++++++++++++++++++++$DB_site->query(" ++++++++++++++++++++++++++++++++INSERT INTO " . TABLE_PREFIX . "thread(title, lastpost, forumid, open, replycount, ++++++++++++++++++++++++++++++++postusername, postuserid, lastposter, dateline, iconid, visible, attach) ++++++++++++++++++++++++++++++++VALUES ++++++++++++++++++++++++++++++++++++++++('".addslashes(htmlspecialchars($bbuserinfo[username]))." $formtitle', " . TIMENOW . ", $formforumid, +++++++++++++++++++++++++++++++++++++++++1, 0, '" . addslashes($bbuserinfo['username']) . "', $bbuserinfo[userid], +++++++++++++++++++++++++++++++++++++++++'" . addslashes($bbuserinfo['username']) . "', " . TIMENOW . ", 0, 1, +++++++++++++++++++++++++++++++++++++++++0) ++++++++++++++++++++++++"); ++++++++++++++++$thread['threadid'] = $DB_site->insert_id(); ++++++++++++++++$DB_site->query(" ++++++++++++++++++++++++INSERT INTO " . TABLE_PREFIX . "post ++++++++++++++++++++++++++++++++(threadid, title, username, userid, dateline, pagetext, allowsmilie, +++++++++++++++++++++++++++++++++showsignature, iconid, visible) ++++++++++++++++++++++++VALUES ++++++++++++++++++++++++++++++++($thread[threadid], '".addslashes(htmlspecialchars($bbuserinfo[username]))." $formtitle', +++++++++++++++++++++++++++++++++'" . addslashes($bbuserinfo['username']) . "', $bbuserinfo[userid], " . TIMENOW . ", +++++++++++++++++++++++++++++++++'" . addslashes($formsend) . "', 1, 1, +++++++++++++++++++++++++++++++++0, 1) ++++++++++++++++"); ++++++++++++++++$post['postid'] = $DB_site->insert_id(); ++++++++++++++++$DB_site->query(" ++++++++++++++++++++++++++++++++UPDATE " . TABLE_PREFIX . "thread ++++++++++++++++++++++++++++++++SET firstpostid = $post[postid] ++++++++++++++++++++++++++++++++WHERE threadid = $thread[threadid] ++++++++++++++++++++++++"); ++++++++++++++++$DB_site->query(" ++++++++++++++++++++++++++++++++UPDATE " . TABLE_PREFIX . "forum ++++++++++++++++++++++++++++++++SET replycount = replycount +++1, ++++++++++++++++++++++++++++++++" . iif($type == 'thread', 'threadcount = threadcount + 1,') . " ++++++++++++++++++++++++++++++++lastpost = " . TIMENOW . ", ++++++++++++++++++++++++++++++++lastposter = '" . addslashes($bbuserinfo['username']) . "', ++++++++++++++++++++++++++++++++lastthread = '".addslashes(htmlspecialchars($bbuserinfo[username]))." $formtitle', ++++++++++++++++++++++++++++++++lastthreadid = $thread[threadid] ++++++++++++++++++++++++++++++++WHERE forumid = $formforumid ++++++++++++++++++++++++"); ++++} ++++if ($formpoll == "1") { ++++++++++++++$DB_site->query("INSERT INTO " . TABLE_PREFIX . "poll (question,dateline,options,votes,active,numberoptions,timeout,multiple,public) VALUES ('".addslashes(htmlspecialchars($bbuserinfo[username]))." $formtitle'," . TIMENOW . ",'$formoption1|||$formoption2','" . addslashes("0|||0") . "',1,2,0,0,0)"); ++++++++++++$pollid = $DB_site->insert_id(); ++++++++++++$DB_site->query("UPDATE " . TABLE_PREFIX . "thread SET pollid = '".$pollid."' WHERE threadid = '".$thread[threadid]."'"); } ++++if ($formreply == "1") { ++++++$DB_site->query("INSERT INTO post (postid,threadid,title,username,userid,dateline,pagetext,allowsmilie,showsignatu++re,ipaddress,iconid,visible) VALUES (NULL,'$formreplythreadid','".addslashes(htmlspecialchars($bbuserinfo[username]))." $formtitle','".addslashes($bbuserinfo[username])."','$bbuserinfo[userid]','".time()."','" . addslashes($formsend) . "','$allowsmilie','$signature','$ipaddress','$iconid','1')"); ++++++$DB_site->query("UPDATE thread SET replycount = replycount + 1, lastpost = " . TIMENOW . ", lastposter = '".addslashes($bbuserinfo[username])."' WHERE threadid = $formreplythreadid"); ++++} ++++if ($formpm == "1") { $DB_site->query("INSERT INTO " . TABLE_PREFIX . "pmtext\n\t(fromuserid, fromusername, title, message, touserarray, iconid, dateline, showsignature)\nVALUES\n\t($bbuserinfo[userid], '" . addslashes($bbuserinfo['username']) . "', '".addslashes(htmlspecialchars($formtitle))."', '".addslashes(htmlspecialchars($formsend))."', '" . addslashes(serialize($tostring)) . "', 0, " . TIMENOW . ", 1)"); $pmtextid = $DB_site->insert_id(); $DB_site->query("INSERT INTO " . TABLE_PREFIX . "pm (pmtextid, userid, messageread) VALUES ($pmtextid, $formpmid, 0)"); $DB_site->shutdown_query("UPDATE " . TABLE_PREFIX . "user SET pmtotal=pmtotal+1, pmunread=pmunread+1 WHERE userid = $formpmid"); ++++} ++++if ($formemail == "1") { ++++vbmail($formemailaddress, $formtitle, $formsend); ++++} ++++$errormessage = "$bbuserinfo[username], thank you for submitting the $bbtitle $formtitle!"; ++++eval('print_output("' . fetch_template('STANDARD_ERROR') . '");'); +++exit(); } eval('print_output("' . fetch_template('form') . '");'); ?> And change your formanswer template as follows... Code:
$formtitle $bbuserinfo[username] $radioquestion1 $radioanswer1 $radioquestion2 $radioanswer2 $radioquestion3 $radioanswer3 $question1 $answer1 $question2 $answer2 $question3 $answer3 ----------------------------------------------------- $longquestion1 $longanswer1 ------------------------------------------------------ |
#189
|
|||
|
|||
Quote:
Strange thing, "post a new thread" works, but not "reply to a thread". My post table is there, hehe. |
#190
|
|||
|
|||
hey PKRWUD, thanks alot.. i did what you said but im having a bit of trouble :[ .. i get this error:
Code:
Parse error: parse error, unexpected T_INC, expecting T_VARIABLE or '$' in /home/*****/public_html/vb/form.php on line 193 |
#191
|
|||
|
|||
nvm all set
|
#192
|
||||
|
||||
Quote:
Quote:
|
#193
|
|||
|
|||
Erwin.... I want to know if you can a part where guest can apply to get into the board. And with the poll option we select yes they shall get a email that says they got accept and gives a random password or a password they selcted. And if the voters say no they get a email that he got decilned. but it doesnt send email untill the poll gets enough votes or admin auto matic selects a button that accepts with out reaching the # of required yes.
|
#194
|
|||
|
|||
Works great!
|
#195
|
||||
|
||||
Quote:
|
#196
|
|||
|
|||
theres no way you can do becuase i suck being a coder and i know i wouldn't be able to.
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|