Ejemplo n.º 1
0
            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)
 {
 }
Ejemplo n.º 10
0
 public void SetController(ITranslatablePluginController controller)
 {
     _translation = controller;
 }
Ejemplo n.º 11
0
 void ITranslatablePlugin.SetController(ITranslatablePluginController controller)
 {
     _translation = controller;
 }
Ejemplo n.º 12
0
 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);
        }
Ejemplo n.º 18
0
 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)
 {
 }