Seite 1 von 1

[SUCHE] Unterschiedliche Styles/Templates für Usergruppen

Verfasst: 29.09.2004 18:49
von kopfnick
Hi,

entweder bin ich blind, blöd, beides, oder ich habe einfach nicht die richtigen Suchbegriffe verwendet:

Gibt es keine Mod, mit der man den Usergruppen unterschiedliche Styles zuordnen kann?

Einfach gesagt:

Gruppe A -> Style X
Gruppe B -> Style Y

Wir möchten gerne verschiedene Gruppen einrichten und wenn ein Mitglied dieser Gruppe ins Forum kommt, soll er uU einen ganz anderen Style (Farben, Logo, etc) vorfinden als ein Mitglied einer anderen Gruppe.

Das klingt so simpel, dass es doch eigentlich unmöglich ist, dass des noch niemand programmiert hat, oder?

Bitte dringend um Hilfe,
greets,
kopfnick

Verfasst: 29.09.2004 20:19
von Markus67
Hi ...

schau dir diesen MOD mal an :wink:

Admin Templates
This hack adds an option to each template that can allow you to make it so that that template is viewable only to administrators and members of a denoted usergroup.

The default forum template will always be available. When normal members select an administrator only template, they will be shown the default template.


Markus

Verfasst: 29.09.2004 20:28
von kopfnick
hm...

danke mal für die rasche antwort ;)

Ich denke aber, dass das nicht so ganz das ist, was ich suche:
Ich bräuchte (in phpbb Funktionalitäten ausgedrückt) eher etwas, wo ich pro user group einen default style festlegen kann, und dann noch die von usern ausgewählte überschreibe.

Wenn also zB. Gruppe A ins Board kommt, soll sie das ganze Forum optisch nur im Style X sehen können, und im Profil keinen anderen auswählen können.

Der von dir vorgeschlagene Mod gibt mir nur die Möglichkeit, den Zugriff auf Styles für bestimmte User zu regeln, und das nur bezogen auf die Profil-Einstellungen. Wie in der Beschreibung erwähnt, bleibt aber der default style immer derselbe, leider :cry:

heeeelp ;)
kopfnick

Verfasst: 30.09.2004 13:50
von Mungo
Vielleicht nicht ganz sauber, aber es sollte funktionieren.

includes/functions.php

Suche:

Code: Alles auswählen

//
// Initialise user settings on page load
function init_userprefs($userdata)
Davor einfügen:

Code: Alles auswählen

// BEGIN Groupstyle
function member_of(&$userdata) 
{ 
  global $db; 
       
  if ( !$userdata['session_logged_in'] ) 
  {
    return false;
  }
   
  if ( isset($userdata['user_in_groups']) ) 
  {
    return $userdata['user_in_groups']; 
  }

  $sql = "SELECT group_id FROM " . USER_GROUP_TABLE . " 
    WHERE user_id = '" . $userdata['user_id'] . "' AND user_pending = 0"; 

  if ( !($result = $db->sql_query($sql)) ) 
  { 
    message_die(GENERAL_ERROR, 'Could not get group auth', '', __LINE__, __FILE__, $sql); 
  } 

  while( $row = $db->sql_fetchrow($result) )
  { 
    $userdata['user_in_groups'][] = $row['group_id'];
  } 

  return $userdata['user_in_groups'];
}
// END Groupstyle


Suche:

Code: Alles auswählen

		include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_admin.' . $phpEx);
	}

	//
	// Set up style
	//
Danach einfügen:

Code: Alles auswählen

  // BEGIN Groupstyle
  member_of($userdata);
  if ( is_array($userdata['user_in_groups']) )
  {
    // Aufbau: array(group_id => style_id)
    // Das Style von der Gruppe, die als erstes zutrifft, wird angezeigt.
    // Muss angepasst werden!
    $group_style = array(3 => 2, 4 => 3);
    
    foreach ( $group_style as $group_id => $style_id )
    {
      if ( in_array($group_id, $userdata['user_in_groups']) )
      {
        if ( $theme = setup_style($style_id) )
			  {
				  return;
			  }
      }
    }
  }
  // END Groupstyle
Wichtig ist das Array "$group_style". Hier kommen alle Gruppen rein, denen ein bestimmtes Style angezeigt werden soll.
Das Array ist so aufgebaut:
"ID der Gruppe" => "ID des Styles der angezeigt werden soll"
Wenn ein User in mehreren Gruppen ist, wird der Style von der Gruppe, die im Array weiter vorne steht, angezeigt.
Beispiel:
$group_style = array(6 => 1, 17 => 3, 23 => 5);
6, 17 und 23 sind IDs von den Gruppen.
1, 3 und 5 sind IDs von den Styles.

Ist ein User in den Gruppen mit den IDs 6 und 23, dann wird das Style mit der ID 1 (also von der Gruppe mit der ID 6) angezeigt.

Die IDs von den Gruppen findest du in der Tabelle "phpbb_groups" und die IDs der Styles in der Tabelle "phpbb_themes".

Verfasst: 30.09.2004 19:09
von kopfnick
Tausend Dank, werde es morgen mal ausprobieren!

greets,
kopfnick

Verfasst: 06.02.2008 00:51
von chris1278
hi sowas such ich für das neue dreier forum. am liebsten so das man das so über die gruppen einstellen kann. also so das wenn ich eine neue gruppe erstelle auch die option habe via auswahl menu den standard style festzulegen. ich weis das hier das 2er beschrieben ist nur fürs dreier findet sich nix auch nit mit der sufu