How to show the groups the user belongs to in the user profile

Requested and Answered by Jordi_rc on 2006/12/1 14:18:10

How to show the groups the user belongs to in the user profile

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 ) {

    
$xoopsTpl->assign('lang_editprofile'_US_EDITPROFILE);

    
$xoopsTpl->assign('lang_deleteaccount'_US_DELACCOUNT);

    
$xoopsTpl->assign('user_uid'$thisUser->getVar('uid'));

}
and add this after it:
// hack display user groups

$verGrupos $thisUser->getGroups();
$susGrupos='';
        
//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

$xoopsTpl->assign('lang_grupos'_US_GRUPOS);
$xoopsTpl->assign('user_grupos'$susGrupos);

// 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>

</
tr>
And add this after it:
<!-- jordihack user groups display -->
<
tr>
<
td class="head" width="25%"><{$lang_grupos}></td>
<
td class="odd"><{$user_grupos}></td>
</
tr>
<!-- 
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.

This Q&A was found on XOOPS Web Application System : https://xoops.org/modules/smartfaq/faq.php?faqid=642