As per ur suggestion in earlier posts, i have to give individual forum ids in config file, which i did, but still not effect.
Code:
<?php
// +-----------------------------------------------------------------------------+
// | devbox_work.php |
// +-----------------------------------------------------------------------------+
// | Written by Christopher Nadeau |
// | - www.DevBox.net, www.DevBoxForums.com [chris@devbox.net] |
// +-----------------------------------------------------------------------------+
// | Copyright 2004 by Christopher Nadeau |
// +-----------------------------------------------------------------------------+
// | RELEASED UNDER THE EvB license: |
// | => Standard Attribution |
// | => Limited Derivs |
// | => Limited Translation |
// | MORE INFO HERE: |
// | => http://www.everythingvb.com/licenses/sa-ld-lt/1.0/ |
// +-----------------------------------------------------------------------------+
// | TABLE OF CONTENTS |
// | 1. CONFIGURATION: Config area, you should edit this area. |
// | |
// | 2. INTERPRETATION: Handles config, you should NOT edit ths area. |
// | |
// | 3. ADV. CONFIGURATION: Edit the SQL to use. You should only edit this |
// | area if you know what your doing. |
// | |
// | 4. SCRIPT: The actual script. You should NOT edit this area. |
// | |
// | 5. MISC: Misc functions. You should NOT edit this area. |
// +-----------------------------------------------------------------------------+
/*********************************************************************************
1. CONFIGURATION
Each configuration value can be set to 'on', 'off', 1, 0, true or false.
=> 'on' - Activated
=> 'off' - Deactivated
=> 1 - Activated
=> 0 - Deactivated
=> true - Activated
=> false - Deactivated
*_*_num: the number of values to retrieve.
forum_ids: the forumid's of the forums you want to grab the latest threads
from. You can set this to 'auto' to include all forums that the
user has permission to see. Serparate each with a comma. Ex:
- '1,8,19,20'
- 'auto'
*********************************************************************************/
$devbox_config = array( 'latest_threads' => 'on',
'latest_threads_num' => 10,
'newest_members' => 'on',
'newest_members_num' => 5,
'top_posters' => 'on',
'top_posters_num' => 5,
'online_today' => 'on',
'forum_ids' => '2,6,16,7,14,5,18,9,10,11,13,15',
);
/*********************************************************************************
2. INTERPRETATION
This section just interprets the config options, and ensures they're alright.
You should skip this section and go onto #3 if you want.
*********************************************************************************/
// Ensure all the right numbers are in place
$devbox_config['latest_threads_num'] = (int) $devbox_config['latest_threads_num'];
$devbox_config['newest_members_num'] = (int) $devbox_config['newest_members_num'];
$devbox_config['top_posters_num'] = (int) $devbox_config['top_posters_num'];
// Handle forum id's
if($devbox_config['forum_ids'] == 'auto')
{
$devbox_config['forum_ids'] = array();
foreach(array_keys($forumcache) AS $forumid)
{
$fp = &$bbuserinfo['forumpermissions']["$forumid"];
if ($fp & CANVIEW AND $fp & CANVIEWOTHERS)
{
$devbox_config['forum_ids'][] = $forumid;
}
}
$devbox_config['forum_ids'] = implode(',', $devbox_config['forum_ids']);
unset($fp);
}
$TP = TABLE_PREFIX;
/*********************************************************************************
3. ADVANCED CONFIGURATION
These config values define what SQL should be used to grab the info from the
database. Don't touch these if you don't know what your doing! You have
to change these if you want information other then what is already
provided. Use the variable $TP for table prefix if you don't want to get out
of the quotes.
**********************************************************************************/
$devbox_config['latest_threads_sql'] = "### devbox_work.php - grabbing latest threads ###
SELECT
t.threadid, t.title, t.replycount, t.views, t.lastposter, t.postusername, t.postuserid,
f.forumid, f.title AS forumtitle
FROM
{$TP}thread t,
{$TP}forum f
LEFT JOIN {$TP}deletionlog AS del ON (del.primaryid = t.threadid AND del.type = 'thread')
WHERE
f.forumid = t.forumid
AND f.forumid IN({$devbox_config['forum_ids']})
AND t.visible = 1
AND del.primaryid IS NULL
ORDER BY t.threadid DESC
LIMIT {$devbox_config['latest_threads_num']}";
$devbox_config['newest_members_sql'] = "### devbox_work.php - grabbing newest members ###
SELECT
u.userid, u.username, u.joindate, u.posts,
g.opentag, g.closetag
FROM
{$TP}user u,
{$TP}usergroup g
WHERE
g.usergroupid = u.usergroupid
ORDER BY u.userid DESC
LIMIT {$devbox_config['newest_members_num']}";
$devbox_config['top_posters_sql'] = "### devbox_work.php - grabbing top posters ###
SELECT
u.userid, u.username, u.posts,
g.opentag, g.closetag
FROM
{$TP}user u,
{$TP}usergroup g
WHERE
g.usergroupid = u.usergroupid
ORDER BY u.posts DESC
LIMIT {$devbox_config['top_posters_num']}";
$devbox_config['online_today_sql'] = "### devbox_work.php - grabbing online today ###
SELECT
u.userid, u.username, (u.options & {$_USEROPTIONS['invisible']}) AS invisible,
g.opentag, g.closetag
FROM
{$TP}user u,
{$TP}usergroup g
WHERE
g.usergroupid = u.usergroupid AND
u.lastactivity >= " . (mktime(0, 0, 0) + (($bbuserinfo['timezoneoffset'] - $vboptions['timeoffset']) * 3600)) . "
ORDER BY u.username ASC";
/*********************************************************************************
4. SCRIPT
You shouldn't need to edit anything below this!
*********************************************************************************/
$devbox = array('latest_threads' => '',
'newest_members' => '',
'online_today' => '',
'top_posters' => '',
);
//--------------------------------------------------------------------------------
// Grab the 'latest threads'
if(isOn('latest_threads'))
{
$devbox_latest_threads = $DB_site->query($devbox_config['latest_threads_sql']);
$devbox_config['latest_threads_num'] = $DB_site->num_rows($devbox_latest_threads);
$devbox_counter = 0;
if($devbox_config['latest_threads_num'] < 1)
{
$devbox['latest_threads'] = 'No threads.';
}
else
{
while($data = $DB_site->fetch_array($devbox_latest_threads))
{
$data['counter'] = ++$devbox_counter;
eval('$devbox[\'latest_threads\'] .= "' . fetch_template('devbox-latest_threads_bit') . '";');
}
}
$DB_site->free_result($devbox_latest_threads);
unset($devbox_latest_threads, $devbox_counter, $data);
}
//--------------------------------------------------------------------------------
// Grab the 'lastest members'
if(isOn('newest_members'))
{
$devbox_newest_members = $DB_site->query($devbox_config['newest_members_sql']);
$devbox_config['newest_members_num'] = $DB_site->num_rows($devbox_newest_members);
$devbox_counter = 0;
while($data = $DB_site->fetch_array($devbox_newest_members))
{
$data['counter'] = ++$devbox_counter;
$data['date'] = vbdate($vboptions['dateformat'], $data['joindate'], false, true, false);
eval('$devbox[\'newest_members\'] .= "' . fetch_template('devbox-newest_members_bit') . '";');
}
$DB_site->free_result($devbox_newest_members);
unset($devbox_newest_members, $devbox_counter, $data);
}
//--------------------------------------------------------------------------------
// Grab the 'online today'
if(isOn('online_today'))
{
$devbox_online_today = $DB_site->query($devbox_config['online_today_sql']);
$devbox_counter = 0;
while($data = $DB_site->fetch_array($devbox_online_today))
{
$data['counter'] = ++$devbox_counter;
if($data['invisible'])
{
if(!($permissions['genericpermissions'] & CANSEEHIDDEN))
continue;
else
$data['invisible'] = '*';
}
else
$data['invisible'] = '';
eval('$devbox[\'online_today\'] .= "' . fetch_template('devbox-online_today_bit') . '";');
$devbox['online_today'] .= ', ';
}
$devbox['online_today'] = substr($devbox['online_today'], 0, (strlen($devbox['online_today']) - 3));
$devbox['online_today_num'] = $devbox_counter;
$DB_site->free_result($devbox_online_today);
unset($devbox_online_today, $devbox_counter, $data);
////////////////////
if(!isset($datastore['maxonlinetoday']))
{
$devbox['online_today_max'] = $devbox['online_today_num'];
$devbox['online_today_maxwhen'] = mktime();
$devbox_ot['online_today_max'] = $devbox['online_today_max'];
$devbox_ot['online_today_maxwhen'] = $devbox['online_today_maxwhen'];
$devbox_ot = serialize($devbox_ot);
$DB_site->query("### devbox_work.php - insert online today into datastore ###
INSERT INTO {$TP}datastore (title, data) VALUES ('maxonlinetoday', '$devbox_ot')");
}
else
{
$devbox_ot = unserialize($datastore['maxonlinetoday']);
if($devbox_ot['online_today_max'] < $devbox['online_today_num'])
{
$devbox['online_today_max'] = $devbox['online_today_num'];
$devbox['online_today_maxwhen'] = mktime();
$devbox_ot['online_today_max'] = $devbox['online_today_max'];
$devbox_ot['online_today_maxwhen'] = $devbox['online_today_maxwhen'];
$devbox_ot = serialize($devbox_ot);
$DB_site->query("### devbox_work.php - update online today ###
UPDATE {$TP}datastore SET data='$devbox_ot' WHERE title='maxonlinetoday'");
}
else
{
$devbox['online_today_max'] = $devbox_ot['online_today_max'];
$devbox['online_today_maxwhen'] = $devbox_ot['online_today_maxwhen'];
}
}
$devbox['online_today_maxwhen'] = vbdate($vboptions['dateformat'], $devbox['online_today_maxwhen'], true, true, false);
unset($devbox_it);
}
//--------------------------------------------------------------------------------
// Grab the 'top posters'
if(isOn('top_posters'))
{
$devbox_top_posters = $DB_site->query($devbox_config['top_posters_sql']);
$devbox_config['top_posters_num'] = $DB_site->num_rows($devbox_top_posters);
$devbox_counter = 0;
while($data = $DB_site->fetch_array($devbox_top_posters))
{
$data['counter'] = ++$devbox_counter;
eval('$devbox[\'top_posters\'] .= "' . fetch_template('devbox-top_posters_bit') . '";');
}
$DB_site->free_result($devbox_top_posters);
unset($devbox_top_posters, $devbox_counter, $data);
}
/*********************************************************************************
5. MISC
Misc functions. You shouldnt edit this area.
*********************************************************************************/
// check if config value to see if we should do something or not
function isOn($what)
{
global $devbox_config;
if(!isset($devbox_config["$what"]))
return false;
$val = $devbox_config["$what"];
if(is_string($val))
$val = strtolower($val);
if($val === 'on' OR $val === 1 OR $val === true)
{
$devbox_config["$what"] = true;
return true;
}
else
{
$devbox_config["$what"] = false;
return false;
}
}
?>