vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.6 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=194)
-   -   New Posting Features - Form Hack (https://vborg.vbsupport.ru/showthread.php?t=126676)

attroll 01-22-2008 03:27 PM

Quote:

Originally Posted by curse-1 (Post 1426531)
First-> THX for Support!

In the first picture (aufzeichnung.jpg) is the current display.


In the second, I picture (unbenannt.jpg) it with an image editing program to edit as I like it wants. But I do not know how?

I have been in the template "form" much edited, but without success. The arrangement is apparently where otherwise stated.

greez curse

It looks like you are missing a td or tr tag somewhere. If you want to post your form template I will look at it or you can send it in a pm and I will look at it for you later tonight after work.

attroll 01-22-2008 03:47 PM

Quote:

Originally Posted by theoz1 (Post 1426455)
Yea I tried that before and it didnt work, tried it again still didnt. This is what its suppose to be?

if ($normalanswer1 == '' OR $radioanswer1 == '' OR $radioanswer2 == '' OR $radioanswer3 == '' OR $answer1 == '' OR $answer2 == '' OR $answer3 == '' OR $answer4 == '' OR $answer5 == '' OR ($checkboxchoice1_1 AND $checkboxchoice1_2 AND $checkboxchoice1_3) OR $longanswer1 == '')

If you only have 5 questions then try getting ride of all the excess code in that statement and see if that helps. It would look like this:
Code:

if ($answer1 == '' OR $answer2 == '' OR $answer3 == '' OR $answer4 == '' OR $answer5 == '')
Also make sure that you template "form" is set up correctly in the right order because if that it not in the right order it could screw up you "formanswers" post.

What does you template "form" look like?

theoz1 01-22-2008 08:06 PM

$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.
https://vborg.vbsupport.ru/external/2008/01/14.jpg
https://vborg.vbsupport.ru/external/2008/01/15.jpg

is this what you meant by the template form?

once again thx for the help.

attroll 01-23-2008 04:32 AM

Quote:

Originally Posted by theoz1 (Post 1426870)
.is this what you meant by the template form?

once again thx for the help.

Yeah that was sort of what I meant.

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 == '')


Deety 01-23-2008 07:07 AM

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. :p

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:

if ($checkboxchoice1_1 1)
{
$formforumid "1";
}
else
if (
$checkboxchoice1_2 1)
{
$formforumid "2";
}
else
if (
$checkboxchoice1_3 1)
{
$formforumid "3";
}
else
$formforumid "4"


theoz1 01-23-2008 08:02 PM

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&amp;poststarttime=$poststarttime&amp;posthash=$posthash";
                        }
                        else
                        {
                                $attach_editor['hash'] = $forumid;
                                $attach_editor['url'] = "newattachment.php?$session[sessionurl]f=$forumid&amp;poststarttime=$poststarttime&amp;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") . '");');
}
}


attroll 01-24-2008 04:51 AM

Quote:

Originally Posted by theoz1 (Post 1427591)
this is my lower code

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.

p1a6u3 01-27-2008 02:42 AM

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>


attroll 01-27-2008 04:31 AM

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.

p1a6u3 01-27-2008 04:58 AM

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!


All times are GMT. The time now is 08:14 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.02062 seconds
  • Memory Usage 1,894KB
  • 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
  • (5)bbcode_code_printable
  • (1)bbcode_php_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (4)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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