MyBB Community Forums

Full Version: Plugin update 1.4
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Hi,
I'm updating a plugin for mybb 1.2.
This line:
Quote:$db->query
becomes
Quote:$db->write_query
and this line:
Quote:$db->insert_query
Remain the same?


Then:
This line:
Quote:$db->insert_query(TABLE_PREFIX."settings", $asoi_setting_1);
remain the same o becomes so:
Quote:$db->insert_query("settings", $asoi_setting_1);

Other question:
The forum gave me this error:
MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1054 - Colonna sconosciuta 'asoi' in 'where clause'
Query:
DELETE FROM mybb_settinggroups WHERE name=asoi
(2008-12-15, 03:48 PM)Giangy94 Wrote: [ -> ]This line:
Quote:$db->query
becomes
Quote:$db->write_query
Yes, only if the query is performing a write operation (update, insert, delete etc).

(2008-12-15, 03:48 PM)Giangy94 Wrote: [ -> ]
Quote:$db->insert_query
Remain the same?
Yes.

(2008-12-15, 03:48 PM)Giangy94 Wrote: [ -> ]Then:
This line:
Quote:$db->insert_query(TABLE_PREFIX."settings", $asoi_setting_1);
remain the same o becomes so:
Quote:$db->insert_query("settings", $asoi_setting_1);
Yes.

(2008-12-15, 03:48 PM)Giangy94 Wrote: [ -> ]Other question:
The forum gave me this error:
MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1054 - Colonna sconosciuta 'asoi' in 'where clause'
Query:
DELETE FROM mybb_settinggroups WHERE name=asoi
You probably meant to place quotes around asoi, eg:
$db->delete_query("settinggroups", "name='asoi'");
Please help me! it is very important!! I don't see the statistic
This is the code for templates:
	//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 -->');

upppppppppppppp PLEASE!!!!
Uppppppp
Upppppppppp
(2008-12-21, 04:00 PM)Giangy94 Wrote: [ -> ]Please help me! it is very important!! I don't see the statistic
This is the code for templates:
	//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 -->');

upppppppppppppp PLEASE!!!!

i think you should use
	//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 -->');
[
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'");
		}
	}
}
?>
$mybb->settings['asoi_backups'] == "on") should be $mybb->settings['asoi_backups'] == 1) this is new in mybb
and off should be 0
and "yes"/"no" remain the same o they'll divenue 1/0?
Pages: 1 2