Skip to content
This repository was archived by the owner on Jan 15, 2022. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,14 @@ public UIActivityFactory() {

public BaseUIActivity addChild(ExoSocialActivity activity, UIContainer parent) throws Exception {
final String type = activity.getType();
if(type!=null){
final String externalId = activity.getExternalId();
if (type != null) {
return buildActivity(activity, parent, type);
} else {
return buildActivity(activity, parent, UIDefaultActivity.ACTIVITY_TYPE);
} else if (externalId != null) {
// TODO Need to check if match the provided activity type or not
return buildActivity(activity, parent, externalId);
}
return buildActivity(activity, parent, UIDefaultActivity.ACTIVITY_TYPE);
}

private BaseUIActivity buildActivity(ExoSocialActivity activity, UIContainer parent, String type) throws Exception {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -223,12 +223,14 @@ public void onPostActivity(PostContext postContext, UIComponent source,
return;
}

String title = "Shared a link: <a href=\"${" + LINK_PARAM + "}\">${" + TITLE_PARAM + "} </a>";
String title = "${" + TITLE_PARAM + "}";
ExoSocialActivity activity = new ExoSocialActivityImpl(userIdentity.getId(),
UILinkActivity.ACTIVITY_TYPE,
title,
null);
activity.setTemplateParams(templateParams);
activity.setExternalId(UILinkActivity.ACTIVITY_TYPE);
activity.setUrl(templateParams.get(LINK_PARAM).toString());

if (postContext == UIComposer.PostContext.SPACE) {
UISpaceActivitiesDisplay uiDisplaySpaceActivities = (UISpaceActivitiesDisplay) getActivityDisplay();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ eXo.social.LinkShare = function(link, lang) {
this.callbackHandler = function(res) {
//when can not get any info
function fallback(data) {
LinkShare.data.title = data.link; //TODO gets domain name only
LinkShare.data.title = data.title;
LinkShare.data.link = data.link;
LinkShare.data.description = "";
LinkShare.data.images = [];
Expand Down Expand Up @@ -658,7 +658,7 @@ eXo.social.LinkShare.prototype.save = function(comment, callback) {
body.comment = comment;
//body.comment = status;
//params[opensocial.Activity.Field.TITLE] = Locale.getMsg('user_shared_a_link', [viewerName]);
params[opensocial.Activity.Field.TITLE] = gadgets.json.stringify(body);
//params[opensocial.Activity.Field.TITLE] = gadgets.json.stringify(body);
//params[opensocial.Activity.Field.BODY] = gadgets.json.stringify(body);
//debug.info(params[opensocial.Activity.Field.BODY]);
//thumbnail
Expand All @@ -675,14 +675,12 @@ eXo.social.LinkShare.prototype.save = function(comment, callback) {
// var activity = opensocial.newActivity(params);
var link = LinkShare.data.link;
var title = LinkShare.data.title;
var titleData = "Shared a link: <a href=\"" + link + "\" target=\"_blank\">" + title + " </a>";
var description = LinkShare.data.description;
var activity = opensocial.newActivity({ 'title' : titleData,
var image = LinkShare.data.images[LinkShare.data.selectedImageIndex];
var activity = opensocial.newActivity({ 'title' : title,
'url': link,
'externalId' : "LINK_ACTIVITY",

'templateParams':
{"comment":comment,"description":description, "title":title, "link":link}
'templateParams': {"comment":comment,"description":description, "title":title, "link":link, "image":image}
});
opensocial.requestCreateActivity(activity, opensocial.CreateActivityPriority.HIGH, callback);
//resets
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -688,14 +688,14 @@ eXo.social.StatusUpdate.prototype.handleActivities = function(dataResponse, data
* Gets html block of link share activity.
*
* @param activity
* @param data json title object from activity.title
* @param jsonObject
* @param isOwnerActivity to decide some actions displayed
*/
var getLinkShareActivityBlock = function(activity, jsonTitle, isOwnerActivity) {
if (!activity || !jsonTitle) {
var getLinkShareActivityBlock = function(activity, jsonObject, isOwnerActivity) {
if (!activity || !jsonObject) {
debug.error('getLinkShareActivityBlock: activity or data is null.');
debug.info(activity);
debug.info(jsonTitle);
debug.info(jsonObject);
miniMessage.createDismissibleMessage(Locale.getMsg('internal_error'));
return '';
}
Expand All @@ -722,35 +722,35 @@ eXo.social.StatusUpdate.prototype.handleActivities = function(dataResponse, data
html.push('<div style="clear: both; height: 0px;"><span></span></div>');
html.push('</div>');
html.push('<div class="ContentArea">');
if (jsonTitle.comment) {
var comment = Util.stripHtml(StatusUpdate.allowedTags, jsonTitle.comment);
if (comment !== '') {
jsonTitle.comment = comment;
if (jsonObject.comment) {
var comment = Util.stripHtml(StatusUpdate.allowedTags, jsonObject.comment);
if (comment) {
jsonObject.comment = comment;
}
html.push(jsonTitle.comment);
html.push(jsonObject.comment);
}
if (jsonTitle.title.length === 0) {
jsonTitle.title = jsonTitle.link;
if (!jsonObject.title) {
jsonObject.title = jsonObject.link;
}
var description;
if (jsonTitle.description) {
description = jsonTitle.description;
if (jsonObject.description) {
description = jsonObject.description;
}
html.push('</div>');
html.push('<div class="LinkShare">')
html.push('<div class="Thumbnail">');
if (jsonTitle.image !== '') {
html.push('<img width="100px" src="' + jsonTitle.image + '" title="' + jsonTitle.title + '" alt="' + jsonTitle.title + '" />');
if (jsonObject.image) {
html.push('<img width="100px" src="' + jsonObject.image + '" title="' + jsonObject.title + '" alt="' + jsonObject.title + '" />');
}
html.push('</div>');
if (jsonTitle.image !== '') {
if (jsonObject.image) {
html.push('<div class="Content">'); //margin-left is set
} else {
html.push('<div>'); //no margin-left is set
}
html.push('<div class="Title"><a class="ColorLinkShared" href="'+ jsonTitle.link +'" target="_blank">' + jsonTitle.title + '</a></div>');
html.push('<div class="Title"><a class="ColorLinkShared" href="'+ jsonObject.link +'" target="_blank">' + jsonObject.title + '</a></div>');
html.push('<div class="Description">' + description + '</div>');
html.push('<div class="Source">' + Locale.getMsg('source') + ' : <a href="' + jsonTitle.link + '" target="_blank">' + jsonTitle.link + '</a></div>');
html.push('<div class="Source">' + Locale.getMsg('source') + ' : <a href="' + jsonObject.link + '" target="_blank">' + jsonObject.link + '</a></div>');
html.push('</div>');
html.push('<div style="clear: both; height: 0px;"><span></span></div>');
html.push('</div>');
Expand Down Expand Up @@ -962,16 +962,19 @@ eXo.social.StatusUpdate.prototype.handleActivities = function(dataResponse, data

function setDisplay() {
var title = activity.getField(opensocial.Activity.Field.TITLE);
if (title === null) title = '';
var jsonTitle = title.replace(/&#34;/g, '"');
sonTitle = jsonTitle.replace(/&#92;/g, "\\");
try {
jsonTitle = gadgets.json.parse(jsonTitle);
} catch(e) {
//ignores
}
if (jsonTitle.title) { //process with json Title, link display
html = getLinkShareActivityBlock(activity, jsonTitle, isOwnerActivity);
var url = activity.getField(opensocial.Activity.Field.URL);
var externalId = activity.getField(opensocial.Activity.Field.EXTERNAL_ID);
var templateParams = activity.getField(opensocial.Activity.Field.TEMPLATE_PARAMS);
var jsonObject = {
"comment": templateParams.comment,
"title": title,
"link": url,
"description": templateParams.description,
"image": templateParams.image
};
if (!title) title = '';
if (externalId && (externalId == 'LINK_ACTIVITY')) {
html = getLinkShareActivityBlock(activity, jsonObject, isOwnerActivity);
} else {//normal display
html = getNormalActivityBlock(activity, isOwnerActivity);
}
Expand Down