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)

wizadora 07-18-2006 02:03 PM

Hi,

This works great for posting into one forum, but I'm having a problem figuring out how to get it to post to various forums depending on the value selected from the drop-down.

What I am trying to achieve is this :

If dropdownanswer1 = dropdownchoice1a then formforumid="59"
If dropdownanswer1 = dropdownchoice1b then formforumid="26"

I have about 18 different forums where this form will be used, I only have 3 in the templates for now for testing.

Can't seem to figure out whether the problem lies in the hook, or whether there needs to be some template mod.

Anything I try results in either a parse error or a scalar value error.

Any help appreciated.

Thx.


PHP Code:

// To add more then one form, copy this whole text, and creat a new plug-in with the hook location 'newthread_start'.
// After, change the form name. You can't have 2 forms with the same name.

// Name of this form
$formname "guildpm";

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

// #######################################################################
// ######################## CUSTOMIZE VARIABLES ##########################
// #######################################################################

////////////////////////////////////////////////////////////////////////////////////////////////////
////// BEGIN CUSTOMIZATION BELOW////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////
//VARIABLES
//Study how variables are add here to add or remove any. If you add a variable to your form, you must add it to part one and part two.
////////////////////////////////////////////////////////////////////////////////////////////////////

// Part 1
$vbulletin->input->clean_array_gpc('p', array(
//'radioanswer1' => TYPE_STR,
'answer1' => TYPE_STR,
'answer2' => TYPE_STR,
//'answer3' => TYPE_STR,
//'answer4' => TYPE_STR,
//'answer5' => TYPE_STR,
//'answer6' => TYPE_STR,
//'answer7' => TYPE_STR,
'longanswer1' => TYPE_STR,
//'longanswer2' => TYPE_STR,
'dropdownanswer1' => TYPE_STR,
//'answer8' => TYPE_STR,
));

// Part 2
//$radioanswer1 = $vbulletin->GPC['radioanswer1'];
$answer1 $vbulletin->GPC['answer1'];
$answer2 $vbulletin->GPC['answer2'];
//$answer3 = $vbulletin->GPC['answer3'];
//$answer4 = $vbulletin->GPC['answer4'];
//$answer5 = $vbulletin->GPC['answer5'];
//$answer6 = $vbulletin->GPC['answer6'];
//$answer7 = $vbulletin->GPC['answer7'];
$longanswer1 $vbulletin->GPC['longanswer1'];
//$longanswer2 = $vbulletin->GPC['longanswer2'];
//$answer8 = $vbulletin->GPC['answer8'];
$dropdownanswer1 $vbulletin->GPC['dropdownanswer1'];

////////////////////////////////////////////////////////////////////////////////////////////////////
//USERGROUPS ALLOWED
//You can add or remove usegroups that are ALLOWED to use this form by changing the numbers below in the array.
//To enable this feature, remove the '//' before the 'if'.
////////////////////////////////////////////////////////////////////////////////////////////////////

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

////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////
//NAME OF TEMPLATES - DO THIS BIT IF YOU ARE MAKING MORE FORMS AND WANT TO USE A DIFFERENT LOOKING TEMPLATE
////////////////////////////////////////////////////////////////////////////////////////////////////

// Name of the main template
$maintemplate "gui_form_guildpm";
// Name of the answer template
$answertemplate "gui_formanswers_guildpm";

////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////
//CHOOSE WHETHER YOU WANT FORM TO BE POSTED IN A NEW THREAD, NEW POLL, REPLY TO EXISITING THREAD, PMed OR EMAILED
///////////////////////////////////////////////////////////////////////////////////////////////////

//ENABLE FORM TO BE POSTED - 1 = yes, 0 = no
$formforum "1";

//FORUM TO POST NEW THREAD IN
//You CAN make this number a variable. You can have a drop down menu or in the link like do=form&f=1. Make sure you add it the variables list.

$formforumid "109";
//$formforumid = $f ;


//ENABLE POLL TO BE CREATED - 1 = yes, 0 = no
$formpoll "0";
$polloption[1] = "Approve";
$polloption[2] = "Denied";
$polloption[3] = "Decline";
$polloption[4] = "No vote";

//Make poll public - 1 = yes, 0 = no
$pollpublic "0";

////////////////////////////////////////////////////////////////////////////////////////////////////

//ENABLE FORM TO REPLY TO EXISTING THREAD - 1 = yes, 0 = no
$formreply "0";

//EXISTING THREAD ID FOR FORM TO REPLY IN
$formreplythreadid "12345";

////////////////////////////////////////////////////////////////////////////////////////////////////

//ENABLE FORM TO BE PMED (guests CANNOT use this option) - 1 = yes, 0 = no
$formpm "0";

//USERNAME TO PM TO
$formpmname "Abe";

////////////////////////////////////////////////////////////////////////////////////////////////////

//ENABLE FORM TO BE EMAILED - 1 = yes, 0 = no
$formemail "0";

//EMAIL ADDRESS TO EMAIL TO
$formemailaddress "youremail@yourforums.com";

////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////
//REDIRECT OPTIONS:
// 0 - thank you message (thread, reply, pm, or email)
// 1 - redirect to post (thread or reply)
// 2 - redirect to thread (thread only)
// 3 - redirect to forum (thread only)
// 4 - redirect to editpost to upload attachments (thread or reply)
//
// Feel free to change the thank you message if you choose option 0
////////////////////////////////////////////////////////////////////////////////////////////////////

$redirectoption "0";

$errormessage "Letter has now been posted to the Guild."//This is the thank you message

////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////
//FORCE USER TO ANSWER ALL QUESTIONS - 1 = yes, 0 = no
//If you added or deleted variables, you must edit what it checked for. Search for "$answerall ==" and edit 2 lines under it.
////////////////////////////////////////////////////////////////////////////////////////////////////

$answerall "0";

////////////////////////////////////////////////////////////////////////////////////////////////////
//TITLE OF FORM (do not use quotation marks or you will get a parse error, besides the quotes around the whole title)
////////////////////////////////////////////////////////////////////////////////////////////////////

$formtitle "Send a Letter to a Guild";

////////////////////////////////////////////////////////////////////////////////////////////////////
//TITLE OF THREAD/POST/PM/EMAIL (do not use quotation marks in the title or you will get a parse error)
//You may use variables from the form for this.
////////////////////////////////////////////////////////////////////////////////////////////////////

$posttitle "$answer1 | $answer2";

////////////////////////////////////////////////////////////////////////////////////////////////////
//PURPOSE OF FORM (do not use quotation marks or you will get a parse error, besides the quotes around the whole text)
////////////////////////////////////////////////////////////////////////////////////////////////////

$formpurpose "The purpose of this form is to allow you to send an IC letter to a Guild. The letter will only be seen by that Guild";

////////////////////////////////////////////////////////////////////////////////////////////////////


//$radioquestion1 = "Choose the type of your request:";
//$radiochoice1a = "Request for Class";
//$radiochoice1b = "Request for Subrace";
//$radiochoice1c = "Request for Special Names";
//$radiochoice1d = "Other Requests";

$question1 "1. Name of Character:";
$explain1 "Please enter your characters name here.";

$question2 "Subject";
$explain2 "Please enter a subject line";

//$question3 = "3. NWN Account:";
//$explain3 = "Please enter your NWN account with which you want to create the requested character.";

//$question4 = "4. Current level of character:";
//$explain4 = "Please enter the current level of your character (in case it already exists).";

//$question5 = "5. Current CLASS of character:";
//$explain5 = "";

//$question6 = "6. Alignment:";
//$explain6 = "";

//$question7 = "7. Spell focus or Weapon focus:";
//$explain7 = "";

$longquestion1 "Enter Letter here";
$longexplain1 "Enter your IC letter here";

//$longquestion2 = "9. An OOC summary of the request:";
//$longexplain2 = "";

//$question8 = "10. Mentor's name for any class that may require:";
//$explain8 = "";

$dropdownquestion1 "Which Guild to send this to";

// The following choices must NOT have quotation marks
$dropdownchoice1a "Blackwood";
$dropdownchoice1b "Halfling Alliance";
$dropdownchoice1c "LightWarrior Merchants";


////////////////////////////////////////////////////////////////////////////////////////////////
////// END OF CUSTOMIZATION ////////////////////////////////////////////////////////////////////
/////  DO NOT CHANGE BELOW UNLESS YOU KNOW WHAT YOU ARE DOING!!! ////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

// #######################################################################
// ######################## 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 (
$normalanswer1 == '' OR $radioanswer1 == '' OR $radioanswer2 == '' OR $radioanswer3 == '' OR $answer1 == '' OR $answer2 == '' OR $answer3 == '' OR ($checkboxchoice1_1 AND $checkboxchoice1_2 AND $checkboxchoice1_3) OR $longanswer1 == '')
        {
            
$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") . '";');

    if (
$_POST['submit'] == 'Submit')
    {
        if (
$formforum == "1")
        {
            
$foruminfo verify_id('forum'$formforumid01);
            
$forumperms fetch_permissions($foruminfo[forumid]);
            
$newpost['username'] =& $vbulletin->userinfo['username'];
            
$newpost['message'] =& $formsend;
            
$newpost['title'] =& $posttitle;
            
$newpost['parseurl'] = '1';

            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], 01);
                
$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'$vbulletinERRTYPE_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'$vbulletinERRTYPE_STANDARD'threadpost');
                
$threadman->set_existing($threadinfo);
                
$threadman->set('pollid'$pollid);
                
$threadman->save();
            }
        }

        if (
$formreply == "1")
        {
            
$threadinfo verify_id('thread'$formreplythreadid01);
            
$forumperms fetch_permissions($threadinfo[forumid]);
            
$newpost['username'] =& $vbulletin->userinfo['username'];
            
$newpost['message'] =& $formsend;
            
$newpost['title'] =& $posttitle;
            
$newpost['parseurl'] = "1";
        
            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'$vbulletinERRTYPE_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")
        {
            
vbmail($formemailaddress$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($vbulletinfetch_tag_list());
        
$preview $parser->do_parse($formsend);

        
$_REQUEST['action'] = 'form';
    }
}

if (
$_REQUEST['action'] == 'form')
{
    
// set message box width to usercp size
    
$stylevar['messagewidth'] = $stylevar['messagewidth_usercp'];
    
$editorid construct_edit_toolbar($vbtextanswer);

    eval(
'print_output("' fetch_template("$maintemplate") . '");');
}


main template
HTML Code:

$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
$headinclude
<title>$vboptions[bbtitle] - $formtitle</title>
</head>
<body>
$header
$navbar

<!-- main -->
<br />

<form enctype="multipart/form-data" method="post" action="newthread.php">
<input type="hidden" value="$formname" name="do" />
<input type="hidden" value="submit" name="action" />
<input type="hidden" value="$forumid" name="f" />

  <table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="60%" align="center">
    <tr>
      <td class="tcat" colspan="2"> $vboptions[bbtitle] - $formtitle </td>
    </tr>
    <tr>
      <td class="panelsurround" align="center" colspan="2"> <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 width="50" valign="middle" class="alt1"> <b>Username</b></td>
      <td class="alt1" valign="middle"> <b>$bbuserinfo[username]</b></td>
    </tr>
        <tr>
          <td class="alt1" valign="middle" colspan="2">&nbsp;</td>
        </tr>
        </tr>
    <tr>
<td class="alt1" valign="middle">
<b>$dropdownquestion1</b>:
</td>
<td class="alt1" valign="middle">
<select name="dropdownanswer1">
<option value="$dropdownchoice1a" <if condition="$dropdownchoice1a == $dropdownanswer1">selected="selected"</if>>$dropdownchoice1a</option>
<option value="$dropdownchoice1b" <if condition="$dropdownchoice1b == $dropdownanswer1">selected="selected"</if>>$dropdownchoice1b</option>
<option value="$dropdownchoice1c" <if condition="$dropdownchoice1c == $dropdownanswer1">selected="selected"</if>>$dropdownchoice1c</option>
</select></td>
    </tr>
    <tr>
          <td colspan="2" valign="middle" class="alt2"> &nbsp;</td>
    </tr>
    <tr>
          <td colspan="2" valign="middle" class="alt2"> <b>$question1</b></td>
    </tr>
    <tr>
      <td colspan="2" valign="middle" class="alt1"><span class="alt2">
        <input name="answer1" type="text" value="" size="70">
      </span></td>
    </tr>
    <tr>
      <td class="alt2" valign="middle" colspan="2">&nbsp;</td>
    </tr>
   
    <tr>
      <td colspan="2" valign="middle" class="alt2"><b>$question2</b></td>
    </tr>
    <tr>
      <td colspan="2" valign="middle" class="alt1"><span class="alt2">
        <input name="answer2" type="text" value="" size="70">
      </span></td>
    </tr>
   
    <tr>
      <td class="alt2" valign="middle" colspan="2">&nbsp;</td>
    </tr>
   
    <tr>
      <td class="alt2" valign="middle" colspan="2"><b>$longquestion1</b></td>
    </tr>
   
    <tr>
      <td colspan="2" valign="middle" class="alt1"><textarea rows="10" cols="70" name="longanswer1"></textarea>      </td>
    </tr>
    <tr>
      <td class="alt2" valign="middle" colspan="2">&nbsp;</td>
    </tr>
   
    <tr>
      <td class="alt1" valign="top" colspan="2"> <p align="center">
          <input type="submit" value="Submit" 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>

answer template
Code:

Letter placed by: $bbuserinfo[username]
-----------------------------------------------------
To the Leaders of $dropdownanswer1
-----------------------------------------------------
From: $answer1
-----------------------------------------------------
Subject : $answer2
-----------------------------------------------------
$longanswer1


Sarcoth 07-19-2006 01:50 AM

Usergroup Question

PHP Code:

////////////////////////////////////////////////////////////////////////////////////////////////////
//USERGROUPS ALLOWED
//You can add or remove usegroups that are ALLOWED to use this form by changing the numbers below in the array.
//To enable this feature, remove the '//' before the 'if'.
// 2 = Registered Users // 6 = Administrators // 11 = Lore Enthusiast // 12 = Lore_Room_01
////////////////////////////////////////////////////////////////////////////////////////////////////

if (!in_array($vbulletin->userinfo['usergroupid'], array(6,11))) print_no_permission();

//////////////////////////////////////////////////////////////////////////////////////////////////// 

As you can see, I have this set to allow usergroups 6 and 11 to view and to use this form. This only checks to see if they are in a Primary group though. I'd like the form to check to see if the user was in either of these groups as a Primary or Additional. Can anyone tell me how to do that?

Also, once the form is completed, I'd like to add a line at the end of the form to add them to a different "Additional Usergroup". Any help would be appreciated and I'll gladly send you $10 via paypal if you coding makes this work.

Thanks,
Nick

Abe1 07-19-2006 02:07 AM

Quote:

Originally Posted by Sarcoth
Usergroup Question

PHP Code:

////////////////////////////////////////////////////////////////////////////////////////////////////
//USERGROUPS ALLOWED
//You can add or remove usegroups that are ALLOWED to use this form by changing the numbers below in the array.
//To enable this feature, remove the '//' before the 'if'.
// 2 = Registered Users // 6 = Administrators // 11 = Lore Enthusiast // 12 = Lore_Room_01
////////////////////////////////////////////////////////////////////////////////////////////////////

if (!in_array($vbulletin->userinfo['usergroupid'], array(6,11))) print_no_permission();

//////////////////////////////////////////////////////////////////////////////////////////////////// 

As you can see, I have this set to allow usergroups 6 and 11 to view and to use this form. This only checks to see if they are in a Primary group though. I'd like the form to check to see if the user was in either of these groups as a Primary or Additional. Can anyone tell me how to do that?

Also, once the form is completed, I'd like to add a line at the end of the form to add them to a different "Additional Usergroup". Any help would be appreciated and I'll gladly send you $10 via paypal if you coding makes this work.

Thanks,
Nick

Let me know if this works. I wrote this for a prive hack and modifide it for you.
PHP Code:

$check1 explode("|"'6|11');
$check3 explode(",",$vbulletin->userinfo[membergroupids]);

foreach (
$check1 AS $check2)
{
    if (
$check2 == $vbulletin->userinfo[usergroupid])
    {
        
$is++;
    }

    foreach (
$check3 AS $check4)
    {
        if (
$check2 == $check4)
        {
            
$is++;
        }
    }
}

if (!(
$is))
{
    
print_no_permission();



Sarcoth 07-19-2006 03:02 AM

Abe1,

You are good. That definitely did the trick. :) Just PM me with an email to send the Paypal donation.

I did have a 2nd request in that message though, I'm guessing you missed it.

Quote:

Also, once the form is completed, I'd like to add a line at the end of the form to add them to a different "Additional Usergroup".
At the end of the form, I'd like to have them added to Membergroupids 12 (Additional Usergroup). In other words, I don't want the group to become the Primary for them, just to have them added to a secondary.

I'll put ADD_MEMBERGROUPIDS_HERE; for where I'd like to add it in my code.

PHP Code:

    if ($redirectoption == "5")
    {
        if ((
$quest_answer == 'ANSWER') || ($quest_answer == 'answer'))
        {
            
$vbulletin->url '../index.php?' $vbulletin->session->vars['sessionurl'] . "page=Next_Page";
            
ADD_MEMBERGROUPIDS_HERE;
            eval(
print_standard_redirect('redirect_postthanks'));
            exit();
        }
        else
        {
            
$vbulletin->url 'newthread.php?' $vbulletin->session->vars['sessionurl'] . "do=Same_Form";
            eval(
print_standard_redirect('redirect_postthanks'));
            exit();
        }
    } 

That will add them to Membergroupids 12 only if they type in ANSWER or answer in the form.

Thanks again for your help!

Abe1 07-19-2006 03:16 AM

Quote:

Originally Posted by Sarcoth
Abe1,

You are good. That definitely did the trick. :) Just PM me with an email to send the Paypal donation.

I did have a 2nd request in that message though, I'm guessing you missed it.



At the end of the form, I'd like to have them added to Membergroupids 12 (Additional Usergroup). In other words, I don't want the group to become the Primary for them, just to have them added to a secondary.

I'll put ADD_MEMBERGROUPIDS_HERE; for where I'd like to add it in my code.

PHP Code:

    if ($redirectoption == "5")
    {
        if ((
$quest_answer == 'ANSWER') || ($quest_answer == 'answer'))
        {
            
$vbulletin->url '../index.php?' $vbulletin->session->vars['sessionurl'] . "page=Next_Page";
            
ADD_MEMBERGROUPIDS_HERE;
            eval(
print_standard_redirect('redirect_postthanks'));
            exit();
        }
        else
        {
            
$vbulletin->url 'newthread.php?' $vbulletin->session->vars['sessionurl'] . "do=Same_Form";
            eval(
print_standard_redirect('redirect_postthanks'));
            exit();
        }
    } 

That will add them to Membergroupids 12 only if they type in ANSWER or answer in the form.

Thanks again for your help!

You can use the paypal donate link for this hack above.

I must have missed the 2nd part. It would take a while ot make the other thing.

wizadora 07-19-2006 11:46 AM

Any info on the drop-down ? This has been asked in this thread so many times (not just by me) but no answers. As I said in my post above, it works fine for posting to a single pre-defined forumid.

Would I just be best just hard-coding the template with the drop-choices and then passing the forum ID back instead of the choices ? I'm at a loss of the best way to go about this.

thx.

Sarcoth 07-20-2006 07:05 PM

Abe1,

Just curious, for adding to a Membergroupids, could we just reuse the code you gave me for checking to see if someone is in a Membergroup and then instead of "print_no_permission();" -- you could instead say add that membergroupid to this user?

Something like this (12 being the secondary member group I want to add the user to if they answer correctly):

PHP Code:

$check1 explode("|"'12'); 
$check3 explode(",",$vbulletin->userinfo[membergroupids]); 

foreach (
$check1 AS $check2

    if (
$check2 == $vbulletin->userinfo[usergroupid]) 
    { 
        
$is++; 
    } 

    foreach (
$check3 AS $check4
    { 
        if (
$check2 == $check4
        { 
            
$is++; 
        } 
    } 


if (!(
$is)) 

    
$check3->set('membergroupids'$check3);


Not to sure what to put in that final if statement, but was hoping you would. I've been testing a few things with no luck.

The other thing I tried was something Amy had posted for adding to a secondary group. Sadly it gave a Fatal error: Call to a member function on a non-object in ..../newthread.php(68) : eval()'d code on line 403. I know I missed setting a variable, but just not sure what one and what to set there.

PHP Code:

$membergroupids $userdata->fetch_field('membergroupids');
    if (
$membergroupids)
    {
        
$membergroupids $membergroupids ", 12";
    }
    else
    {
        
$membergroupids 12;
    }
    
$userdata->set('membergroupids'$membergroupids); 

Anyhow, I'll take what I can get. Thanks again for your help on the first problem.

Narcootic 07-21-2006 01:44 PM

Hi, great hack, have it installed and its working except for Unregistered users. I have tested it with other usegroups and it works fine but guests form inputs simply arent processed. The thread is created but the thread does not have any content. I have set all the permissions for guests to allow them to post in the thread where the form should submit the output of the form but it just creates a thread with nothing in them except "Unregistered". Any ideas? I have set the permissions correctly, I am pretty sure. Any chance of some assistance please :)

If you look at the attachment, you will see how it looks like, all screwed up :(

Thank you.

Stajerc 07-22-2006 07:21 AM

Quote:

Originally Posted by Stajerc
Hi Abe

sry for my bad english.
i use a translated german version of this hack. it works perfekt, but only one thing wont work as i want.
the hack have to post in a existing thread, and the hack do this. but it post a new thred too. i dont know why.

is there no support now??

Spikeh 07-22-2006 01:49 PM

Just got this hack installed and configured for one form how I wanted it. Nice work Abe1, just what I needed!


All times are GMT. The time now is 07:38 PM.

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.02273 seconds
  • Memory Usage 2,057KB
  • 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
  • (1)bbcode_code_printable
  • (1)bbcode_html_printable
  • (8)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
  • (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