MyBB Community Forums

Full Version: Stats & Index Page - Help Please
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Hello. Could anybody please help me. I have 3 Questions I want to ask and I hope somebody can help me

1) How can I set forumdisplay.php?fid=2 to display as my index.php and then have the page display as index.php instead of forumdisplay.php?fid=2? I know I can set a URL Redirection script to redirect to forumdisplay.php?fid=2 for index.php, but I don't want to see forumdisplay.php?fid=2 at all Sad. I am currently running IIS.

2) I tried installing Adstats with 1.6.X (Latest Build). When I go to activate it I get the following error. Help please?

Quote:MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1366 - Incorrect integer value: 'no' for column 'isdefault' at row 1
Query:
INSERT INTO mybb_settinggroups (name,title,description,disporder,isdefault) VALUES ('adstats','Additional Stats in Index Page','Display additional stats on board stats on index page .','401','no')

3) I have also tried installing "Show the users that has been online today (2.0)" since Adstats didn't work. But I am also getting a similar error. Help please?

Quote:MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1366 - Incorrect integer value: '' for column 'tid' at row 1
Query:
INSERT INTO mybb_templates (tid,title,template,sid) VALUES ('','online_today_index',' {$lang->whos_online_today} [{$lang->complete_list}] {$lang->online_note_today}
{$onlinemembers} ','-1')

I will really appreciate any kind of help anyone can give me thanks.
1. Unsure, not my speciality Smile

2. In the plugin file, change the 'no' in that query to '0'

3. Change (tid,title,template,sid) to (title,template,sid) and ('','online_today_index' to ('online_today_index'

For future reference, plugin support questions should be posted in the plugin support forum as it isn't general support.
*Bump*. Thanks for the reply. Anyone else maby have some info on that index page for me? Thanks.
Sorry to bump again. But I cant exactly find where to edit the SQL data for "Who is online today". Could anyone please assist?

<?php
/**
 *	Copyright © 2006-2008 CraKteR, crakter [at] gmail [dot] com
 *
 *	This program is free software: you can redistribute it and/or modify
 *	it under the terms of the GNU General Public License as published by
 *	the Free Software Foundation, either version 3 of the License, or
 *	(at your option) any later version.
 *
 *	This program is distributed in the hope that it will be useful,
 *	but WITHOUT ANY WARRANTY; without even the implied warranty of
 *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *	GNU General Public License for more details.
 *
 *	You should have received a copy of the GNU General Public License
 *	along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 *	@version $Id: onlinetoday.php 29 2008-08-14 19:00:36Z CraKteR $
 *	@copyright $LastChangedDate: 2008-08-14 21:00:36 +0200 (to, 14 aug 2008) $
 *	@author CraKteR <[email protected]>
 */

if(!defined("IN_MYBB"))
{
    die("This file cannot be accessed directly.");
}

$plugins->add_hook('index_start', 'add_onlinetoday', 1000000);

function onlinetoday_info()
{
	return array(
		"name"			=>	"Show the users that has been online today",
		"description"	=>	"Shows the users that has been online within 24 hours.",
		"website"		=>	"",
		"author"		=>	"CraKteR",
		"authorsite"	=>	"mailto:[email protected]",
		"version"		=>	"2.0",
		"guid"			=>	"c2f1dd8db9b4f3898cb58f5ed02f9b53",
		"compatibility" =>	"14*",
	);
}

function onlinetoday_activate()
{
	global $db;
	$template = array(
		"tid"		=> NULL,
		"title"		=> "online_today_index",
		"template"	=> "<tr>
	<td class=\"tcat\"><strong>{\$lang->whos_online_today}</strong> [<a href=\"online.php?action=today\">{\$lang->complete_list}</a>]</td>
</tr>
<tr>
	<td class=\"trow1\"><span class=\"smalltext\">{\$lang->online_note_today}<br />{\$onlinemembers}</span></td>
</tr>",
		"sid"		=> "-1"
	);
	$db->insert_query("templates", $template);

	require MYBB_ROOT."/inc/adminfunctions_templates.php";
	find_replace_templatesets('index_boardstats', '#{\$whosonline}#', "{\$whosonline}\n{\$online_today}");
}

function onlinetoday_deactivate()
{
	global $db;
	$db->query("DELETE FROM ".TABLE_PREFIX."templates WHERE title='online_today_index'");

	require MYBB_ROOT."/inc/adminfunctions_templates.php";

	find_replace_templatesets('index_boardstats', '#(\n?){\$online_today}#', '', 0);
}

function add_onlinetoday()
{
	global $db, $mybb, $templates, $online_today, $lang, $theme;
	$online_today = '';

	if($mybb->settings['showwol'] != 0 && $mybb->usergroup['canviewonline'] != 0)
	{
		$lang->load("onlinetoday");
		$lang->load("index");
		$timesearch = time() - 24*60*60;
		$queries = array();
		$queries[] = $db->simple_select(
			"users u LEFT JOIN ".TABLE_PREFIX."sessions s ON (u.uid=s.uid)", 
			"s.sid, s.ip, s.time, s.location, u.uid, u.username, u.invisible, u.usergroup, u.displaygroup",
			"u.lastactive > $timesearch ORDER BY u.username ASC, s.time DESC"
		);
		$queries[] = $db->simple_select(
			"sessions s LEFT JOIN ".TABLE_PREFIX."users u ON (s.uid=u.uid)",
			"s.sid, s.ip, s.uid, s.time, s.location, u.username, u.invisible, u.usergroup, u.displaygroup",
			"s.time>'$timesearch' ORDER BY u.username ASC, s.time DESC"
		);
		$comma = $onlinemembers = '';
		$membercount = $guestcount = $anoncount = 0;
		$doneusers = $ips = array();
		foreach($queries as $query)
		{
			while($user = $db->fetch_array($query))
			{
				if(isset($user['sid']))
				{
					$botkey = strtolower(str_replace("bot=", '', $user['sid']));
				}

				if($user['uid'] > 0)
				{
					if($doneusers[$user['uid']] < $user['time'] || !$doneusers[$user['uid']])
					{
						if($user['invisible'] == 1)
						{
							++$anoncount;
						}
						++$membercount;
						if($user['invisible'] != 1 || $mybb->usergroup['canviewwolinvis'] == 1 || $user['uid'] == $mybb->user['uid'])
						{
							$invisiblemark = ($user['invisible'] == 1) ? "*" : "";
							$user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']);
							$user['profilelink'] = build_profile_link($user['username'], $user['uid']);
							eval("\$onlinemembers .= \"".$templates->get("index_whosonline_memberbit", 1, 0)."\";");
							$comma = ", ";
						}

						if(isset($user['time']))
						{
							$doneusers[$user['uid']] = $user['time'];
						}
						else
						{
							$doneusers[$user['uid']] = $user['lastactive'];
						}
					}
				}
				else if(strstr($user['sid'], "bot=") !== false && $session->bots[$botkey] && !in_array($user['ip'], $ips))
				{
					$onlinemembers .= $comma.format_name($session->bots[$botkey], $session->botgroup);
					$comma = ", ";
					++$botcount;
				}
				else
				{
					++$guestcount;
					$guests[] = $user['ip'];
				}
			}
		}

		$onlinecount = $membercount + $guestcount;
		$onlinebit = ($onlinecount != 1) ? $lang->online_online_plural : $lang->online_online_singular;
		$memberbit = ($membercount != 1) ? $lang->online_member_plural : $lang->online_member_singular;
		$anonbit = ($anoncount != 1) ? $lang->online_anon_plural : $lang->online_anon_singular;
		$guestbit = ($guestcount != 1) ? $lang->online_guest_plural : $lang->online_guest_singular;
		$lang->online_note_today = $lang->sprintf($lang->online_note_today, my_number_format($onlinecount), $onlinebit, 24, my_number_format($membercount), $memberbit, my_number_format($anoncount), $anonbit, my_number_format($guestcount), $guestbit);
		eval("\$online_today = \"".$templates->get("online_today_index")."\";");
	}
}
?>
Remove:

"tid" => NULL,
Hey Thanks that worked Big Grin. Just one more thing how can i get it to display on forumdisplay.php as it normally would on the index page? Thanks
I decided to make a separate thread for this topic as I just kept adding to my existing thread. Can anybody please help me add Board Statistics to forumdisplay.php from index.php? This is what the files look like. I really would appreciate the help thanks.
If you've already posted recently in a thread about something, you don't need to make another one on the same thing. Threads merged.
Thanks, i didn't know if one thread would seem like I kept spamming or not. Anyways if anyone could assist please I would really appreciate it.


Don't know why you needed to post the whole of index.php and forumdisplay.php here... I've edited it out of your post, it was making the page ridiculously long.

In the plugin file, after:

$plugins->add_hook('index_start', 'add_onlinetoday', 1000000);

add:

$plugins->add_hook('forumdisplay_start', 'add_onlinetoday', 1000000);

Then put {$online_today} wherever you want it in the forumdisplay template.
Pages: 1 2