Skip to content

Commit

Permalink
Merge pull request sugarcrm#24 from arazumenko-sugarcrm/moduleFor7conn
Browse files Browse the repository at this point in the history
Added community activities widget activation
  • Loading branch information
afedyk-sugarcrm committed May 15, 2014
2 parents ab9c95a + c794ca8 commit aadb4f1
Show file tree
Hide file tree
Showing 4 changed files with 346 additions and 235 deletions.
30 changes: 19 additions & 11 deletions SugarModules/connectors/connections/ConnectionsHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -1319,7 +1319,6 @@ function getCommunityList($community, $page_number, $search_text)
$beans[$key]->activities = $item['activities_list'];



//$arr['members_list'] = $this->getCommunityMemberArray($arr['id']);
//$arr['files_list'] = $this->getFilesList($arr['id']);
//$arr['activities_list'] = $this->getActivitiesList($arr['id']);
Expand Down Expand Up @@ -1703,20 +1702,20 @@ public function getDiscussionModal()
echo json_encode($content);
}

public function getFilesList($communityId, $searchText = "",$page = 1, $limit = 5)
public function getFilesList($communityId, $searchText = "", $page = 1, $limit = 5)
{
$entries = $this->apiClass->getFilesList($communityId, $searchText, $page, $limit);
$returnData = array(
'entries' => array(),
'total' => $entries['total']
'total' => $entries['total']
);

if (!empty($entries)) {
foreach ($entries['entries'] as $entry) {
$arr = array();
$arr['id'] = $entry->getId();
$arr['name'] = $entry->getTitle();
$arr['community_id'] = $entry->getCommunityId();
$arr['community_id'] = $entry->getCommunityId();

$author = $entry->getAuthor();
$arr['author_id'] = $author['id'];
Expand All @@ -1732,9 +1731,9 @@ public function getFilesList($communityId, $searchText = "",$page = 1, $limit =
$arr['downloadsCount'] = $entry->getDownloadsCount();
$arr['version'] = $entry->getVersion();
$arr['fileSize'] = $entry->getFileSize();
$arr['content_type'] = $entry->getMimeType();
$arr['content_type'] = $entry->getMimeType();
$arr['picture'] = $this->view->getFilePicture($arr['name']);
$arr['community_id'] = $entry->getCommunityId();
$arr['community_id'] = $entry->getCommunityId();

$returnData['entries'][] = $arr;
}
Expand All @@ -1751,12 +1750,16 @@ public function getActivityCompletion()

public function getActivitiesList($communityId, $searchText = '', $page = 1, $limit = 5, $fields)
{
$entries = $this->apiClass->getActivitiesList($communityId, $searchText, $page, $limit);

if (!$this->apiClass->isActivitiesActivated($communityId)) {
$this->activateCommunityActivities($communityId);
}

$entries = $this->apiClass->getActivitiesList($communityId, $searchText, $page, $limit);

$returnData = array(
'entries' => array(),
'total' => $entries['total']
'total' => $entries['total']
);

if (!empty($entries)) {
Expand All @@ -1766,7 +1769,7 @@ public function getActivitiesList($communityId, $searchText = '', $page = 1, $li
$arr = array();
$arr['id'] = $entry->getId();
$arr['name'] = $entry->getTitle();
$arr['community_id'] = $communityId;
$arr['community_id'] = $communityId;

$contributor = $entry->getContributor();
$arr['contributor_id'] = $contributor['id'];
Expand All @@ -1779,7 +1782,7 @@ public function getActivitiesList($communityId, $searchText = '', $page = 1, $li
$arr['duedate'] = $entry->getDueDate();
$arr['completed'] = $entry->isCompleted();

if ( array_intersect(array('commentsCount', 'completion', 'completed_todos', 'total_todos'), $fields)){
if (array_intersect(array('commentsCount', 'completion', 'completed_todos', 'total_todos'), $fields)) {
$this_activity = $this->apiClass->getActivity($entry->getId());
$arr['commentsCount'] = $this_activity->getCommentsCount();

Expand Down Expand Up @@ -1864,7 +1867,7 @@ public function getCommunityMemberArray($comm_id, $search_text, $page = 1, $limi

$result = array(
'entries' => $this->getMembersArray($response),
'total' => $feed->getTotalResults(),
'total' => $feed->getTotalResults(),
);
return $result;
}
Expand Down Expand Up @@ -1895,4 +1898,9 @@ public function getCommunityMembers()
);
}

public function activateCommunityActivities($id)
{
return $this->apiClass->activateCommunityWidget($id, 'Activities');
}

}
29 changes: 2 additions & 27 deletions SugarModules/custom/include/IBMConnections/Api/ActivitiesAPI.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,34 +39,9 @@ class ActivitiesAPI extends AbstractConnectionsAPI
* Enter description here ...
*/

public function isEnabled($communityId)
{
$feed = $this->getRemoteAppFeed($communityId);
if (empty($feed)) {
return false;
}
$entries = $feed->getEntries();
for ($i = 0; $i < sizeof($entries); $i++) {
$entry = $entries[$i];
$retArray = $entry->getCategories("http://www.ibm.com/xmlns/prod/sn/type");
for ($k = 0; $k < sizeof($retArray); $k++) {
if (strcmp($retArray[$k]['term'], "Activities") == 0) {
$link = $entry->getLink("http://www.ibm.com/xmlns/prod/sn/remote-application/feed");
$path = $this->extractRelativeUrlPath($link['href']);
}
}
}
return !empty($path);
}

public function listCommunityActivities($communityId, $searchText, $page, $limit)
{

if (!$this->isEnabled($communityId)) {
return array('message' => 'widget_is_not_activated');
}


$this->getHttpClient()->resetParameters();
$this->getHttpClient()->setParameterGet("commUuid", $communityId);
$this->getHttpClient()->setParameterGet("page", $page);
Expand All @@ -89,7 +64,7 @@ public function listCommunityActivities($communityId, $searchText, $page, $limit
$feed = IBMAtomFeed::loadFromString($result->getBody());
$result = array(
'entries' => array(),
'total' => $feed->getTotalResults(),
'total' => $feed->getTotalResults(),
);
$entries = $feed->getEntries();
foreach ($entries as $entry) {
Expand Down Expand Up @@ -286,7 +261,7 @@ public function createCommunityActivity($communityId, $title, $content = '', $ta
//echo "path1". $path;
if (empty($path)) {
$commApi = new CommunitiesAPI($this->getHttpClient());
$commApi->activateActivities($communityId);
$commApi->activateAppWidget($communityId, 'Activities');
$feed = $this->getRemoteAppFeed($communityId);
if (empty($feed)) {
return;
Expand Down
Loading

0 comments on commit aadb4f1

Please sign in to comment.