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 |
#862
|
||||
|
||||
Quote:
|
#863
|
||||
|
||||
Quote:
Code:
if ($answer1 == '' OR $answer2 == '' OR $answer3 == '' OR $answer4 == '' OR $answer5 == '') What does you template "form" look like? |
#864
|
|||
|
|||
$bbuserinfo[username]
$question1 $answer1 $question2 $answer2 $question3 $answer3 $question4 $answer4 $question5 $answer5 ------------------------------------------------------ $vbtextquestion $vbtextanswer ------------------------------------------------------ i typed in amount for # 3, number for 4, and cost for 5. But after hitting preview this is what I get. is this what you meant by the template form? once again thx for the help. |
#865
|
||||
|
||||
Quote:
Now it looks to me as if you did not add this to the lower part of your plugin like I mentioned before. Code:
OR $answer4 == '' OR $answer5 == '') |
#866
|
|||
|
|||
I would like to have the form post new threads in multiple forums selected by checkboxes.
This code seems to work well for selecting one $formforumid, but the first two "else" statements would prevent multiple selections, and taking them out did no good. I'm guessing the issue may be that $formforumid can't be assigned multiple values (i.e., $formforumid = "1,2,3" or some such), but hopefully it can and I'm just missing the language that will do it. Easy answers are nice. If anyone has a suggestion to get multiple forums working, I'll make the edit to the original form and post it as an example so it's easy for the next person. Thanks for any ideas... PHP Code:
|
#867
|
|||
|
|||
this is my lower code
Code:
// ####################################################################### // ######################## 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 ($answer1 == '' OR $answer2 == '' OR $answer3 == '' OR $answer4 == '' OR $answer5 == '') { $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") . '");'); } } |
#868
|
||||
|
||||
I just sent a PM to you with my email address so you could send me some of your files for me to look over.
|
#869
|
|||
|
|||
I too have done everything to the "T".....I am having an issue getting answer 4 to display after submit.....i have done everyhting right...mind you I have been doing vbulletin hacks for quite some time but i am just stumped on this one......i have edited both templates....i have also added the variables to 1 & 2 of the plugin and added $normalanswer1 == '' OR $answer1 == '' OR $answer2 == '' OR $answer3 == '' OR $answer4 == '' as well.....and yet nada....this is the only hack i have ever had stump me.....i have also atached a copy of my plugin
Code:
Form Answers Template
$formtitle
$bbuserinfo[username]
$normalquestion1
$normalanswer1
$question1
$answer1
$question2
$answer2
$question3
$answer3
$question4
$answer4
------------------------------------------------------
$vbtextquestion
$vbtextanswer
------------------------------------------------------
Code:
Form Template $stylevar[htmldoctype] <html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]"> <head> $headinclude <title>$vboptions[bbtitle] - $formtitle</title> </head> <body> $header $navbar <!-- main --> <if condition="$preview"> <table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"> <tr> <td class="tcat"> Preview </td> </tr> <tr> <td class="alt1"> $preview </td> </tr> </table> </if> <br /> <form name="vbform" action="newthread.php" method="post"<if condition="!is_browser('webtv')"> onsubmit="return vB_Editor['$editorid'].prepare_submit(0, $vboptions[postminchars])"</if>> <input type="hidden" value="$formname" name="do" /> <input type="hidden" value="submit" name="action" /> <input type="hidden" name="posthash" value="$posthash" /> <input type="hidden" name="poststarttime" value="$poststarttime" /> <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="30" value="$normalanswer1" name="normalanswer1" /> </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" value="$answer1" 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" value="$answer2" 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" value="$answer3" name="answer3" /></td> </tr> <tr> <td class="alt1" valign="middle"> <b>$question4</b>:<br /> $explain4</td> <td class="alt1" valign="middle" colspan="2"> <input type="text" size="30" value="$answer4" name="answer4" /></td> </tr> <tr> <td class="alt2" valign="middle" colspan="3"> <b>$vbtextquestion</b><br /> $vbtextexplain <div align="center"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td> $messagearea </td> </tr> </table> </div> </td> </tr> <if condition="$attachmentoption"> <tr> <td class="alt1" colspan="3" align="center"> <div style="width:$stylevar[formwidth]" align="$stylevar[left]">$attachmentoption</div> </td> </tr> </if> <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="submit" value="Preview" 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> |
#870
|
||||
|
||||
p1a6u3
I just installed your templates that you posted for your form, formanswers and your plugin into my test site and everything worked fine for me. I even got question #4 to post in my thread. I did not change or alter anything you posted. I just put your code you posted in and it all worked. Maybe one of your other hacks or plugins is interfering with this. |
#871
|
|||
|
|||
No im an idiot lol I ust figured it out....i guess i need to be sure that i refresh my browser instead of going back page lol..sorry for taking up your time....my bad!.....n00b m0v3!
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|