Tutorials

Eine immer größer werdende Tutorialdatenbank.

PHP-Fusion Core

Aktuelle PHP-Fusion Vollversionen und Updates

Addon Downloads

Alle Downloads garantiert Kostenlos

Support 24/7

24 Stunden, 7 Tage die Woche, das ganze Jahr.

Thema ansehen
Profile Link Colour Function Gruppenabfrage Thema drucken
Benutzeravatar

Senior Mitglied


Dat Tunes Geschrieben am 23.10.2012 um 18:26
 #1 Beitrag drucken Top
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 Grin
Oh Herr, schmeiss Grundwissen von Himmel !
Beiträge: 258 
Benutzeravatar

Seiten Administrator


David Geschrieben am 23.10.2012 um 23:18
 #2 Beitrag drucken Top
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 Smile.
Liebe Grüße, euer David.


Aktiver PHP-Fusion Nutzer seit 3. September 2006
--------------------------------------------------------
PHP-Fusion Österreich Seitenbetreiber.
Beiträge: 434 
http://www.php-fusion.at/ 
Benutzeravatar

Senior Mitglied


Dat Tunes Geschrieben am 24.10.2012 um 08:35
 #3 Beitrag drucken Top
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 Grin
Oh Herr, schmeiss Grundwissen von Himmel !
Beiträge: 258 
Benutzeravatar

Seiten Administrator


David Geschrieben am 24.10.2012 um 10:19
 #4 Beitrag drucken Top
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.
Beiträge: 434 
http://www.php-fusion.at/ 
Benutzeravatar

Senior Mitglied


Dat Tunes Geschrieben am 24.10.2012 um 10:35
 #5 Beitrag drucken Top
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 Grin
Oh Herr, schmeiss Grundwissen von Himmel !
Beiträge: 258 
Benutzeravatar

Seiten Administrator


David Geschrieben am 24.10.2012 um 10:43
 #6 Beitrag drucken Top
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 :).

Download Code  GeSHi: PHP
  1. if (function_exists("profile_link") && !function_exists("profile_link_colour")) {
  2. function profile_link_colour($userid) {
  3. if (function_exists("add_to_head")) {
  4.  
  5. $result = dbquery("SELECT user_level, user_groups, user_status FROM ".DB_USERS." WHERE user_id='".$userid."'");
  6. if (dbrows($result) == 1) {
  7. $data = dbarray($result);
  8.  
  9. // Gruppenfarben
  10. if (in_array(1, explode(".", $data['user_groups']))) {
  11. $csscode = "a.group-one, a.group-one:hover { color: #ffffff; }"; // Weiss
  12. $cssname = "group-one";
  13. } elseif (in_array(2, explode(".", $data['user_groups']))) {
  14. $csscode = "a.group-two, a.group-two:hover { color: #000000; }"; // Schwarz
  15. $cssname = "group-two";
  16. }
  17.  
  18. // Levelfarben
  19. elseif ($data['user_level'] == 103) {
  20. $csscode = "a.super-admin, a.super-admin:hover { color: #91000; font-weight: bold; }"; // Rot
  21. $cssname = "super-admin";
  22. } elseif ($data['user_level'] == 102) {
  23. $csscode = "a.admin, a.admin:hover { color: #008000; font-weight: bold; }"; // Grün
  24. $cssname = "admin";
  25. }
  26.  
  27. // Mitgliederfarben
  28. elseif ($data['user_level'] == 101 && $data['user_status'] == 0) {
  29. $csscode = "a.member, a.member:hover { color: #3d91bf; }"; // Hellblau
  30. $cssname = "member";
  31. } elseif ($data['user_level'] == 101 && $data['user_status'] == 1) {
  32. $csscode = "a.member-banned, a.member-banned:hover { color: #333333; text-decoration: line-through; }"; // Dunkelgrau
  33. $cssname = "member-banned";
  34. } elseif ($data['user_level'] == 101 && $data['user_status'] == 3) {
  35. $csscode = "a.member-suspended, a.member-suspended:hover { color: #ff6600; }"; // Orange
  36. $cssname = "member-suspended";
  37. } elseif ($data['user_level'] == 101 && $data['user_status'] == 4) {
  38. $csscode = "a.member-security-banned, a.member-security-banned:hover { color: #ff0000; }"; // Rot
  39. $cssname = "member-security-banned";
  40. } elseif ($data['user_level'] == 101 && $data['user_status'] == 5) {
  41. $csscode = "a.member-canceled, a.member-canceled:hover { color: #604400; }"; // Braun
  42. $cssname = "member-canceled";
  43. } elseif ($data['user_level'] == 101 && $data['user_status'] == 6) {
  44. $csscode = "a.member-anonymized, a.member-anonymized:hover { color: #4f2c2c; }"; // Dunkellila
  45. $cssname = "member-anonymized";
  46. } elseif ($data['user_level'] == 101 && $data['user_status'] == 7) {
  47. $csscode = "a.member-deactivated, a.member-deactivated:hover { color: #011a77; }"; // Dunkelbau
  48. $cssname = "member-deactivated";
  49. }
  50.  
  51. // CSS-Code in Header einbinden
  52. if (isset($csscode) && $csscode) {
  53. add_to_head("<style type='text/css'>".$csscode."</style>\n");
  54. }
  55.  
  56. // Name der CSS-Klasse zurückgeben
  57. if (isset($cssname) && $cssname) {
  58. return $cssname;
  59. }
  60.  
  61. }
  62. }
  63. }
  64. }
gewandelt in 0.024 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.
Beiträge: 434 
http://www.php-fusion.at/ 
Benutzeravatar

Senior Mitglied


Dat Tunes Geschrieben am 24.10.2012 um 12:57
 #7 Beitrag drucken Top
Klappt wunderbar Smile

Danke dir David
Leute ohne Macke, sind Kacke Grin
Oh Herr, schmeiss Grundwissen von Himmel !
Beiträge: 258 
Benutzeravatar

Seiten Administrator


David Geschrieben am 24.10.2012 um 22:39
 #8 Beitrag drucken Top
Kein Problem, freut mich wenn es funktioniert Smile.
Liebe Grüße, euer David.


Aktiver PHP-Fusion Nutzer seit 3. September 2006
--------------------------------------------------------
PHP-Fusion Österreich Seitenbetreiber.
Beiträge: 434 
http://www.php-fusion.at/ 
Springe ins Forum:
Anzeige


Anmelden


Registrieren Passwort vergessen

RSS Feeds

Feeds abonieren

Letzte News
Letzte Threads
Anzeige

© Copyright 2024 PHP-Fusion.at | Alle Rechte vorbehalten.

© 2016 Real Space. All rights reserved | Design by W3layouts | 19,388,906 eindeutige Besuche
Powered by PHP-Fusion copyright © 2002 - 2024 by Nick Jones. Released as free software without warranties under GNU Affero GPL v3.