Pagina 1 van 1

shoutbox

Geplaatst: 31 jan 2006, 16:29
door hendry
Support template:
  • Wat is het probleem? SQL
    Wanneer ontstond het probleem? :roll:
    Adres van je forum: http://privee
    Geïnstalleerde mods: veel
    Huidige template: subsilver
    phpBB versie: 2.0.19
    Host: niet gratis
    Heb je onlangs een mod of stijl geïnstalleerd? small southbox
    Heb je gezocht naar een antwoord?
ja
Overige opmerkingen: Ja die SQL is opgelost. En nu http://www.phpbb.nl/viewtopic.php?p=218515#218515

Geplaatst: 31 jan 2006, 16:31
door Paul

Geplaatst: 31 jan 2006, 16:33
door hendry
Weet ik paulus maar die SQL werkt niet.

Geplaatst: 31 jan 2006, 16:36
door Bee
Hoi hendry,

Welke foutmelding krijg je dan :?:

Geplaatst: 31 jan 2006, 16:37
door Paul
Ow, zegt dat dan :roll: wat werkt er niet aan?

Geplaatst: 31 jan 2006, 16:40
door hendry
Deze:

Code: Selecteer alles

Fout

SQL-query: 

CREATE TABLE phpbb_shoutbox(
id int( 11 ) NOT NULL AUTO_INCREMENT ,
sb_user_id int( 11 ) NOT NULL ,
msg varchar( 255 ) NOT NULL ,
timestamp int( 10 ) unsigned NOT NULL ,
sb_username varchar( 255 ) NOT NULL ,
PRIMARY KEY ( id ) 
) 

MySQL retourneerde:  
#1109 - Unknown table 'phpbb_shoutbox' in information_schema 

[ Terug ]

Geplaatst: 31 jan 2006, 16:41
door Paul

Code: Selecteer alles

CREATE TABLE `phpbb_shoutbox` (
id int( 11 ) NOT NULL AUTO_INCREMENT ,
sb_user_id int( 11 ) NOT NULL ,
msg varchar( 255 ) NOT NULL ,
timestamp int( 10 ) unsigned NOT NULL ,
sb_username varchar( 255 ) NOT NULL ,
PRIMARY KEY ( id )
); 
probeer dat eens?

Geplaatst: 31 jan 2006, 16:43
door hendry
nope.

Code: Selecteer alles

CREATE TABLE `phpbb_shoutbox` (
id int( 11 ) NOT NULL AUTO_INCREMENT ,
sb_user_id int( 11 ) NOT NULL ,
msg varchar( 255 ) NOT NULL ,
timestamp int( 10 ) unsigned NOT NULL ,
sb_username varchar( 255 ) NOT NULL ,
PRIMARY KEY ( id ) 
) 

MySQL retourneerde:  
#1109 - Unknown table 'phpbb_shoutbox' in information_schema

Geplaatst: 31 jan 2006, 16:46
door Bee
Hoi hendry

Probeer deze code eens door een php bestandje aan te maken, en daar dit in te zetten.

Code: Selecteer alles

