Fork me on GitHub
Get XOOPS XOOPSXOOPS FAQFAQ ForumsForums NewsNews ThemesThemes ModulesModules
Submit a Q&A Request a Q&A Open Questions

Search

Learn XOOPS Core

Donat-O-Meter

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

Local Support

Advertisement

XOOPS Code hosted on SourceForge

How do I...

customise my user registration details?

Answer here!

Did you know ?

you can link to any page in the main menu?

More details...

Random question

How can I display different images or include different stylesheets according to the currently viewed module?

Answer here!

Recent Q&A List

Cumulus Tag Cloud

- 2 2.5 2.6 4 6 Abuse adslight Android AntiHarvesting AntiSpam API Apple Battlefield billige Blocks Bootstrap Captcha cell cent chronolabs CHUNG Clicks content CĂN demo docek download Dresses evden facebook Fat floor for free Gateway Google Guide herre Honeypot HP html5 Human HỘ iPhone jQuery Language List log Loss module modules Monster new newbb news NHÀ online PARK Payment phone PHP Prevention profile project Protector publisher RESIDENCE responsive review Rights rmcommon Room security Sentry site Smartphone Smarty Smoking Spam stem Studio support tag tags tdmcreate template The Theme themes User userlog web weight xoops Xortify XPayment ZendFramework

New Users

Registering user

# 137717

SLNK214324

Welcome to XOOPS!
SmartFAQ is developed by The SmartFactory (http://www.smartfactory.ca), a division of InBox Solutions (http://www.inboxsolutions.net)

Question
How to show the groups the user belongs to in the user profile
Answer
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.

Requested and Answered by Jordi_rc on 2006/12/1 8:18:10 (9066 reads) 2 Comment(s) Print Q&A Send Q&A

The comments are owned by the author. We aren't responsible for their content.
Hahaha , oops. I mean the 3 lines in the beginning are just a salutation... Anyway thanks for publishing this.

Jordi
Published: 2006/12/2 13:51 • Updated: 2006/12/2 13:51
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.
Published: 2007/9/22 15:05 • Updated: 2007/9/28 10:06