PDA

View Full Version : Thread posting permission


TheAdminMarket
07-20-2015, 08:42 AM
Hello,

Unless if something has changed last 2 years the code below works to create a thread:

$newpost['title'] = $title;
$newpost['message'] = $thread_text;
$newpost['iconid'] = 0;
$newpost['parseurl'] = 1;
$newpost['signature'] = 1;
$newpost['preview'] = '';
$newpost['disablesmilies'] = 0;
$newpost['rating'] = 0;
$newpost['username'] = '';
$newpost['postpoll'] = 0;
$newpost['polloptions'] = 4;
$newpost['folderid'] = 0;
$newpost['emailupdate'] = 9999;
$newpost['imagehash'] = '';
$newpost['imagestamp'] = '';
$newpost['poststarttime'] = time();
$newpost['posthash'] = md5($newpost['poststarttime'] . $vbulletin->userinfo['userid'] . $vbulletin->userinfo['salt']);
$newpost['stickunstick'] = '';
$newpost['openclose'] = 0;
$newpost['podcasturl'] = '';
$newpost['podcastsize'] = 0;
$newpost['podcastexplicit'] = 0;
$newpost['podcastkeywords'] = '';
$newpost['podcastsubtitle'] = '';
$newpost['podcastauthor'] = '';
$sql_forum = $db->query_first("SELECT forumid FROM ".TABLE_PREFIX."gallery_categories WHERE id=$categoryid LIMIT 1");
$foruminfo = fetch_foruminfo($sql_forum['forumid']);
build_new_post('thread', $foruminfo, array(), array(), $newpost, $errors);
$threadid = $newpost['threadid'];
The question is if there is anyway to allow replies to this thread only to some userids (eg 3,5,7).

Any idea?

EDITED: I know that there is a way to restrict replies to the thread owner. But in my case I want to extend this ability to one more userid (Not Moderator, Not Administrator).

--------------- Added 1437461471 at 1437461471 ---------------

I tried to find any setting to do it manually but I found nothing. Most probably this feature is not available.

Skyrider
07-23-2015, 06:09 AM
Doubt it is a feature in vB.. I tried helping you with the following variable combination:

if (is_member_of($vbulletin->userinfo,xx))
$show['quickreply'] = false;
if ($_REQUEST['do'] == 'newreply')


With the threadID variable missing, someone (or you) should be able to create a block for it.. I just didn't succeed yet. But you are a coder, bet you can figure it out! Still new to all of this and learning.

TheAdminMarket
07-23-2015, 03:08 PM
Doubt it is a feature in vB.. I tried helping you with the following variable combination:

if (is_member_of($vbulletin->userinfo,xx))
$show['quickreply'] = false;
if ($_REQUEST['do'] == 'newreply')


With the threadID variable missing, someone (or you) should be able to create a block for it.. I just didn't succeed yet. But you are a coder, bet you can figure it out! Still new to all of this and learning.

Thank you for your effort. I think that the function "is_member_of" is for usergroup ids and not userids. So it will not works.

I need to give a closer look to array $show[] to see all available variables. Then needs a function (that's easy), and the correct hook location.

Skyrider
07-23-2015, 04:32 PM
Ah, right.. my bad.. When I was writing it, I was testing it on usergroups first rather than my ID so I forgot to replace it in my reply. So UserID's (php) would be:

if (in_array($vbulletin->userinfo['userid'], array(1,2,3)))
{
permission stuff here
}
else
{
no permission stuff here
}
Else could be left out as I think you already knew, but you get the idea :).