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)

T_Richardson 04-28-2007 04:23 AM

I have a flash form and sends data via email. Would anyone know of a way to make a post in the forums by using the data sent by a flash form?

Part of my email.php

PHP Code:

<?php

$sendTo 
"webmaster@website.com";
$subject "Recruitment Form Submission";

$headers "From: " $_POST["firstName"] ." "$_POST["lastname"] . "<" $_POST["email"] .">\r\n";
$headers .= "Reply-To: " $_POST["email"] . "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "Return-path: " $_POST["email"];

$game_name "Game_Name: " $_POST["game_name"]."<br>" ." Location: "$_POST["location"];

mail($sendTo$subject$game_name$headers);

?>


MoB Zigmister 04-30-2007 06:11 AM

Error: Invalid Forum specified. My url is correct for sure.

When I install the custom form it takes down the unmodified original form, displaying the same error. The theme was also edited, but since the custom plugin made both forms crash it is the root of the problem, no? I can produce the template code if needed.

Any help would be greatly appreciated, especially after 3 nights of failure.

Plugin:
Code:

<plugin active="1" executionorder="4">
                        <title>form1</title>
                        <hookname>newthread_start</hookname>
                        <phpcode><![CDATA[$formname = "form1";

if ($_REQUEST['do'] == $formname)
{

$vbulletin->input->clean_array_gpc('p', array(
'answer1' => TYPE_STR,
'answer2' => TYPE_STR,
'answer3' => TYPE_STR,
'answer4' => TYPE_STR,
'dropdownanswer1' => TYPE_STR,
'answer5' => TYPE_STR,
'answer6' => TYPE_STR,
'answer7' => TYPE_STR,
'answer8' => TYPE_STR,
'longanswer1' => TYPE_STR,
'longanswer2' => TYPE_STR,
'longanswer3' => TYPE_STR,
'longanswer4' => TYPE_STR,
'longanswer5' => TYPE_STR,
'longanswer6' => TYPE_STR,
'longanswer7' => TYPE_STR,
'longanswer8' => TYPE_STR,
'longanswer9' => TYPE_STR
));

$answer1 = $vbulletin->GPC['answer1'];
$answer2 = $vbulletin->GPC['answer2'];
$answer3 = $vbulletin->GPC['answer3'];
$answer4 = $vbulletin->GPC['answer4'];
$dropdownanswer1 = $vbulletin->GPC['dropdownanswer1'];
$answer5 = $vbulletin->GPC['answer5'];
$answer6 = $vbulletin->GPC['answer6'];
$answer7 = $vbulletin->GPC['answer7'];
$answer8 = $vbulletin->GPC['answer8'];
$longanswer1 = $vbulletin->GPC['longanswer1'];
$longanswer2 = $vbulletin->GPC['longanswer2'];
$longanswer3 = $vbulletin->GPC['longanswer3'];
$longanswer4 = $vbulletin->GPC['longanswer4'];
$longanswer5 = $vbulletin->GPC['longanswer5'];
$longanswer6 = $vbulletin->GPC['longanswer6'];
$longanswer7 = $vbulletin->GPC['longanswer7'];
$longanswer8 = $vbulletin->GPC['longanswer8'];
$longanswer9 = $vbulletin->GPC['longanswer9'];

// if (!in_array($vbulletin->userinfo['usergroupid'], array(2,5,6,7))) print_no_permission();

$maintemplate = "form1";
$answertemplate = "form1answers";

$formforum = "0";

$formforumid = "89";

$formpoll = "0";
$polloption[1] = "Yes";
$polloption[2] = "No";
$polloption[3] = "Maybe";

$pollpublic = "0";

$formreply = "0";

$formreplythreadid = "12345";

$formpm = "1";

$formpmname = "MoB Zigmister";

$formemail = "0";

$formemailaddress = "youremail@yourforums.com";

$allow_attachments = "0";

$redirectoption = "0";

$errormessage = "Thank you";

$answerall = "0";

$formtitle = "form1";

$posttitle = "$formtitle - $bbuserinfo[username]";

$formpurpose = "purpose";

$question1 = "1";
$explain1 = "1e";
$question2 = "2";
$explain2 = "2e";
$question3 = "3";
$explain3 = "3e";
$question4 = "4";
$explain4 = "4e";
$dropdownquestion1 = "Gender";
$dropdownchoice1a = "No Comment";
$dropdownchoice1b = "Female";
$dropdownchoice1c = "Male";
$question5 = "5";
$explain5 = "5e";
$question6 = "6";
$explain6 = "6e";
$question7 = "7";
$question8 = "8";
$longquestion1 = "l1";
$longquestion2 = "l2";
$longquestion3 = "l3";
$longquestion4 = "l4";
$longquestion5 = "l5";
$longquestion6 = "l6";
$longquestion7 = "l7";
$longquestion8 = "l8";
$longquestion9 = "l9";

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 == '' $answer6 == '' OR  $answer7 == '' OR $answer8 == '' OR $longanswer1 == '' OR $longanswer2 == '' OR $longanswer3 == '' OR $longanswer4 == '' OR $longanswer5 == '' OR $longanswer6 == '' OR $longanswer7 == '' OR $longanswer8 == '' OR $longanswer9 == '')
        {
            $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") . '");');
}
}]]></phpcode>
                </plugin>


