The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
How to avoid displaying private forums to public?
A while back I got help from a person on how to display the 10 latest posts, latest members and who's online on a non vbulleting page, in other words on your index page of your site. The code works just fine but now I've added some private forums and they show up in the lists of the latest 10 topics when I don't want them to.
I don't know any php at all and I was wondering if somebody can look at the code and help me modify it to "exclude" any topics being displayed from the private forums. Any help is greatly appreciated :nervous: Here's the code: <?PHP // ####################### SET PHP ENVIRONMENT ########################### error_reporting(E_ALL & ~E_NOTICE); //ignore_user_abort(1); //@set_time_limit(0); // #################### DEFINE IMPORTANT CONSTANTS ####################### define('NO_REGISTER_GLOBALS', 1); define('SESSION_BYPASS', 1); define('LOCATION_BYPASS', 1); define('THIS_SCRIPT', 'cron'); chdir("./forum"); //echo getcwd(); include("./global.php"); include("./includes/functions_bigthree.php"); // ################################################## ##################### // last 10 members $lastusers = $db->query_read("SELECT * FROM " . TABLE_PREFIX . "user AS user ORDER BY userid DESC LIMIT 10"); while($lastuser = $db->fetch_array($lastusers)) { eval('$latestusers .= "' . fetch_template('site_latestusers') . '";'); } // ################################################## ##################### // last 10 posts $last10postcount = 0; $getlast10 = $db->query_read(" ### GET LAST 10 POSTS ### SELECT thread.title, thread.threadid, thread.forumid, postid, post.dateline,post.userid,user.username FROM " . TABLE_PREFIX . "post AS post INNER JOIN " . TABLE_PREFIX . "thread AS thread ON(thread.threadid = post.threadid) LEFT JOIN " . TABLE_PREFIX . "user AS user ON(post.userid=user.userid) LEFT JOIN " . TABLE_PREFIX . "deletionlog AS delpost ON(delpost.primaryid = post.postid AND delpost.type = 'post') LEFT JOIN " . TABLE_PREFIX . "deletionlog AS delthread ON(delthread.primaryid = thread.threadid AND delthread.type = 'thread') WHERE thread.visible = 1 AND delpost.primaryid IS NULL AND delthread.primaryid IS NULL ORDER BY post.dateline DESC LIMIT 15 "); while ($get10 = $db->fetch_array($getlast10)) { //$getperms = fetch_permissions($get10['forumid']); if ($last10postcount < 10) { $get10[fulltitle] = $get10[title]; if (strlen($get10[title]) > 27) { $get10[title] = substr($get10[title],0,24); $get10[title] .= "..."; } $last10postcount++; $last10postdate = date("m-d-Y", $get10['dateline']); $last10posttime = vbdate($vboptions['timeformat'], $get10['dateline']); eval('$latestposts .= "' . fetch_template('site_latestposts') . '";'); } } // ### LOGGED IN USERS ################################################# $activeusers = ''; if ($vboptions['displayloggedin']) { $datecut = TIMENOW - $vboptions['cookietimeout']; $numbervisible = 0; $numberregistered = 0; $numberguest = 0; $forumusers = $db->query_read(" SELECT user.username, (user.options & $_USEROPTIONS[invisible]) AS invisible, user.usergroupid, session.userid, session.inforum, session.lastactivity, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid FROM " . TABLE_PREFIX . "session AS session LEFT JOIN " . TABLE_PREFIX . "user AS user ON(user.userid = session.userid) WHERE session.lastactivity > $datecut ORDER BY " . iif($permissions['genericpermissions'] & CANSEEHIDDEN, 'invisible ASC, ') . "username ASC, lastactivity DESC "); if ($bbuserinfo['userid']) { // fakes the user being online for an initial page view of index.php $bbuserinfo['joingroupid'] = iif($bbuserinfo['displaygroupid'], $bbuserinfo['displaygroupid'], $bbuserinfo['usergroupid']); $userinfos = array ( $bbuserinfo['userid'] => array ( 'userid' => $bbuserinfo['userid'], 'username' => $bbuserinfo['username'], 'invisible' => $bbuserinfo['invisible'], 'inforum' => 0, 'lastactivity' => TIMENOW, 'musername' => fetch_musername($bbuserinfo, 'joingroupid') ) ); $numberregistered = 1; $numbervisible = 1; fetch_online_status($userinfos[$bbuserinfo['userid']]); $loggedin = $userinfos[$bbuserinfo['userid']]; eval('$activeusers = ", ' . fetch_template('forumhome_loggedinuser') . '";'); } else { $userinfos = array(); } $inforum = array(); while ($loggedin = $db->fetch_array($forumusers)) { $userid = $loggedin['userid']; if (!$userid) { // Guest $numberguest++; $inforum["$forumuser[inforum]"]++; } else if (empty($userinfos["$userid"]['lastactivity']) OR ($userinfos["$userid"]['lastactivity'] < $loggedin['lastactivity'])) { $userinfos["$userid"] = $loggedin; $numberregistered++; if ($userid != $bbuserinfo['userid']) { $inforum["$loggedin[inforum]"]++; } $loggedin['musername'] = fetch_musername($loggedin); if (fetch_online_status($loggedin)) { $numbervisible++; eval('$activeusers .= ", ' . fetch_template('forumhome_loggedinuser') . '";'); } } } // memory saving unset($userinfos, $loggedin); $activeusers = substr($activeusers , 2); // get rid of initial comma $DB_site->free_result($loggedins); $totalonline = $numberregistered + $numberguest; $numberinvisible = $numberregistered - $numbervisible; } chdir("../"); include("header.php"); ?> Anybody? :nervous: I should've taken a php class... :disappointed: |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|