<?php
/***************************************************************************
 *                               db_update.php
 *                            -------------------
 *
 *   copyright            : ©2003 Freakin' Booty ;-P & Antony Bailey
 *   project              : http://sourceforge.net/projects/dbgenerator
 *   Website              : http://freakingbooty.no-ip.com/ & http://www.rapiddr3am.net
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   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 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//


if( !$userdata['session_logged_in'] )
{
	$header_location = ( @preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')) ) ? 'Refresh: 0; URL=' : 'Location: ';
	header($header_location . append_sid("login.$phpEx?redirect=db_update.$phpEx", true));
	exit;
}

if( $userdata['user_level'] != ADMIN )
{
	message_die(GENERAL_MESSAGE, 'You are not authorised to access this page');
}


$page_title = 'Updating the database';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

echo '<table width="100%" cellspacing="1" cellpadding="2" border="0" class="forumline">';
echo '<tr><th>Updating the database</th></tr><tr><td><span class="genmed"><ul type="circle">';


$sql = array();
$sql[] = "CREATE TABLE " . $table_prefix . "shoutbox ( 
  id int(11) NOT NULL auto_increment, 
  sb_user_id int(11) NOT NULL, 
  msg varchar(255) NOT NULL, 
  timestamp int(10) unsigned NOT NULL, 
  sb_username varchar(255) NOT NULL, 
  PRIMARY KEY (id) 
)";
$sql[] = "CREATE TABLE " . $table_prefix . "shoutbox_config ( 
    config_name varchar(255) NOT NULL, 
    config_value varchar(255) NOT NULL, 
    PRIMARY KEY (config_name) 
)";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('allow_guest_view','1')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('allow_guest','0')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('allow_delete_all','0')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('allow_delete','0')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('allow_edit_all','0')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('allow_edit','0')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('allow_bbcode','1')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('allow_smilies','1')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('links_names','1')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('make_links','1')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('count_msg','100')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('delete_days','30')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('text_lenght','500')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('word_lenght','90')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('date_format','D G:i')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('date_on','1')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('shoutbox_on','1')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('shout_width','630')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('shout_height','130')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('banned_user_id','')";
$sql[] = "INSERT INTO " . $table_prefix . "shoutbox_config (config_name, config_value) VALUES ('banned_user_id_view','')";

for( $i = 0; $i < count($sql); $i++ )
{
	if( !$result = $db->sql_query ($sql[$i]) )
	{
		$error = $db->sql_error();

		echo '<li>' . $sql[$i] . '<br /> +++ <font color="#FF0000"><b>Error:</b></font> ' . $error['message'] . '</li><br />';
	}
	else
	{
		echo '<li>' . $sql[$i] . '<br /> +++ <font color="#00AA00"><b>Successful</b></font></li><br />';
	}
}


echo '</ul></span></td></tr><tr><td class="catBottom" height="28">&nbsp;</td></tr>';

echo '<tr><th>Installation Complete</th></tr><tr><td><span class="genmed">Please be sure to delete this file now.<br />If you require any further assistance, please visit the <a href="http://www.phpbbhacks.com/forums">phpBBHacks.com Support Forums</a>.</span></td></tr>';
echo '<tr><td class="catBottom" height="28" align="center"><span class="genmed"><a href="' . append_sid("index.$phpEx") . '">Go back to your index page</a>.</span></td></table>';

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>

Geplaatst: 31 jan 2006, 16:52
door hendry
Er zat ook een install bij maar die werkt niet net zoals deze. Danzie ik:

Code: Selecteer alles

Warning: message_die(./language/lang_english/lang_main.php): failed to open stream: No such file or directory in /usr/home/hendry/domains/no-domain-exist.dot/public_html/includes/functions.php on line 731

Warning: message_die(./language/lang_english/lang_main.php): failed to open stream: No such file or directory in /usr/home/hendry/domains/no-domain-exist.dot/public_html/includes/functions.php on line 731

Warning: message_die(./language/lang_english/lang_main.php): failed to open stream: No such file or directory in /usr/home/hendry/domains/no-domain-exist.dot/public_html/includes/functions.php on line 731

Warning: message_die(): Failed opening './language/lang_english/lang_main.php' for inclusion (include_path='.:/usr/local/lib/php') in /usr/home/hendry/domains/no-domain-exist.dot/public_html/includes/functions.php on line 731
phpBB : 

Could not query shoutbox config information

DEBUG MODE

SQL Error : 1146 Table 'hendry_***.SHOUTBOX_CONFIG_TABLE' doesn't exist

SELECT * FROM SHOUTBOX_CONFIG_TABLE

Line : 229
File : common.php

Geplaatst: 31 jan 2006, 17:08
door Bee
Hoi hendry,

Die ik gaf werkte dus wel? Nu moet je zorgen dat includes/constants.php wordt aangepast.

Geplaatst: 31 jan 2006, 17:33
door hendry
Bee schreef:Hoi hendry,

Die ik gaf werkte dus wel? Nu moet je zorgen dat includes/constants.php wordt aangepast.
Hey, bee
Nee werkte dus niet omdat het southbox in de weg zat. Toen ik die bestatnt wauw draaienl Ik kijk of ik alles een kopie van de gemode file kan maken en die ongedaan maakt dan die scrip draaien en dan nog een proberen ;) het is even werk maar meschien met resultaat :)

EDIT werkt niet en nu...
EDIT 2: oke. Ik ben het ACP ingebroken via ene omlijding [via me SHOP mod] en keek wat het probleem was en heb de SQL uitgevoort En heb nu een ander probleem:

Code: Selecteer alles

Parse error: syntax error, unexpected ';', expecting ')' in /usr/home/hendry/domains/no-domain-exist.dot/public_html/index.php on line 297
en mijn index is:

Code: Selecteer alles

 <?php
/***************************************************************************
 *                                index.php
 *                            -------------------
 *   begin                : Saturday, Feb 13, 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : support@phpbb.com
 *
 *   $Id: index.php,v 1.99.2.6 2005/10/30 15:17:13 acydburn Exp $
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   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 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//

$viewcat = ( !empty($HTTP_GET_VARS[POST_CAT_URL]) ) ? $HTTP_GET_VARS[POST_CAT_URL] : -1;

if( isset($HTTP_GET_VARS['mark']) || isset($HTTP_POST_VARS['mark']) )
{
	$mark_read = ( isset($HTTP_POST_VARS['mark']) ) ? $HTTP_POST_VARS['mark'] : $HTTP_GET_VARS['mark'];
}
else
{
	$mark_read = '';
}

//
// Handle marking posts
//
if( $mark_read == 'forums' )
{
	if( $userdata['session_logged_in'] )
	{
		setcookie($board_config['cookie_name'] . '_f_all', time(), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
	}

	$template->assign_vars(array(
		"META" => '<meta http-equiv="refresh" content="3;url='  .append_sid("index.$phpEx") . '">')
	);

	$message = $lang['Forums_marked_read'] . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a> ');

	message_die(GENERAL_MESSAGE, $message);
}
//
// End handle marking posts
//

$tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . "_t"]) : array();
$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . "_f"]) : array();

//
// If you don't use these stats on your index you may want to consider
// removing them
//
$total_posts = get_db_stat('postcount');
$total_users = get_db_stat('usercount');
$newest_userdata = get_db_stat('newestuser');
$newest_user = $newest_userdata['username'];
$newest_uid = $newest_userdata['user_id'];

if( $total_posts == 0 )
{
	$l_total_post_s = $lang['Posted_articles_zero_total'];
}
else if( $total_posts == 1 )
{
	$l_total_post_s = $lang['Posted_article_total'];
}
else
{
	$l_total_post_s = $lang['Posted_articles_total'];
}

if( $total_users == 0 )
{
	$l_total_user_s = $lang['Registered_users_zero_total'];
}
else if( $total_users == 1 )
{
	$l_total_user_s = $lang['Registered_user_total'];
}
else
{
	$l_total_user_s = $lang['Registered_users_total'];
}


//
// Start page proper
//
$sql = "SELECT c.cat_id, c.cat_title, c.cat_order
	FROM " . CATEGORIES_TABLE . " c 
	ORDER BY c.cat_order";
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not query categories list', '', __LINE__, __FILE__, $sql);
}

$category_rows = array();
while( $category_rows[] = $db->sql_fetchrow($result) );
$db->sql_freeresult($result);

if( ( $total_categories = count($category_rows) ) )
{
	//
	// Define appropriate SQL
	//
	switch(SQL_LAYER)
	{
		case 'postgresql':
			$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id 
				FROM " . FORUMS_TABLE . " f, " . POSTS_TABLE . " p, " . USERS_TABLE . " u
				WHERE p.post_id = f.forum_last_post_id 
					AND u.user_id = p.poster_id  
					UNION (
						SELECT f.*, NULL, NULL, NULL, NULL
						FROM " . FORUMS_TABLE . " f
						WHERE NOT EXISTS (
							SELECT p.post_time
							FROM " . POSTS_TABLE . " p
							WHERE p.post_id = f.forum_last_post_id  
						)
					)
					ORDER BY cat_id, forum_order";
			break;

		case 'oracle':
			$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id 
				FROM " . FORUMS_TABLE . " f, " . POSTS_TABLE . " p, " . USERS_TABLE . " u
				WHERE p.post_id = f.forum_last_post_id(+)
					AND u.user_id = p.poster_id(+)
				ORDER BY f.cat_id, f.forum_order";
			break;

		default:
			$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
				FROM (( " . FORUMS_TABLE . " f
				LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
				LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
				ORDER BY f.cat_id, f.forum_order";
			break;
	}
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query forums information', '', __LINE__, __FILE__, $sql);
	}

	$forum_data = array();
	while( $row = $db->sql_fetchrow($result) )
	{
		$forum_data[] = $row;
	}
	$db->sql_freeresult($result);

	if ( !($total_forums = count($forum_data)) )
	{
		message_die(GENERAL_MESSAGE, $lang['No_forums']);
	}

	//
	// Obtain a list of topic ids which contain
	// posts made since user last visited
	//
	if ($userdata['session_logged_in'])
	{
		// 60 days limit
		if ($userdata['user_lastvisit'] < (time() - 5184000))
		{
			$userdata['user_lastvisit'] = time() - 5184000;
		}

		$sql = "SELECT t.forum_id, t.topic_id, p.post_time 
			FROM " . TOPICS_TABLE . " t, " . POSTS_TABLE . " p 
			WHERE p.post_id = t.topic_last_post_id 
				AND p.post_time > " . $userdata['user_lastvisit'] . " 
				AND t.topic_moved_id = 0"; 
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not query new topic information', '', __LINE__, __FILE__, $sql);
		}

		$new_topic_data = array();
		while( $topic_data = $db->sql_fetchrow($result) )
		{
			$new_topic_data[$topic_data['forum_id']][$topic_data['topic_id']] = $topic_data['post_time'];
		}
		$db->sql_freeresult($result);
	}

	//
	// Obtain list of moderators of each forum
	// First users, then groups ... broken into two queries
	//
	$sql = "SELECT aa.forum_id, u.user_id, u.username 
		FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g, " . USERS_TABLE . " u
		WHERE aa.auth_mod = " . TRUE . " 
			AND g.group_single_user = 1 
			AND ug.group_id = aa.group_id 
			AND g.group_id = aa.group_id 
			AND u.user_id = ug.user_id 
		GROUP BY u.user_id, u.username, aa.forum_id 
		ORDER BY aa.forum_id, u.user_id";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query forum moderator information', '', __LINE__, __FILE__, $sql);
	}

	$forum_moderators = array();
	while( $row = $db->sql_fetchrow($result) )
	{
		$forum_moderators[$row['forum_id']][] = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '">' . $row['username'] . '</a>';
	}
	$db->sql_freeresult($result);

	$sql = "SELECT aa.forum_id, g.group_id, g.group_name 
		FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g 
		WHERE aa.auth_mod = " . TRUE . " 
			AND g.group_single_user = 0 
			AND g.group_type <> " . GROUP_HIDDEN . "
			AND ug.group_id = aa.group_id 
			AND g.group_id = aa.group_id 
		GROUP BY g.group_id, g.group_name, aa.forum_id 
		ORDER BY aa.forum_id, g.group_id";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query forum moderator information', '', __LINE__, __FILE__, $sql);
	}

	while( $row = $db->sql_fetchrow($result) )
	{
		$forum_moderators[$row['forum_id']][] = '<a href="' . append_sid("groupcp.$phpEx?" . POST_GROUPS_URL . "=" . $row['group_id']) . '">' . $row['group_name'] . '</a>';
	}
	$db->sql_freeresult($result);

	//
	// Find which forums are visible for this user
	//
	$is_auth_ary = array();
	$is_auth_ary = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata, $forum_data);
	$itemarray = explode('ß', str_replace("Þ", "", $userdata['user_items']));

	$sql = "select name, accessforum from phpbb_shopitems where accessforum != '0' and accessforum > '0'";
	if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_MESSAGE, "Database Connection Error!".mysql_error()); }
	$num_rows = mysql_num_rows($result);

	$itemformaccess = array();
	$itemcataccess = array();
	for ($x = 0; $x < $num_rows; $x++)
	{
		$row = mysql_fetch_array($result);
		if (in_array($row['name'], $itemarray))
		{
			$itemformaccess[] = $row['accessforum'];

			$sql = "select cat_id from " . FORUMS_TABLE . " where forum_id = '{$row['accessforum']}'";
			if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_MESSAGE, "Database Connection Error: ".mysql_error()); }
			$row2 = mysql_fetch_array($result);

			$itemcataccess[] = $row2['cat_id'];
		}
	}
	//
	// Start output of page
	//
	define('SHOW_ONLINE', true);
	$page_title = $lang['Index'];
	include($phpbb_root_path . 'includes/page_header.'.$phpEx);

	$shoutbox_config['banned_user_id_view'] = $GLOBALS['shoutbox_config']['banned_user_id_view'];
	if( strstr($shoutbox_config['banned_user_id_view'], ',') )
	{
		$fids = explode(',', $shoutbox_config['banned_user_id_view']);
	while( list($foo, $id) = each($fids) )
		{
			$fid[] = intval( trim($id) );
		}
	}
	else
	{
		$fid[] = intval( trim($shoutbox_config['banned_user_id_view']) );
	}
	reset($fid);

	if ( $shoutbox_config['shoutbox_on'] && in_array($userdata['user_id'], $fid) == false )
	{
		include($phpbb_root_path . 'shoutbox_body.'.$phpEx);
	}

	$template->set_filenames(array(
		'body' => 'index_body.tpl')
	);

	$template->assign_vars(array(
		'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts), 
		'TOTAL_USERS' => sprintf($l_total_user_s, $total_users),
		'NEWEST_USER' => sprintf($lang['Newest_user'], '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$newest_uid") . '">', $newest_user, '</a>'), 

		'FORUM_IMG' => $images['forum'],
		'FORUM_NEW_IMG' => $images['forum_new'],
		'FORUM_LOCKED_IMG' => $images['forum_locked'],

		'L_FORUM' => $lang['Forum'],
		'L_TOPICS' => $lang['Topics'],
		'L_REPLIES' => $lang['Replies'],
		'L_VIEWS' => $lang['Views'],
		'L_POSTS' => $lang['Posts'],
		'L_LASTPOST' => $lang['Last_Post'], 
		'L_NO_NEW_POSTS' => $lang['No_new_posts'],
		'L_NEW_POSTS' => $lang['New_posts'],
		'L_NO_NEW_POSTS_LOCKED' => $lang['No_new_posts_locked'], 
		'L_NEW_POSTS_LOCKED' => $lang['New_posts_locked'], 
		'L_ONLINE_EXPLAIN' => $lang['Online_explain'], 

		'L_MODERATOR' => $lang['Moderators'], 
		'L_FORUM_LOCKED' => $lang['Forum_is_locked'],
		'L_MARK_FORUMS_READ' => $lang['Mark_all_forums'], 

		'U_MARK_READ' => append_sid("index.$phpEx?mark=forums"))
	);

	//
	// Okay, let's build the index
	//
	for($i = 0; $i < $total_categories; $i++)
	{
		$cat_id = $category_rows[$i]['cat_id'];

		//
		// Should we display this category/forum set?
		//
		$display_forums = false;
		for($j = 0; $j < $total_forums; $j++)
		{
			if ( $is_auth_ary[$forum_data[$j]['forum_id']]['auth_view'] && $forum_data[$j]['cat_id'] == $cat_id )
			{
				$display_forums = true;
			}
		}

		if (in_array($cat_id, $itemcataccess)) {
			$display_forums = true;
		}
		//
		// Yes, we should, so first dump out the category
		// title, then, if appropriate the forum list
		//
		if ( $display_forums )
		{
			$template->assign_block_vars('catrow', array(
				'CAT_ID' => $cat_id,
				'CAT_DESC' => $category_rows[$i]['cat_title'],
				'U_VIEWCAT' => append_sid("index.$phpEx?" . POST_CAT_URL . "=$cat_id"))
			);

			if ( $viewcat == $cat_id || $viewcat == -1 )
			{
				for($j = 0; $j < $total_forums; $j++)
				{
					if ( $forum_data[$j]['cat_id'] == $cat_id )
					{
						$forum_id = $forum_data[$j]['forum_id'];

						if ( $is_auth_ary[$forum_id]['auth_view'] || in_array($forum_id, $itemformaccess))
						{
							if ( $forum_data[$j]['forum_status'] == FORUM_LOCKED )
							{
								$folder_image = $images['forum_locked']; 
								$folder_alt = $lang['Forum_locked'];
							}
							else
							{
								$unread_topics = false;
								if ( $userdata['session_logged_in'] )
								{
									if ( !empty($new_topic_data[$forum_id]) )
									{
										$forum_last_post_time = 0;

										while( list($check_topic_id, $check_post_time) = @each($new_topic_data[$forum_id]) )
										{
											if ( empty($tracking_topics[$check_topic_id]) )
											{
												$unread_topics = true;
												$forum_last_post_time = max($check_post_time, $forum_last_post_time);

											}
											else
											{
												if ( $tracking_topics[$check_topic_id] < $check_post_time )
												{
													$unread_topics = true;
													$forum_last_post_time = max($check_post_time, $forum_last_post_time);
												}
											}
										}

										if ( !empty($tracking_forums[$forum_id]) )
										{
											if ( $tracking_forums[$forum_id] > $forum_last_post_time )
											{
												$unread_topics = false;
											}
										}

										if ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all']) )
										{
											if ( $HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all'] > $forum_last_post_time )
											{
												$unread_topics = false;
											}
										}

									}
								}

								$folder_image = ( $unread_topics ) ? $images['forum_new'] : $images['forum']; 
								$folder_alt = ( $unread_topics ) ? $lang['New_posts'] : $lang['No_new_posts']; 
							}

							$posts = $forum_data[$j]['forum_posts'];
							$topics = $forum_data[$j]['forum_topics'];

							if ( $forum_data[$j]['forum_last_post_id'] )
							{
								$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);

								$last_post = $last_post_time . '<br />';

								$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '='  . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';
								
								$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>';
							}
							else
							{
								$last_post = $lang['No_Posts'];
							}

							if ( count($forum_moderators[$forum_id]) > 0 )
							{
								$l_moderators = ( count($forum_moderators[$forum_id]) == 1 ) ? $lang['Moderator'] : $lang['Moderators'];
								$moderator_list = implode(', ', $forum_moderators[$forum_id]);
							}
							else
							{
								$l_moderators = '&nbsp;';
								$moderator_list = '&nbsp;';
							}

							$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
							$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];

							$template->assign_block_vars('catrow.forumrow',	array(
								'ROW_COLOR' => '#' . $row_color,
								'ROW_CLASS' => $row_class,
								'FORUM_FOLDER_IMG' => $folder_image, 
								'FORUM_NAME' => $forum_data[$j]['forum_name'],
								'FORUM_DESC' => $forum_data[$j]['forum_desc'],
								'POSTS' => $forum_data[$j]['forum_posts'],
								'TOPICS' => $forum_data[$j]['forum_topics'],
								'LAST_POST' => $last_post,
								'MODERATORS' => $moderator_list,

								'L_MODERATOR' => $l_moderators, 
								'L_FORUM_FOLDER_ALT' => $folder_alt, 

								'U_VIEWFORUM' => append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id"))
							);
						}
					}
				}
			}
		}
	} // for ... categories

}// if ... total_categories
else
{
	message_die(GENERAL_MESSAGE, $lang['No_forums']);
}

//
// Generate the page
//
$template->pparse('body');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>

Geplaatst: 01 feb 2006, 19:53
door hendry
Ik wil even melden dat het opgelost is ;)