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

Search

Nominate XOOPS!

Learn XOOPS Core

Donat-O-Meter

Make donations with PayPal!
Stats
Goal: $100.00
Due Date: Jul 31
Gross Amount: $15.00
Net Balance: $14.11
Left to go: $85.89

Donations
Anonymous ($15)Jul-20

Local Support

Advertisement

XOOPS Code hosted on SourceForge

How do I...

change themes automatically in a website?

Answer here!

Did you know ?

your site contents is categorised into modules that present different display formats?

More details...

Random question

How do I populate a dropdown box from a xoops table?

Answer here!

Recent Q&A List

Cumulus Tag Cloud

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

New Users

Registering user

# 137636

mzmaker05

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 (9010 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