vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.5 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=113)
-   -   Forms Hack (https://vborg.vbsupport.ru/showthread.php?t=93970)

Abe1 08-09-2005 10:00 PM

Forms Hack
 
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.
https://vborg.vbsupport.ru/external/2010/02/12.gif

jugo 08-10-2005 11:22 AM

Woohoo!!!

This has always been my Favorite Hack Ever!!

Thanks to Erwin and now Abe1 for this.

Cyricx 08-10-2005 11:39 AM

Very awesome!!!

Totally agree with Jugo, I think I have 8 or 9 forms running on my site now :)

Thanks!

Cyricx 08-10-2005 12:37 PM

Hmmm testing this, even the generic unaltered form.

Answers are not posting to the forum. The template posts comes up right, and the questions do.. but the answers are blank.

Abe1 08-10-2005 01:29 PM

Quote:

Originally Posted by Cyricx
Hmmm testing this, even the generic unaltered form.

Answers are not posting to the forum. The template posts comes up right, and the questions do.. but the answers are blank.

Ok. I will look into this.

Abe1 08-10-2005 10:53 PM

Quote:

Originally Posted by Cyricx
Hmmm testing this, even the generic unaltered form.

Answers are not posting to the forum. The template posts comes up right, and the questions do.. but the answers are blank.

Fixed.

Cyricx 08-11-2005 12:05 PM

Tested and works :)

Thanks so much!!! :D

[high]* Cyricx gets busy updating his dozen or so forms...[/high]

Cyricx 08-11-2005 12:58 PM

One more bug fix for ya bud.

If you use a tableprefix and use this thread to post a reply, you'll get an error, missed 2 table prefixs. :)

Change this in the plugin
Code:

    if ($formreply == "1") {
      $db->query("INSERT INTO post (postid,threadid,title,username,userid,dateline,pagetext,allowsmilie,showsignature,ipaddress,iconid,visible) VALUES (NULL,'$formreplythreadid','".$db->escape_string(htmlspecialchars($bbuserinfo[username]))." $formtitle','".$db->escape_string($bbuserinfo[username])."','$bbuserinfo[userid]','".time()."','" . $db->escape_string($formsend) . "','1','1','0','0','1')");
          $db->query("UPDATE thread SET replycount = replycount + 1, lastpost = " . TIMENOW . ", lastposter = '".$db->escape_string($bbuserinfo[username])."' WHERE threadid = $formreplythreadid");

To this
Code:

    if ($formreply == "1") {
      $db->query("INSERT INTO " . TABLE_PREFIX . "post (postid,threadid,title,username,userid,dateline,pagetext,allowsmilie,showsignature,ipaddress,iconid,visible) VALUES (NULL,'$formreplythreadid','".$db->escape_string(htmlspecialchars($bbuserinfo[username]))." $formtitle','".$db->escape_string($bbuserinfo[username])."','$bbuserinfo[userid]','".time()."','" . $db->escape_string($formsend) . "','1','1','0','0','1')");
          $db->query("UPDATE " . TABLE_PREFIX . "thread SET replycount = replycount + 1, lastpost = " . TIMENOW . ", lastposter = '".$db->escape_string($bbuserinfo[username])."' WHERE threadid = $formreplythreadid");


Abe1 08-14-2005 02:46 AM

I decided to acually work on this hack. I made new thread, new poll, new post, and new PM all use VB's functions instead of the form runing the queries. This alows everything to be done correctly. Words beng added to search, subsciptions being emailed, and so on.

Here is the offical list of this major update:

Version 2.5 - Major update:
- Templates have a few lines changed here and there.
- You can now have more then 2 poll options very eazaly
- Polls can'tbe 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

jugo 08-14-2005 04:30 AM

LOL..Nice work Abe...

Classy!!

Bro_Joey_Gowdy 08-15-2005 07:34 PM

*Rowdy clicks install*

Hamma 08-16-2005 05:55 PM

When I import this, it's blank? :confused:

Any ideas?

Hamma 08-16-2005 06:10 PM

Nevermind, I imported into the wrong location :)

Michael2 08-17-2005 12:04 PM

Installed and works but it doesn't look like vB code will work in the answers template. Any way to get that to work so that I can bold the questions when the results are spit out?

Hamma 08-17-2005 03:18 PM

Quote:

Originally Posted by Michael2
Installed and works but it doesn't look like vB code will work in the answers template. Any way to get that to work so that I can bold the questions when the results are spit out?

You can use HTML for that :D

I have a question - I have mine posting to a new thread. One problem is when the thread gets posted it goes into the moderation queue - any idea how to stop taht? It does not appear to be the forum perms causing it.

Abe1 08-17-2005 11:19 PM

Quote:

Originally Posted by Hamma
You can use HTML for that :D

I have a question - I have mine posting to a new thread. One problem is when the thread gets posted it goes into the moderation queue - any idea how to stop taht? It does not appear to be the forum perms causing it.

Either forum permissions or usergroup permissions. It uses the vb function so it's got to be something in vb that is telling it moderate it.

Abe1 08-17-2005 11:20 PM

Quote:

Originally Posted by Michael2
Installed and works but it doesn't look like vB code will work in the answers template. Any way to get that to work so that I can bold the questions when the results are spit out?

bb code will work in the answer template if you make sure to have a space or go to next line after a varable.

Erwin 08-17-2005 11:27 PM

Nice work. :) Thanks for doing it.

