Go Back   vb.org Archive > vBulletin Modifications > vBulletin 3.8 Modifications > vBulletin 3.8 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Easy Forms - Create a form or multiple forms without php or html knowledge Details »»
Easy Forms - Create a form or multiple forms without php or html knowledge
Version: 3.6, by bananalive bananalive is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Category: New Posting Features - Version: 3.8.x Rating:
Released: 01-07-2009 Last Update: 07-11-2009 Installs: 976
DB Changes Uses Plugins Auto-Templates
Translations  
No support by the author.

EASY FORMS FOR vB 4.x here


Easily create forms with no HTML or PHP knowledge. Questions can be made compulsory and are checked before the form is submitted. Forms can be previewed. (You can create multiple forms)

Backwards compatible with vb v3.7.x and 3.6.8

Example Form | Help File | Version History

Question Types:
  • Single line text
  • Multi-line text
  • Multi-select checkboxes
  • Single-select radio buttons
  • Single Select Dropdown
  • Yes/No
  • Multi-line text field using vbeditor (max one per form - limited by vB)
  • Human verification question
  • Custom Question (can query database or do whatever you want)
  • Date (month/ day/ year fields)
Form can Submit to:
  • new thread in forum
  • new post in thread
  • new pm to user
  • email address
  • save to database
Installation:More Features:
  • Form list categories (optional)
  • Preview form (can disable for individual forms)
  • Optional questions
  • Form Sections
  • Prefix support - you can choose which prefix you want thread to have
  • Different thread/pm title to form title with variables {username} {userid} and {q_1} (replacing 1 with appropriate question number)
  • Poll Options: Multiple choice, public vote, poll question, poll options, poll timeout
  • Regular expression match for single line text input field
  • Usergroup permissions per form
  • Forumid/threadid/username can be specified by input via {value=X} in dropdown, single line input or radio buttons
  • Multiple dropdown select for form usergroup permissions (still optional - leave blank to not use)
  • Option to show link to form list in navbar and quick links (separate options)
  • Import/ Export your forms as XML files - great for transferring forms across forums or creating backups
  • Specify bbcode for questions/ answers/ sections for the form's output
  • Form Hooks: (uses php code)
    1. Before form submitted
      Useful for: your own form validation, multiple form outputs, etc.
    2. At form start
      Useful for: banning userids/usergroups from form, setting minimum post count,etc.
  • Attachments allowed for posting new thread
  • Mass Copy Forms & their questions
Coming soon:
  • Allow attachments for posting in thread
Translations:

Download Now

File Type: xml product-easyforms v3.6.xml (163.0 KB, 2648 views)
File Type: zip vb_easyforms v3.7beta.zip (36.6 KB, 2404 views)

Screenshots

