Qleb
09-14-2013, 07:41 PM
Hello Guys
I've tired looking for Latest Threads hook to display latest Threads in forumhome depending on User permissions i don't want to use exclude forums , is there any mod support user permissions in Latest threads mod ?
--------------- Added 1379193194 at 1379193194 ---------------
for got it i just solved by my self :d i developed my own code
if some one need it ill share it this is the full code
$forumsids = array();
foreach($vbulletin->forumcache AS $forum_info)
{
$forumps[$forum_info["forumid"]] = fetch_permissions($forum_info['forumid']);
if ((!($forumps[$forum_info["forumid"]] & $vbulletin->bf_ugp_forumpermissions['canview'])) OR (!($forum_info['options'] & $vbulletin->bf_misc_forumoptions['active']) AND !$vbulletin->options['showprivateforums'] ) OR !($forumps[$forum_info["forumid"]] & $vbulletin->bf_ugp_forumpermissions['canviewothers']) )
{
$forumsids[] = $forum_info['forumid'];
}
}
$order = "ORDER BY thread.lastpost DESC";
//Execlude forums that user can't see or can't view
if ( !empty($forumsids) )
{
$where_forums = "AND thread.forumid NOT IN(" . join("," , $forumsids) . ")";
}
$threads_query = $vbulletin->db->query_read("SELECT thread.threadid, thread.title, thread.lastpost, thread.forumid, thread.replycount,
thread.lastposter, thread.dateline, thread.postusername, thread.postuserid, thread.iconid,
IF(views<=replycount, replycount+1, views) AS views, thread.visible, thread.open,
user.username, user.userid, user.usergroupid,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid
FROM " . TABLE_PREFIX . "thread AS thread
LEFT JOIN " . TABLE_PREFIX . "user AS user ON (user.username = thread.lastposter)
WHERE NOT ISNULL(thread.threadid)
AND thread.visible = '1' AND thread.open != '10'
$where_forums
$order
LIMIT 10");
while ( $thread = $vbulletin->db->fetch_array($threads_query))
{
}
Cheers:D
I've tired looking for Latest Threads hook to display latest Threads in forumhome depending on User permissions i don't want to use exclude forums , is there any mod support user permissions in Latest threads mod ?
--------------- Added 1379193194 at 1379193194 ---------------
for got it i just solved by my self :d i developed my own code
if some one need it ill share it this is the full code
$forumsids = array();
foreach($vbulletin->forumcache AS $forum_info)
{
$forumps[$forum_info["forumid"]] = fetch_permissions($forum_info['forumid']);
if ((!($forumps[$forum_info["forumid"]] & $vbulletin->bf_ugp_forumpermissions['canview'])) OR (!($forum_info['options'] & $vbulletin->bf_misc_forumoptions['active']) AND !$vbulletin->options['showprivateforums'] ) OR !($forumps[$forum_info["forumid"]] & $vbulletin->bf_ugp_forumpermissions['canviewothers']) )
{
$forumsids[] = $forum_info['forumid'];
}
}
$order = "ORDER BY thread.lastpost DESC";
//Execlude forums that user can't see or can't view
if ( !empty($forumsids) )
{
$where_forums = "AND thread.forumid NOT IN(" . join("," , $forumsids) . ")";
}
$threads_query = $vbulletin->db->query_read("SELECT thread.threadid, thread.title, thread.lastpost, thread.forumid, thread.replycount,
thread.lastposter, thread.dateline, thread.postusername, thread.postuserid, thread.iconid,
IF(views<=replycount, replycount+1, views) AS views, thread.visible, thread.open,
user.username, user.userid, user.usergroupid,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid
FROM " . TABLE_PREFIX . "thread AS thread
LEFT JOIN " . TABLE_PREFIX . "user AS user ON (user.username = thread.lastposter)
WHERE NOT ISNULL(thread.threadid)
AND thread.visible = '1' AND thread.open != '10'
$where_forums
$order
LIMIT 10");
while ( $thread = $vbulletin->db->fetch_array($threads_query))
{
}
Cheers:D