Quote:
Originally Posted by angelimnot
Is there a way to make this mod post to 2 areas? We have them fill out a "review" form.. and then it is posting in the area of which they are reviewing... but we also need it to post to a moderator only area so they can get the proper points for filling out the review....
|
Only by copying the post thread php code to form hook: before submit:
PHP Code:
/*change this*/
$secondforumid = 5;
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', $secondforumid);
$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();
}
}