File Type: jpg 7.jpg (83.4 KB, 0 views)
File Type: jpg 8.jpg (88.6 KB, 0 views)
File Type: jpg 9.jpg (89.6 KB, 0 views)
File Type: jpg 11.jpg (69.0 KB, 0 views)
File Type: jpg edit1.jpg (90.1 KB, 0 views)
File Type: jpg edit2.jpg (75.8 KB, 0 views)
File Type: jpg edit3.jpg (103.6 KB, 0 views)
File Type: jpg form_results_table.jpg (87.1 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
2 благодарности(ей) от:
hpidriver, vbresults

Comments
  #1332  
Old 09-07-2009, 09:33 PM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've noticed an issue with the humanverify feature. If you go to the adminCP

vBulletin Options > Human Verify Options
(note: not the human verification manager)

It gives you the option to verify human input on
  • Register
  • Post
  • Search
  • Contact Us
  • Recover Lost Password

When the "post" option is enabled here, it requires the human verification code in the post array when you make the call to vBulletin's build_new_post function.

However, the easy forms modification has its own validation for the humanverify variable. This causes issues, because once you verify the code it is instantly changed to something else (to prevent fraud). Meaning that once you try to send the humanverify variable to build_new_post it no longer matches - ultimately rejecting the post if you plan on posting the results of the form to a discussion area in the forum.


I'm going to try to create a workaround for this for myself, but it'll take me a lot longer than it would take bananalive. I'll post it here when I complete it, if bananalive doesn't address it first.
Reply With Quote
  #1333  
Old 09-08-2009, 01:09 PM
Welshy2008's Avatar
Welshy2008 Welshy2008 is offline
 
Join Date: Jul 2008
Location: UK
Posts: 904
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Oh - I see this Mod is No longer Supported.

Still - It is a Fab Mod - Wouldn't expect anything less from BA.
Reply With Quote
  #1334  
Old 09-10-2009, 07:25 PM
biome.pat biome.pat is offline
 
Join Date: Aug 2008
Location: Toronto, ON, Canada
Posts: 43
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The forum that's linked in the help file is closed now??? Please bring it back! I was just using it a month ago and it was so helpful! I had no idea how to use all the advanced features without it, but I was almost done making a really advanced application procedure using your modification!

I'm sure my project will get done, but I can't imagine anyone else having to tease out all your helpful hints/advice on their own!

Come on, PLEASE bring it back? Or at least post the info into a thread on vb.org???

Either way, thanks for the GREAT mod!

EDIT: And no, the WayBack Machine doesn't have http://www.bananalive.co.cc/showthread.php?t=119 on it... Rats.
Reply With Quote
  #1335  
Old 09-14-2009, 12:45 AM
rstan rstan is offline
 
Join Date: Mar 2004
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

wow 89 pages, my head hurts from reading...

i have a custom question pulling data from the db for the answer, it shows up fine on preview but nothing is there when submited. the data is a table in html format, im not sure if that is causing the problem? im not using any custom output.
Reply With Quote
  #1336  
Old 09-15-2009, 12:22 PM
reddyink reddyink is offline
 
Join Date: Aug 2007
Posts: 236
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I would like use Easy Form in a format for Thread and a different format for Post.

Like a question and answer

Thread: Which city do you like best

Post: City Name field
Population: field
Driving Distance.

Etc.

Can this be done with Easy Form?

Thanks
Reply With Quote
  #1337  
Old 09-16-2009, 04:47 PM
zushiba zushiba is offline
 
Join Date: Jan 2009
Posts: 53
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

No one answered my question on dynamic java select boxes so I spent a while messing around with custom questions until I got it working. Figured I'd share my findings in case anyone else has a similar issue.

This is probably not the best way to go about doing this but I had little choice so bare with me.

My problem, I needed select boxes that would change depending on their parent select box. IE Dynamic java select boxes.
I used Mirko Elviro's Multiple Dynamic Combo Boxes code available here.

I put the javascript in the form_view template, so yes it's added in every form regardless of whether or not those questions are used on that form. I couldn't find a way around it.
Code:
<script language="JavaScript" type="text/javascript">
<!--

/*
*** Multiple dynamic combo boxes
*** by Mirko Elviro, 9 Mar 2005
*** Script featured and available on JavaScript Kit (http://www.javascriptkit.com)
***
***Please do not remove this comment
*/

// This script supports an unlimited number of linked combo boxed
// Their id must be "combo_0", "combo_1", "combo_2" etc.
// Here you have to put the data that will fill the combo boxes
// ie. data_2_1 will be the first option in the second combo box
// when the first combo box has the second option selected


// first combo box

	data_1 = new Option("1", "$");
	data_2 = new Option("2", "$$");

// second combo box

	data_1_1 = new Option("11", "-");
	data_1_2 = new Option("12", "-");
	data_2_1 = new Option("21", "--");
	data_2_2 = new Option("22", "--");
	data_2_3 = new Option("23", "--");
	data_2_4 = new Option("24", "--");
	data_2_5 = new Option("25", "--");

// third combo box

	data_1_1_1 = new Option("111", "*");
	data_1_1_2 = new Option("112", "*");
	data_1_1_3 = new Option("113", "*");
	data_1_2_1 = new Option("121", "*");
	data_1_2_2 = new Option("122", "*");
	data_1_2_3 = new Option("123", "*");
	data_1_2_4 = new Option("124", "*");
	data_2_1_1 = new Option("211", "**");
	data_2_1_2 = new Option("212", "**");
	data_2_2_1 = new Option("221", "**");
	data_2_2_2 = new Option("222", "**");
	data_2_3_1 = new Option("231", "***");
	data_2_3_2 = new Option("232", "***");

// fourth combo box

	data_2_2_1_1 = new Option("2211","%")
	data_2_2_1_2 = new Option("2212","%%")

// other parameters

    displaywhenempty=""
    valuewhenempty=-1

    displaywhennotempty="-select-"
    valuewhennotempty=0


function change(currentbox) {
	numb = currentbox.id.split("_");
	currentbox = numb[1];

    i=parseInt(currentbox)+1

// I empty all combo boxes following the current one

    while ((eval("typeof(document.getElementById(\"combo_"+i+"\"))!='undefined'")) &&
           (document.getElementById("combo_"+i)!=null)) {
         son = document.getElementById("combo_"+i);
	     // I empty all options except the first one (it isn't allowed)
	     for (m=son.options.length-1;m>0;m--) son.options[m]=null;
	     // I reset the first option
	     son.options[0]=new Option(displaywhenempty,valuewhenempty)
	     i=i+1
    }


// now I create the string with the "base" name ("stringa"), ie. "data_1_0"
// to which I'll add _0,_1,_2,_3 etc to obtain the name of the combo box to fill

    stringa='data'
    i=0
    while ((eval("typeof(document.getElementById(\"combo_"+i+"\"))!='undefined'")) &&
           (document.getElementById("combo_"+i)!=null)) {
           eval("stringa=stringa+'_'+document.getElementById(\"combo_"+i+"\").selectedIndex")
           if (i==currentbox) break;
           i=i+1
    }


// filling the "son" combo (if exists)

    following=parseInt(currentbox)+1

    if ((eval("typeof(document.getElementById(\"combo_"+following+"\"))!='undefined'")) &&
       (document.getElementById("combo_"+following)!=null)) {
       son = document.getElementById("combo_"+following);
       stringa=stringa+"_"
       i=0
       while ((eval("typeof("+stringa+i+")!='undefined'")) || (i==0)) {

       // if there are no options, I empty the first option of the "son" combo
	   // otherwise I put "-select-" in it

	   	  if ((i==0) && eval("typeof("+stringa+"0)=='undefined'"))
	   	      if (eval("typeof("+stringa+"1)=='undefined'"))
	   	         eval("son.options[0]=new Option(displaywhenempty,valuewhenempty)")
	   	      else
	             eval("son.options[0]=new Option(displaywhennotempty,valuewhennotempty)")
	      else
              eval("son.options["+i+"]=new Option("+stringa+i+".text,"+stringa+i+".value)")
	      i=i+1
	   }
       //son.focus()
       i=1
       combostatus=''
       cstatus=stringa.split("_")
       while (cstatus[i]!=null) {
          combostatus=combostatus+cstatus[i]
          i=i+1
          }
       return combostatus;
    }
}

//-->
</script>
And for each seperate custom question I did the following.

PHP Code:
//Question 1
$thisanswer $q_{$formbit[id]};
$answer ="<select name="".$formbit[id]."" id="combo_0" onChange="change(this);" style="width:200px;">
    <option value="value1">-select-</option>
    <option value="value2">1</option>
    <option value="value3">2</option>

</select>"

PHP Code:
//Question 2
$thisanswer $q_{$formbit[id]};
$answer ="<select name="".$formbit[id]."" id="combo_1" onChange="change(this)" style="width:200px;">
    <option value="value1">  </option>
</select>"


PHP Code:
//Question 3
$thisanswer $q_{$formbit[id]};
$answer ="<select name="".$formbit[id]."" id="combo_2" onChange="change(this);" style="width:200px;">
    <option value="value1">  </option>
</select>"


PHP Code:
//Question 4
$thisanswer $q_{$formbit[id]};
$answer ="<select name="".$formbit[id]."" id="combo_3" onChange="change(this);" style="width:200px;">
    <option value="value1">  </option>

</select>"

Example

The questions work wonderfully and the values are submitted properly. Hope this is helpful to someone.
Reply With Quote
  #1338  
Old 09-18-2009, 08:34 AM
jl255 jl255 is offline
 
Join Date: May 2007
Posts: 175
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

are there any potential security issues with this hack considering that it might allow hackers to plant malicious code into the server.....

can anyone give some basic analysis? tks.
Reply With Quote
  #1339  
Old 09-18-2009, 09:21 PM
alloutvb alloutvb is offline
 
Join Date: May 2004
Posts: 36
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hello there i need to know how to tweak this thing out

when you do the check boxs in more then one row there not all even (see pic)

and the other one is then you make a section when they post there input it post the section then (Single Line Text Field) is right next to it and not down one line (see other pic)
Attached Images
File Type: jpg tabe.JPG (29.8 KB, 0 views)
File Type: jpg sec.JPG (10.1 KB, 0 views)
Reply With Quote
  #1340  
Old 09-22-2009, 10:51 AM
jaryx's Avatar
jaryx jaryx is offline
 
Join Date: May 2007
Posts: 42
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It is possible to replace the text in Dropdown Select by image?
For example, if the user selects (in the form) a number "1", how can I get (in the topic) "1" replace with image 1.jpg?
Reply With Quote
  #1341  
Old 09-25-2009, 07:03 PM
Flood Flood is offline
 
Join Date: Apr 2009
Location: Ireland
Posts: 23
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Am i doing this wrong. I uploaded the Clientscript files. Imported the xml file.

When i went to the admincp options it gave me the list of usergroups (ie admin mod etc...) not the usergroups ID. I couldn't add or delete usergroups.

I also had no permissions to access the forms page and couldn't create new forms either?
Reply With Quote
Reply


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 07:11 PM.


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.06556 seconds
  • Memory Usage 2,390KB
  • Queries Executed 26 (?)
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
  • (1)bbcode_code
  • (4)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (4)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (2)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (12)postbit_attachment
  • (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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete