public PanelContextApi(Guid containerTypeId, Guid containerId, ITranslatablePluginController translation) { _translation = translation; ContainerTypeId = containerTypeId; ContainerId = containerId; }
public TokenizedTemplateTokenBase(Guid id, Guid?dataTypeId, string nameResouce, string descriptionResource, ITranslatablePluginController translator) { Id = id; DataTypeId = dataTypeId; _translator = translator; _nameResouce = nameResouce; _descriptionResource = descriptionResource; }
public TokenizedTemplateTokenBase( Guid id , Guid? dataTypeId , string nameResouce , string descriptionResource , ITranslatablePluginController translator) { Id = id; DataTypeId = dataTypeId; _translator = translator; _nameResouce = nameResouce; _descriptionResource = descriptionResource; }
public string GetUserLink(User user, ITranslatablePluginController translatablePluginController) { if (user == null) { return(null); } // if no access to profile url, just use the display name if (String.IsNullOrWhiteSpace(user.ProfileUrl)) { return(user.DisplayName); } // otherwise, template the user as a user link return(String.Format(translatablePluginController.GetLanguageResourceValue("html_user_link"), System.Web.HttpUtility.HtmlAttributeEncode(user.ProfileUrl), user.DisplayName)); }
public TokenizedTemplateToken(Guid id, Guid? dataTypeId, string name, string description, ITranslatablePluginController translator, Func<TemplateContext, object> resolveFunc, Func<string> preview) : base(id, dataTypeId, name, description, translator) { _resolveFunc = resolveFunc; _preview = preview; }
public TokenizedTemplateLinkUrlToken(Guid id, Guid? dataTypeId, string name, string description, ITranslatablePluginController translator, Func<TemplateContext, string> resolveFunc, Func<string> preview) : base(id, dataTypeId, name, description, translator, resolveFunc, preview) { }
public TokenizedTemplateEnumerableToken(Guid id, Guid? dataTypeId, string name, string description, ITranslatablePluginController translator, Func<TemplateContext, IEnumerable<TemplateContext>> resolveFunc, params Guid[] contextualDataTypeIds) : base(id, dataTypeId, name, description, translator, resolveFunc, contextualDataTypeIds) { }
public string GetContentMessage(Guid notificationId, string target, ITranslatablePluginController _translatablePluginController) { var notification = TEApi.Notifications.Get(notificationId); if (notification == null) { return(null); } var content = TEApi.Content.Get(notification.ContentId.GetValueOrDefault(), notification.ContentTypeId.GetValueOrDefault()); if (content == null) { return(null); } if (target == "ShortText") { if (notification.Actors.Count() == 1) { var latestUser = TEApi.Users.Get(new UsersGetOptions { Id = notification.Actors.First().UserId }); return(String.Format(_translatablePluginController.GetLanguageResourceValue("short_singular"), latestUser.DisplayName, TEApi.Language.Truncate(content.HtmlName("Web"), 30, "…"))); } return(String.Format(_translatablePluginController.GetLanguageResourceValue("short_multiple"), notification.Actors.Count().ToString(), TEApi.Language.Truncate(content.HtmlName("Web"), 30, "…"))); } if (notification.Actors == null || notification.Actors.Any()) { return(null); } var actors = notification.Actors.OrderByDescending(a => a.Date); var firstTwoActorUsers = actors .Take(2) .Select(a => TEApi.Users.Get(new UsersGetOptions { Id = a.UserId })) .ToList(); if (actors.Count() == 1) { return(String.Format(_translatablePluginController.GetLanguageResourceValue("html_one"), GetUserLink(firstTwoActorUsers[0], _translatablePluginController), System.Web.HttpUtility.HtmlAttributeEncode(content.Url), TEApi.Language.Truncate(content.HtmlName("Web"), 50, "…"))); } if (actors.Count() == 2) { return(String.Format(_translatablePluginController.GetLanguageResourceValue("html_two"), GetUserLink(firstTwoActorUsers[0], _translatablePluginController), GetUserLink(firstTwoActorUsers[1], _translatablePluginController), System.Web.HttpUtility.HtmlAttributeEncode(content.Url), TEApi.Language.Truncate(content.HtmlName("Web"), 50, "…"))); } if (actors.Count() == 3) { return(String.Format(_translatablePluginController.GetLanguageResourceValue("html_more_singular"), GetUserLink(firstTwoActorUsers[0], _translatablePluginController), GetUserLink(firstTwoActorUsers[1], _translatablePluginController), System.Web.HttpUtility.HtmlAttributeEncode(content.Url), TEApi.Language.Truncate(content.HtmlName("Web"), 50, "…"))); } if (actors.Count() > 3) { return(String.Format(_translatablePluginController.GetLanguageResourceValue("html_more_plural"), GetUserLink(firstTwoActorUsers[0], _translatablePluginController), GetUserLink(firstTwoActorUsers[1], _translatablePluginController), (actors.Count() - 2).ToString(), System.Web.HttpUtility.HtmlAttributeEncode(content.Url), TEApi.Language.Truncate(content.HtmlName("Web"), 50, "…"))); } return(null); }
public TokenizedTemplateLinkUrlToken(Guid id, Guid?dataTypeId, string name, string description, ITranslatablePluginController translator, Func <TemplateContext, string> resolveFunc, Func <string> preview) : base(id, dataTypeId, name, description, translator, resolveFunc, preview) { }
public void SetController(ITranslatablePluginController controller) { _translation = controller; }
void ITranslatablePlugin.SetController(ITranslatablePluginController controller) { _translation = controller; }
public PanelContext(ITranslatablePluginController translation) { _translation = translation; }
public TokenizedTemplateDataTypeContainerToken(Guid id, Guid?dataTypeId, string name, string description, ITranslatablePluginController translator, Action <TemplateContext> resolveFunc, params Guid[] contextualDataTypeIds) : base(id, dataTypeId, name, description, translator) { _resolveFunc = resolveFunc; ContextualDataTypeIds = contextualDataTypeIds; }
public TokenizedTemplateToken(Guid id, Guid?dataTypeId, string name, string description, ITranslatablePluginController translator, Func <TemplateContext, object> resolveFunc, Func <string> preview) : base(id, dataTypeId, name, description, translator) { _resolveFunc = resolveFunc; _preview = preview; }
public string GetContentMessage(Guid notificationId, string target, ITranslatablePluginController _translatablePluginController) { var notification = TEApi.Notifications.Get(notificationId); if (notification == null) return null; var content = TEApi.Content.Get(notification.ContentId.GetValueOrDefault(), notification.ContentTypeId.GetValueOrDefault()); if (content == null) return null; if (target == "ShortText") { if (notification.Actors.Count() == 1) { var latestUser = TEApi.Users.Get(new UsersGetOptions { Id = notification.Actors.First().UserId }); return String.Format(_translatablePluginController.GetLanguageResourceValue("short_singular"), latestUser.DisplayName, TEApi.Language.Truncate(content.HtmlName("Web"), 30, "…")); } return String.Format(_translatablePluginController.GetLanguageResourceValue("short_multiple"), notification.Actors.Count().ToString(), TEApi.Language.Truncate(content.HtmlName("Web"), 30, "…")); } if (notification.Actors == null || notification.Actors.Any()) return null; var actors = notification.Actors.OrderByDescending(a => a.Date); var firstTwoActorUsers = actors .Take(2) .Select(a => TEApi.Users.Get(new UsersGetOptions { Id = a.UserId })) .ToList(); if (actors.Count() == 1) return String.Format(_translatablePluginController.GetLanguageResourceValue("html_one"), GetUserLink(firstTwoActorUsers[0], _translatablePluginController), System.Web.HttpUtility.HtmlAttributeEncode(content.Url), TEApi.Language.Truncate(content.HtmlName("Web"), 50, "…")); if (actors.Count() == 2) return String.Format(_translatablePluginController.GetLanguageResourceValue("html_two"), GetUserLink(firstTwoActorUsers[0], _translatablePluginController), GetUserLink(firstTwoActorUsers[1], _translatablePluginController), System.Web.HttpUtility.HtmlAttributeEncode(content.Url), TEApi.Language.Truncate(content.HtmlName("Web"), 50, "…")); if (actors.Count() == 3) return String.Format(_translatablePluginController.GetLanguageResourceValue("html_more_singular"), GetUserLink(firstTwoActorUsers[0], _translatablePluginController), GetUserLink(firstTwoActorUsers[1], _translatablePluginController), System.Web.HttpUtility.HtmlAttributeEncode(content.Url), TEApi.Language.Truncate(content.HtmlName("Web"), 50, "…")); if (actors.Count() > 3) return String.Format(_translatablePluginController.GetLanguageResourceValue("html_more_plural"), GetUserLink(firstTwoActorUsers[0], _translatablePluginController), GetUserLink(firstTwoActorUsers[1], _translatablePluginController), (actors.Count() - 2).ToString(), System.Web.HttpUtility.HtmlAttributeEncode(content.Url), TEApi.Language.Truncate(content.HtmlName("Web"), 50, "…")); return null; }
public TokenizedTemplateDataTypeContainerToken(Guid id, Guid? dataTypeId, string name, string description, ITranslatablePluginController translator, Action<TemplateContext> resolveFunc, params Guid[] contextualDataTypeIds) : base(id, dataTypeId, name, description, translator) { _resolveFunc = resolveFunc; ContextualDataTypeIds = contextualDataTypeIds; }
public string GetUserLink(User user, ITranslatablePluginController translatablePluginController) { if (user == null) return null; // if no access to profile url, just use the display name if (String.IsNullOrWhiteSpace(user.ProfileUrl)) return user.DisplayName; // otherwise, template the user as a user link return String.Format(translatablePluginController.GetLanguageResourceValue("html_user_link"), System.Web.HttpUtility.HtmlAttributeEncode(user.ProfileUrl), user.DisplayName); }
public void SetController(ITranslatablePluginController controller) { translationController = controller; }
public TokenizedTemplateEnumerableToken(Guid id, Guid?dataTypeId, string name, string description, ITranslatablePluginController translator, Func <TemplateContext, IEnumerable <TemplateContext> > resolveFunc, params Guid[] contextualDataTypeIds) : base(id, dataTypeId, name, description, translator, resolveFunc, contextualDataTypeIds) { }