function getSearch() { //init variable $app = JFactory::getApplication(); $log_user = JFactory::getUser($this->plugin->get('user')->id); $nxt_lim = 20; $search = $app->input->get('search', '', 'STRING'); $nxt_lim = $app->input->get('next_limit', 0, 'INT'); $mapp = new EasySocialApiMappingHelper(); $res = new stdClass(); if (empty($search)) { $res->status = 0; $res->message = 'Empty searchtext'; return $res; } $userid = $log_user->id; $serch_obj = new EasySocialModelSearch(); $db = JFactory::getDbo(); $query = $db->getQuery(true); $frnd_obj = new EasySocialModelFriends(); $query->select($db->quoteName(array('su.user_id'))); $query->from($db->quoteName('#__social_users', 'su')); $query->join('LEFT', $db->quoteName('#__users', 'u') . ' ON (' . $db->quoteName('su.user_id') . ' = ' . $db->quoteName('u.id') . ')'); //->where(($db->quoteName('u.username') . ' LIKE '. $db->quote('\'% '.$search.'%\'') ).'OR' .( $db->quoteName('u.name') . ' LIKE '. $db->quote('\'%'.$search.'%\'') ).'OR'.( $db->quoteName('u.email') . ' LIKE '. $db->quote('\'%'.$search.'%\''))) if (!empty($search)) { $query->where("(u.username LIKE '%" . $search . "%' ) OR ( u.name LIKE '%" . $search . "%') OR ( u.email LIKE '%" . $search . "%')"); } $query->order($db->quoteName('u.id') . 'ASC'); $db->setQuery($query); $tdata = $db->loadObjectList(); $susers = array(); foreach ($tdata as $ky => $val) { $susers[] = FD::user($val->user_id); } $base_obj = $mapp->mapItem($susers, 'user', $log_user->id); $list['user'] = $this->createSearchObj($base_obj); //for group $query1 = $db->getQuery(true); $query1->select($db->quoteName(array('cl.id'))); $query1->from($db->quoteName('#__social_clusters', 'cl')); if (!empty($search)) { $query1->where("(cl.title LIKE '%" . $search . "%' )"); } $query1->order($db->quoteName('cl.id') . 'ASC'); $db->setQuery($query1); $gdata = $db->loadObjectList(); $grp_model = FD::model('Groups'); $group = array(); foreach ($gdata as $grp) { $group[] = FD::group($grp->id); } $list['group'] = $mapp->mapItem($group, 'group', $log_user->id); if (empty($list['group'])) { $ret_arr = new stdClass(); $ret_arr->status = false; $ret_arr->message = "No group found in search"; $list['group'] = $ret_arr; } return $list; }
function getGroups() { //init variable $app = JFactory::getApplication(); $log_user = JFactory::getUser($this->plugin->get('user')->id); $db = JFactory::getDbo(); $nxt_lim = 20; $search = $app->input->get('search', '', 'STRING'); //$group_id = $app->input->get('id',0,'INT'); $userid = $log_user->id; $mapp = new EasySocialApiMappingHelper(); $filters = array(); $filters['category'] = $app->input->get('category', 0, 'INT'); $filters['uid'] = $app->input->get('target_user', 0, 'INT'); //change target user if ($filters['uid'] != 0) { $userid = $filters['uid']; } $filters['types'] = $app->input->get('type', 0, 'INT'); $filters['state'] = $app->input->get('state', 0, 'INT'); $filters['featured'] = $app->input->get('featured', false, 'BOOLEAN'); $filters['mygroups'] = $app->input->get('mygroups', false, 'BOOLEAN'); $filters['invited'] = $app->input->get('invited', false, 'BOOLEAN'); $filters['limit'] = $app->input->get('limit', 0, 'INT'); $model = FD::model('Groups'); $options = array('state' => SOCIAL_STATE_PUBLISHED, 'ordering' => 'latest', 'limit' => $filters['limit']); $groups = array(); if ($filters['featured']) { $options['featured'] = true; $featured = $model->getGroups($filters); $featured_grps = $mapp->mapItem($featured, 'group', $log_user->id); if (count($featured_grps) > 0 && $featured_grps != false) { return $featured_grps; } else { return 0; } } else { if ($filters['mygroups']) { $options['uid'] = $userid; $options['types'] = 'all'; } if ($filters['invited']) { $options['invited'] = $userid; $options['types'] = 'all'; } if ($filters['category']) { $options['category'] = $categoryId; } if ($filters['uid'] == 0) { $groups = $model->getGroups($options); } else { $groups = $model->getUserGroups($filters['uid']); } //$groups = $this->baseGrpObj($groups); $groups = $mapp->mapItem($groups, 'group', $log_user->id); } return $groups; }
public function getGroup_Members() { //init variable $app = JFactory::getApplication(); $log_user = $this->plugin->get('user')->id; $group_id = $app->input->get('group_id', 0, 'INT'); $limitstart = $app->input->get('limitstart', 0, 'INT'); $limit = $app->input->get('limit', 10, 'INT'); $state = $app->input->get('state', 1, 'INT'); $getAdmin = $app->input->get('admin', 1, 'INT'); $options = array('groupid' => $group_id); $gruserob = new EasySocialModelGroupMembers(); $data = $gruserob->getItems($options); $mapp = new EasySocialApiMappingHelper(); foreach ($data as $val) { $val->id = $val->uid; } $user_list = $mapp->mapItem($data, 'user', $log_user); $grp_model = FD::model('Groups'); foreach ($user_list as $user) { $user->isMember = $grp_model->isMember($user->id, $group_id); $user->isOwner = $grp_model->isOwner($user->id, $group_id); $user->isInvited = $grp_model->isInvited($user->id, $group_id); $user->isPendingMember = $grp_model->isPendingMember($user->id, $group_id); } //manual pagination code $user_list = array_slice($user_list, $limitstart, $limit); return $user_list; }
public function get_event() { $app = JFactory::getApplication(); $log_user = $this->plugin->get('user')->id; $event_id = $app->input->get('event_id', 0, 'INT'); $mapp = new EasySocialApiMappingHelper(); //getting all detail of particular event. $data = null; if ($event_id) { $event[] = FD::event($event_id); $data = $mapp->mapItem($event, 'event', $log_user); } return $data; }
function getCategory() { //init variable $app = JFactory::getApplication(); $log_user = $this->plugin->get('user')->id; $other_user_id = $app->input->get('user_id', 0, 'INT'); $userid = $other_user_id ? $other_user_id : $log_user; $data = array(); $mapp = new EasySocialApiMappingHelper(); $user = FD::user($userid); // Get a list of group categories $catModel = FD::model('GroupCategories'); $cats = $catModel->getCategories(array('state' => SOCIAL_STATE_PUBLISHED, 'ordering' => 'ordering')); $data['data'] = $mapp->mapItem($cats, 'category', $log_user); return $data; }
public function get_albums() { $app = JFactory::getApplication(); //getting log_user $log_user = $this->plugin->get('user')->id; //accepting user details. $uid = $app->input->get('uid', 0, 'INT'); $type = $app->input->get('type', 0, 'STRING'); $mapp = new EasySocialApiMappingHelper(); //accepting pagination values. $limitstart = $app->input->get('limitstart', 5, 'INT'); $limit = $app->input->get('limit', 10, 'INT'); // taking values in array for pagination of albums. //$mydata['limitstart']=$limitstart; $mydata['excludeblocked'] = 1; $mydata['pagination'] = 1; //$mydata['limit'] = $limit; $mydata['privacy'] = true; $mydata['order'] = 'a.assigned_date'; $mydata['direction'] = 'DESC'; //creating object and calling relatvie method for data fetching. $obj = new EasySocialModelAlbums(); //$obj->setState('limitstart',$limitstart); //$obj->setState('limit',$limit); //$obj->limitstart = $limitstart; //$obj->limit= $limit; // first param is user id,user type and third contains array for pagination. $albums = $obj->getAlbums($uid, $type, $mydata); //use to load table of album. $album = FD::table('Album'); foreach ($albums as $album) { if ($album->cover_id) { $album->load($album->cover_id); } $album->cover_featured = $album->getCover('featured'); $album->cover_large = $album->getCover('large'); $album->cover_square = $album->getCover('square'); $album->cover_thumbnail = $album->getCover('thumbnail'); } //getting count of photos in every albums. foreach ($albums as $alb) { $alb->count = $obj->getTotalPhotos($alb->id); } $all_albums = $mapp->mapItem($albums, 'albums', $log_user); $output = array_slice($all_albums, $limitstart, $limit); return $output; }
function getGroup() { //init variable $app = JFactory::getApplication(); $log_user = JFactory::getUser($this->plugin->get('user')->id); $group_id = $app->input->get('id', 0, 'INT'); $other_user_id = $app->input->get('user_id', 0, 'INT'); $userid = $other_user_id ? $other_user_id : $log_user->id; $data = array(); $user = FD::user($userid); $mapp = new EasySocialApiMappingHelper(); $grp_model = FD::model('Groups'); if ($group_id) { $group[] = FD::group($group_id); //$pth = FD::photo($group[0]->creator_uid,'',$group[0]->id); $data['data'] = $mapp->mapItem($group, 'group', $log_user->id); } return $data; }
public function get_leaderboard() { $app = JFactory::getApplication(); //getting log_user $log_user = $this->plugin->get('user')->id; $limitstart = $app->input->get('limitstart', 0, 'INT'); $limit = $app->input->get('limit', 10, 'INT'); $mapp = new EasySocialApiMappingHelper(); $model = FD::model('Leaderboard'); //$options = array( 'ordering' => 'points' , 'limit' => $limit , 'excludeAdmin' => $excludeAdmin ,'state' => 1); $options = array('ordering' => 'points', 'excludeAdmin' => $excludeAdmin, 'state' => 1); $users = $model->getLadder($options, false); if (empty($users)) { $res = new stdClass(); $res->status = 0; $res->message = 'No Leaders'; return $res; } $leaderusers = $mapp->mapItem($users, 'user'); $output = array_slice($leaderusers, $limitstart, $limit); return $output; }
function getFriends() { //init variable $app = JFactory::getApplication(); $user = JFactory::getUser($this->plugin->get('user')->id); $userid = $app->input->get('target_user', $this->plugin->get('user')->id, 'INT'); $search = $app->input->get('search', '', 'STRING'); $mapp = new EasySocialApiMappingHelper(); if ($userid == 0) { $userid = $user->id; } $frnd_mod = new EasySocialModelFriends(); // if search word present then search user as per term and given id if (empty($search)) { $ttl_list = $frnd_mod->getFriends($userid); } else { $ttl_list = $frnd_mod->search($userid, $search, 'username'); } //$frnd_list = $this->basefrndObj($ttl_list); $frnd_list = $mapp->mapItem($ttl_list, 'user', $userid); //get other data foreach ($frnd_list as $ky => $lval) { //get mutual friends of given user /*if($userid != $user->id) { $lval->mutual = $frnd_mod->getMutualFriendCount($user->id,$lval->id); $lval->isFriend = $frnd_mod->isFriends($user->id,$lval->id); //$lval->mutual_frnds = $frnd_mod->getMutualFriends($userid,$lval->id); } else { $lval->mutual = $frnd_mod->getMutualFriendCount($userid,$lval->id); $lval->isFriend = $frnd_mod->isFriends($user->id,$lval->id); }*/ $lval->mutual = $frnd_mod->getMutualFriendCount($user->id, $lval->id); $lval->isFriend = $frnd_mod->isFriends($user->id, $lval->id); } return $frnd_list; }
public function get_guests() { $app = JFactory::getApplication(); //getting log_user. $log_user = $this->plugin->get('user')->id; //get event id,limit,limitstart. $event_id = $app->input->get('event_id', 0, 'INT'); $limitstart = $app->input->get('limitstart', 0, 'INT'); $limit = $app->input->get('limit', 10, 'INT'); $options = array(); $ordering = $this->plugin->get('ordering', 'name', 'STRING'); $state = $app->input->get('state', '', 'STRING'); $mapp = new EasySocialApiMappingHelper(); $eguest = FD::model('Events'); //filter with guests state. switch ($state) { case 'going': $options['state'] = SOCIAL_EVENT_GUEST_GOING; break; case 'notgoing': $options['state'] = SOCIAL_EVENT_GUEST_NOT_GOING; break; case 'maybe': $options['state'] = SOCIAL_EVENT_GUEST_MAYBE; break; case 'admins': $options['admin'] = true; break; } $options['users'] = true; $options['limitstart'] = $limitstart; $options['limit'] = $limit; $res = $eguest->getGuests($event_id, $options); //map the object to userobject. $eventGuests = $mapp->mapItem($res, 'user'); return $eventGuests; }
function getGroupDiscussion() { //init variable $mainframe = JFactory::getApplication(); $group_id = $mainframe->input->get('id', 0, 'INT'); $appId = $mainframe->input->get('discussion_id', 0, 'INT'); //$filter = $mainframe->input->get('filter','all','STRING'); $wres = new stdClass(); $valid = 0; if (!$group_id) { $wres->status = 0; $wres->message[] = 'Group id is empty'; return $wres; } else { $group = FD::group($group_id); // Get the current filter type $filter = $mainframe->input->get('filter', 'all', 'STRING'); $options = array(); if ($filter == 'unanswered') { $options['unanswered'] = true; } if ($filter == 'locked') { $options['locked'] = true; } if ($filter == 'resolved') { $options['resolved'] = true; } $options['limitstart'] = $mainframe->input->get('limitstart', 0, 'INT'); $options['limit'] = $mainframe->input->get('limit', 10, 'INT'); $mapp = new EasySocialApiMappingHelper(); $model = FD::model('Discussions'); $discussions_row = $model->getDiscussions($group->id, SOCIAL_TYPE_GROUP, $options); $data['data'] = $mapp->mapItem($discussions_row, 'discussion', $this->plugin->get('user')->id); // return $data; } }
function getDiscussionReply() { //init variable $mainframe = JFactory::getApplication(); $group_id = $mainframe->input->get('group_id', 0, 'INT'); $discussId = $mainframe->input->get('discussion_id', 0, 'INT'); $wres = new stdClass(); $valid = 0; if (!$group_id) { $wres->status = 0; $wres->message[] = 'Group id is empty'; return $wres; } else { $group = FD::group($group_id); // Get the current filter type $filter = $mainframe->input->get('filter', 'all', 'STRING'); $options = array(); if ($filter == 'unanswered') { $options['unanswered'] = true; } if ($filter == 'locked') { $options['locked'] = true; } if ($filter == 'resolved') { $options['resolved'] = true; } $options['limit'] = $mainframe->input->get('limit', 10, 'INT'); $options['ordering'] = 'created'; $mapp = new EasySocialApiMappingHelper(); $model = FD::model('Discussions'); $reply_rows = $model->getReplies($discussId, $options); if ($discussId) { $disc_dt = new stdClass(); //create discussion details as per request $discussion = FD::table('Discussion'); $discussion->load($discussId); $data_node[] = $discussion; $data['discussion'] = $mapp->mapItem($data_node, 'discussion', $this->plugin->get('user')->id); } $data['data'] = $mapp->mapItem($reply_rows, 'reply', $this->plugin->get('user')->id); // return $data; } }
function getStream() { //init variable $app = JFactory::getApplication(); //code for get non sef urls $jrouter = JFactory::getApplication()->getRouter(); $jrouter->setMode(JROUTER_MODE_RAW); $log_user = JFactory::getUser($this->plugin->get('user')->id); $group_id = $app->input->get('group_id', 0, 'INT'); $id = $this->plugin->get('user')->id; $target_user = $app->input->get('target_user', 0, 'INT'); $limit = $app->input->get('limit', 10, 'INT'); $startlimit = $app->input->get('limitstart', 0, 'INT'); $filter = $app->input->get('filter', 'everyone', 'STRING'); //get tag $tag = $app->input->get('tag', '', 'STRING'); $config = JFactory::getConfig(); $sef = $config->set('sef', 0); //print_r($config);die("in api"); //map object $mapp = new EasySocialApiMappingHelper(); // If user id is not passed in, return logged in user if (!$target_user) { $target_user = $id; } // Get the stream library $stream = FD::stream(); $options = array('userId' => $target_user, 'startlimit' => $startlimit, 'limit' => $limit); if ($group_id) { $options = array('clusterId' => $group_id, 'clusterType' => SOCIAL_TYPE_GROUP, 'startlimit' => $startlimit, 'limit' => $limit); } if ($target_user == $id) { switch ($filter) { case 'everyone': $options['guest'] = true; $options['ignoreUser'] = true; break; case 'following': case 'follow': $options['type'] = 'follow'; break; case 'bookmarks': $options['guest'] = true; $options['type'] = 'bookmarks'; case 'me': // nohting to set break; case 'hashtag': //$tag = ''; $options['tag'] = $tag; break; case 'sticky': //$options['guest'] = true; $options['type'] = 'sticky'; break; default: $options['context'] = $filter; break; } } $stream->get($options); $result = $stream->toArray(); $data = array(); $data11 = $mapp->mapItem($result, 'stream', $target_user); //set back sef $jrouter->setMode(JROUTER_MODE_SEF); return $data11; }
function getFollowers() { //init variable $app = JFactory::getApplication(); $user = $this->plugin->get('user')->id; $target_user = $app->input->get('target_user', 0, 'INT'); $type = $app->input->get('type', 'follower', 'STRING'); $options = array(); $options['limitstart'] = $app->input->get('limitstart', 0, 'INT'); $options['limit'] = $app->input->get('limit', 10, 'INT'); // Load friends model. $foll_model = FD::model('Followers'); $frnd_mod = FD::model('Friends'); $main_mod = new EasySocialModel(); //set limitstart $main_mod->setUserState('limitstart', $options['limitstart']); $foll_model->setUserState('limitstart', $options['limitstart']); if (!$target_user) { $target_user = $user; } $data = array(); $mapp = new EasySocialApiMappingHelper(); $raw_followers = array(); if ($type == 'following') { $raw_followers = $foll_model->getFollowing($target_user, $options); } else { $raw_followers = $foll_model->getFollowers($target_user, $options); } //$frnd_list = $this->basefrndObj($ttl_list); $fllowers_list = $mapp->mapItem($raw_followers, 'user', $user); //get other data foreach ($fllowers_list as $ky => $lval) { $lval->mutual = $frnd_mod->getMutualFriendCount($user, $lval->id); $lval->isFriend = $frnd_mod->isFriends($users, $lval->id); } $data['data'] = $fllowers_list; return $data; }
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; }
public function get_events() { $app = JFactory::getApplication(); //getting log_user $log_user = $this->plugin->get('user')->id; $ordering = $this->plugin->get('ordering', 'start', 'STRING'); $options = array(); $eventResult = array(); $res = new stdClass(); $options = array('state' => SOCIAL_STATE_PUBLISHED, 'ordering' => $ordering); $event = FD::model('events'); $filter = $app->input->get('filter', '', 'STRING'); $dates = $app->input->get('date', '', 'STRING'); $cdates = $app->input->get('cdate', '', 'STRING'); $start_date = $app->input->get('start_date', '', 'STRING'); $end_date = $app->input->get('end_date', '', 'STRING'); $start_before = $app->input->get('start_before', '', 'STRING'); $includePast = $app->input->get('includePast', 0, 'INT'); $limitstart = $app->input->get('limitstart', 0, 'INT'); $limit = $app->input->get('limit', 20, 'INT'); $categoryid = $app->input->get('categoryid', 0, 'INT'); $mapp = new EasySocialApiMappingHelper(); //if date is given then choose appropriate switch case for that. //for calender date if (!empty($cdates)) { $dates = $cdates; } if (!empty($dates)) { $check = strtotime($dates); if ($dates == date('Y-m', $check)) { $filter = 'month'; } else { if ($dates == date('Y', $check)) { $filter = 'year'; } else { if ($dates == date('Y-m-d', $check)) { $filter = 'allDate'; } else { $res->message = "Date format is invalid"; $res->status = 0; return $res; } } } } //checking wheather the date is in date range or it is past date.then choose appropriate case. if (!empty($start_date) || !empty($end_date) || !empty($start_before)) { if ($start_before) { $filter = 'past'; } else { $filter = 'range'; } } //get events with filter. switch ($filter) { case 'all': $featuredOptions = array('featured' => true, 'type' => array(SOCIAL_EVENT_TYPE_PUBLIC, SOCIAL_EVENT_TYPE_PRIVATE)); // We do not want to include past events here if (!$includePast) { $options['ongoing'] = true; $options['upcoming'] = true; } break; case 'featured': $options['featured'] = true; break; case 'invited': $options['gueststate'] = SOCIAL_EVENT_GUEST_INVITED; $options['guestuid'] = $log_user; $options['type'] = 'all'; // We do not want to include past events here if (!$includePast) { $options['ongoing'] = true; $options['upcoming'] = true; } break; case 'mine': $options['creator_uid'] = $log_user; $options['creator_type'] = SOCIAL_TYPE_USER; $options['type'] = 'all'; // We do not want to include past events here if (!$includePast) { $options['ongoing'] = true; $options['upcoming'] = true; } break; case 'range': $options['start-after'] = $start_date; $options['start-before'] = $end_date; break; case 'past': $options['start-before'] = $start_before; $options['ordering'] = 'created'; $options['direction'] = 'desc'; break; case 'allDate': $data = $this->dfilter($dates); $options['start-after'] = $data['start-after']; $options['start-before'] = $data['start-before']; break; case 'year': $data = $this->dfilter($dates); $options['start-after'] = $data['start-after']; $options['start-before'] = $data['start-before']; break; case 'month': $data = $this->dfilter($dates); $options['start-after'] = $data['start-after']; $options['start-before'] = $data['start-before']; break; case 'category': $category = FD::table('EventCategory'); $category->load($categoryid); $activeCategory = $category; $options['category'] = $category->id; break; } $eventResult = $event->getEvents($options); if (empty($eventResult)) { $res->message = "No events found."; $res->status = 0; return $res; } $eventResult = array_slice($eventResult, $limitstart, $limit); $event_list = $mapp->mapItem($eventResult, 'event', $log_user); return $event_list; }
function getProfile() { //init variable $app = JFactory::getApplication(); $log_user = $this->plugin->get('user')->id; $other_user_id = $app->input->get('user_id', 0, 'INT'); $userid = $other_user_id ? $other_user_id : $log_user; $data = array(); $user = FD::user($userid); //easysocial default profile $profile = $user->getProfile(); $mapp = new EasySocialApiMappingHelper(); if ($userid) { $user_obj = $mapp->mapItem($userid, 'profile', $log_user); //$user_obj = $mapp->createUserObj($userid); /* $user_obj = $mapp->createUserObj($userid); $user_obj->isself = ($log_user == $other_user_id )?true:false; $user_obj->cover = $user->getCover(); if( $log_user != $other_user_id ) { $log_user_obj = FD::user( $log_user ); $user_obj->isfriend = $log_user_obj->isFriends( $other_user_id ); $user_obj->isfollower = $log_user_obj->isFollowed( $other_user_id ); //$user_obj->approval_pending = $user->isPending($other_user_id); } $user_obj->friend_count = $user->getTotalFriends(); $user_obj->follower_count = $user->getTotalFollowers(); $user_obj->badges = $user->getBadges(); $user_obj->points = $user->getPoints(); */ //code for custom fields // Get the steps model $stepsModel = FD::model('Steps'); $steps = $stepsModel->getSteps($profile->id, SOCIAL_TYPE_PROFILES, SOCIAL_PROFILES_VIEW_DISPLAY); // Get custom fields model. $fieldsModel = FD::model('Fields'); // Get custom fields library. $fields = FD::fields(); $field_arr = array(); foreach ($steps as $step) { $step->fields = $fieldsModel->getCustomFields(array('step_id' => $step->id, 'data' => true, 'dataId' => $userid, 'dataType' => SOCIAL_TYPE_USER, 'visible' => SOCIAL_PROFILES_VIEW_DISPLAY)); $fields = null; if (count($step->fields)) { $fields = $mapp->mapItem($step->fields, 'fields', $other_user_id); //die("in fields loop"); if (empty($field_arr)) { $field_arr = $fields; } else { foreach ($fields as $fld) { array_push($field_arr, $fld); } //array_merge( $field_arr,$fields ); } } } //for change data type foreach ($field_arr as $ky => $fld) { if ($fld->field_name == 'Password' || $fld->field_name == 'Timezone' || $fld->field_name == 'Home Church') { unset($field_arr[$ky]); } elseif ($fld->field_name == 'Birthday' && !empty($fld->field_value)) { $dtchange = new DateTime($fld->field_value); $fld->field_value = $dtchange->format('d M Y'); /*$vals = json_decode($fld->field_value); $fld->field_value = implode('-',(array)$vals); $fld->field_value=date('d M Y',strtotime($fld->field_value));*/ } } $friendmodel = FD::model('Friends'); $result = $friendmodel->getPendingRequests($log_user); $user_obj->isrequestor = false; if ($result) { foreach ($result as $res) { if ($res->actor_id == $other_user_id) { $user_obj->isrequestor = true; } } } $user_obj->more_info = $field_arr; } return $user_obj; }
public function getGroup_Members() { //init variable $app = JFactory::getApplication(); $log_user = $this->plugin->get('user')->id; $group_id = $app->input->get('group_id', 0, 'INT'); $limitstart = $app->input->get('limitstart', 0, 'INT'); $limit = $app->input->get('limit', 10, 'INT'); $mapp = new EasySocialApiMappingHelper(); $data = array(); //hari $filter = $app->input->get('filter', 'going', 'STRING'); if ($limitstart) { $limit = $limit + $limitstart; } //for filter user by type $type = $app->input->get('type', 'group', 'STRING'); $state = $app->input->get('state', 1, 'INT'); $getAdmin = $app->input->get('admin', 1, 'INT'); if ($type == 'group') { $options = array('groupid' => $group_id); $gruserob = new EasySocialModelGroupMembers(); $data = $gruserob->getItems($options); foreach ($data as $val) { $val->id = $val->uid; } } else { if ($type == 'event') { //hari //Get event guest with filter. if (!empty($filter)) { switch ($filter) { case 'going': $options['state'] = SOCIAL_EVENT_GUEST_GOING; break; case 'notgoing': $options['state'] = SOCIAL_EVENT_GUEST_NOT_GOING; break; case 'maybe': $options['state'] = SOCIAL_EVENT_GUEST_MAYBE; break; case 'admins': $options['admin'] = true; break; } $options['users'] = true; $eguest = FD::model('Events'); $data = $eguest->getGuests($group_id, $options); } } } if (empty($data)) { $ret_arr = new stdClass(); $ret_arr->status = false; $ret_arr->message = "No member found"; return $ret_arr; } $user_list = $mapp->mapItem($data, 'user', $log_user); $grp_model = FD::model('Groups'); foreach ($user_list as $user) { $user->isMember = $grp_model->isMember($user->id, $group_id); $user->isOwner = $grp_model->isOwner($user->id, $group_id); $user->isInvited = $grp_model->isInvited($user->id, $group_id); $user->isPendingMember = $grp_model->isPendingMember($user->id, $group_id); } //manual pagination code $user_list = array_slice($user_list, $limitstart, $limit); return $user_list; }
function getConversations() { //init variable $app = JFactory::getApplication(); $log_user = JFactory::getUser($this->plugin->get('user')->id); $conversation_id = $app->input->get('conversation_id', 0, 'INT'); $limitstart = $app->input->get('limitstart', 0, 'INT'); $limit = $app->input->get('limit', 10, 'INT'); $maxlimit = $app->input->get('maxlimit', 100, 'INT'); $filter = $app->input->get('filter', null, 'STRING'); $mapp = new EasySocialApiMappingHelper(); $data = array(); $user = FD::user($log_user->id); $mapp = new EasySocialApiMappingHelper(); $conv_model = FD::model('Conversations'); // set the startlimit $conv_model->setState('limitstart', $limitstart); if ($conversation_id) { $data['participant'] = $this->getParticipantUsers($conversation_id); //$msg_data = $conv_model->getMessages($conversation_id,$log_user->id); $msg_data = $conv_model->setLimit($limit)->getMessages($conversation_id, $log_user->id); $data['data'] = $mapp->mapItem($msg_data, 'message', $log_user->id); return $data; } else { //sort items by latest first $options = array('sorting' => 'lastreplied', 'maxlimit' => $maxlimit); if ($filter) { $options['filter'] = $filter; } $conversion = $conv_model->getConversations($log_user->id, $options); if (count($conversion) > 0) { /*foreach($conversion as $key=>$node) { $cobj = new stdClass; $cobj->conversion_id = $node->id; $cobj->created_date = $node->created; $cobj->lastreplied_date = $node->lastreplied; $cobj->isread = $node->isread; $cobj->messages = $node->message; $cobj->participant = $this->getParticipantUsers( $node->id ); $raw_msg = $conv_model->getMessages($node->id , $log_user->id ); $cobj->messages = $mapp->mapItem($raw_msg,'message',$log_user->id); $data['data'][] = $cobj; }*/ $data['data'] = $mapp->mapItem($conversion, 'conversion', $log_user->id); } //manual pagination code $data['data'] = array_slice($data['data'], $limitstart, $limit); return $data; } }
public function get_album_images() { $mapp = new EasySocialApiMappingHelper(); $app = JFactory::getApplication(); $album_id = $app->input->get('album_id', 0, 'INT'); $uid = $app->input->get('uid', 0, 'INT'); $state = $app->input->get('state', 0, 'INT'); $mapp = new EasySocialApiMappingHelper(); $log_user = $this->plugin->get('user')->id; $limitstart = $app->input->get('limitstart', 0, 'INT'); $limit = $app->input->get('limit', 10, 'INT'); $mydata['album_id'] = $album_id; $mydata['uid'] = $uid; $mydata['start'] = $limitstart; $mydata['limit'] = $limit; $ob = new EasySocialModelPhotos(); $photos = $ob->getPhotos($mydata); //loading photo table $photo = FD::table('Photo'); foreach ($photos as $pnode) { $photo->load($pnode->id); $pnode->image_large = $photo->getSource('large'); $pnode->image_square = $photo->getSource('square'); $pnode->image_thumbnail = $photo->getSource('thumbnail'); $pnode->image_featured = $photo->getSource('featured'); } //mapping function $all_photos = $mapp->mapItem($photos, 'photos', $log_user); return $all_photos; // return $photos; }