Abe1 08-17-2005 11:31 PM

Quote:

Originally Posted by Erwin
Nice work. :) Thanks for doing it.

Your very welcome. And thanks again for your permission. I did listen to your only request about making it a plugin hack :)

XdePloppy 08-18-2005 07:08 AM

With the previcious version I could use parameters using ?param1=lsdkfjkl&param2=blabla

Is it posible to use it in this version?

Abe1 08-18-2005 10:08 AM

Quote:

Originally Posted by XdePloppy
With the previcious version I could use parameters using ?param1=lsdkfjkl&param2=blabla

Is it posible to use it in this version?

Yes. Here is an example:

The link would be: newthread.php?do=form&param1=lsdkfjkl&param2=blabl a

In the plugin, you have to add:

PHP Code:

$vbulletin->input->clean_array_gpc('r', array(
'param1' => STR,
'param2' => STR
));

$param1 =& $vbulletin->GPC['param1'];
$param2 =& $vbulletin->GPC['param2']; 


XdePloppy 08-18-2005 04:26 PM

OWSOME, it works smoothhhhhhhhhhhh :), thx m8

Sovereign 08-20-2005 01:25 AM

One issue, the default questions won't go away! The question for "is it yes or no if yes please explain" is still displaying despite my eliminating that code! www.alliancemodding.com/vb/newthread.php?do=rpg

lcryan 08-20-2005 02:47 AM

it completly messes up my forum it throws the header all over the place and the footer all over the place

Abe1 08-21-2005 12:42 AM

Quote:

Originally Posted by Sovereign
One issue, the default questions won't go away! The question for "is it yes or no if yes please explain" is still displaying despite my eliminating that code! www.alliancemodding.com/vb/newthread.php?do=rpg

You have to remove it from the tempate also.

Abe1 08-21-2005 12:43 AM

Quote:

Originally Posted by lcryan
it completly messes up my forum it throws the header all over the place and the footer all over the place

Can you get a screenshot and what did you do to the hack besides installing it?

Abe1 08-21-2005 05:18 AM

version 2.6 released.

fixed bug with posts having to be moderated


WHAT THE CHANGES WERE:

in the plugin,

FIND:
PHP Code:

$foruminfo verify_id('forum'$formforumid01); 

Add after:
PHP Code:

$forumperms fetch_permissions($foruminfo[forumid]); 

FIND:
PHP Code:

$threadinfo verify_id('thread'$formreplythreadid01); 

Add after:
PHP Code:

$forumperms fetch_permissions($threadinfo[forumid]); 


RMS-Chef 08-21-2005 06:15 PM

Thanks for this update. There are a few things I would need to be able to use this though. Is any of the following possible?

Immediate Wish List
-URLs submitted are clickable in the resulting post

Complicated? Wish List
-Have something like $titlefield1, $titlefield2, $titlefield3, etc. that when completed, generates the thread title for a new post or subject line for a sent email, etc. As a generic example say for submitting an auction item: "Title", "Location", and "Cost". The user would fill in something like: "2000 Ford Mustang for sale", "Ebay", and "$12,000". Then the resulting generated thread title would be: "2000 Ford Mustang for sale | Ebay | $12,000"

Zain Jaffer 08-21-2005 09:03 PM

Quote:

Originally Posted by Abe1
Either forum permissions or usergroup permissions. It uses the vb function so it's got to be something in vb that is telling it moderate it.

But then users can also make normal threads in that forum part. What if you don't want users to post in that forum but you do want them to fill in the form?
I mean this for like a news submit system. That would get in the news area...

