Seite 12 von 26

Verfasst: 02.11.2004 15:40
von mr.no-name
Kann mir denn keiner sagen, wo man die bestehenden Farben, die zur Auswahl stehen, ändern kann?

edit: Sorry :oops:
Ich dachte die Farben würden durch das eingetragene Wort definiert...aber hab gerade bemerkt, dass dies direkt so ins template übergeben wird, man also auch sowas wie #FFA34F nehmen kann *freu*

Installation / Datenbank

Verfasst: 03.11.2004 16:40
von Joe_Black
Hi,

ich hab ein Problem mit der Datenbank. Nachdem ich alles Installiert hatte klickte ich im Adminmenü auf Farbgruppen.Und erhielt folgende Fehlermeldung.

Code: Alles auswählen

Fehler beim Zugriff auf die User-Tabelle.

DEBUG MODE

SQL Error : 1146 Table 'usr_web72_1.COLOR_GROUPS_TABLE' doesn't exist

SELECT group_id, group_name FROM COLOR_GROUPS_TABLE

Line : 155
File : /srv/www/htdocs/web72/html/Index/admin/admin_color_groups.php
Danach machte ich den ganzen Installationsprozess nocheinmal und schaute nebenbei mal bei Phpmyadmin vorbei ob den überhaupt eine Datenbank da sei. phpbb_color_groups war vorhanden und eigentlich müsste das ganze auch funktioniern. Nach dem 2. installiern klappte es aber immer noch nicht. Also habe ich phpbb_color_groups in COLOR_GROUPS_TABLE umbenannt. Dannach funktioniert das MEnü auch allerdings hatte ich jetzt das Probleme das die Farbe der Namen im Forum nicht geändert wurde.
Hier meine admin_color_groups.php

Code: Alles auswählen

<?php
/***************************************************************************
*                    $RCSfile: admin_color_groups.php,v $
*                            -------------------
*   copyright            : (C) 2002-2003 Nivisec.com
*   email                : support@nivisec.com
*
*   $Id: admin_color_groups.php,v 1.4 2003/09/03 21:55:42 nivisec 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.
*
***************************************************************************/
/****************************************************************************
/** Module Setup
/***************************************************************************/
if (!defined('IN_PHPBB')) define('IN_PHPBB', true);
define('MOD_VERSION', '1.2.0');
define('MOD_CODE', 24);
$phpbb_root_path = '../';
include($phpbb_root_path . 'extension.inc');
include_once($phpbb_root_path."includes/functions_color_groups.$phpEx");
include_once("pagestart.$phpEx");
find_lang_file_nivisec('lang_color_groups');
if (!empty($setmodules))
{
	$filename = basename(__FILE__);
	$module['Groups']['Color_Groups'] = $filename;
	return;
}

/****************************************************************************
/** Module Actual Start
/***************************************************************************/
/* If for some reason you need to disable the version check in THIS HACK ONLY,
change the blow to TRUE instead of FALSE.  No other hacks will be affected
by this change.
*/
define('DISABLE_VERSION_CHECK', FALSE);
/* Debugging for this file */
$debug = false;

/****************************************************************************
/** Main Vars
/***************************************************************************/
$status_message = '';
$next_order_num = get_color_group_order_max() + 1;
$filename = basename(__FILE__);
$order_num_max = get_color_group_order_max();
$order_num_min = get_color_group_order_min();

/****************************************************************************
/** Small Functions
/***************************************************************************/
if (!function_exists('count_users_in_color_group'))
{
function count_users_in_color_group($group_id)
{
	global $db, $lang;
	$sql = 'SELECT COUNT(user_id) as count FROM ' . USERS_TABLE . "
		WHERE user_color_group = $group_id";
	if (!empty($group_id))
	{
		if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, $lang['Error_Group_Table'], '', __LINE__, __FILE__, $sql);
		$row = $db->sql_fetchrow($result);
	}
	return max(0, $row['count']);
}}

