I changed it but it doesn't work!
I don't see the statistics however I have another problem:
In the first setting there is wrote:
Show Stats on Index?
Do you want to make the stats show on the index page?
(Default = on)
But the setting is "off"
The code is this:
<?php
/**
* Mod Name: Advanced Stats on Index/Portal 2.6
* 2006-2007 Smethead
*/
// Disallow direct access to this file for security reasons
if(!defined("IN_MYBB"))
{
die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}
//PLUGIN HOOKS
$plugins->add_hook("pre_output_page", "asoi");
//PLUGIN INFORMATION
function asoi_info()
{
return array(
"name" => "Advanced Stats on Index/Portal",
"description" => "Allows you to show more stats like 'Most Viewed Threads' and 'Top Posters' on the index and portal pages.",
"website" => "***",
"author" => "Smethead",
"authorsite" => "***",
"version" => "2.6",
"compatibility" => "14*"
);
}
//PLUGIN ACTIVATE
function asoi_activate()
{
global $db, $mybb, $lang;
$language = $mybb->settings['bblanguage'];
if(!$lang->language_exists($language."/admin/asoi.lang"))
{
$lang->set_language("english", "admin");
}
$lang->load("asoi");
$lang->set_language($mybb->settings['bblanguage']);
//DELETE ALL SETTINGS TO AVOID DUPLICATES
$db->write_query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN(
'asoi_limit',
'asoi_newest_members',
'asoi_most_viewed',
'asoi_most_replied',
'asoi_newest_replies',
'asoi_top_posters',
'asoi_length',
'asoi_copy',
'asoi_highest_rep',
'asoi_top_forums',
'asoi_portal',
'asoi_index',
'asoi_newest_threads',
'asoi_todaystop',
'asoi_style',
'asoi_online_members'
)");
$db->write_query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='asoi'");
//ADD SETTINGS
$asoi_group = array(
"gid" => "NULL",
"name" => "asoi",
"title" => "Advanced Stats on Index/Portal Settings",
"description" => $db->escape_string($lang->asoi_setting_group_description),
"disporder" => "20",
"isdefault" => "no",
);
$db->insert_query("settinggroups", $asoi_group);
$gid = $db->insert_id();
$asoi_setting_1 = array(
"sid" => "NULL",
"name" => "asoi_index",
"title" => $db->escape_string($lang->asoi_setting_1),
"description" => $db->escape_string($lang->asoi_setting_1_description),
"optionscode" => "onoff",
"value" => "on",
"disporder" => "1",
"gid" => intval($gid),
);
$asoi_setting_2 = array(
"sid" => "NULL",
"name" => "asoi_portal",
"title" => $db->escape_string($lang->asoi_setting_2),
"description" => $db->escape_string($lang->asoi_setting_2_description),
"optionscode" => "onoff",
"value" => "off",
"disporder" => "2",
"gid" => intval($gid),
);
$asoi_setting_3 = array(
"sid" => "NULL",
"name" => "asoi_most_viewed",
"title" => $db->escape_string($lang->asoi_setting_3),
"description" => $db->escape_string($lang->asoi_setting_3_description),
"optionscode" => "onoff",
"value" => "no",
"disporder" => "3",
"gid" => intval($gid),
);
$asoi_setting_4 = array(
"sid" => "NULL",
"name" => "asoi_most_replied",
"title" => $db->escape_string($lang->asoi_setting_4),
"description" => $db->escape_string($lang->asoi_setting_4_description),
"optionscode" => "onoff",
"value" => "no",
"disporder" => "4",
"gid" => intval($gid),
);
$asoi_setting_5 = array(
"sid" => "NULL",
"name" => "asoi_newest_replies",
"title" => $db->escape_string($lang->asoi_setting_5),
"description" => $db->escape_string($lang->asoi_setting_5_description),
"optionscode" => "onoff",
"value" => "no",
"disporder" => "5",
"gid" => intval($gid),
);
$asoi_setting_6 = array(
"sid" => "NULL",
"name" => "asoi_top_posters",
"title" => $db->escape_string($lang->asoi_setting_6),
"description" => $db->escape_string($lang->asoi_setting_6_description),
"optionscode" => "onoff",
"value" => "no",
"disporder" => "6",
"gid" => intval($gid),
);
$asoi_setting_7 = array(
"sid" => "NULL",
"name" => "asoi_newest_members",
"title" => $db->escape_string($lang->asoi_setting_7),
"description" => $db->escape_string($lang->asoi_setting_7_description),
"optionscode" => "onoff",
"value" => "no",
"disporder" => "7",
"gid" => intval($gid),
);
$asoi_setting_8 = array(
"sid" => "NULL",
"name" => "asoi_top_forums",
"title" => $db->escape_string($lang->asoi_setting_8),
"description" => $db->escape_string($lang->asoi_setting_8_description),
"optionscode" => "onoff",
"value" => "no",
"disporder" => "8",
"gid" => intval($gid),
);
$asoi_setting_9 = array(
"sid" => "NULL",
"name" => "asoi_highest_rep",
"title" => $db->escape_string($lang->asoi_setting_9),
"description" => $db->escape_string($lang->asoi_setting_9_description),
"optionscode" => "onoff",
"value" => "no",
"disporder" => "9",
"gid" => intval($gid),
);
$asoi_setting_10 = array(
"sid" => "NULL",
"name" => "asoi_todaystop",
"title" => $db->escape_string($lang->asoi_setting_10),
"description" => $db->escape_string($lang->asoi_setting_10_description),
"optionscode" => "onoff",
"value" => "no",
"disporder" => "10",
"gid" => intval($gid),
);
$asoi_setting_11 = array(
"sid" => "NULL",
"name" => "asoi_newest_threads",
"title" => $db->escape_string($lang->asoi_setting_11),
"description" => $db->escape_string($lang->asoi_setting_11_description),
"optionscode" => "onoff",
"value" => "no",
"disporder" => "11",
"gid" => intval($gid),
);
$asoi_setting_12 = array(
"sid" => "NULL",
"name" => "asoi_length",
"title" => $db->escape_string($lang->asoi_setting_12),
"description" => $db->escape_string($lang->asoi_setting_12_description),
"optionscode" => "text",
"value" => "20",
"disporder" => "13",
"gid" => intval($gid),
);
$asoi_setting_13 = array(
"sid" => "NULL",
"name" => "asoi_limit",
"title" => $db->escape_string($lang->asoi_setting_13),
"description" => $db->escape_string($lang->asoi_setting_13_description),
"optionscode" => "text",
"value" => "5",
"disporder" => "14",
"gid" => intval($gid),
);
$asoi_setting_14 = array(
"sid" => "NULL",
"name" => "asoi_copy",
"title" => $db->escape_string($lang->asoi_setting_14),
"description" => $db->escape_string($lang->asoi_setting_14_description),
"optionscode" => "onoff",
"value" => "yes",
"disporder" => "15",
"gid" => intval($gid),
);
$asoi_setting_15 = array(
"sid" => "NULL",
"name" => "asoi_backups",
"title" => $db->escape_string($lang->asoi_setting_15),
"description" => $db->escape_string($lang->asoi_setting_15_description),
"optionscode" => "onoff",
"value" => "on",
"disporder" => "16",
"gid" => intval($gid),
);
$asoi_setting_16 = array(
"sid" => "NULL",
"name" => "asoi_style",
"title" => $db->escape_string($lang->asoi_setting_16),
"description" => $db->escape_string($lang->asoi_setting_16_description),
"optionscode" => $db->escape_string($lang->sprintf($lang->asoi_setting_16_optionscode, 'normal', 'hover', 'expand')),
"value" => "normal",
"disporder" => "17",
"gid" => intval($gid),
);
$asoi_setting_17 = array(
"sid" => "NULL",
"name" => "asoi_online_members",
"title" => $db->escape_string($lang->asoi_setting_17),
"description" => $db->escape_string($lang->asoi_setting_17_description),
"optionscode" => "onoff",
"value" => "no",
"disporder" => "12",
"gid" => intval($gid),
);
$db->insert_query("settings", $asoi_setting_1);
$db->insert_query("settings", $asoi_setting_2);
$db->insert_query("settings", $asoi_setting_3);
$db->insert_query("settings", $asoi_setting_4);
$db->insert_query("settings", $asoi_setting_5);
$db->insert_query("settings", $asoi_setting_6);
$db->insert_query("settings", $asoi_setting_7);
$db->insert_query("settings", $asoi_setting_8);
$db->insert_query("settings", $asoi_setting_9);
$db->insert_query("settings", $asoi_setting_10);
$db->insert_query("settings", $asoi_setting_11);
$db->insert_query("settings", $asoi_setting_12);
$db->insert_query("settings", $asoi_setting_13);
$db->insert_query("settings", $asoi_setting_14);
$db->insert_query("settings", $asoi_setting_15);
$db->insert_query("settings", $asoi_setting_16);
$db->insert_query("settings", $asoi_setting_17);
//RESTORE BACKUPS
asoi_backups_restore();
//REBUILD SETTINGS FILE
asoi_rebuild_settings();
//EDIT TEMPLATES
require MYBB_ROOT."/inc/adminfunctions_templates.php";
find_replace_templatesets("index_stats",'#{\$forumstats}#','{\$forumstats}<!-- ASOIP_2_0_I -->', 0);
find_replace_templatesets("portal_stats",'#{\$stats}#','{\$stats}<!-- ASOIP_2_0_P -->');
}
function asoi_deactivate()
{
global $db, $mybb;
//DELETE ALL SETTINGS
$db->write_query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN(
'asoi_limit',
'asoi_newest_members',
'asoi_most_viewed',
'asoi_most_replied',
'asoi_newest_replies',
'asoi_top_posters',
'asoi_length',
'asoi_copy',
'asoi_backup',
'asoi_highest_rep',
'asoi_top_forums',
'asoi_portal',
'asoi_index',
'asoi_newest_threads',
'asoi_todaystop',
'asoi_style',
'asoi_online_members'
)");
$db->write_query ("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='asoi'");
//RESTORE EDITED TEMPLATES
require MYBB_ROOT."/inc/adminfunctions_templates.php";
find_replace_templatesets("index_stats",'#<!-- ASOIP_2_0_I -->#','', 0);
find_replace_templatesets("portal_stats",'#<!-- ASOIP_2_0_P -->#','', 0);
}
function asoi_get_unviewable_forums()
{
global $db, $forum_cache, $permissioncache, $mybb, $unviewableforums, $unviewable, $templates, $forumpass;
$pid = intval($pid);
if(!$permissions)
{
$permissions = $mybb->usergroup;
}
if(!is_array($forum_cache))
{
cache_forums();
}
if(!is_array($permissioncache))
{
$permissioncache = forum_permissions();
}
foreach($forum_cache as $fid => $forum)
{
if($permissioncache[$forum['fid']])
{
$perms = $permissioncache[$forum['fid']];
}
else
{
$perms = $mybb->usergroup;
}
$pwverified = 1;
if($forum['password'] != "")
{
if($_COOKIE['forumpass'][$forum['fid']] != md5($mybb->user['uid'].$forum['password']))
{
$pwverified = 0;
}
}
if($perms['canview'] == "no" || $pwverified == 0)
{
if($unviewableforums)
{
$unviewableforums .= ",";
}
$unviewableforums .= "'".$forum['fid']."'";
}
}
return $unviewableforums;
}
//PLUGIN HOOK FUNCTIONS
function asoi($page)
{
global $db, $lang, $mybb, $cache, $theme, $forum_cache, $templates;
// Get forum permissions
if(!is_array($forum_cache))
{
cache_forums();
}
foreach($forum_cache as $fid => $forum)
{
$perms = forum_permissions($forum['fid']);
$pwverified = 1;
if($forum['password'] != "")
{
if($_COOKIE['forumpass'][$forum['fid']] != md5($mybb->user['uid'].$forum['password']))
{
$pwverified = 0;
}
}
if($perms['canview'] == "no" || $pwverified == 0)
{
if($unviewableforums)
{
$unviewableforums .= ",";
}
$unviewableforums .= "'".$forum['fid']."'";
}
}
$fidnot = '1=1';
if($unviewableforums)
{
$fidnot = "fid NOT IN ($unviewableforums)";
}
//GET LANGUAGES (2.3)
$language = $mybb->settings['bblanguage'];
if(!$lang->language_exists($language."/asoi.lang"))
{
$lang->set_language("english");
}
$lang->load("asoi");
$lang->set_language($mybb->settings['bblanguage']);
$lang->load("index");
$asoiportals = $asoicols = 0;
if($mybb->settings['asoi_limit'] < 1)
{
$mybb->settings['asoi_limit'] = "5";
}
// EXPCOL SCRIPT
$expcolscript = '<script language="Javascript" type="text/javascript">
var expanded = "";
function expcol(id, click)
{
panela = document.getElementById(id);
document.body.style.cursor=\'pointer\';
if(panela)
{
if(!expanded && click == 1)
{
panela.style.display = "";
expanded = id;
}
else if(expanded && expanded != id)
{
panela.style.display = "";
panelb = document.getElementById(expanded);
if(panelb)
{
panelb.style.display = "none";
}
expanded = id;
}
else if(expanded && click == 1)
{
panelb = document.getElementById(expanded);
if(panelb)
{
panelb.style.display = "none";
}
expanded = "";
}
}
}
</script>';
// Most viewed threads
if($mybb->settings['asoi_most_viewed'] == "1")
{
$asoicols++;
$asoiportals++;
$query = $db->write_query("SELECT tid, subject, views FROM ".TABLE_PREFIX."threads WHERE $fidnot ORDER BY views DESC LIMIT 0, ".$mybb->settings['asoi_limit']);
while($thread = $db->fetch_array($query))
{
if($thread['views'] == "1")
{
$view = $lang->asoi_view;
} else {
$view = $lang->asoi_views;
}
$thread['subject'] = htmlspecialchars(stripslashes($thread['subject']));
if($mybb->settings['asoi_style'] != "hover")
{
$mostviewed .= '<div style="float:left;"><a href="showthread.php?tid='.$thread['tid'].'" target="_self"><strong>'.stripslashes(limitsubject($thread['subject'],$mybb->settings['asoi_length'])).'</strong></a></div><div style="float:right;"><small>('.$thread['views'].' '.$view.')</small></div><br />';
}
else
{
$mostviewed .= '<a href="showthread.php?tid='.$thread['tid'].'" target="_self" title="'.$thread['views'].' '.$view.'"><strong>'.stripslashes(limitsubject($thread['subject'],$mybb->settings['asoi_length'])).'</strong></a><br />';
}
}
}
// Most replied-to threads
if($mybb->settings['asoi_most_replied'] == "yes")
{
$asoicols++;
$asoiportals++;
$query = $db->query("SELECT tid, subject, replies FROM ".TABLE_PREFIX."threads WHERE $fidnot ORDER BY replies DESC LIMIT 0, ".$mybb->settings['asoi_limit']);
while($thread = $db->fetch_array($query))
{
if($thread['replies'] == "1")
{
$reply = $lang->asoi_reply;
} else {
$reply = $lang->asoi_replies;
}
$thread['subject'] = htmlspecialchars(stripslashes($thread['subject']));
if($mybb->settings['asoi_style'] != "hover")
{
$mostreplies .= '<div style="float:left;"><a href="showthread.php?tid='.$thread['tid'].'" target="_self"><strong>'.stripslashes(limitsubject($thread['subject'],$mybb->settings['asoi_length'])).'</strong></a></div><div style="float:right;"><small>('.$thread['replies'].' '.$reply.')</small></div><br />';
}
else
{
$mostreplies .= '<a href="showthread.php?tid='.$thread['tid'].'" target="_self" title="'.$thread['replies'].' '.$reply.'"><strong>'.stripslashes(limitsubject($thread['subject'],$mybb->settings['asoi_length'])).'</strong></a><br />';
}
}
}
// Newest replies
if($mybb->settings['asoi_newest_replies'] == "yes")
{
$asoicols++;
$asoiportals++;
$query = $db->query("SELECT tid, pid, subject, uid FROM ".TABLE_PREFIX."posts WHERE $fidnot AND replyto!='0' ORDER BY dateline DESC LIMIT 0, ".$mybb->settings['asoi_limit']);
while($reply = $db->fetch_array($query))
{
$reply['subject'] = htmlspecialchars(stripslashes($reply['subject']));
$replyuser = $db->fetch_array($db->query("SELECT u.usergroup, u.username, u.displaygroup FROM ".TABLE_PREFIX."users u WHERE u.uid='".$reply['uid']."' "));
$reply['username'] = format_name($replyuser['username'], $replyuser['usergroup'], $replyuser['displaygroup']);
if(!$reply['username']) $replyuser['username'] = $reply['username'] = $lang->asoi_guest;
if($mybb->settings['asoi_style'] != "hover")
{
$newestreplies .= '<div style="float:left;"><a href="showthread.php?tid='.$reply['tid'].'&pid='.$reply['pid'].'#pid'.$reply['pid'].'" target="_self"><strong>'.stripslashes(limitsubject($reply['subject'],$mybb->settings['asoi_length'])).'</strong></a></div><div style="float:right;"><small>('.$lang->asoi_by.' <a href="member.php?action=profile&uid='.$reply['uid'].'" target="_self">'.$reply['username'].'</a>)</small></div><br />';
}
else
{
$newestreplies .= '<a href="showthread.php?tid='.$reply['tid'].'&pid='.$reply['pid'].'#pid'.$reply['pid'].'" target="_self" title="'.$lang->asoi_by.' '.$replyuser['username'].'"><strong>'.stripslashes(limitsubject($reply['subject'],$mybb->settings['asoi_length'])).'</strong></a><br />';
}
}
}
// Newest threads
if($mybb->settings['asoi_newest_threads'] == "yes")
{
$asoicols++;
$asoiportals++;
$query = $db->write_query("SELECT tid, subject, uid FROM ".TABLE_PREFIX."threads WHERE $fidnot ORDER BY dateline DESC LIMIT 0, ".$mybb->settings['asoi_limit']);
while($thread = $db->fetch_array($query))
{
$thread['subject'] = htmlspecialchars(stripslashes($thread['subject']));
$threaduser = $db->fetch_array($db->write_query("SELECT u.usergroup, u.username, u.displaygroup FROM ".TABLE_PREFIX."users u WHERE u.uid='".$thread['uid']."' "));
$thread['username'] = format_name($threaduser['username'], $threaduser['usergroup'], $threaduser['displaygroup']);
if(!$thread['username']) $threaduser['username'] = $thread['username'] = $lang->asoi_guest;
if($mybb->settings['asoi_style'] != "hover")
{
$newestthreads .= '<div style="float:left;"><a href="showthread.php?tid='.$thread['tid'].'" target="_self"><strong>'.stripslashes(limitsubject($thread['subject'],$mybb->settings['asoi_length'])).'</strong></a></div><div style="float:right;"><small>('.$lang->asoi_by.' <a href="member.php?action=profile&uid='.$thread['uid'].'" target="_self">'.$thread['username'].'</a>)</small></div><br />';
}
else
{
$newestthreads .= '<a href="showthread.php?tid='.$thread['tid'].'" target="_self" title="'.$lang->asoi_by.' '.$threaduser['username'].'"><strong>'.stripslashes(limitsubject($thread['subject'],$mybb->settings['asoi_length'])).'</strong></a><br />';
}
}
}
// Top posters
if($mybb->settings['asoi_top_posters'] == "yes")
{
$asoicols++;
$asoiportals++;
$query = $db->query("SELECT uid, username, usergroup, postnum, displaygroup FROM ".TABLE_PREFIX."users ORDER BY postnum DESC LIMIT 0, ".$mybb->settings['asoi_limit']);
while($asoi_topposter = $db->fetch_array($query))
{
if($asoi_topposter['postnum'] == "1")
{
$post = $lang->asoi_post;
}
else
{
$post = $lang->asoi_posts;
}
$asoi_topposter['username'] = format_name($asoi_topposter['username'], $asoi_topposter['usergroup'], $asoi_topposter['displaygroup']);
if(!$asoi_topposter['username']) $asoi_topposter['username'] = $lang->asoi_guest;
if($mybb->settings['asoi_style'] != "hover")
{
$topposters .= '<div style="float:left;"><a href="member.php?action=profile&uid='.$asoi_topposter['uid'].'" target="_self">'.$asoi_topposter['username'].'</a></div><div style="float:right;"><small>(<a href="search.php?action=finduser&uid='.$asoi_topposter['uid'].'" target="_self">'.$asoi_topposter['postnum'].' '.$post.'</a>)</small></div><br />';
}
else
{
$topposters .= '<a href="member.php?action=profile&uid='.$asoi_topposter['uid'].'" target="_self" title="'.$asoi_topposter['postnum'].' '.$post.'">'.$asoi_topposter['username'].'</a><br />';
}
}
}
// Today's top poster
if($mybb->settings['asoi_todaystop'] == "yes")
{
$asoicols++;
$asoiportals++;
$timesearch = time() - 86400;
$query = $db->query("SELECT u.uid, u.username, u.usergroup, u.displaygroup, COUNT(*) AS poststoday FROM ".TABLE_PREFIX."posts p LEFT JOIN ".TABLE_PREFIX."users u ON (p.uid=u.uid) WHERE p.dateline > $timesearch GROUP BY p.uid ORDER BY poststoday DESC LIMIT 0,".$mybb->settings['asoi_limit']);
while($asoi_todaystop = $db->fetch_array($query))
{
if($asoi_todaystop['poststoday'] == "1")
{
$post = $lang->asoi_post;
}
else
{
$post = $lang->asoi_posts;
}
$asoi_todaystop['username'] = format_name($asoi_todaystop['username'], $asoi_todaystop['usergroup'], $asoi_todaystop['displaygroup']);
if($mybb->settings['asoi_style'] != "hover")
{
$todaystops .= '<div style="float:left;"><a href="member.php?action=profile&uid='.$asoi_todaystop['uid'].'" target="_self">'.$asoi_todaystop['username'].'</a></div><div style="float:right;"><small>(<a href="search.php?action=finduser&uid='.$asoi_todaystop['uid'].'" target="_self">'.$asoi_todaystop['poststoday'].' '.$post.'</a>)</small></div><br />';
}
else
{
$todaystops .= '<a href="member.php?action=profile&uid='.$asoi_todaystop['uid'].'" target="_self" title="'.$asoi_todaystop['poststoday'].' '.$post.'">'.$asoi_todaystop['username'].'</a><br />';
}
}
if($db->num_rows($query) <= 0)
{
$todaystops = '<div style="float:left;">'.$lang->asoi_nobody.'</div><br />';
}
}
// Newest Members
if($mybb->settings['asoi_newest_members'] == "yes")
{
$asoicols++;
$asoiportals++;
$query = $db->write_query("SELECT uid, username, usergroup, postnum, displaygroup FROM ".TABLE_PREFIX."users ORDER BY regdate DESC LIMIT 0, ".$mybb->settings['asoi_limit']);
while($newmember = $db->fetch_array($query))
{
if($newmember['postnum'] == "1")
{
$post = $lang->asoi_post;
}
else
{
$post = $lang->asoi_posts;
}
$newmember['username'] = format_name($newmember['username'], $newmember['usergroup'], $newmember['displaygroup']);
if($mybb->settings['asoi_style'] != "hover")
{
$newmembers .= '<div style="float:left;"><a href="member.php?action=profile&uid='.$newmember['uid'].'" target="_self">'.$newmember['username'].'</a></div><div style="float:right;"><small>(<a href="search.php?action=finduser&uid='.$newmember['uid'].'" target="_self">'.$newmember['postnum'].' '.$post.'</a>)</small></div><br />';
}
else
{
$newmembers .= '<a href="member.php?action=profile&uid='.$newmember['uid'].'" target="_self" title="'.$newmember['postnum'].' '.$post.'">'.$newmember['username'].'</a><br />';
}
}
}
// Top forums
if($mybb->settings['asoi_top_forums'] == "yes")
{
$asoicols++;
$asoiportals++;
$query = $db->write_query("SELECT fid, name, threads, posts FROM ".TABLE_PREFIX."forums WHERE $fidnot AND type='f' ORDER BY posts DESC LIMIT 0, ".$mybb->settings['asoi_limit']);
while($forum = $db->fetch_array($query))
{
if($forum['threads'] == "1")
{
$forumts = $lang->asoi_thread;
}
else
{
$forumts = $lang->asoi_threads;
}
if($forum['posts'] == "1")
{
$post = $lang->asoi_post;
}
else
{
$post = $lang->asoi_posts;
}
$forum['subject'] = htmlspecialchars(stripslashes($forum['subject']));
if($mybb->settings['asoi_style'] != "hover")
{
$topforums .= '<div style="float:left;"><a href="forumdisplay.php?fid='.$forum['fid'].'"><strong>'.stripslashes(limitsubject($forum['name'],$mybb->settings['asoi_length'])).'</strong></a></div><div style="float:right;"><small>('.$forum['threads'].' '.$forumts.' '.$lang->asoi_and.' '.$forum['posts'].' '.$post.')</small></div><br />';
}
else
{
$topforums .= '<a href="forumdisplay.php?fid='.$forum['fid'].'" title="'.$forum['threads'].' '.$forumts.' '.$lang->asoi_and.' '.$forum['posts'].' '.$post.'"><strong>'.stripslashes(limitsubject($forum['name'],$mybb->settings['asoi_length'])).'</strong></a><br />';
}
}
}
// Highest repped
if($mybb->settings['asoi_highest_rep'] == "yes")
{
$asoicols++;
$asoiportals++;
$plugincache = $cache->read("plugins");
$query = $db->write_query("SELECT uid, username, usergroup, displaygroup, reputation FROM ".TABLE_PREFIX."users ORDER BY reputation DESC LIMIT 0, ".$mybb->settings['asoi_limit']);
while($repmember = $db->fetch_array($query))
{
if($plugincache['active']['crs'])
{
$detailsb = " ";
$reputation = crs_get_reputation($repmember['reputation']);
}
else
{
$detailsa = "<a href=\"reputation.php?uid=".$repmember['uid']."\" target=\"_self\">";
$detailsb = "</a> <a href=\"javascript:MyBB.reputation(".$repmember['uid'].");\" style=\"text-decoration:none;\">";
$detailsc = "</a>";
$reputation = get_reputation($repmember['reputation']);
}
$repmember['username'] = format_name($repmember['username'], $repmember['usergroup'], $repmember['displaygroup']);
if($mybb->settings['asoi_style'] != "hover")
{
$repmembers .= '<div style="float:left;"><a href="member.php?action=profile&uid='.$repmember['uid'].'" target="_self">'.$repmember['username'].'</a></div><div style="float:right;"><small>('.$detailsa.$lang->asoi_reputation.$detailsb.$reputation.$detailsc.')</small></div><br />';
}
else
{
$repmembers .= '<a href="member.php?action=profile&uid='.$repmember['uid'].'" target="_self" title="'.$lang->asoi_reputation.' '.$repmember['reputation'].'">'.$repmember['username'].'</a><br />';
}
}
}
//Online Members on Portal
if($mybb->settings['asoi_online_members'] == "yes")
{
$whosonline = '';
if($mybb->settings['showwol'] != "no" && $mybb->usergroup['canviewonline'] != "no")
{
// Get the online users.
$timesearch = time() - $mybb->settings['wolcutoffmins']*60;
$comma = '';
$query = $db->write_query("
SELECT s.sid, s.ip, s.uid, s.time, s.location, u.username, u.invisible, u.usergroup, u.displaygroup
FROM ".TABLE_PREFIX."sessions s
LEFT JOIN ".TABLE_PREFIX."users u ON (s.uid=u.uid)
WHERE s.time>'$timesearch'
ORDER BY u.username ASC, s.time DESC
");
$membercount = 0;
$onlinemembers = '';
$guestcount = 0;
$anoncount = 0;
$doneusers = array();
// Loop through all users.
while($user = $db->fetch_array($query))
{
// Create a key to test if this user is a search bot.
$botkey = strtolower(str_replace("bot=", '', $user['sid']));
// Decide what type of user we are dealing with.
if($user['uid'] > 0)
{
// The user is registered.
if($doneusers[$user['uid']] < $user['time'] || !$doneusers[$user['uid']])
{
// If the user is logged in anonymously, update the count for that.
if($user['invisible'] == "yes")
{
++$anoncount;
}
++$membercount;
if($user['invisible'] != "yes" || $mybb->usergroup['canviewwolinvis'] == "yes" || $user['uid'] == $mybb->user['uid'])
{
// If this usergroup can see anonymously logged-in users, mark them.
if($user['invisible'] == "yes")
{
$invisiblemark = "*";
}
else
{
$invisiblemark = '';
}
// Properly format the username and assign the template.
$user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']);
eval("\$onlinemembers .= \"".$templates->get("index_whosonline_memberbit", 1, 0)."\";");
$comma = ", ";
}
// This user has been handled.
$doneusers[$user['uid']] = $user['time'];
}
}
elseif(strstr($user['sid'], "bot=") !== false && $session->bots[$botkey])
{
// The user is a search bot.
$onlinemembers .= $comma.format_name($session->bots[$botkey], $session->botgroup);
$comma = ", ";
++$botcount;
}
else
{
// The user is a guest.
++$guestcount;
}
}
// Build the who's online bit on the index page.
$onlinecount = $membercount + $guestcount;
if($onlinecount != 1)
{
$onlinebit = $lang->online_online_plural;
}
else
{
$onlinebit = $lang->online_online_singular;
}
if($membercount != 1)
{
$memberbit = $lang->online_member_plural;
}
else
{
$memberbit = $lang->online_member_singular;
}
if($anoncount != 1)
{
$anonbit = $lang->online_anon_plural;
}
else
{
$anonbit = $lang->online_anon_singular;
}
if($guestcount != 1)
{
$guestbit = $lang->online_guest_plural;
}
else
{
$guestbit = $lang->online_guest_singular;
}
$lang->online_note = sprintf($lang->online_note, my_number_format($onlinecount), $onlinebit, $mybb->settings['wolcutoffmins'], my_number_format($membercount), $memberbit, my_number_format($anoncount), $anonbit, my_number_format($guestcount), $guestbit);
}
}
if($mybb->settings['asoi_index'] == "on")
{
if($asoicols != 0)
{
$asoiwidth = floor(100/$asoicols)."%";
if(preg_match('#(<!-- end: index_stats --><!-- ASOIP_2_0_I -->|<!-- end: index_stats -->
<!-- ASOIP_2_0_I -->)#si', $page))
{
$style = ' border-top:0;';
}
else
{
$header = '<tr><td class="thead" colspan="'.$asoicols.'"><strong>'.$lang->asoi.'</strong></td></tr>';
}
$asoistats = '<table border="0" width="100%" class="tborder" cellspacing="'.$theme['borderwidth'].'" cellpadding="'.$theme['tablespace'].'" style="clear:both;'.$style.'">'.$header;
if($mybb->settings['asoi_style'] == "expand")
{
$asoistats .= $expcolscript;
$bodystyle = 'style="display:none;" colspan="'.$asoicols.'"';
}
if($mybb->settings['asoi_most_viewed'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_most_viewed\', 0);" onClick="expcol(\'asoi_most_viewed\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiheaders .= '<td class="tcat" width="'.$asoiwidth.'" '.$mouse.'><strong>'.$lang->asoi_most_viewed.'</strong></td>';
$asoibody .= '<td class="trow1" valign="top" id="asoi_most_viewed" '.$bodystyle.'><div class="smalltext">'.$mostviewed.'</div></td>';
}
if($mybb->settings['asoi_most_replied'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_most_replied\', 0);" onClick="expcol(\'asoi_most_replied\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiheaders .= '<td class="tcat" width="'.$asoiwidth.'" '.$mouse.'><strong>'.$lang->asoi_most_replied.'</strong></td>';
$asoibody .= '<td class="trow1" valign="top" id="asoi_most_replied" '.$bodystyle.'><div class="smalltext">'.$mostreplies.'</div></td>';
}
if($mybb->settings['asoi_newest_replies'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_newest_replies\', 0);" onClick="expcol(\'asoi_newest_replies\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiheaders .= '<td class="tcat" width="'.$asoiwidth.'" '.$mouse.'><strong>'.$lang->asoi_newest_replies.'</strong></td>';
$asoibody .= '<td class="trow1" valign="top" id="asoi_newest_replies" '.$bodystyle.'><div class="smalltext">'.$newestreplies.'</div></td>';
}
if($mybb->settings['asoi_newest_threads'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_newest_threads\', 0);" onClick="expcol(\'asoi_newest_threads\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiheaders .= '<td class="tcat" width="'.$asoiwidth.'" '.$mouse.'><strong>'.$lang->asoi_newest_threads.'</strong></td>';
$asoibody .= '<td class="trow1" valign="top" id="asoi_newest_threads" '.$bodystyle.'><div class="smalltext">'.$newestthreads.'</div></td>';
}
if($mybb->settings['asoi_top_posters'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_top_posters\', 0);" onClick="expcol(\'asoi_top_posters\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiheaders .= '<td class="tcat" width="'.$asoiwidth.'" '.$mouse.'><strong>'.$lang->asoi_top_posters.'</strong></td>';
$asoibody .= '<td class="trow1" valign="top" id="asoi_top_posters" '.$bodystyle.'><div class="smalltext">'.$topposters.'</div></td>';
}
if($mybb->settings['asoi_todaystop'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_todays_top\', 0);" onClick="expcol(\'asoi_todays_top\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiheaders .= '<td class="tcat" width="'.$asoiwidth.'" '.$mouse.'><strong>'.$lang->asoi_todays_top.'</strong></td>';
$asoibody .= '<td class="trow1" valign="top" id="asoi_todays_top" '.$bodystyle.'><div class="smalltext">'.$todaystops.'</div></td>';
}
if($mybb->settings['asoi_newest_members'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_newest_members\', 0);" onClick="expcol(\'asoi_newest_members\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiheaders .= '<td class="tcat" width="'.$asoiwidth.'" '.$mouse.'><strong>'.$lang->asoi_newest_members.'</strong></td>';
$asoibody .= '<td class="trow1" valign="top" id="asoi_newest_members" '.$bodystyle.'><div class="smalltext">'.$newmembers.'</div></td>';
}
if($mybb->settings['asoi_top_forums'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_top_forums\', 0);" onClick="expcol(\'asoi_top_forums\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiheaders .= '<td class="tcat" width="'.$asoiwidth.'" '.$mouse.'><strong>'.$lang->asoi_top_forums.'</strong></td>';
$asoibody .= '<td class="trow1" valign="top" id="asoi_top_forums" '.$bodystyle.'><div class="smalltext">'.$topforums.'</div></td>';
}
if($mybb->settings['asoi_highest_rep'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_highest_rep\', 0);" onClick="expcol(\'asoi_highest_rep\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiheaders .= '<td class="tcat" width="'.$asoiwidth.'" '.$mouse.'><strong>'.$lang->asoi_highest_rep.'</strong></td>';
$asoibody .= '<td class="trow1" valign="top" id="asoi_highest_rep" '.$bodystyle.'><div class="smalltext">'.$repmembers.'</div></td>';
}
$asoistats .= '<tr>'.$asoiheaders.'</tr><tr>'.$asoibody.'</tr>';
}
else
{
$asoistats .= '';
}
if($mybb->settings['asoi_copy'] != "no" && $asoicols != 0)
{
$asoistats .= '</table></tbody></table><table width="100%"><tbody><tr><td><div style="float:right;"><font size="-3">Advanced Stats on Index/Portal 2006-2007 <a href="http://community.mybboard.net/member.php?action=profile&uid=139" target="_blank"><b>Smethead</b></a></font></div></td></tr>';
}
$page = str_replace('<!-- ASOIP_2_0_I -->', $asoistats, $page);
}
if($mybb->settings['asoi_portal'] == "on")
{
if($asoiportals != 0)
{
$asoiportalstats = '<table cellspacing="0" cellpadding="0" border="0" width="100%"><tr><td class="tborder"><table border="0" cellspacing="'.$theme['borderwidth'].'" cellpadding="'.$theme['tablespace'].'" width="100%"><tr><td class="thead"><strong>'.$lang->asoi.'</strong></td></tr>';
if($mybb->settings['asoi_style'] == "expand")
{
$asoiportalstats .= $expcolscript;
$bodystyle = 'style="display:none;"';
}
if($mybb->settings['asoi_most_viewed'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_most_viewed\', 0);" onClick="expcol(\'asoi_most_viewed\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiportalstats .= '<tr><td class="tcat" '.$mouse.'><strong>'.$lang->asoi_most_viewed.'</strong></td></tr><tr><td class="trow1" valign="top" id="asoi_most_viewed" '.$bodystyle.'><div class="smalltext">'.$mostviewed.'</div></td></tr>';
}
if($mybb->settings['asoi_most_replied'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_most_replied\', 0);" onClick="expcol(\'asoi_most_replied\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiportalstats .= '<tr><td class="tcat" '.$mouse.'><strong>'.$lang->asoi_most_replied.'</strong></td></tr><tr><td class="trow1" valign="top" id="asoi_most_replied" '.$bodystyle.'><div class="smalltext">'.$mostreplies.'</div></td></tr>';
}
if($mybb->settings['asoi_newest_replies'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_newest_replies\', 0);" onClick="expcol(\'asoi_newest_replies\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiportalstats .= '<tr><td class="tcat" '.$mouse.'><strong>'.$lang->asoi_newest_replies.'</strong></td></tr><tr><td class="trow1" valign="top" id="asoi_newest_replies" '.$bodystyle.'><div class="smalltext">'.$newestreplies.'</div></td></tr>';
}
if($mybb->settings['asoi_newest_threads'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_newest_threads\', 0);" onClick="expcol(\'asoi_newest_threads\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiportalstats .= '<tr><td class="tcat" '.$mouse.'><strong>'.$lang->asoi_newest_threads.'</strong></td></tr><tr><td class="trow1" valign="top" id="asoi_newest_threads" '.$bodystyle.'><div class="smalltext">'.$newestthreads.'</div></td></tr>';
}
if($mybb->settings['asoi_top_posters'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_top_posters\', 0);" onClick="expcol(\'asoi_top_posters\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiportalstats .= '<tr><td class="tcat" '.$mouse.'><strong>'.$lang->asoi_top_posters.'</strong></td></tr><tr><td class="trow1" valign="top" id="asoi_top_posters" '.$bodystyle.'><div class="smalltext">'.$topposters.'</div></td></tr>';
}
if($mybb->settings['asoi_todaystop'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_todays_top\', 0);" onClick="expcol(\'asoi_todays_top\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiportalstats .= '<tr><td class="tcat" '.$mouse.'><strong>'.$lang->asoi_todays_top.'</strong></td></tr><tr><td class="trow1" valign="top" id="asoi_todays_top" '.$bodystyle.'><div class="smalltext">'.$todaystops.'</div></td></tr>';
}
if($mybb->settings['asoi_newest_members'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_newest_members\', 0);" onClick="expcol(\'asoi_newest_members\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiportalstats .= '<tr><td class="tcat" '.$mouse.'><strong>'.$lang->asoi_newest_members.'</strong></td></tr><tr><td class="trow1" valign="top" id="asoi_newest_members" '.$bodystyle.'><div class="smalltext">'.$newmembers.'</div></td></tr>';
}
if($mybb->settings['asoi_top_forums'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_top_forums\', 0);" onClick="expcol(\'asoi_top_forums\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiportalstats .= '<tr><td class="tcat" '.$mouse.'><strong>'.$lang->asoi_top_forums.'</strong></td></tr><tr><td class="trow1" valign="top" id="asoi_top_forums" '.$bodystyle.'><div class="smalltext">'.$topforums.'</div></td></tr>';
}
if($mybb->settings['asoi_highest_rep'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_highest_rep\', 0);" onClick="expcol(\'asoi_highest_rep\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiportalstats .= '<tr><td class="tcat" '.$mouse.'><strong>'.$lang->asoi_highest_rep.'</strong></td></tr><tr><td class="trow1" valign="top" id="asoi_highest_rep" '.$bodystyle.'><div class="smalltext">'.$repmembers.'</div></td></tr>';
}
if($mybb->settings['asoi_online_members'] == "yes")
{
if($mybb->settings['asoi_style'] == "expand")
{
$mouse = 'onMouseOver="expcol(\'asoi_online_members\', 0);" onClick="expcol(\'asoi_online_members\', 1);" onMouseOut="document.body.style.cursor=\'default\';"';
}
$asoiportalstats .= '<tr><td class="tcat" '.$mouse.'><strong>'.$lang->whos_online.'</strong></td></tr><tr><td class="trow1" valign="top" id="asoi_online_members" '.$bodystyle.'><div class="smalltext">'.$lang->online_note.'<br />'.$onlinemembers.'</div></td></tr>';
}
if($mybb->settings['asoi_copy'] != "no" && $asoicols != 0)
{
$asoiportalstats .= '</table></td></tr><tr><td><div style="float:right;"><font size="-3">ASOI/P 2006-2007 <a href="http://community.mybboard.net/member.php?action=profile&uid=139" target="_blank"><b>Smethead</b></a></font></div></td></tr></table><br />';
}
else
{
$asoiportalstats .= '</table></td></tr></table><br />';
}
}
else
{
$asoiportalstats = '';
}
$page = preg_replace('#<!-- ASOIP_2_0_P -->#', $asoiportalstats, $page);
$page = preg_replace('#<!-- start: portal_latestthreads -->(.*?)<!-- end: portal_latestthreads -->#s', '<!-- start: portal_latestthreads --><!-- end: portal_latestthreads -->', $page);
}
return $page;
}
//CUSTOM LIMITSUBJECT FUNCTION
function limitsubject($subject, $limit)
{
if(strlen($subject) > $limit && $limit != 0)
{
$subject = substr($subject,0,$limit-3).'...';
}
else
{
$subject = $subject;
}
return $subject;
}
//CUSTOM REBUILDSETTINGS FUNCTION
function asoi_rebuild_settings()
{
rebuild_settings();
}
function asoi_backups_create()
{
global $db, $mybb;
if($mybb->settings['asoi_backups'] == "on")
{
if(!$db->table_exists(TABLE_PREFIX."asoi_backup"))
{
$db->write_query("CREATE TABLE ".TABLE_PREFIX."asoi_backup (`name` VARCHAR( 20 ) NOT NULL ,`content` VARCHAR( 120 ) NOT NULL) ");
}
$db->write_query("DELETE FROM ".TABLE_PREFIX."asoi_backup WHERE 1=1 ");
$query = $db->write_query("SELECT name, value FROM ".TABLE_PREFIX."settings WHERE name IN(
'asoi_limit',
'asoi_newest_members',
'asoi_most_viewed',
'asoi_most_replied',
'asoi_newest_replies',
'asoi_top_posters',
'asoi_length',
'asoi_copy',
'asoi_highest_rep',
'asoi_top_forums',
'asoi_backups',
'asoi_portal',
'asoi_index',
'asoi_newest_threads',
'asoi_todaystop',
'asoi_style',
'asoi_online_members'
)");
while($asoi_setting = $db->fetch_array($query))
{
$asoi_backup_settings = array(
"name" => $asoi_setting['name'],
"content" => $db->escape_string($asoi_setting['value']),
);
$db->insert_query(TABLE_PREFIX."asoi_backup", $asoi_backup_settings);
}
}
elseif($mybb->settings['asoi_backups'] == "off")
{
if(!$db->table_exists(TABLE_PREFIX."asoi_backup"))
{
$db->write_query("CREATE TABLE ".TABLE_PREFIX."asoi_backup (`name` VARCHAR( 20 ) NOT NULL ,`content` VARCHAR( 120 ) NOT NULL) ");
}
$asoi_backup_setting = array(
"name" => "asoi_backups",
"content" => "off",
);
if($db->write_query("SELECT name FROM ".TABLE_PREFIX."asoi_backup WHERE name='asoi_backups'"))
{
$db->update_query("asoi_backup", $asoi_backup_setting, "name='asoi_backups'");
}
else
{
$db->insert_query("asoi_backup", $asoi_backup_setting);
}
}
}
function asoi_backups_restore()
{
global $db, $mybb;
if($db->table_exists("asoi_backup"))
{
$createbackups = $db->write_query("SELECT content FROM ".TABLE_PREFIX."asoi_backup WHERE name='asoi_backups'");
$createbackupsarray = $db->fetch_array($createbackups);
if($createbackupsarray['content'] == "on" || $mybb->settings['asoi_backups'] == "on")
{
$query = $db->write_query("SELECT * FROM ".TABLE_PREFIX."asoi_backup ");
while($backupq = $db->fetch_array($query))
{
$backup = array(
"value" => $db->escape_string($backupq['content']),
);
$db->update_query("settings", $backup, "name='".$backupq['name']."'");
}
}
elseif($mybb->settings['asoi_backups'] == "off")
{
$backup = array(
"value" => "off",
);
$db->update_query("settings", $backup, "name='asoi_backups'");
}
}
}
?>