function display($tpl = null) { /** * Response values * ====================== * // profile: { // name: string, // id: int // }, // groups: { // group: { // name: string, // description: string, // }, // params: json // followers: { // follower: { // name: string, // email: string // } // }, // members: { // member: { // name: string, // email: string // } // }, // archived: boolean // category: string // } // */ header('Content-Type: application/json'); $my = JXFactory::getUser(); $groupsModel = StreamFactory::getModel('groups'); $filter = array(); if (JRequest::getVar('filter', 'all') == 'joined') { $groupIJoin = $my->getParam('groups_member'); $filter['id'] = $groupIJoin; } if (JRequest::getVar('filter', 'all') == 'followed') { $groupIJoin = $my->getParam('groups_follow'); $filter['id'] = $groupIJoin; } if (JRequest::getVar('filter', 'all') == 'archived') { $filter['archived'] = 1; } if (JRequest::getVar('filter', 'all') == 'category') { $filter['category_id'] = JRequest::getVar('category_id', NULL); } if (JRequest::getVar('category_id')) { $filter['category_id'] = JRequest::getVar('category_id', NULL); } $groups = $groupsModel->getGroups($filter, NULL, JRequest::getVar('limitstart', 0)); $total = $groupsModel->getTotal($filter); $output['profile']['username'] = $my->username; $output['profile']['id'] = $my->id; $Category = new StreamCategory(); foreach ($groups as $group) { // dont load private group if ($group->access == 1) { continue; } $followersCsv = json_encode($group->followers); $followers_id = explode(',', $followersCsv); foreach ($followers_id as $follower_id) { $usr = JXFactory::getUser(intval($follower_id)); $followers['follower']['username'] = $usr->username; $followers['follower']['name'] = $usr->name; $followers['follower']['email'] = $usr->email; } $membersCsv = json_encode($group->members); $members_id = explode(',', $membersCsv); foreach ($members_id as $member_id) { $usr = JXFactory::getUser(intval($member_id)); $members['member']['username'] = $usr->username; $members['member']['name'] = $usr->name; $members['member']['email'] = $usr->email; } $category = $Category->getCategoryName($group->category_id); $output['groups']['group'][] = array('name' => $group->name, 'description' => $group->description, 'creator' => $group->creator, 'followers' => $followers, 'members' => $members, 'archived' => $group->archived, 'category' => $category); echo json_encode($output); } exit; }
</a></li> <?php if (count($categories) > 0) { ?> <?php // active class is added to nav-pills if this is the user is filtering category ?> <li class="pull-right dropdown <?php echo JRequest::getVar('filter') == 'category' ? 'active' : ''; ?> "> <a class="dropdown-toggle" data-toggle="dropdown" href="#"> <?php if (JRequest::getVar('filter') == 'category') { echo JText::sprintf('COM_STREAM_LABEL_FILTER_BY_CATEGORY_PROVIDED', $Category->getCategoryName(JRequest::getVar('category_id'))); } else { echo JText::_('COM_STREAM_LABEL_FILTER_BY_CATEGORY'); } ?> <b class="caret"></b> </a> <ul class="dropdown-menu pull-right"> <?php foreach ($categories as $category) { ?> <li><a href="<?php echo JRoute::_('index.php?' . http_build_query(array_merge($get, array('filter' => 'category', 'category_id' => $category->id)))); ?> "><?php echo $category->category;
} ?> <?php if (!empty($departments)) { ?> <li style="float:right" class="dropdown <?php echo $departmentId ? 'active' : ''; ?> "> <?php if ($departmentId) { ?> <a class="dropdown-toggle" data-toggle="dropdown" href="#"> <?php echo JText::sprintf('COM_STREAM_LABEL_FILTER_BY_CATEGORY_PROVIDED', $Category->getCategoryName($departmentId)); ?> <b class="caret"></b></a> <?php } else { ?> <a class="dropdown-toggle" data-toggle="dropdown" href="#"><?php echo JText::_('COM_PEOPLE_FILTER_BY_DEPARTMENT'); ?> <b class="caret"></b></a> <?php } ?> <ul class="dropdown-menu"> <?php foreach ($departments as $dept) {
<a class="btn btn-info" onclick="S.groups.create(this);return false;" href="#createGroup"><?php /*echo JText::_('COM_STREAM_LABEL_CREATE_A_GROUP');*/ ?> </a> </form> </div>--> <?php $i = 1; $my = JXFactory::getUser(); $Category = new StreamCategory(); foreach ($groups as $group) { $user = JXFactory::getUser($group->creator); $members = explode(',', $group->get('members')); $followers = explode(',', $group->get('followers')); $categoryName = $Category->getCategoryName($group->category_id); // set default group name $categoryName = $categoryName ? $categoryName : JText::_('COM_STREAM_LABEL_GROUP_DEFAULT_NAME'); $isFilteredByCategory = JRequest::getVar('filter') == 'category'; ?> <div class="group-list"> <div class="config-list-option"> <span class="toggle"><?php echo JText::_('COM_STREAM_LABEL_TOGGLE'); ?> </span> <ul class="list-option" style="display:none;"> <li class="group-join <?php echo in_array($my->id, $members) ? 'selected' : '';