Difference between revisions of "Integrating Your Component"

(Created page with "3rd party component can easily integrate JomSocial features into their component. Among other things, 3rd party other component can Support JomSocial build-in personal messag...")
 
 
(24 intermediate revisions by 2 users not shown)
Line 1: Line 1:
3rd party component can easily integrate JomSocial features into their component. Among other things, 3rd party other component can
+
Third-party developers can easily integrate JomSocial features into their components. Among other things, Third-party components can:
Support JomSocial build-in personal messaging system
+
# Support JomSocial built-in personal messaging system.
Use JomSocial user object, CUser
+
# Use JomSocial avatars.
Use JomSocial avatar
+
# Use and extend JomSocial user object, CUser.
Link to user personal profile page
+
# Include user actions in JomSocial activity stream and reward users with points.
Include user action to JomSocial activity stream, and reward user with points
+
# Extend JomSocial via new plugins.
Extends JomSocial via new plugin
+
  
===Integrate private messaging==
+
===Support JomSocial Built-In Personal Messaging System===
[code]$jspath = JPATH_ROOT.DS.'components'.DS.'com_community';
+
 
include_once($jspath.DS.'libraries'.DS.'core.php');
+
To support private messaging within your component, you can use this snippet:
include_once($jspath.DS.'libraries'.DS.'messaging.php');
+
<syntaxhighlight lang="php">
 +
include_once JPATH_ROOT.'/components/com_community/libraries/core.php';
 +
include_once JPATH_ROOT.'/components/com_community/libraries/messaging.php';
 
// Add a onclick action to any link to send a message
 
// 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
 
// Here, we assume $usrid contain the id of the user we want to send message to
 
$onclick = CMessaging::getPopup($userid);
 
$onclick = CMessaging::getPopup($userid);
echo '<a onclick="'.$onclick.'" href="#">Send message</a>';[/code]
+
echo '<a onclick="'.$onclick.'" href="#">Send message</a>';
 +
</syntaxhighlight>
 +
<br />
 +
 
 +
===Use JomSocial Avatars===
 +
To acquire a path to a '''JomSocial Avatar''', you can simply request a cUser object and call a simple getThumbAvatar function to retrieve the avatar url.
 +
<syntaxhighlight lang="php">
 +
include_once JPATH_ROOT.'/components/com_community/libraries/core.php';
 +
// Get CUser object
 +
$user = CFactory::getUser($userid);
 +
$avatarUrl = $user->getThumbAvatar();
 +
echo '<img src="'.$avatarUrl.'">';
 +
</syntaxhighlight>
 +
<br />
 +
 
 +
===Use and Extend JomSocial User Object, CUser===
 +
JomSocial has its own [[JomSocial User Object|user object]] that can be extended further. The following are few examples how can you use it inside your component.
 +
====Getting a User's Friend Count====
 +
Retrieving a specific user's friend count is similar to how you would request a CUser object, by calling the getFriendCount method.
 +
<syntaxhighlight lang="php">
 +
include_once JPATH_ROOT.'/components/com_community/libraries/core.php';
 +
// Get CUser object
 +
$user  = CFactory::getUser( $userid );
 +
$count = $user->getFriendCount();
 +
echo 'Total friends: ' .$count;
 +
</syntaxhighlight>
 +
<br />
 +
====Getting a User's Status====
 +
To retrieve the status that is set by the user, load the CUser object and call the method, getStatus.
 +
<syntaxhighlight lang="php">
 +
include_once JPATH_ROOT.'/components/com_community/libraries/core.php';
 +
// Get CUser object
 +
$user  = CFactory::getUser( $userid );
 +
$status = $user->getStatus();
 +
echo 'User Status: ' . $status;
 +
</syntaxhighlight>
 +
<br />
 +
====Getting  a User's Display Name====
 +
Since JomSocial allows displaying the name with either the username or the real name, use the getDisplayName method from the CUser object.
 +
<syntaxhighlight lang="php">
 +
include_once JPATH_ROOT.'/components/com_community/libraries/core.php';
 +
// Get CUser object
 +
$user  = CFactory::getUser( $userid );
 +
$name = $user->getDisplayName();
 +
echo 'User name: '.$name ;
 +
</syntaxhighlight>
 +
<br />
 +
====Getting a User's Online Status====
 +
To get the online status of the current user, use the isOnline method from the CUser object.
 +
<syntaxhighlight lang="php">
 +
include_once JPATH_ROOT.'/components/com_community/libraries/core.php';
 +
// Get CUser object
 +
$user  = CFactory::getUser( $userid );
 +
$isOnline = $user->isOnline();
 +
if( $isOnline )
 +
{
 +
echo 'User is online now!';
 +
}
 +
</syntaxhighlight>
 +
<br />
 +
====Getting a User's View Count====
 +
To get a user's view count, use the method, getViewCount, from the CUser object.
 +
<syntaxhighlight lang="php">
 +
include_once JPATH_ROOT.'/components/com_community/libraries/core.php';
 +
// Get CUser object
 +
$user  = CFactory::getUser( $userid );
 +
$count = $user->getViewCount();
 +
echo 'Views: ' .$count. '';
 +
</syntaxhighlight>
 +
<br />
 +
====Link to a User's Personal Profile Page====
 +
By using our own library, CRoute, which is a replacement for JRoute, the link to any part of JomSocial will have the correct Itemid and will help avoid any duplicate links.
 +
<syntaxhighlight lang="php">
 +
include_once JPATH_ROOT.'/components/com_community/libraries/core.php';
 +
// Get CUser object
 +
$link = CRoute::_('index.php?option=com_community&view=profile&userid='.$userid);
 +
echo '<a href="/.$link." mce_href="http://www.jomsocial.com/.$link.">View user profile</a>';
 +
</syntaxhighlight>
 +
<br />

Latest revision as of 05:24, 9 March 2013

Third-party developers can easily integrate JomSocial features into their components. Among other things, Third-party components can:

  1. Support JomSocial built-in personal messaging system.
  2. Use JomSocial avatars.
  3. Use and extend JomSocial user object, CUser.
  4. Include user actions in JomSocial activity stream and reward users with points.
  5. Extend JomSocial via new plugins.

Support JomSocial Built-In Personal Messaging System

To support private messaging within your component, you can use this snippet:

include_once JPATH_ROOT.'/components/com_community/libraries/core.php';
include_once JPATH_ROOT.'/components/com_community/libraries/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 onclick="'.$onclick.'" href="#">Send message</a>';


Use JomSocial Avatars

To acquire a path to a JomSocial Avatar, you can simply request a cUser object and call a simple getThumbAvatar function to retrieve the avatar url.

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


Use and Extend JomSocial User Object, CUser

JomSocial has its own user object that can be extended further. The following are few examples how can you use it inside your component.

Getting a User's Friend Count

Retrieving a specific user's friend count is similar to how you would request a CUser object, by calling the getFriendCount method.

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


Getting a User's Status

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

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


Getting a User's Display Name

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

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


Getting a User's Online Status

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

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


Getting a User's View Count

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

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


Link to a User's Personal Profile Page

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

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