if (!function_exists('swap_color_group_order_num'))
{
function swap_color_group_order_num($g1, $g2)
{
	global $lang, $status_message, $next_order_num;
	
	do_query_nivisec(
	'SELECT group_id, group_name, order_num FROM ' . COLOR_GROUPS_TABLE . "
		WHERE group_id = $g1
		OR group_id = $g2",
	// End query
	$row_items,
	$lang['Error_Group_Table']
	);
	
	//On the small chance the two order numbers are equal somehow, fix it
	if ($row_items[0]['order_num'] == $row_items[1]['order_num'])
	{
		do_fast_query_nivisec(
		'UPDATE ' . COLOR_GROUPS_TABLE . "
		SET order_num = $next_order_num
		WHERE group_id = " . $row_items[1]['group_id'],
		
		$lang['Error_Group_Table']
		);
		$status_message .= sprintf($lang['Invalid_Order_Num'], $row_items[1]['group_name']);
	}
	else
	{
		//We know 2 items are returned, if not something is screwed up badly
		do_fast_query_nivisec(
		'UPDATE ' . COLOR_GROUPS_TABLE . '
		SET order_num = ' . $row_items[0]['order_num'] . '
		WHERE group_id = ' . $row_items[1]['group_id'],
		$lang['Error_Group_Table']
		);
		do_fast_query_nivisec(
		'UPDATE ' . COLOR_GROUPS_TABLE . '
		SET order_num = ' . $row_items[1]['order_num'] . '
		WHERE group_id = ' . $row_items[0]['group_id'],
		$lang['Error_Group_Table']
		);
	}
}}

if (!function_exists('hide_toggle_color_group'))
{
function hide_toggle_color_group($group_id, $mode)
{
	global $lang;
	
	switch($mode)
	{
		case 'hide':
		$hide_mode = 1;
		break;
		case 'unhide':
		$hide_mode = 0;
		break;
	}
	
	do_fast_query_nivisec(
	'UPDATE ' . COLOR_GROUPS_TABLE . "
	SET hidden = $hide_mode
	WHERE group_id = $group_id",
	$lang['Error_Group_Table']
	);
}}

if (!function_exists('make_color_group_reference'))
{
function make_color_group_reference()
{
	global $db, $lang;
	
	$c_groups = array();
	
	$sql = 'SELECT group_id, group_name FROM ' . COLOR_GROUPS_TABLE;
	if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, $lang['Error_Users_Table'], '', __LINE__, __FILE__, $sql);
	while ($row = $db->sql_fetchrow($result))
	{
		$c_groups[$row['group_id']] = $row['group_name'];
	}
	return $c_groups;
}}
/*******************************************************************************************
/** Get parameters.  'var_name' => 'default'
/******************************************************************************************/
$params = array('mode' => '', 'action' => '', 'switch1' => '', 'switch2' => '');
if ($debug)
{
	//Dump out the get and post vars if in debug mode
	echo '<pre><span  class="gensmall"><font color="blue">DEBUG - POST VARS -<br>';
	print_r($HTTP_POST_VARS);
	echo '</font><br>';
	echo '<font color="red">DEBUG - GET VARS -<br>';
	print_r($HTTP_GET_VARS);
	echo '</font><br></pre></span>';
}

foreach($params as $var => $default)
{
	$$var = $default;
	if( isset($HTTP_POST_VARS[$var]) || isset($HTTP_GET_VARS[$var]) )
	{
		$$var = ( isset($HTTP_POST_VARS[$var]) ) ? $HTTP_POST_VARS[$var] : $HTTP_GET_VARS[$var];
	}
}
	$color_group_list = make_color_group_reference();

