The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Form Hack Details »» | |||||||||||||||||||||||||
Form Hack 4.1 Features: Ever wanted an online form that a user can fill out, which when submitted gets:
Or any combination or all of the above? Well, this is the hack for you! You can use this for:
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:
This is customizable via the hook. Also:
INSTALLATION Easy - takes only a few minutes:
Done! Use this hack to make as many forms as you like! Enjoy! Updates: Version 4.0: (09/15/2006)
Version 4.1: (04/24/2008)
MAKE SURE YOU CLICK INSTALL! You will get an email when a new version is released. Abe1 with rights from Dr Erwin Loh Supporters / CoAuthors Show Your Support
|
Comments |
#622
|
|||
|
|||
$dropdownchoice1a = "name";
$dropdownchoice1b = "name"; $dropdownchoice1c = "name"; etc. What happens when i reach 'z'? I plan on having over 500 options. :'( |
#623
|
||||
|
||||
500 options in a drop down menu?
Yikes. |
#624
|
|||
|
|||
@zompus:
aa ab ac ... ba bb bc ... ^^ @all: i install this hack and i love it. but one question: i want create a "Insert into" with the variables into a seperate table to extract it to office. how do I make that? |
#625
|
||||
|
||||
Quote:
I have seen several new mods 4 spam that may help... ***************************************** FW FH-K?ln,,, Sorry, but not sure how 2 do that... Try Caspio 4 more on this |
#626
|
|||
|
|||
Well this mod is awesome!
But is there a possibility to use a "fix user - like the admin" to post every form into a thread?! Background: We want to use this form for a booking request. After the form is send, a new thread should be created which can be only viewed from our coaches What I want is that every form will be posted in the forum through one ID. I would be appreciated about a helping hand. tried to work this out the last 4 hours :-( |
#627
|
||||
|
||||
Quote:
Sure U can customize your forms 2 do whatever ye wish... ABE1 has the hook in plugin area so that U can make modifications 2 which forum its posted to, U can have it posted 2 staff forum first so that yo folks can judge it and then bump it 2 members or customers area... It might take some time, but browse through most posts and U will C that its a cool MOD 2 use for many ways in manipulation of guests and soon 2 be members and regulars... Gooden Lucken:up: |
#628
|
|||
|
|||
Quote:
This is needed to stay in Background. So normal Users don`t see this part of the Forum. We don`t wan`t to see this section either to guests/unregistered... Did you get what I want to say?! Sorry 4 my bad language skills |
#629
|
|||
|
|||
Quote:
Is there any solution for it? |
#630
|
|||
|
|||
http://collide.elementfx.com/vbullet...hp?do=form&f52 getting the no thread or forum error didn't help what i searched but that is my code below my template isnt the problem it is this thing below. i erased some parts but once i added $longanswer1 2 and 3 to the tops the questions and the bottom where you do the ORS it wont show up,.
Code:
$formname = "form"; if ($_REQUEST['do'] == $formname) { // 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, 'checkboxanswer1_1' => TYPE_STR, 'checkboxanswer1_2' => TYPE_STR, 'checkboxanswer1_3' => TYPE_STR, 'longanswer1' => TYPE_STR 'longanswer2' => TYPE_STR 'longanswer3' => 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']; $checkboxanswer1_1 = $vbulletin->GPC['checkboxanswer1_1']; $checkboxanswer1_2 = $vbulletin->GPC['checkboxanswer1_2']; $checkboxanswer1_3 = $vbulletin->GPC['checkboxanswer1_3']; $longanswer1 = $vbulletin->GPC['longanswer1']; $longanswer2 = $vbulletin->GPC['longanswer2']; $longanswer3 = $vbulletin->GPC['longanswer3']; // if (!in_array($vbulletin->userinfo['usergroupid'], array(2,5,6,7))) print_no_permission(); // Name of the main template $maintemplate = "form"; // Name of the answer template $answertemplate = "formanswers"; //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 (separate multiple usernames with a ';') $formpmname = "Abe"; //////////////////////////////////////////////////////////////////////////////////////////////////// //ENABLE FORM TO BE EMAILED - 1 = yes, 0 = no $formemail = "0"; //EMAIL ADDRESS TO EMAIL TO (separate multiple usernames with a ';') $formemailaddress = "youremail@yourforums.com"; //////////////////////////////////////////////////////////////////////////////////////////////////// //ENABLE ATTACHMENTS - 1 = yes, 0 = no //attachments can only be used if the form is going to make a new thread or post $allow_attachments = "1"; $redirectoption = "0"; $errormessage = "Thank you for submitting this form!"; //This is the thank you message / $answerall = "0"; $formtitle = "Generic Form"; $posttitle = "$formtitle"; //////////////////////////////////////////////////////////////////////////////////////////////////// //PURPOSE OF FORM (do not use quotation marks or you will get a parse error, besides the quotes around the whole text) //////////////////////////////////////////////////////////////////////////////////////////////////// $formpurpose = "The purpose of this form is to allow you to submit a form, and this form will be made into a thread in a particular forum, or be PMed to a moderator or be emailed to a moderator."; //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// //NORMAL INPUT BOX : QUESTION 1 (do not use quotation marks or you will get a parse error, besides the quotes around the whole text) //////////////////////////////////////////////////////////////////////////////////////////////////// $normalquestion1 = "What is the meaning to life?"; $radioquestion1 = "Choose one of the following choices"; // The following choices must NOT have quotation marks $radiochoice1a = "yes"; $radiochoice1b = "no"; $radioquestion2 = "Choose another one of the following choices"; // The following choices must NOT have quotation marks $radiochoice2a = "good"; $radiochoice2b = "bad"; $radiochoice2c = "both"; $radioquestion3 = "Is it yes or no? If yes, please elaborate"; // The following choices must NOT have quotation marks $radiochoice3a = "yes"; $radiochoice3b = "no"; //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// //QUESTION 1 (do not use quotation marks or you will get a parse error, besides the quotes around the whole text) $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, besides the quotes around the whole text) $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, besides the quotes around the whole text) $question3 = "What is your website?"; $explain3 = "Please enter your URL here."; //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// //DROP DOWN CHOICES : QUESTION 1 (do not use quotation marks or you will get a parse error, besides the quotes around the whole text) //////////////////////////////////////////////////////////////////////////////////////////////////// $dropdownquestion1 = "What is your gender?"; // The following choices must NOT have quotation marks $dropdownchoice1a = "no comment"; $dropdownchoice1b = "male"; $dropdownchoice1c = "female"; //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// //CHECK BOX CHOICES : QUESTION 1 (do not use quotation marks or you will get a parse error, besides the quotes around the whole text) //////////////////////////////////////////////////////////////////////////////////////////////////// $checkboxquestion1 = "This shows how to use checkboxes."; // The following choices must NOT have quotation marks $checkboxchoice1_1 = "good"; $checkboxchoice1_2 = "bad"; $checkboxchoice1_3 = "both"; $longquestion1 = "Please write down a paragraph about yourself."; $longquestion2 = "Please write down a paragraph about yourself."; $longquestion3 = "Please write down a paragraph about yourself."; / $vbtextquestion = "Please write down a paragraph about how you like this forum."; $vbtextexplain = "For example, what makes this forum different from all other forums?"; 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 ($checkboxchoice1_1 AND $checkboxchoice1_2 AND $checkboxchoice1_3) OR $longanswer1 == '' OR $longanswer2 == '' OR $longanswer3 == '') { $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") . '";'); $posthash = $vbulletin->input->clean_gpc('p', 'posthash', TYPE_NOHTML); $poststarttime = $vbulletin->input->clean_gpc('p', 'poststarttime', TYPE_UINT); if ($_POST['submit'] == 'Submit') { if ($formforum == "1") { $foruminfo = verify_id('forum', $formforumid, 0, 1); $forumperms = fetch_permissions($foruminfo[forumid]); $newpost['username'] =& $vbulletin->userinfo['username']; $newpost['message'] =& $formsend; $newpost['title'] =& $posttitle; $newpost['parseurl'] = '1'; $newpost['poststarttime'] = $poststarttime; $newpost['posthash'] = $posthash; if ($vbulletin->userinfo['autosubscribe'] != -1) { $newpost['emailupdate'] = $vbulletin->userinfo['autosubscribe']; } else { $newpost['emailupdate'] = 9999; } if ($vbulletin->userinfo['signature'] != '') { $newpost['signature'] = '1'; } else { $newpost['signature'] = '0'; } build_new_post('thread', $foruminfo, array(), array(), $newpost, $errors); if ($formpoll == "1") { $threadinfo = verify_id('thread', $newpost[threadid], 0, 1); $polloptions = count($polloption); $question = $posttitle; $vbulletin->GPC['options'] = $polloption; $counter = 0; $optioncount = 0; $badoption = ''; while ($counter++ < $polloptions) { // 0..Pollnum-1 we want, as arrays start with 0 if ($vbulletin->options['maxpolllength'] AND vbstrlen($vbulletin->GPC['options']["$counter"]) > $vbulletin->options['maxpolllength']) { $badoption .= iif($badoption, ', ') . $counter; } if (!empty($vbulletin->GPC['options']["$counter"])) { $optioncount++; } } // Add the poll $poll =& datamanager_init('Poll', $vbulletin, ERRTYPE_STANDARD); $counter = 0; while ($counter++ < $polloptions) { if ($vbulletin->GPC['options']["$counter"] != '') { $poll->set_option($vbulletin->GPC['options']["$counter"]); } } $poll->set('question', $question); $poll->set('dateline', TIMENOW); $poll->set('active', '1'); $poll->set('public', $pollpublic); $pollid = $poll->save(); //end create new poll // update thread $threadman =& datamanager_init('Thread', $vbulletin, ERRTYPE_STANDARD, 'threadpost'); $threadman->set_existing($threadinfo); $threadman->set('pollid', $pollid); $threadman->save(); } } if ($formreply == "1") { $threadinfo = verify_id('thread', $formreplythreadid, 0, 1); $forumperms = fetch_permissions($threadinfo[forumid]); $newpost['username'] =& $vbulletin->userinfo['username']; $newpost['message'] =& $formsend; $newpost['title'] =& $posttitle; $newpost['parseurl'] = "1"; $newpost['poststarttime'] = $poststarttime; $newpost['posthash'] = $posthash; if ($vbulletin->userinfo['autosubscribe'] != -1) { $newpost['emailupdate'] = $vbulletin->userinfo['autosubscribe']; } else { $newpost['emailupdate'] = 9999; } if ($vbulletin->userinfo['signature'] != '') { $newpost['signature'] = '1'; } else { $newpost['signature'] = '0'; } build_new_post('reply', $foruminfo, $threadinfo, $postinfo, $newpost, $errors); } if ($formpm == "1") { $vbulletin->GPC['message'] =& $formsend; $vbulletin->GPC['title'] =& $posttitle; $vbulletin->GPC['recipients'] =& $formpmname; $pm['message'] =& $vbulletin->GPC['message']; $pm['title'] =& $vbulletin->GPC['title']; $pm['recipients'] =& $vbulletin->GPC['recipients']; // create the DM to do error checking and insert the new PM $pmdm =& datamanager_init('PM', $vbulletin, ERRTYPE_ARRAY); $pmdm->set('fromuserid', $vbulletin->userinfo['userid']); $pmdm->set('fromusername', $vbulletin->userinfo['username']); $pmdm->setr('title', $pm['title']); $pmdm->setr('message', $pm['message']); $pmdm->set_recipients($pm['recipients'], $permissions); $pmdm->set('dateline', TIMENOW); // everything's good! $pmdm->save(); } if ($formemail == "1") { require_once(DIR . '/includes/class_bbcode_alt.php'); $plaintext_parser =& new vB_BbCodeParser_PlainText($vbulletin, fetch_tag_list()); $plaintext_parser->set_parsing_language($touserinfo['languageid']); $formsend = $plaintext_parser->parse($formsend); $emails = explode(';', $formemailaddress); foreach ($emails AS $email) { vbmail($email, $posttitle, $formsend); } } if ($redirectoption == "1") { $vbulletin->url = 'showthread.php?' . $vbulletin->session->vars['sessionurl'] . "p=$newpost[postid]"; eval(print_standard_redirect('redirect_postthanks')); exit(); } if ($redirectoption == "2") { $vbulletin->url = 'showthread.php?' . $vbulletin->session->vars['sessionurl'] . "t=$newpost[threadid]"; eval(print_standard_redirect('redirect_postthanks')); exit(); } if ($redirectoption == "3") { $vbulletin->url = 'forumdisplay.php?' . $vbulletin->session->vars['sessionurl'] . "f=$foruminfo[forumid]"; eval(print_standard_redirect('redirect_postthanks')); exit(); } if ($redirectoption == "4") { $vbulletin->url = 'editpost.php?do=editpost&' . $vbulletin->session->vars['sessionurl'] . "p=$newpost[postid]"; eval(print_standard_redirect('redirect_postthanks')); exit(); } eval('print_output("' . fetch_template('STANDARD_ERROR') . '");'); exit(); } else { require_once('./includes/class_bbcode.php'); $parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list()); $preview = $parser->do_parse($formsend); $_REQUEST['action'] = 'form'; } } if ($_REQUEST['action'] == 'form') { if (($formforum OR $formreply) AND $allow_attachments) { if ($formforum AND $formreply) { $forumid = $formforumid; } else if ($formreply) { $threadid = $formreplythreadid; $threadinfo = verify_id('thread', $threadid, 0, 1); $forumid = $threadinfo[forumid]; } else { $forumid = $formforumid; } $forumperms = fetch_permissions($forumid); // get attachment options require_once(DIR . '/includes/functions_file.php'); $inimaxattach = fetch_max_upload_size(); $maxattachsize = vb_number_format($inimaxattach, 1, true); $attachcount = 0; $attach_editor = array(); $attachment_js = ''; if ($forumperms & $vbulletin->bf_ugp_forumpermissions['canpostattachment'] AND $vbulletin->userinfo['userid'] AND !empty($vbulletin->userinfo['attachmentextensions'])) { if (!$posthash OR !$poststarttime) { $poststarttime = TIMENOW; $posthash = md5($poststarttime . $vbulletin->userinfo['userid'] . $vbulletin->userinfo['salt']); } else { if (empty($postattach)) { $currentattaches = $db->query_read(" SELECT dateline, filename, filesize, attachmentid FROM " . TABLE_PREFIX . "attachment WHERE posthash = '" . $db->escape_string($posthash) . "' AND userid = " . $vbulletin->userinfo['userid'] ); while ($attach = $db->fetch_array($currentattaches)) { $postattach["$attach[attachmentid]"] = $attach; } } if (!empty($postattach)) { foreach($postattach AS $attachmentid => $attach) { $attach['extension'] = strtolower(file_extension($attach['filename'])); $attach['filename'] = htmlspecialchars_uni($attach['filename']); $attach['filesize'] = vb_number_format($attach['filesize'], 1, true); $attach['imgpath'] = "$stylevar[imgdir_attach]/$attach[extension].gif"; $show['attachmentlist'] = true; eval('$attachments .= "' . fetch_template('newpost_attachmentbit') . '";'); $attachment_js .= construct_attachment_add_js($attachmentid, $attach['filename'], $attach['filesize'], $attach['extension']); $attach_editor["$attachmentid"] = $attach['filename']; } } } if ($threadid) { $attachurl = "t=$threadid"; } else { $attachurl = "f=$forumid"; } $newpost_attachmentbit = prepare_newpost_attachmentbit(); eval('$attachmentoption = "' . fetch_template('newpost_attachment') . '";'); if ($threadid) { $attach_editor['hash'] = $threadid; $attach_editor['url'] = "newattachment.php?$session[sessionurl]t=$threadid&poststarttime=$poststarttime&posthash=$posthash"; } else { $attach_editor['hash'] = $forumid; $attach_editor['url'] = "newattachment.php?$session[sessionurl]f=$forumid&poststarttime=$poststarttime&posthash=$posthash"; } } else { $attachmentoption = ''; } } else { $attachmentoption = ''; } // set message box width to usercp size $stylevar['messagewidth'] = $stylevar['messagewidth_usercp']; $editorid = construct_edit_toolbar($vbtextanswer); eval('print_output("' . fetch_template("$maintemplate") . '");'); } } |
#631
|
||||
|
||||
FCS-Webmaster what U ask 4 can be done, but it requires some coding changes...
ABE1 can help U better, I creating a few add-ons 2 this, but not much feedback so I stopped... ************************************** Derek Chai I-C your issue, U-B missing your comma's... Check back a few pages and U will C another post about it... If U still have issues with it give me a jingle and I will fix 4 ya... |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|