Gruppen - Farben + Profile Control Panel

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
m-a-b
Mitglied
Beiträge: 181
Registriert: 19.12.2002 14:43
Wohnort: Augsburg - Germany
Kontaktdaten:

Gruppen - Farben + Profile Control Panel

Beitrag von m-a-b »

Hi!

ich hab den Profile Control Panel Mod installiert und würde gerne für spezielle Gruppen Farben vergeben (wie es bei Admins und Mods der fall ist).

Ich weis zwar, dass es den Color Groups mod gibt, aber der ist mir viel zu umfangreich.

hier ein ausschnit aus profilcp/functions_profile.php (des PCP mod) der für die Farbvergabe von Admin Founder , Admin, Mods und User verantwortlich ist: ( www.aev-forum.de/index.php )

Code: Alles auswählen

define( 'BOARD_ADMIN', 98 );
$admin_level = array(ADMIN_FOUNDER, ADMIN);
$level_prior = array(ADMIN_FOUNDER => 99, ADMIN => 9, MOD => 5, USER => 0);
$level_desc = array(ADMIN_FOUNDER => 'Admin_founder_online_color', ADMIN => 'Admin_online_color', MOD => 'Mod_online_color', USER => 'User_online_color');

function get_user_level($userdata)
{
	// fix a phpBB bug
	global $db;
	if ($userdata['user_level'] == MOD)
	{
		$sql = "SELECT * FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug
				WHERE ug.user_id = " . $userdata['user_id'] . "
					AND aa.group_id = ug.group_id
					AND aa.auth_mod = 1
					AND ug.user_pending = 0";
		if ( !$result = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Could not obtain moderator status', '', __LINE__, __FILE__, $sql);
		}
		if ($db->sql_numrows($result) <= 0)
		{
			$userdata['user_level'] = USER;
		}
	}

	$res = USER;
	if ( ($userdata['user_level'] == ADMIN) && ($userdata['user_id'] == 2) )
	{
		$res = ADMIN_FOUNDER;
	}
	else if ($userdata['user_level'] == ADMIN)
	{
		$res = ADMIN;
	}
	else if ($userdata['user_level'] == MOD)
	{
		$res = MOD;
	}
	else
	{
		$res = USER;
	}
	return $res;
}

function is_admin($userdata)
{
	global $admin_level;

	return in_array(get_user_level($userdata),$admin_level);
}

function get_user_level_class($user_level, $default='gen', $user=array())
{
	$ret = $default;
	if (!empty($user)) $user_level = get_user_level($user);
	switch( $user_level )
	{
			case ADMIN_FOUNDER:
				$ret = 'foundercolor';
				break;
			case ADMIN:
				$ret = 'admincolor';
				break;
			case MOD:
				$ret = 'modcolor';
				break;
			default:
				$ret = 'usercolor';
				break;
	}
	return $ret;
}
kann mir vielleicht jemand sagen, wie der Code für eine Gruppe aussehen muss, die z.B. die ID 123 besitzt (mit der ID 123 in de DB gespeichert)?:

Code: Alles auswählen

	else if ($userdata['user_level'] == Group123)
	{
		$res = Group123;
	}
wäre sehr nett, wenn mir jemand weiterhelfen könnte!

Markus :cookie:
Guthaben online kaufen schont die Umwelt - DSL Verfügbarkeit Geschwindigkeit prüfen - Windows & PC Forum rund ums Microsoft-Betriebssystem
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Du könntest das hier dafür benutzen.
Du machst die Änderungen an der name.php (je nachdem wie du die Datei nennst) wie in diesem Beispiel angemerkt, trägst dann die GruppenID ein und includest dann die Datei in die Datei aus der der obige Code stammt (oberhalb des Funktionsanfanges).

Code: Alles auswählen

include($phpbb_root_path . 'name.'.$phpEx);
Als weitere 'else if'-Anweisung fügst du dann folgendes bei dem obigen Code ein..

Code: Alles auswählen

   else if( $access_allowed )
   {
      $res = GROUP;
   }

..und dann noch Farbe definieren usw.
Benutzeravatar
m-a-b
Mitglied
Beiträge: 181
Registriert: 19.12.2002 14:43
Wohnort: Augsburg - Germany
Kontaktdaten:

Beitrag von m-a-b »

verstehe zwar, wie du das meinst

was ist aber wenn ich mehreren Gruppen verschiedene Farben geben will?? :-?

Markus :cookie:
Guthaben online kaufen schont die Umwelt - DSL Verfügbarkeit Geschwindigkeit prüfen - Windows & PC Forum rund ums Microsoft-Betriebssystem
Antworten

Zurück zu „phpBB 2.0: Mod Support“