Felhasználói név színezése csoport tagság szerint

Sweetchuck képe

Előzmények és részletes leírás.

Első kőrben az egyszerűbbet csináltam meg, még pedig a felhasználói csoportokba tartozás alapján való megkülönböztetésen alapulót. (de szép mondat. Érti valaki?)

A CCK-BIO egy kicsit komolyabb.

Drupal verzió: 
Fórum: 
Sweetchuck képe

function phptemplate_username($object) {
  $role_id_male   = 3;
  $role_id_female = 4;
  $attributes = array('attributes' => array('class' => 'un-unisex'));
 
  if (
    (!array_key_exists('roles', $object) OR count($object->roles) < 2)
    AND
    ($object->uid OR ($object->name AND $object->name !== variable_get('anonymous', t('Anonymous'))))
  ) {
    $field = ($object->uid) ? 'uid' : 'name';
    $object->roles = array(DRUPAL_AUTHENTICATED_RID => 'authenticated user');
    $result = db_query("SELECT r.rid, r.name FROM {role} r INNER JOIN {users_roles} ur ON ur.rid = r.rid WHERE ur.$field = %d", $object->$field);
    while ($role = db_fetch_object($result)) {
      $object->roles[$role->rid] = $role->name;
    }
  }
 
  if ( array_key_exists($role_id_male, $object->roles) )     {
    $attributes['attributes']['class'] = 'un-male';
  }
  else if ( array_key_exists($role_id_female, $object->roles) ) {
    $attributes['attributes']['class'] = 'un-female';
  }
 
 
  if ($object->uid && $object->name) {
    // Shorten the name when it is too long or it will break many tables.
    if (drupal_strlen($object->name) > 20) {
      $name = drupal_substr($object->name, 0, 15) .'...';
    }
    else {
      $name = $object->name;
    }
 
    if (user_access('access user profiles')) {
      $attributes['attributes'] += array('title' => t('View user profile.'));
      $output = l($name, 'user/'. $object->uid, $attributes);
    }
    else {
      $output = "<span class=\"{$attributes['class']}\">". check_plain($name) .'</span>';
    }
  }
  else if ($object->name) {
    // Sometimes modules display content composed by people who are
    // not registered members of the site (e.g. mailing list or news
    // aggregator modules). This clause enables modules to display
    // the true author of the content.
    if (!empty($object->homepage)) {
      $attributes['attributes'] += array('rel' => 'nofollow');
      $output = l($object->name, $object->homepage, $attributes);
    }
    else {
      $output = "<span class=\"{$attributes['class']}\">". check_plain($object->name) .'</span>';
    }
 
    $output .= ' ('. t('not verified') .')';
  }
  else {
    $output = "<span class=\"{$attributes['class']}\">". variable_get('anonymous', t('Anonymous')) .'</span>';
  }
 
  return $output;
}

a:active.un-female, a:link.un-female, a:hover.un-female, a:visited.un-female, span.un-female {
  color: #FF0000;
}
a:active.un-male, a:link.un-male, a:hover.un-male, a:visited.un-male, span.un-male{
  color: #0000FF;
}
 
a:active.un-unisex, a:link.un-unisex, a:hover.un-unisex, a:visited.un-unisex, span.un-unisex{
  color: #00FF00;
}
0
0
ordi képe

a cck és bio verzió érdekelne engem:))

ha egyszer netán épp megöl az unalom és mindenáron megakarod írni ilyen szépen mint ezt akkor szeretettel várom:))

köszönöm előre is:)

0
0
Sweetchuck képe

minden ilyet
$output = "<span class=\"{$attributes['class']}\">"
le kell cserélni ilyenre
$output = "<span class=\"{$attributes['attributes']['class']}\">"

0
0