function getFriends() { $avt_model = FD::model('Avatars'); $default = $avt_model->getDefaultAvatars(0, $type = SOCIAL_TYPE_PROFILES); //init variable $app = JFactory::getApplication(); $user = JFactory::getUser($this->plugin->get('user')->id); $userid = $app->input->get('target_user', 0, 'INT'); $filter = $app->input->get('filter', NULL, 'STRING'); $search = $app->input->get('search', '', 'STRING'); $limit = $app->input->get('limit', 10, 'INT'); $limitstart = $app->input->get('limitstart', 0, 'INT'); $options['limit'] = $limit; $options['limitstart'] = $limitstart; $mssg = ''; $flag = 1; $mapp = new EasySocialApiMappingHelper(); if ($userid == 0) { $userid = $user->id; } $frnd_mod = FD::model('Friends'); $frnd_mod->setState('limit', $limit); $frnd_mod->setState('limitstart', $limitstart); $ttl_list = array(); switch ($filter) { case 'pending': //get the total pending friends. $options['state'] = JText::_('SOCIAL_FRIENDS_STATE_PENDING'); $mssg = "You have no pending request"; break; case 'all': //getting all friends $options['state'] = JText::_('SOCIAL_FRIENDS_STATE_FRIENDS'); $mssg = "You have no friends"; break; case 'request': //getting sent requested friends. $options['state'] = JText::_('SOCIAL_FRIENDS_STATE_PENDING'); $options['isRequest'] = true; $mssg = "You have no sent request"; break; case 'suggest': //getting suggested friends $sugg_list = $frnd_mod->getSuggestedFriends($userid); foreach ($sugg_list as $sfnd) { $ttl_list[] = $sfnd->friend; } if (empty($ttl_list)) { $flag = 1; } else { $flag = 0; } $mssg = "You have no suggetions"; break; case 'invites': //getiing invited friends $invites['data'] = $frnd_mod->getInvitedUsers($userid); $mssg = "You have no invitations"; if (empty($invites['data'])) { $invites['data']['message'] = $mssg; $invites['data']['status'] = false; } return $invites; break; } // if search word present then search user as per term and given id if (empty($search) && empty($ttl_list) && $flag != 1) { $ttl_list = $frnd_mod->getFriends($userid, $options); } else { if (!empty($search) && empty($filter)) { $ttl_list = $frnd_mod->search($userid, $search, 'username'); } else { $ttl_list = $frnd_mod->getFriends($userid, $options); } } $frnd_list['data'] = $mapp->mapItem($ttl_list, 'user', $userid); $frnd_list['data'] = $mapp->frnd_nodes($frnd_list['data'], $user); //get other data foreach ($frnd_list['data'] as $ky => $lval) { //get mutual friends of given user if ($lval->id != $user->id) { $lval->mutual = $frnd_mod->getMutualFriendCount($user->id, $lval->id); //if( $user->id != $lval->id ) $lval->isFriend = $frnd_mod->isFriends($user->id, $lval->id); $lval->isself = false; //$lval->mutual_frnds = $frnd_mod->getMutualFriends($userid,$lval->id); } else { $lval->mutual = $frnd_mod->getMutualFriendCount($userid, $lval->id); $lval->isFriend = $frnd_mod->isFriends($userid, $lval->id); $lval->isself = true; } //$lval->mutual = $frnd_mod->getMutualFriendCount($user->id,$lval->id); //$lval->isFriend = $frnd_mod->isFriends($user->id,$lval->id); } //if data is empty givin respective message and status. if (empty($frnd_list['data'])) { $frnd_list['data']['message'] = $mssg; $frnd_list['data']['status'] = false; } //pending $frnd_list['status']['pendings'] = $frnd_mod->getTotalPendingFriends($userid); //all frined $frnd_list['status']['allfriend'] = $frnd_mod->getTotalFriends($userid, array('state' => SOCIAL_FRIENDS_STATE_FRIENDS)); //suggested $frnd_list['status']['suggested'] = $frnd_mod->getSuggestedFriends($userid, null, true); //request sent $frnd_list['status']['sentreq'] = $frnd_mod->getTotalRequestSent($userid); //invited $frnd_list['status']['invite'] = $frnd_mod->getTotalInvites($userid); return $frnd_list; }