Sovereign 08-21-2005 11:56 PM

so do I have to make copies of the plugin to make more forms?

Abe1 08-22-2005 03:14 AM

Quote:

Originally Posted by Zain Jaffer
But then users can also make normal threads in that forum part. What if you don't want users to post in that forum but you do want them to fill in the form?
I mean this for like a news submit system. That would get in the news area...

Check out the lates update. It fixes this.

Abe1 08-22-2005 03:16 AM

Quote:

Originally Posted by RMS-Chef
Thanks for this update. There are a few things I would need to be able to use this though. Is any of the following possible?

Immediate Wish List
-URLs submitted are clickable in the resulting post

Complicated? Wish List
-Have something like $titlefield1, $titlefield2, $titlefield3, etc. that when completed, generates the thread title for a new post or subject line for a sent email, etc. As a generic example say for submitting an auction item: "Title", "Location", and "Cost". The user would fill in something like: "2000 Ford Mustang for sale", "Ebay", and "$12,000". Then the resulting generated thread title would be: "2000 Ford Mustang for sale | Ebay | $12,000"

Are you saying URL are not parsed?

The second is easy. Maybe for next release.

Abe1 08-22-2005 03:16 AM

Quote:

Originally Posted by Sovereign
so do I have to make copies of the plugin to make more forms?

Yes.

RMS-Chef 08-22-2005 03:26 AM

Quote:

Originally Posted by Abe1
Are you saying URL are not parsed?

The second is easy. Maybe for next release.

No, for example, when testing the default form I entered a URL (including the http://) and it is not being parsed.

And if you could get my second request going, other than vBAdvanced CMPS, this would be the #2 most usefull hack for me. I just really can't use it if all thread titles are the same.

Thanks again for your quick responses.

Abe1 08-22-2005 03:30 AM

Quote:

Originally Posted by RMS-Chef
No, for example, when testing the default form I entered a URL (including the http://) and it is not being parsed.

And if you could get my second request going, other than vBAdvanced CMPS, this would be the #2 most usefull hack for me. I just really can't use it if all thread titles are the same.

Thanks again for your quick responses.

This way do dont have to wait,

Find this 2 times:
$newpost['title'] =& $formtitle;

and replace the $formtitle with any varable you want from the form. If you want 2 together, put them in quotes.

Abe1 08-22-2005 03:31 AM

Yes, I know i'm awsome, you dont have to say it ;)

This is what I do on my site for my forms.

RMS-Chef 08-22-2005 05:15 AM

Quote:

Originally Posted by Abe1
Yes, I know i'm awsome, you dont have to say it ;)

This is what I do on my site for my forms.

Thank you very much. Figures I have to go to sleep before giving this a shot. :(
I will try things out tomorrow, and thanks again.

Sovereign 08-22-2005 01:22 PM

Now that I understand this thing, [INSTALL] When you make a copy of the plugin, does it generate the templates for you or do you have to write them?

RMS-Chef 08-22-2005 05:46 PM

Quote:

Originally Posted by RMS-Chef
No, for example, when testing the default form I entered a URL (including the http://) and it is not being parsed.

And if you could get my second request going, other than vBAdvanced CMPS, this would be the #2 most usefull hack for me. I just really can't use it if all thread titles are the same.

Thanks again for your quick responses.

It does pass bbcode fine though.

So, if I enter:
Code:

http://yahoo.com
I just get unparsed text in the post.

But if I enter (I wont enter correctly or it will parse here as well):
Code:

[ url=http://yahoo.com ]Yahoo[ /url ]
I get the clickable link.

One of my required $longanswer fields are file URL locations so without URLs being parsed and the lack of a WYSIWYG editor controls, I fear my average user will not do things right.

Abe1 08-22-2005 07:14 PM

Quote:

Originally Posted by RMS-Chef
It does pass bbcode fine though.

So, if I enter:
Code:

http://yahoo.com
I just get unparsed text in the post.

But if I enter (I wont enter correctly or it will parse here as well):
Code:

[ url=http://yahoo.com ]Yahoo[ /url ]
I get the clickable link.

One of my required $longanswer fields are file URL locations so without URLs being parsed and the lack of a WYSIWYG editor controls, I fear my average user will not do things right.

I'm going to work on getting the forum default options to work on the parsing. I understand the problem.


All times are GMT. The time now is 06:39 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.02294 seconds
  • Memory Usage 1,867KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (6)bbcode_code_printable
  • (5)bbcode_php_printable
  • (18)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (40)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete