bananalive |
04-06-2010 10:16 AM |
Quote:
Originally Posted by kemical
(Post 2014771)
Thank you for this awesome mod!
Is there a way to have a form post to two separate forums at the same time? I run a forum for a World of Warcraft guild, and I setup a form for people applying to our guild. Right now the form posts to a public forum, but I would like it to also be posted to a more restricted forum as well.
|
You could copy the code for posting a new thread into Form Hook: Before Submit:
(Changing forumid 31 to your preferred forumid in line 1 of code below)
PHP Code:
$forumid2 = 31; if ($complete) { if (!$vbulletin->userinfo['userid']) { $vbulletin->input->clean_array_gpc('p', array( 'humanverify' => TYPE_ARRAY, )); $newpost['humanverify'] = $vbulletin->GPC['humanverify']; } require_once(DIR . '/includes/functions_editor.php'); require_once(DIR . '/includes/functions_bigthree.php'); require_once('./includes/class_dm.php'); require_once('./includes/class_dm_threadpost.php'); require_once('./includes/functions_databuild.php'); if (!$closed) { $open = 1; } else { $open = 0; } $threaddm = new vB_DataManager_Thread_FirstPost($vbulletin, ERRTYPE_STANDARD); /*$foruminfo = fetch_foruminfo($forumid);*/ $threaddm->set_info('forum',$foruminfo); $threaddm->set_info('user', $vbulletin->userinfo); $threaddm->set('forumid', $forumid2); $threaddm->set('userid', $vbulletin->userinfo['userid']); $threaddm->set('title', $threadtitle); $threaddm->set('pagetext', $formoutput); $allow_smilie = '1'; $visible = '1'; $threaddm->set('open', $open); if ($form[prefixid]) { $threaddm->set('prefixid', $form[prefixid]); } if ($form[iconid]) { $threaddm->set('iconid', $iconid); } $threaddm->set('allowsmilie', $allow_smilie); $threaddm->set('visible', $visible); $threaddm->pre_save(); $threadid = $threaddm->save(); unset($threaddm); build_thread_counters($threadid); build_forum_counters($forumid); if (!empty($threaddm->errors)) { $errorss .= $threaddm->errors; $errormessage = "Form failed to submit. The following error(s) occured: <br /> ".$errorss; eval(standard_error($errormessage)); } $threadinfo = fetch_threadinfo($threadid); $newpost['postid'] = $threadinfo['firstpostid']; mark_thread_read($threadinfo, $foruminfo, $vbulletin->userinfo['userid'], TIMENOW); /*($hook = vBulletinHook::fetch_hook('newthread_post_complete')) ? eval($hook) : false;*/ if ($form[poll] == 1) { $question = $form[pollquestion]; $threadinfo = verify_id('thread', $threadid, 0, 1); $polloptions = count($polloption); $vbulletin->GPC['options'] = $polloption; $counter = 0; $optioncount = 0; $badoption = ''; while ($counter++ < $polloptions) { if ($vbulletin->options['maxpolllength'] AND vbstrlen($vbulletin->GPC['options']["$counter"]) > $vbulletin->options['maxpolllength']) { $badoption .= iif($badoption, ', ') . $counter; } if (!empty($vbulletin->GPC['options']["$counter"])) { $optioncount++; } } $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', $form['publicpoll']); $poll->set('multiple', $form['multiplepoll']); $pollid = $poll->save(); $threadman = datamanager_init('Thread', $vbulletin, ERRTYPE_STANDARD, 'threadpost'); $threadman->set_existing($threadinfo); $threadman->set('pollid', $pollid); $threadman->save(); } if ($form[submitmessage]) { $errormessage = $form[submitmessage]; } else { $errormessage = "Form was submitted successfully. Click <a href=\"showthread.php?" . $vbulletin->session->vars['sessionurl'] . "p=" . $newpost[postid] . "#post" . $newpost[postid] . "\">here</a> to view the thread."; } }
|