XxBuLLeTz 05-01-2007 09:57 AM

I like this hack alot. But us there anyway to delete the text box at the bottom of the page (Im talking about the text box that you use to reply to a thread).

ComputerVitals 05-01-2007 12:45 PM

Quote:

Originally Posted by XxBuLLeTz (Post 1238810)
I like this hack alot. But us there anyway to delete the text box at the bottom of the page (Im talking about the text box that you use to reply to a thread).


Thats in the Form template in your "Styles and Templates.

ComputerVitals 05-01-2007 10:04 PM

I added a if statement.
It will either show the bbuser[email] or a text input for them to add a email address.

this works great, shows in the post, and in the PM. Also the email you set in the hook sends like it should.
But I also want to send an email to the user that same form.
Any idea how?

Deepdog009 05-02-2007 11:48 AM

Quote:

Originally Posted by MoB Zigmister (Post 1238044)
Error: Invalid Forum specified. My url is correct for sure.

When I install the custom form it takes down the unmodified original form, displaying the same error. The theme was also edited, but since the custom plugin made both forms crash it is the root of the problem, no? I can produce the template code if needed.

Any help would be greatly appreciated, especially after 3 nights of failure.

Plugin:
Code:

<plugin active="1" executionorder="4">
                        <title>form1</title>
                        <hookname>newthread_start</hookname>
                        <phpcode><![CDATA[$formname = "form1";

if ($_REQUEST['do'] == $formname)
{

$vbulletin->input->clean_array_gpc('p', array(
'answer1' => TYPE_STR,
'answer2' => TYPE_STR,
'answer3' => TYPE_STR,
'answer4' => TYPE_STR,
'dropdownanswer1' => TYPE_STR,
'answer5' => TYPE_STR,
'answer6' => TYPE_STR,
'answer7' => TYPE_STR,
'answer8' => TYPE_STR,
'longanswer1' => TYPE_STR,
'longanswer2' => TYPE_STR,
'longanswer3' => TYPE_STR,
'longanswer4' => TYPE_STR,
'longanswer5' => TYPE_STR,
'longanswer6' => TYPE_STR,
'longanswer7' => TYPE_STR,
'longanswer8' => TYPE_STR,
'longanswer9' => TYPE_STR
));

$answer1 = $vbulletin->GPC['answer1'];
$answer2 = $vbulletin->GPC['answer2'];
$answer3 = $vbulletin->GPC['answer3'];
$answer4 = $vbulletin->GPC['answer4'];
$dropdownanswer1 = $vbulletin->GPC['dropdownanswer1'];
$answer5 = $vbulletin->GPC['answer5'];
$answer6 = $vbulletin->GPC['answer6'];
$answer7 = $vbulletin->GPC['answer7'];
$answer8 = $vbulletin->GPC['answer8'];
$longanswer1 = $vbulletin->GPC['longanswer1'];
$longanswer2 = $vbulletin->GPC['longanswer2'];
$longanswer3 = $vbulletin->GPC['longanswer3'];
$longanswer4 = $vbulletin->GPC['longanswer4'];
$longanswer5 = $vbulletin->GPC['longanswer5'];
$longanswer6 = $vbulletin->GPC['longanswer6'];
$longanswer7 = $vbulletin->GPC['longanswer7'];
$longanswer8 = $vbulletin->GPC['longanswer8'];
$longanswer9 = $vbulletin->GPC['longanswer9'];

// if (!in_array($vbulletin->userinfo['usergroupid'], array(2,5,6,7))) print_no_permission();

$maintemplate = "form1";
$answertemplate = "form1answers";

$formforum = "0";

$formforumid = "89";

$formpoll = "0";
$polloption[1] = "Yes";
$polloption[2] = "No";
$polloption[3] = "Maybe";

$pollpublic = "0";

$formreply = "0";

$formreplythreadid = "12345";

$formpm = "1";

$formpmname = "MoB Zigmister";

$formemail = "0";

$formemailaddress = "youremail@yourforums.com";

$allow_attachments = "0";

$redirectoption = "0";

$errormessage = "Thank you";

$answerall = "0";

$formtitle = "form1";

$posttitle = "$formtitle - $bbuserinfo[username]";

$formpurpose = "purpose";

$question1 = "1";
$explain1 = "1e";
$question2 = "2";
$explain2 = "2e";
$question3 = "3";
$explain3 = "3e";
$question4 = "4";
$explain4 = "4e";
$dropdownquestion1 = "Gender";
$dropdownchoice1a = "No Comment";
$dropdownchoice1b = "Female";
$dropdownchoice1c = "Male";
$question5 = "5";
$explain5 = "5e";
$question6 = "6";
$explain6 = "6e";
$question7 = "7";
$question8 = "8";
$longquestion1 = "l1";
$longquestion2 = "l2";
$longquestion3 = "l3";
$longquestion4 = "l4";
$longquestion5 = "l5";
$longquestion6 = "l6";
$longquestion7 = "l7";
$longquestion8 = "l8";
$longquestion9 = "l9";

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 == '' $answer6 == '' OR  $answer7 == '' OR $answer8 == '' OR $longanswer1 == '' OR $longanswer2 == '' OR $longanswer3 == '' OR $longanswer4 == '' OR $longanswer5 == '' OR $longanswer6 == '' OR $longanswer7 == '' OR $longanswer8 == '' OR $longanswer9 == '')
        {
            $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") . '");');
}
}]]></phpcode>
                </plugin>


