Hello, Guest.

3rd Party Component Integration

Contents

JomSocial Libray

3rd party component can easily integrate JomSocial features into their component. Among other, other component can

  • Support JomSocial build-in personal messaging system
  • Use JomSocial user object, CUser
  • Use JomSocial avatar
  • Link to user personal profile page
  • Include user action to JomSocial activity stream, and reward user with points
  • Extends JomSocial via new plugin


Support JomSocial Messaging

Example

$jspath = JPATH_BASE.DS.'components'.DS.'com_community';
include_once($jspath.DS.'libraries'.DS.'core.php');
include_once($jspath.DS.'libraries'.DS.'messaging.php');
 
// Add a onclick action to any link to send a message
// Here, we assume $usrid contain the id of the user we want to send message to
 
$onclick = CMessaging::getPopup($userid);
echo '<a href="javascript:void(0)" onclick="'. $onclick .'">Send message</a>';

Using JomSocial avatar

To get path to JS avatar, you can simply request a CUser object and call a simple getThumbAvatar function to retrieve the avatar url.

Example

$jspath = JPATH_BASE.DS.'components'.DS.'com_community';
include_once($jspath.DS.'libraries'.DS.'core.php');
 
// Get CUser object
$user =& CFactory::getUser($userid);
$avatarUrl = $user->getThumbAvatar();
 
echo '<img src="'. $avatarUrl .'"/>';

Getting a user's friend count

To retrieve a specific user's friend count, similar like how you would request a CUser object, and call the method getFriendCount.

Example

$jspath = JPATH_ROOT . DS . 'components' . DS . 'com_community';
include_once($jspath. DS . 'libraries' . DS . 'core.php');
 
// Get CUser object
$user  = CFactory::getUser( $userid );
$count = $user->getFriendCount();
echo '<span>Total friends: ' . $count . '</span>';

Getting a user's status

To retrieve the status that is set by the user, load up the CUser object and call the method getStatus.

Example

$jspath = JPATH_ROOT . DS . 'components' . DS . 'com_community';
include_once($jspath. DS . 'libraries' . DS . 'core.php');
 
// Get CUser object
$user  = CFactory::getUser( $userid );
$status = $user->getStatus();
echo '<span>User Status: ' . $status . '</span>';

Getting a user's display name

Since JomSocial allows displaying name by either username or real name, you should use the getDisplayName method from the CUser object.

Example

$jspath = JPATH_ROOT . DS . 'components' . DS . 'com_community';
include_once($jspath. DS . 'libraries' . DS . 'core.php');
 
// Get CUser object
$user  = CFactory::getUser( $userid );
$name  = $user->getDisplayName();
echo '<span>User name: ' . $name . '</span>';

Get user's online status

To get the online status of the current user, you should use the isOnline method from the CUser object.

Example

$jspath = JPATH_ROOT . DS . 'components' . DS . 'com_community';
include_once($jspath. DS . 'libraries' . DS . 'core.php');
 
// Get CUser object
$user  = CFactory::getUser( $userid );
$isOnline = $user->isOnline();
if( $isOnline )
{
  echo '<span>User is online now!</span>';
}

Get user's view count

To get a user's view count, you should use the method getViewCount from the CUser object.

Example

$jspath = JPATH_ROOT . DS . 'components' . DS . 'com_community';
include_once($jspath. DS . 'libraries' . DS . 'core.php');
 
// Get CUser object
$user  = CFactory::getUser( $userid );
$count = $user->getViewCount();
echo '<span>Views: ' . $count . '</span>';

Link to user personal profile page

By using our own library, CRoute, which is a replacement for JRoute, link to any part of JomSocial will have the correct Itemid and will help avoid any duplicate link.

Example

$jspath = JPATH_BASE.DS.'components'.DS.'com_community';
include_once($jspath.DS.'libraries'.DS.'core.php');
 
// Get CUser object
$link = CRoute::_('index.php?option=com_community&view=profile&userid='.$userid);
 
echo '<a href="'. $link .'">View user profile</a>';
 
 
 

Docs Navigation

JomSocial is made for Joomla!
JomSocial Community Count

370 users currently online | 42238 forum posts