SmartFAQ is developed by The SmartFactory (https://www.smartfactory.ca), a division of InBox Solutions (https://www.inboxsolutions.net)

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:

<
tr>
<
td class="head" width="25%"><{$lang_grupos}>td>
<
td class="odd"><{$user_grupos}>td>
tr>
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.
user

 Hahaha


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

Jordi

 
user

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

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

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

 


Login

Who's Online

267 user(s) are online (2 user(s) are browsing XOOPS FAQ)


Members: 0


Guests: 267


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Nov 30
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Did you know ?

On *NIX systems, you can use symbolic links (ln -s) to link your cache, templates_c, and uploads directories to folders that are outside of your web root.

Random question

What is 'SMTP'?