//*******************************************************************************************
/** Check for edit user lists or deletes
/******************************************************************************************/
$found_list = false;
$found_delete = false;
$found_hide = false;
$found_unhide = false;
if (count($HTTP_POST_VARS))
{
	foreach ($HTTP_POST_VARS as $key => $val)
	{
		if (preg_match("/^edit_group_/", $key))
		{
			$group_id = str_replace('edit_group_', '', $key);
			$found_list = true;
		}
		elseif (preg_match("/^delete_group_/", $key))
		{
			$group_id_delete = str_replace('delete_group_', '', $key);
			$found_delete = true;
		}
		elseif (preg_match("/^hide_group_/", $key))
		{
			$group_id_hide = str_replace('hide_group_', '', $key);
			$found_hide = true;
		}
		elseif (preg_match("/^unhide_group_/", $key))
		{
			$group_id_unhide = str_replace('unhide_group_', '', $key);
			$found_unhide = true;
		}
	}
}
/*******************************************************************************************
/** Edit user lists
/******************************************************************************************/
if ($found_list && isset($group_id))
{
	$page_title = $lang['Color_Group_User_List'];
	$page_desc = $lang['Color_Group_User_List_Desc'];

	
	//Get group info
	$sql = 'SELECT * FROM ' . COLOR_GROUPS_TABLE . "
		WHERE group_id = $group_id";
	if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, $lang['Error_Group_Table'], '', __LINE__, __FILE__, $sql);
	$group_row = $db->sql_fetchrow($result);
	
	//Make Our List
	$user_list = array();
	$sql = 'SELECT username, user_id FROM ' . USERS_TABLE . "
				WHERE user_color_group = $group_id
				ORDER BY username ASC";
	if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, $lang['Error_Users_Table'], '', __LINE__, __FILE__, $sql);
	while ($row = $db->sql_fetchrow($result))
	{
		$user_list[] = $row['user_id'];
	}
	
	//Make A full list of all users, non grouped, and grouped
	$sql = 'SELECT user_id, username, user_color_group FROM ' . USERS_TABLE . '
			WHERE user_id <> ' . ANONYMOUS . '
			ORDER BY username ASC';
	if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, $lang['Error_Users_Table'], '', __LINE__, __FILE__, $sql);
	$user_list_box = '<select class="post" name="user_list_box" size="20" multiple />';
	while ($row = $db->sql_fetchrow($result))
	{
		$selected = (in_array($row['user_id'], $user_list)) ? 'selected="true"' : '';
		$username = $row['username'];
		$c_group = ($row['user_color_group'] != 0) ? '('.$color_group_list[$row['user_color_group']].')' : '';
		$id = $row['user_id'];
		$user_list_box .= "<option value=\"$id\" $selected />$username $c_group</option>";
	}
	$user_list_box .= '</select>';

	//Make Our List
	$group_list = array();
	$sql = 'SELECT group_name, group_id FROM ' . GROUPS_TABLE . "
				WHERE group_color_group = $group_id
				ORDER BY group_name ASC";
	if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, $lang['Error_Users_Table'], '', __LINE__, __FILE__, $sql);
	while ($row = $db->sql_fetchrow($result))
	{
		$group_list[] = $row['group_id'];
	}
	
	//Make A full list of all groups, non grouped, and grouped
	$sql = 'SELECT group_id, group_name, group_color_group FROM ' . GROUPS_TABLE . '
		WHERE group_single_user = 0		
		ORDER BY group_name ASC';
	if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, $lang['Error_Users_Table'], '', __LINE__, __FILE__, $sql);
	$group_list_box = '<select class="post" name="group_list_box" size="20" multiple />';
	while ($row = $db->sql_fetchrow($result))
	{
		$selected = (in_array($row['group_id'], $group_list)) ? 'selected="true"' : '';
		$username = $row['group_name'];
		$c_group = ($row['group_color_group'] != 0) ? '('.$color_group_list[$row['group_color_group']].')' : '';
		$id = $row['group_id'];
		$group_list_box .= "<option value=\"$id\" $selected />$username $c_group</option>";
	}
	$group_list_box .= '</select>';
	
	$template->assign_vars(array(
	'S_USER_LIST'=> $user_list,
	'S_USER_LIST_BOX' => $user_list_box,
	'S_GROUP_LIST_BOX' => $group_list_box,
	'L_EDITING_GROUP' => sprintf($lang['Editing_Group'], $group_row['group_name']),
	'S_GROUP_COLOR' => $group_row['group_color'],
	'S_GROUP_ID' => $group_row['group_id']
	));
	$template->set_filenames(array('body' => 'admin/color_groups_user_list.tpl'));
}
/*******************************************************************************************
/** Main Display
/******************************************************************************************/
else
{
	/*******************************************************************************************
	/** Update groups area
	/******************************************************************************************/
	if (isset($HTTP_POST_VARS['update_groups']))
	{
		$sql = 'SELECT * FROM ' . COLOR_GROUPS_TABLE;
		if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, $lang['Error_Group_Table'], '', __LINE__, __FILE__, $sql);
		//We have to loop through all the color sets, each group_id
		while ($row = $db->sql_fetchrow($result))
		{
			if (isset($HTTP_POST_VARS['color_change_'.$row['group_id']]) && $HTTP_POST_VARS['color_change_'.$row['group_id']] != $row['group_color'])
			{
				$sql = 'UPDATE ' . COLOR_GROUPS_TABLE . "
					SET group_color = '" . $HTTP_POST_VARS['color_change_'.$row['group_id']] . "'
					WHERE group_id = " . $row['group_id'];
				if (!$db->sql_query($sql)) message_die(GENERAL_ERROR, $lang['Error_Group_Table'], '', __LINE__, __FILE__, $sql);
				$status_message .= sprintf($lang['Group_Updated'], $row['group_name']);
			}
		}
	}
	
	/*******************************************************************************************
	/** Update group list
	/******************************************************************************************/
	if (isset($HTTP_POST_VARS['update_group_list']))
	{
		color_groups_update_group_id($HTTP_POST_VARS['real_group_list'], $HTTP_POST_VARS['real_user_list'], $HTTP_POST_VARS['group_id']);
	}
	
	/*******************************************************************************************
	/** Hide/Unhide a group
	/******************************************************************************************/
	if ($found_hide)
	{
		hide_toggle_color_group($group_id_hide, 'hide');
		$status_message .= $lang['Group_Hidden'];
	}
	if ($found_unhide)
	{
		hide_toggle_color_group($group_id_unhide, 'unhide');
		$status_message .= $lang['Group_Unhidden'];
	}
	
	/*******************************************************************************************
	/** Delete a group
	/******************************************************************************************/
	if ($found_delete)
	{
		$sql = 'DELETE FROM ' . COLOR_GROUPS_TABLE . "
			WHERE group_id = $group_id_delete";
		if (!$db->sql_query($sql)) message_die(GENERAL_ERROR, $lang['Error_Group_Table'], '', __LINE__, __FILE__, $sql);
		$sql = 'UPDATE ' . USERS_TABLE . "
			SET user_color_group = 0
			WHERE user_color_group = $group_id_delete";
		if (!$db->sql_query($sql)) message_die(GENERAL_ERROR, $lang['Error_Users_Table'], '', __LINE__, __FILE__, $sql);
		$status_message .= $lang['Deleted_Group'];
	}
	
	/*******************************************************************************************
	/** Add a group
	/******************************************************************************************/
	if (isset($HTTP_POST_VARS['add_new_group']))
	{
		$invalid_add = false;
		if (empty($HTTP_POST_VARS['new_group_name'])) $invalid_add = true;
		else
		{
			//Check for duplicate name
			$sql = 'SELECT group_name FROM ' . COLOR_GROUPS_TABLE . "
			WHERE group_name = '" . $HTTP_POST_VARS['new_group_name'] . "'";
			if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, $lang['Error_Group_Table'], '', __LINE__, __FILE__, $sql);
			$group_row = $db->sql_fetchrow($result);
			if ($group_row['group_name'] == $HTTP_POST_VARS['new_group_name']) $invalid_add = true;
		}
		// Don't try to add it if it is invalid!
		if ($invalid_add)
		{
			$status_message .= sprintf($lang['Invalid_Group_Add'], $HTTP_POST_VARS['new_group_name']);
		}
		else
		{
			//Insert it
			do_fast_query_nivisec(
			'INSERT INTO ' . COLOR_GROUPS_TABLE . "
			 	(order_num, group_name, group_color) VALUES 
				($next_order_num, '" . $HTTP_POST_VARS['new_group_name'] . "', '" . $HTTP_POST_VARS['new_group_color'] . "')",
			
			$lang['Error_Group_Table']
			);
			$next_order_num++;
		}
		
		
	}
	if ($action == 'switch')
	{
		swap_color_group_order_num($switch1, $switch2);
		$status_message .= $lang['Moved_Group'];
	}
	
	$page_title = $lang['Manage_Color_Groups'];
	$page_desc = $lang['Manage_Color_Groups_Desc'];
	$template->set_filenames(array('body' => 'admin/color_groups_manager.tpl'));
	//Make color name sample
	$color_html = $lang['Color_List'];
	foreach(explode(",", RGB_COLOR_LIST) as $val)
	{
		$val = trim($val);
		$color_html .= "&nbsp;&nbsp;<font color=\"$val\">$val</font>";
	}
	
	//Setup Group Lists
	do_query_nivisec(
	'SELECT * FROM ' . COLOR_GROUPS_TABLE . '
		ORDER BY order_num ASC',
	$result_list,
	$lang['Error_Group_Table']
	);
	for ($i = 0; $i < count($result_list); $i++)
	{
		$empty = false;
		$template->assign_block_vars('grouprow', array(
		'ID' => $result_list[$i]['group_id'],
		'HIDE' => ($result_list[$i]['hidden']) ? 'unhide_group_'.$result_list[$i]['group_id'] : 'hide_group_'.$result_list[$i]['group_id'],
		'L_HIDE' => ($result_list[$i]['hidden']) ? $lang['Un-hide'] : $lang['Hide'],
		'MOVE_UP' => ($result_list[$i]['order_num'] > $order_num_min) ? '<a href="'.append_sid($filename.'?action=switch&switch1='.$result_list[$i]['group_id'].'&switch2='.$result_list[$i-1]['group_id']).'">'.$lang['Move_Up'].'</a>' : '',
		'MOVE_DOWN' => ($result_list[$i]['order_num'] < $order_num_max) ? '<a href="'.append_sid($filename.'?action=switch&switch1='.$result_list[$i]['group_id'].'&switch2='.$result_list[$i+1]['group_id']).'">'.$lang['Move_Down'].'</a>' : '',
		'NAME' => $result_list[$i]['group_name'],
		'COUNT' => count_users_in_color_group($result_list[$i]['group_id']),
		'COLOR' => $result_list[$i]['group_color'],
		'STATUS' => (check_font_color_nivisec($result_list[$i]['group_color'])) ? $lang['Color_Ok'] : $lang['Error_Font_Color']
		));
	}
	
	if(!isset($empty))
	{
		$template->assign_block_vars('emptyswitch', array());
	}
	
}
//Common Variables
$template->assign_vars(array(
'S_ACTION' => append_sid(basename(__FILE__)),
'S_MODE' => $mode,
'L_USERS_LIST' => $lang['Users_List'],
'L_GROUPS_LIST' => $lang['Groups_List'],
'L_LIST_INFO' => $lang['List_Info'],
'HTML_COLOR_LIST' => $color_html,
'L_ADD_NEW_GROUP' => $lang['Add_New_Group'],
'L_COLOR' => $lang['Color'],
'L_USER_COUNT' => $lang['User_Count'],
'L_STATUS' => $lang['Status'],
'L_GROUP_NAME' => $lang['Group_Name'],
'L_NO_GROUPS' => $lang['No_Groups_Exist'],
'L_UPDATE' => $lang['Update'],
'L_SUBMIT' => $lang['Submit'],
'L_RESET' => $lang['Reset'],
'L_EXAMPLE' => $lang['Example'],
'L_DEFINE_USERS' => $lang['Define_Users'],
'L_DELETE' => $lang['Delete'],
'L_COLORS' => $lang['Colors'],
'L_USER_LEVELS' => $lang['User_Levels'],
'L_USER_LIST' => $lang['User_List'],
'L_ADD' => $lang['Add_Arrow'],
'L_VERSION' => $lang['Version'],
'L_PAGE_NAME' => $page_title,
'L_PAGE_DESC' => $page_desc,
'L_MOVE_UP' => $lang['Move_Up'],
'L_MOVE_DOWN' => $lang['Move_Down'],
'L_NO_GROUP_LIST' => $lang['Unassigned_User_List'],
'L_GROUPED_LIST' => $lang['Assigned_User_List'],
'VERSION' => MOD_VERSION,
));

