SmartFAQ is developed by The SmartFactory (, a division of InBox Solutions (

How to show the groups the user belongs to in the user profile
Requested and Answered by Jordi_rc on 2006/12/1 9:18:10 (10090 reads)
Dear Webmaster, please replace the FAQ with the following because something is wrong in the faq display:
Here begins:
This is for adding the groups of the user to the userinfo, so they are displayed in his/her profile.
It is nice for projects that all members (not only the admin) need to know when a member is part of a special group.

I developed this hack from a post of bluescreen, who did something similar to point 2, but for another purpose. Sorry I can't find that post.
The hack is this way:

1) in the file /language/english/user.php add this line:

// hack jordi user groups displaying
define('_US_GRUPOS','Community Status');
// end of hack jordi

2) In the file userinfo.php look where it says this:

if ( is_object($xoopsUser) && $isAdmin ) {





and add this after it:

// hack display user groups

$verGrupos $thisUser->getGroups();
//group number 1 is allways admin
if ( in_array("1"$verGrupos) ) { $susGrupos 'Administrator'; }

//group 4 is a group you may have created
// remove this line if you didn't
// you can also add more lines, checking numbers from 4 to X
// for the groups you created

elseif ( in_array("4"$verGrupos) ) { $susGrupos .= 'A group you created'; }
//group 2 is the registered users. All people belong to this group if they are registered.
elseif ( in_array("2"$verGrupos) ) { $susGrupos .= 'Proud Member'; }

// this asigns values to variables in system_userinfo


// fin hack mostrar grupos

If you wonder what is group 3, I must say that group 3 is Anonymous, so they don't have user profile, so no need to care about.
If you want a group displayed regardless that the user belongs to another one, use a "if" bucle instead of "elseif" for that group.

3) Finally go to modules/system/templates/system_userinfo.html where it says:

<tr valign="top">

td class="head" width="25%"><{$lang_avatar}></td>
td align="center" class="even"><img src="<{$user_avatarurl}>" alt="Avatar" /></td>


And add this after it:

<!-- jordihack user groups display -->
td class="head" width="25%"><{$lang_grupos}></td>
td class="odd"><{$user_grupos}></td>
jordiend of hack user groups display -->

Now you got it!
You don't need to create any database or nothing, just do these 3 steps.

Jordi R. Cardona.

The comments are owned by the author. We aren't responsible for their content.
  • Not too shy to talk


Hahaha , oops. I mean the 3 lines in the beginning are just a salutation... Anyway thanks for publishing this.


  • Quite a regular

 Modified to display all groups

I modified this hack a bit so that it shows all groups, without you having to add an if/else for each group.

I have many groups, and I may be adding more in the future, so I don't want to have to alter the userinfo.php every time I add a new group.

It's all the same as above, except in step 2 I added this code instead:

// hack display user groups

 //checks for user's groups
$mygroups =& $member_handler->getGroupsByUser($thisUser->getVar('uid'), true);
   foreach (
$mygroups as $group) {
$gname $group->getVar('name');
$in_groups .= $gname.", ";
$in_groups substr($in_groups0, -2); 


// end hack

Also, if you try to modify the template and it doesn't work. Access the template through the Admin > System > Templates.

I used this in XOOPS 2.10.17.

Design by: XOOPS UI/UX Team