MoB Zigmister zip all three files ( both templates and plugin) in txt format and upload, I shall check it out 4 ya.???

Deepdog009 05-02-2007 11:53 AM

Quote:

Originally Posted by T_Richardson (Post 1236842)
I have a flash form and sends data via email. Would anyone know of a way to make a post in the forums by using the data sent by a flash form?

Part of my email.php

PHP Code:

<?php

$sendTo 
"webmaster@website.com";
$subject "Recruitment Form Submission";

$headers "From: " $_POST["firstName"] ." "$_POST["lastname"] . "<" $_POST["email"] .">\r\n";
$headers .= "Reply-To: " $_POST["email"] . "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "Return-path: " $_POST["email"];

$game_name "Game_Name: " $_POST["game_name"]."<br>" ." Location: "$_POST["location"];

mail($sendTo$subject$game_name$headers);

?>


Yes it should be possible, but it will take some modifications. Zip yo files and upload T_Richardson. I shall take a look into implementing this. I was just thinking about creating some flash forms last month. Very busy so give me some time if you be interested.

Good luck:cool:

samual 05-02-2007 02:21 PM

Can someone give me a hand? I am trying to add some more fields to this form. Under "normal question 1" I would like to add a few more questions. here is what I did but had no luck. What do I need to do to get these fields to show up?

// Part 1
$vbulletin->input->clean_array_gpc('p', array(
'normalanswer1' => TYPE_STR,
'normalanswer2' => TYPE_STR, (I added)

// Part 2
$normalanswer1 = $vbulletin->GPC['normalanswer1'];
$normalanswer2 = $vbulletin->GPC['normalanswer2']; (I added)

$normalquestion1 = "What is your Character's Name";

$normalquestion2 = "Character's Race"; (I added)

I have allot more questions that I would like to add. What am I missimg?

ComputerVitals 05-02-2007 02:25 PM

Quote:

Originally Posted by samual (Post 1239757)
Can someone give me a hand? I am trying to add some more fields to this form. Under "normal question 1" I would like to add a few more questions. here is what I did but had no luck. What do I need to do to get these fields to show up?

I have allot more questions that I would like to add. What am I missimg?

Now you have to look in your templates
"form" template

Look for:
[/code]
<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>[/code]

And adjust as needed. Or copy that and change the "$normalquestion2" Same goes for the answer2 values.

ComputerVitals 05-02-2007 02:26 PM

Quote:

Originally Posted by ComputerVitals (Post 1239315)
I added a if statement.
It will either show the bbuser[email] or a text input for them to add a email address.

this works great, shows in the post, and in the PM. Also the email you set in the hook sends like it should.
But I also want to send an email to the user that same form.
Any idea how?

I got the the hook to send the form to the registered user as well. But.

I would like to put a link to the thread in the email.
how do I do that?


All times are GMT. The time now is 09:28 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.02227 seconds
  • Memory Usage 1,991KB
  • 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
  • (2)bbcode_code_printable
  • (2)bbcode_php_printable
  • (5)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (3)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