if (!empty($status_message))
{
	$template->assign_block_vars('statusrow', array());
	$template->assign_vars(array(
	'L_STATUS' => $lang['Status'],
	'STATUS_TIME' => create_date($board_config['default_dateformat'], time(), $board_config['board_timezone']),
	'I_STATUS_MESSAGE' => $status_message)
	);
}
/************************************************************************
** Begin The Version Check Feature
************************************************************************/
$page_title = $lang['Color_Groups'];
if (file_exists($phpbb_root_path.'nivisec_version_check.'.$phpEx) && !DISABLE_VERSION_CHECK)
{
	include($phpbb_root_path.'nivisec_version_check.'.$phpEx);
}
/************************************************************************
** End The Version Check Feature
************************************************************************/

$template->pparse('body');
copyright_nivisec($lang['Color_Groups'], '2003');
include('page_footer_admin.'.$phpEx);

?>
Hoffe auf baldige Hilfe.
Mfg Joe Black

Verfasst: 03.11.2004 16:47
von Joe_Black
Achja, meine phpbbversion ist 2.0.10
und ich hab nur den Junior Admin Mod installiert.

Mfg Joe Black

Verfasst: 03.11.2004 23:17
von rabbit
hi,

mir scheint, dass du einen fehler in der constants.php hast.

