Profile Link Colour Function Gruppenabfrage |
|
|
Senior Mitglied
|
Moin,
nutze bei mir den Mod von Fangree für Profillink farben.
Sitze schon einige Tage dran, möchte das dort auch noch Gruppenabfragen reinkommen so das zb. Gruppe 1 Lila , Gruppe 2 Gelb usw. angezeigt werden.
Diese Abfrage kommt direkt bei der Profilfunction in der Maincore rein:
// Profile Link Colour Function by Fangree Productions Begin
if (function_exists('profile_link_colour')) {
$class = profile_link_colour($user_id, $user_name, $user_status);
}
// Profile Link Colour Function by Fangree Productions End
Dies wird dann direkt nach der Function eingebunden:
// Profile Link Colour Function by Fangree Productions Begin
if (function_exists('profile_link')) {
function profile_link_colour($userid) {
if (function_exists('add_to_head')) {
$user_level_colour = ""; $user_status_colour = "";
$result = dbquery("SELECT user_level, user_status FROM ".DB_USERS." WHERE user_id = ".$userid." LIMIT 1");
$data = dbarray($result);
$user_level_colour = $data['user_level'];
$user_status_colour = $data['user_status'];
// Members
if ($user_level_colour == 101 && $user_status_colour == 0) {
add_to_head("<style type='text/css'>.member { color: #3D91BF; } /* Light Blue */
.member:hover { color: #3D91BF; } /* Light Blue */</style>");
return "member"; }
// Administrators
elseif ($user_level_colour == 102 && $user_status_colour == 0) {
add_to_head("<style type='text/css'>.admin { color: #008000; font-weight: bold; } /* Green Bold */
.admin:hover { color: #008000; font-weight: bold; } </style>");
return "admin"; }
// Super Administrators
elseif ($user_level_colour == 103 && $user_status_colour == 0) {
add_to_head("<style type='text/css'>
.super-admin { color: #910000; font-weight: bold; } /* Deep Red Bold */ .super-admin:hover { color: #910000; } /* Deep Red Bold */</style>");
return "super-admin"; }
// Banned Users
elseif ($user_status_colour == 1) {
add_to_head("<style type='text/css'>.banned-member { color: #333333; text-decoration: line-through; } /* Dark Grey line through */
.banned-member:hover { color: #333333; text-decoration: line-through; } /* Dark Grey line through */</style>");
return "banned-member"; }
// Suspended Users
elseif ($user_status_colour == 3) {
add_to_head("<style type='text/css'>.suspended-member { color: #FF6600; } /* Orange */
.suspended-member:hover { color: #FF6600; } /* Orange */</style>");
return "suspended-member"; }
// Security Banned Users
elseif ($user_status_colour == 4) {
add_to_head("<style type='text/css'>.security-banned-member { color: #FF0000; } /* Red */
.security-banned-member:hover { color: #FF0000; } /* Red */</style>");
return "security-banned-member"; }
// Canceled Members
elseif ($user_status_colour == 5) {
add_to_head("<style type='text/css'>.canceled-member { color: #604400; } /* Brown */
.canceled-member:hover { color: #604400; } /* Brown */</style>");
return "canceled-member"; }
// Anonymized Users
elseif ($user_status_colour == 6) {
add_to_head("<style type='text/css'>.anonymized-member { color: #4F2C2C; } /* Dark Purple */
.anonymized-member:hover { color: #4F2C2C; } /* Dark Purple */</style>");
return "anonymized-member"; }
// Deactivated Users
elseif ($user_status_colour == 7) {
add_to_head("<style type='text/css'>.deactivated-member { color: #011A77; } /* Dark Blue */
.deactivated-member:hover { color: #011A77; } /* Dark Blue */</style>");
return "deactivated-member"; }
}
}
}
// Profile Link Colour Function by Fangree Productions End
Hab es schon mit mit $user_groups , direkte DB abfrage mit result usw. versucht, aber leider immer ohne ergebnis.
Hat einer von euch mal eine Idee ?
Wahrscheinlich ist es eine einfache Lösung, aber komm nur nicht drauf.
Tut von Septrons Seite http://www.septron.de/infusions/tutor...orial_id=2 |
Leute ohne Macke, sind Kacke
Oh Herr, schmeiss Grundwissen von Himmel !
|
|
|
|
Seiten Administrator
|
David Geschrieben am 23.10.2012 um 23:18 |
|
Also rein theorätisch könnte man das schon machen, das Problem ist nur, man kann ja Benutzern mehrere Gruppen zuweisen.
Angenommen:
- Benutzer #001
--- Super Admin
--- Gruppe 1
--- Gruppe 2
Gruppe1 => Blau
Gruppe2 => Grün
Super Admin => Rot
Welche Farbe soll nun angezeigt werden?
Ich hoffe, ich habe mich einigermassen verständlich ausgedrückt, was ich wissen möchte . |
Liebe Grüße, euer David.
Aktiver PHP-Fusion Nutzer seit 3. September 2006
--------------------------------------------------------
PHP-Fusion Österreich Seitenbetreiber.
|
|
|
|
Senior Mitglied
|
Dein problem ist mir klar, aber spielt in der sache bei mir nicht direkt eine rolle da nur 2 gruppen da sind. Die eine soll ja nur dann durchgestrichen werden und die andere soll eine farbe bekommen |
Leute ohne Macke, sind Kacke
Oh Herr, schmeiss Grundwissen von Himmel !
|
|
|
|
Seiten Administrator
|
David Geschrieben am 24.10.2012 um 10:19 |
|
Also sprich wäre es dir (um das ganze als "wichtigkeit" zu glidern) so wichtig:
1. Gruppenfarben
2. Falls in keiner Gruppe, Levelfarben
3. Falls Mitglied, dann Statusfarben
Korrekt? |
Liebe Grüße, euer David.
Aktiver PHP-Fusion Nutzer seit 3. September 2006
--------------------------------------------------------
PHP-Fusion Österreich Seitenbetreiber.
|
|
|
|
Senior Mitglied
|
Genau so mein ich das.
Die wahrscheinlichkeit, das 1 User in beiden Gruppen ist, wird wohl bei nur 1% liegen. |
Leute ohne Macke, sind Kacke
Oh Herr, schmeiss Grundwissen von Himmel !
|
|
|
|
Seiten Administrator
|
David Geschrieben am 24.10.2012 um 10:43 |
|
Ok, dann versuche mal den folgenden Code. Habe das ganze mal komplett überarbeitet, da mir der alte Code etwas unübersichtlich war. Ich hoffe er funktioniert ohne Fehler, ist komplett ungetestet, möglicherweise sind ein paar Parse-Errors enthalten :P
Achja, vergiss natürlich nicht die Gruppen-IDs anzupassen :).
GeSHi: PHP function profile_link_colour($userid) { $result = dbquery("SELECT user_level, user_groups, user_status FROM ".DB_USERS." WHERE user_id='".$userid."'"); if (dbrows($result) == 1) { $data = dbarray($result); // Gruppenfarben $csscode = "a.group-one, a.group-one:hover { color: #ffffff; }"; // Weiss $cssname = "group-one"; $csscode = "a.group-two, a.group-two:hover { color: #000000; }"; // Schwarz $cssname = "group-two"; } // Levelfarben elseif ($data['user_level'] == 103) { $csscode = "a.super-admin, a.super-admin:hover { color: #91000; font-weight: bold; }"; // Rot $cssname = "super-admin"; } elseif ($data['user_level'] == 102) { $csscode = "a.admin, a.admin:hover { color: #008000; font-weight: bold; }"; // Grün $cssname = "admin"; } // Mitgliederfarben elseif ($data['user_level'] == 101 && $data['user_status'] == 0) { $csscode = "a.member, a.member:hover { color: #3d91bf; }"; // Hellblau $cssname = "member"; } elseif ($data['user_level'] == 101 && $data['user_status'] == 1) { $csscode = "a.member-banned, a.member-banned:hover { color: #333333; text-decoration: line-through; }"; // Dunkelgrau $cssname = "member-banned"; } elseif ($data['user_level'] == 101 && $data['user_status'] == 3) { $csscode = "a.member-suspended, a.member-suspended:hover { color: #ff6600; }"; // Orange $cssname = "member-suspended"; } elseif ($data['user_level'] == 101 && $data['user_status'] == 4) { $csscode = "a.member-security-banned, a.member-security-banned:hover { color: #ff0000; }"; // Rot $cssname = "member-security-banned"; } elseif ($data['user_level'] == 101 && $data['user_status'] == 5) { $csscode = "a.member-canceled, a.member-canceled:hover { color: #604400; }"; // Braun $cssname = "member-canceled"; } elseif ($data['user_level'] == 101 && $data['user_status'] == 6) { $csscode = "a.member-anonymized, a.member-anonymized:hover { color: #4f2c2c; }"; // Dunkellila $cssname = "member-anonymized"; } elseif ($data['user_level'] == 101 && $data['user_status'] == 7) { $csscode = "a.member-deactivated, a.member-deactivated:hover { color: #011a77; }"; // Dunkelbau $cssname = "member-deactivated"; } // CSS-Code in Header einbinden if (isset($csscode) && $csscode) { add_to_head("<style type='text/css'>".$csscode."</style>\n"); } // Name der CSS-Klasse zurückgeben if (isset($cssname) && $cssname) { return $cssname; } } } } }
gewandelt in 0.017 Sekunden, benutzt wurde GeSHi 1.0.8.10
|
Liebe Grüße, euer David.
Aktiver PHP-Fusion Nutzer seit 3. September 2006
--------------------------------------------------------
PHP-Fusion Österreich Seitenbetreiber.
|
|
|
|
|
|
Seiten Administrator
|
David Geschrieben am 24.10.2012 um 22:39 |
|
Kein Problem, freut mich wenn es funktioniert . |
Liebe Grüße, euer David.
Aktiver PHP-Fusion Nutzer seit 3. September 2006
--------------------------------------------------------
PHP-Fusion Österreich Seitenbetreiber.
|
|
|