btw, bitte keine ganzen dateien hier posten, dadurch wird alles sehr unübersichtlich. mal abgesehen davon, dass diese datei von dir nicht verändert wurde...
dateien bitte immer nur verlinken. :)

Verfasst: 29.11.2004 22:19
von tick
gibs den MOD noch irgendwo ... der Link im Download geht ins Leere!

Verfasst: 30.11.2004 16:45
von tick
Kann mir keiner helfen? Schade ... :cry:

Verfasst: 30.11.2004 22:26
von rabbit
hi,

guck mal hier... :)

alternativ (und wesentlich ressourcenschonender):
-> Advanced Username Color

denn der color groups frisst viele ressourcen und kann dein board stark bremsen. ;)

Verfasst: 02.12.2004 00:58
von tick
Danke.

Ich habe ihn eingebaut (Advanced Username Color) habe aber noch ein Problem ...
Zwar werden alle Namen nun in der gewünschten Farbe angezeigt, nicht aber unter letzter Besucher bzw. Gerade Online? Warum geht das nicht und welche Zeile ist dafür zuständig?

Forumlink: http://www.todundvergessen.de/todundvergessen/index.php

Verfasst: 02.12.2004 10:58
von rabbit
hi,

schau mal hier, dort gibt es fixes für andere MODs, damit dort die farben auch angezeigt werden.

wie ich sehe, hast du ein phpBB plus. zum einen ist das eine alte version und dein board kann jeden moment gehackt werden ( ;) ) und zum anderen solltest du mal bei www.phpbb2.de vorbeischauen, denn die können dir da sicher besser helfen, da das deren kreation ist. :)

Verfasst: 02.12.2004 22:24
von tick
Das sind ja alles nur Teile des MODs ...

Aber wo werden denn die Farben festgelegt in der Jetzt online: und Letzte Benutzer

Da muss doch das Problem liegen oder?